@idds/vue 1.4.16 → 1.4.17

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,89 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
2784
2784
  };
2785
2785
  }
2786
2786
  });
2787
+ const _hoisted_1$w = ["width", "height", "viewBox"];
2788
+ const _hoisted_2$t = ["cx", "cy", "r", "stroke", "stroke-width"];
2789
+ const _hoisted_3$r = ["cx", "cy", "r", "stroke", "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 VARIANT_MAP = {
2803
+ primary: "var(--ina-primary-500)",
2804
+ secondary: "var(--ina-secondary-500)",
2805
+ success: "var(--ina-success-500)",
2806
+ warning: "var(--ina-warning-500)",
2807
+ error: "var(--ina-error-500)"
2808
+ };
2809
+ const normalizedProgress = computed(
2810
+ () => Math.min(100, Math.max(0, props.progress))
2811
+ );
2812
+ const strokeColor = computed(() => {
2813
+ const isHex = props.variant.startsWith("#");
2814
+ return isHex ? props.variant : VARIANT_MAP[props.variant] || VARIANT_MAP.primary;
2815
+ });
2816
+ const center = computed(() => props.diameter / 2);
2817
+ const radius = computed(() => (props.diameter - props.strokeWidth) / 2);
2818
+ const circumference = computed(() => 2 * Math.PI * radius.value);
2819
+ const strokeDashoffset = computed(
2820
+ () => circumference.value - normalizedProgress.value / 100 * circumference.value
2821
+ );
2822
+ const containerClasses = computed(() => {
2823
+ return [
2824
+ "ina-circle-progress-bar",
2825
+ "inline-flex items-center justify-center",
2826
+ props.className
2827
+ ].filter(Boolean).join(" ");
2828
+ });
2829
+ const containerStyle = computed(() => ({
2830
+ width: `${props.diameter}px`,
2831
+ height: `${props.diameter}px`
2832
+ }));
2833
+ return (_ctx, _cache) => {
2834
+ return openBlock(), createElementBlock("div", {
2835
+ class: normalizeClass(containerClasses.value),
2836
+ style: normalizeStyle(containerStyle.value)
2837
+ }, [
2838
+ (openBlock(), createElementBlock("svg", {
2839
+ width: __props.diameter,
2840
+ height: __props.diameter,
2841
+ viewBox: `0 0 ${__props.diameter} ${__props.diameter}`,
2842
+ fill: "none",
2843
+ xmlns: "http://www.w3.org/2000/svg",
2844
+ style: { "transform": "rotate(-90deg)" }
2845
+ }, [
2846
+ createElementVNode("circle", {
2847
+ cx: center.value,
2848
+ cy: center.value,
2849
+ r: radius.value,
2850
+ stroke: __props.trackColor,
2851
+ "stroke-width": __props.strokeWidth,
2852
+ fill: "none"
2853
+ }, null, 8, _hoisted_2$t),
2854
+ createElementVNode("circle", {
2855
+ cx: center.value,
2856
+ cy: center.value,
2857
+ r: radius.value,
2858
+ stroke: strokeColor.value,
2859
+ "stroke-width": __props.strokeWidth,
2860
+ fill: "none",
2861
+ "stroke-linecap": "round",
2862
+ "stroke-dasharray": circumference.value,
2863
+ "stroke-dashoffset": strokeDashoffset.value
2864
+ }, null, 8, _hoisted_3$r)
2865
+ ], 8, _hoisted_1$w))
2866
+ ], 6);
2867
+ };
2868
+ }
2869
+ });
2787
2870
  const _hoisted_1$v = ["id", "aria-expanded", "aria-controls"];
2788
2871
  const _hoisted_2$s = { class: "ina-collapse__title" };
2789
2872
  const _hoisted_3$q = ["id", "aria-labelledby"];
@@ -5163,13 +5246,254 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
5163
5246
  };
5164
5247
  }
5165
5248
  });
5166
- const _hoisted_1$k = ["for"];
5167
- const _hoisted_2$j = {
5249
+ const COUNTRIES = [
5250
+ { code: "ID", name: "Indonesia", dialCode: "+62", flag: "🇮🇩" },
5251
+ { code: "AF", name: "Afghanistan", dialCode: "+93", flag: "🇦🇫" },
5252
+ { code: "AL", name: "Albania", dialCode: "+355", flag: "🇦🇱" },
5253
+ { code: "DZ", name: "Algeria", dialCode: "+213", flag: "🇩🇿" },
5254
+ { code: "AS", name: "American Samoa", dialCode: "+1684", flag: "🇦🇸" },
5255
+ { code: "AD", name: "Andorra", dialCode: "+376", flag: "🇦🇩" },
5256
+ { code: "AO", name: "Angola", dialCode: "+244", flag: "🇦🇴" },
5257
+ { code: "AI", name: "Anguilla", dialCode: "+1264", flag: "🇦🇮" },
5258
+ { code: "AG", name: "Antigua and Barbuda", dialCode: "+1268", flag: "🇦🇬" },
5259
+ { code: "AR", name: "Argentina", dialCode: "+54", flag: "🇦🇷" },
5260
+ { code: "AM", name: "Armenia", dialCode: "+374", flag: "🇦🇲" },
5261
+ { code: "AW", name: "Aruba", dialCode: "+297", flag: "🇦🇼" },
5262
+ { code: "AU", name: "Australia", dialCode: "+61", flag: "🇦🇺" },
5263
+ { code: "AT", name: "Austria", dialCode: "+43", flag: "🇦🇹" },
5264
+ { code: "AZ", name: "Azerbaijan", dialCode: "+994", flag: "🇦🇿" },
5265
+ { code: "BS", name: "Bahamas", dialCode: "+1242", flag: "🇧🇸" },
5266
+ { code: "BH", name: "Bahrain", dialCode: "+973", flag: "🇧🇭" },
5267
+ { code: "BD", name: "Bangladesh", dialCode: "+880", flag: "🇧🇩" },
5268
+ { code: "BB", name: "Barbados", dialCode: "+1246", flag: "🇧🇧" },
5269
+ { code: "BY", name: "Belarus", dialCode: "+375", flag: "🇧🇾" },
5270
+ { code: "BE", name: "Belgium", dialCode: "+32", flag: "🇧🇪" },
5271
+ { code: "BZ", name: "Belize", dialCode: "+501", flag: "🇧🇿" },
5272
+ { code: "BJ", name: "Benin", dialCode: "+229", flag: "🇧🇯" },
5273
+ { code: "BM", name: "Bermuda", dialCode: "+1441", flag: "🇧🇲" },
5274
+ { code: "BT", name: "Bhutan", dialCode: "+975", flag: "🇧🇹" },
5275
+ { code: "BO", name: "Bolivia", dialCode: "+591", flag: "🇧🇴" },
5276
+ { code: "BA", name: "Bosnia and Herzegovina", dialCode: "+387", flag: "🇧🇦" },
5277
+ { code: "BW", name: "Botswana", dialCode: "+267", flag: "🇧🇼" },
5278
+ { code: "BR", name: "Brazil", dialCode: "+55", flag: "🇧🇷" },
5279
+ { code: "IO", name: "British Indian Ocean Territory", dialCode: "+246", flag: "🇮🇴" },
5280
+ { code: "BN", name: "Brunei Darussalam", dialCode: "+673", flag: "🇧🇳" },
5281
+ { code: "BG", name: "Bulgaria", dialCode: "+359", flag: "🇧🇬" },
5282
+ { code: "BF", name: "Burkina Faso", dialCode: "+226", flag: "🇧🇫" },
5283
+ { code: "BI", name: "Burundi", dialCode: "+257", flag: "🇧🇮" },
5284
+ { code: "KH", name: "Cambodia", dialCode: "+855", flag: "🇰🇭" },
5285
+ { code: "CM", name: "Cameroon", dialCode: "+237", flag: "🇨🇲" },
5286
+ { code: "CA", name: "Canada", dialCode: "+1", flag: "🇨🇦" },
5287
+ { code: "CV", name: "Cape Verde", dialCode: "+238", flag: "🇨🇻" },
5288
+ { code: "KY", name: "Cayman Islands", dialCode: "+1345", flag: "🇰🇾" },
5289
+ { code: "CF", name: "Central African Republic", dialCode: "+236", flag: "🇨🇫" },
5290
+ { code: "TD", name: "Chad", dialCode: "+235", flag: "🇹🇩" },
5291
+ { code: "CL", name: "Chile", dialCode: "+56", flag: "🇨🇱" },
5292
+ { code: "CN", name: "China", dialCode: "+86", flag: "🇨🇳" },
5293
+ { code: "CX", name: "Christmas Island", dialCode: "+61", flag: "🇨🇽" },
5294
+ { code: "CC", name: "Cocos (Keeling) Islands", dialCode: "+61", flag: "🇨🇨" },
5295
+ { code: "CO", name: "Colombia", dialCode: "+57", flag: "🇨🇴" },
5296
+ { code: "KM", name: "Comoros", dialCode: "+269", flag: "🇰🇲" },
5297
+ { code: "CG", name: "Congo", dialCode: "+242", flag: "🇨🇬" },
5298
+ { code: "CD", name: "Congo, Democratic Republic of the", dialCode: "+243", flag: "🇨🇩" },
5299
+ { code: "CK", name: "Cook Islands", dialCode: "+682", flag: "🇨🇰" },
5300
+ { code: "CR", name: "Costa Rica", dialCode: "+506", flag: "🇨🇷" },
5301
+ { code: "CI", name: "Cote d'Ivoire", dialCode: "+225", flag: "🇨🇮" },
5302
+ { code: "HR", name: "Croatia", dialCode: "+385", flag: "🇭🇷" },
5303
+ { code: "CU", name: "Cuba", dialCode: "+53", flag: "🇨🇺" },
5304
+ { code: "CY", name: "Cyprus", dialCode: "+357", flag: "🇨🇾" },
5305
+ { code: "CZ", name: "Czech Republic", dialCode: "+420", flag: "🇨🇿" },
5306
+ { code: "DK", name: "Denmark", dialCode: "+45", flag: "🇩🇰" },
5307
+ { code: "DJ", name: "Djibouti", dialCode: "+253", flag: "🇩🇯" },
5308
+ { code: "DM", name: "Dominica", dialCode: "+1767", flag: "🇩🇲" },
5309
+ { code: "DO", name: "Dominican Republic", dialCode: "+1", flag: "🇩🇴" },
5310
+ { code: "EC", name: "Ecuador", dialCode: "+593", flag: "🇪🇨" },
5311
+ { code: "EG", name: "Egypt", dialCode: "+20", flag: "🇪🇬" },
5312
+ { code: "SV", name: "El Salvador", dialCode: "+503", flag: "🇸🇻" },
5313
+ { code: "GQ", name: "Equatorial Guinea", dialCode: "+240", flag: "🇬🇶" },
5314
+ { code: "ER", name: "Eritrea", dialCode: "+291", flag: "🇪🇷" },
5315
+ { code: "EE", name: "Estonia", dialCode: "+372", flag: "🇪🇪" },
5316
+ { code: "ET", name: "Ethiopia", dialCode: "+251", flag: "🇪🇹" },
5317
+ { code: "FK", name: "Falkland Islands (Malvinas)", dialCode: "+500", flag: "🇫🇰" },
5318
+ { code: "FO", name: "Faroe Islands", dialCode: "+298", flag: "🇫🇴" },
5319
+ { code: "FJ", name: "Fiji", dialCode: "+679", flag: "🇫🇯" },
5320
+ { code: "FI", name: "Finland", dialCode: "+358", flag: "🇫🇮" },
5321
+ { code: "FR", name: "France", dialCode: "+33", flag: "🇫🇷" },
5322
+ { code: "GF", name: "French Guiana", dialCode: "+594", flag: "🇬🇫" },
5323
+ { code: "PF", name: "French Polynesia", dialCode: "+689", flag: "🇵🇫" },
5324
+ { code: "GA", name: "Gabon", dialCode: "+241", flag: "🇬🇦" },
5325
+ { code: "GM", name: "Gambia", dialCode: "+220", flag: "🇬🇲" },
5326
+ { code: "GE", name: "Georgia", dialCode: "+995", flag: "🇬🇪" },
5327
+ { code: "DE", name: "Germany", dialCode: "+49", flag: "🇩🇪" },
5328
+ { code: "GH", name: "Ghana", dialCode: "+233", flag: "🇬🇭" },
5329
+ { code: "GI", name: "Gibraltar", dialCode: "+350", flag: "🇬🇮" },
5330
+ { code: "GR", name: "Greece", dialCode: "+30", flag: "🇬🇷" },
5331
+ { code: "GL", name: "Greenland", dialCode: "+299", flag: "🇬🇱" },
5332
+ { code: "GD", name: "Grenada", dialCode: "+1473", flag: "🇬🇩" },
5333
+ { code: "GP", name: "Guadeloupe", dialCode: "+590", flag: "🇬🇵" },
5334
+ { code: "GU", name: "Guam", dialCode: "+1671", flag: "🇬🇺" },
5335
+ { code: "GT", name: "Guatemala", dialCode: "+502", flag: "🇬🇹" },
5336
+ { code: "GG", name: "Guernsey", dialCode: "+44", flag: "🇬🇬" },
5337
+ { code: "GN", name: "Guinea", dialCode: "+224", flag: "🇬🇳" },
5338
+ { code: "GW", name: "Guinea-Bissau", dialCode: "+245", flag: "🇬🇼" },
5339
+ { code: "GY", name: "Guyana", dialCode: "+592", flag: "🇬🇾" },
5340
+ { code: "HT", name: "Haiti", dialCode: "+509", flag: "🇭🇹" },
5341
+ { code: "VA", name: "Holy See (Vatican City State)", dialCode: "+379", flag: "🇻🇦" },
5342
+ { code: "HN", name: "Honduras", dialCode: "+504", flag: "🇭🇳" },
5343
+ { code: "HK", name: "Hong Kong", dialCode: "+852", flag: "🇭🇰" },
5344
+ { code: "HU", name: "Hungary", dialCode: "+36", flag: "🇭🇺" },
5345
+ { code: "IS", name: "Iceland", dialCode: "+354", flag: "🇮🇸" },
5346
+ { code: "IN", name: "India", dialCode: "+91", flag: "🇮🇳" },
5347
+ { code: "IR", name: "Iran, Islamic Republic of", dialCode: "+98", flag: "🇮🇷" },
5348
+ { code: "IQ", name: "Iraq", dialCode: "+964", flag: "🇮🇶" },
5349
+ { code: "IE", name: "Ireland", dialCode: "+353", flag: "🇮🇪" },
5350
+ { code: "IM", name: "Isle of Man", dialCode: "+44", flag: "🇮🇲" },
5351
+ { code: "IL", name: "Israel", dialCode: "+972", flag: "🇮🇱" },
5352
+ { code: "IT", name: "Italy", dialCode: "+39", flag: "🇮🇹" },
5353
+ { code: "JM", name: "Jamaica", dialCode: "+1876", flag: "🇯🇲" },
5354
+ { code: "JP", name: "Japan", dialCode: "+81", flag: "🇯🇵" },
5355
+ { code: "JE", name: "Jersey", dialCode: "+44", flag: "🇯🇪" },
5356
+ { code: "JO", name: "Jordan", dialCode: "+962", flag: "🇯🇴" },
5357
+ { code: "KZ", name: "Kazakhstan", dialCode: "+7", flag: "🇰🇿" },
5358
+ { code: "KE", name: "Kenya", dialCode: "+254", flag: "🇰🇪" },
5359
+ { code: "KI", name: "Kiribati", dialCode: "+686", flag: "🇰🇮" },
5360
+ { code: "KP", name: "Korea, Democratic People's Republic of", dialCode: "+850", flag: "🇰🇵" },
5361
+ { code: "KR", name: "Korea, Republic of", dialCode: "+82", flag: "🇰🇷" },
5362
+ { code: "KW", name: "Kuwait", dialCode: "+965", flag: "🇰🇼" },
5363
+ { code: "KG", name: "Kyrgyzstan", dialCode: "+996", flag: "🇰🇬" },
5364
+ { code: "LA", name: "Lao People's Democratic Republic", dialCode: "+856", flag: "🇱🇦" },
5365
+ { code: "LV", name: "Latvia", dialCode: "+371", flag: "🇱🇻" },
5366
+ { code: "LB", name: "Lebanon", dialCode: "+961", flag: "🇱🇧" },
5367
+ { code: "LS", name: "Lesotho", dialCode: "+266", flag: "🇱🇸" },
5368
+ { code: "LR", name: "Liberia", dialCode: "+231", flag: "🇱🇷" },
5369
+ { code: "LY", name: "Libyan Arab Jamahiriya", dialCode: "+218", flag: "🇱🇾" },
5370
+ { code: "LI", name: "Liechtenstein", dialCode: "+423", flag: "🇱🇮" },
5371
+ { code: "LT", name: "Lithuania", dialCode: "+370", flag: "🇱🇹" },
5372
+ { code: "LU", name: "Luxembourg", dialCode: "+352", flag: "🇱🇺" },
5373
+ { code: "MO", name: "Macao", dialCode: "+853", flag: "🇲🇴" },
5374
+ { code: "MK", name: "Macedonia, the Former Yugoslav Republic of", dialCode: "+389", flag: "🇲🇰" },
5375
+ { code: "MG", name: "Madagascar", dialCode: "+261", flag: "🇲🇬" },
5376
+ { code: "MW", name: "Malawi", dialCode: "+265", flag: "🇲🇼" },
5377
+ { code: "MY", name: "Malaysia", dialCode: "+60", flag: "🇲🇾" },
5378
+ { code: "MV", name: "Maldives", dialCode: "+960", flag: "🇲🇻" },
5379
+ { code: "ML", name: "Mali", dialCode: "+223", flag: "🇲🇱" },
5380
+ { code: "MT", name: "Malta", dialCode: "+356", flag: "🇲🇹" },
5381
+ { code: "MH", name: "Marshall Islands", dialCode: "+692", flag: "🇲🇭" },
5382
+ { code: "MQ", name: "Martinique", dialCode: "+596", flag: "🇲🇶" },
5383
+ { code: "MR", name: "Mauritania", dialCode: "+222", flag: "🇲🇷" },
5384
+ { code: "MU", name: "Mauritius", dialCode: "+230", flag: "🇲🇺" },
5385
+ { code: "YT", name: "Mayotte", dialCode: "+262", flag: "🇾🇹" },
5386
+ { code: "MX", name: "Mexico", dialCode: "+52", flag: "🇲🇽" },
5387
+ { code: "FM", name: "Micronesia, Federated States of", dialCode: "+691", flag: "🇫🇲" },
5388
+ { code: "MD", name: "Moldova, Republic of", dialCode: "+373", flag: "🇲🇩" },
5389
+ { code: "MC", name: "Monaco", dialCode: "+377", flag: "🇲🇨" },
5390
+ { code: "MN", name: "Mongolia", dialCode: "+976", flag: "🇲🇳" },
5391
+ { code: "ME", name: "Montenegro", dialCode: "+382", flag: "🇲🇪" },
5392
+ { code: "MS", name: "Montserrat", dialCode: "+1664", flag: "🇲🇸" },
5393
+ { code: "MA", name: "Morocco", dialCode: "+212", flag: "🇲🇦" },
5394
+ { code: "MZ", name: "Mozambique", dialCode: "+258", flag: "🇲🇿" },
5395
+ { code: "MM", name: "Myanmar", dialCode: "+95", flag: "🇲🇲" },
5396
+ { code: "NA", name: "Namibia", dialCode: "+264", flag: "🇳🇦" },
5397
+ { code: "NR", name: "Nauru", dialCode: "+674", flag: "🇳🇷" },
5398
+ { code: "NP", name: "Nepal", dialCode: "+977", flag: "🇳🇵" },
5399
+ { code: "NL", name: "Netherlands", dialCode: "+31", flag: "🇳🇱" },
5400
+ { code: "NC", name: "New Caledonia", dialCode: "+687", flag: "🇳🇨" },
5401
+ { code: "NZ", name: "New Zealand", dialCode: "+64", flag: "🇳🇿" },
5402
+ { code: "NI", name: "Nicaragua", dialCode: "+505", flag: "🇳🇮" },
5403
+ { code: "NE", name: "Niger", dialCode: "+227", flag: "🇳🇪" },
5404
+ { code: "NG", name: "Nigeria", dialCode: "+234", flag: "🇳🇬" },
5405
+ { code: "NU", name: "Niue", dialCode: "+683", flag: "🇳🇺" },
5406
+ { code: "NF", name: "Norfolk Island", dialCode: "+672", flag: "🇳🇫" },
5407
+ { code: "MP", name: "Northern Mariana Islands", dialCode: "+1670", flag: "🇲🇵" },
5408
+ { code: "NO", name: "Norway", dialCode: "+47", flag: "🇳🇴" },
5409
+ { code: "OM", name: "Oman", dialCode: "+968", flag: "🇴🇲" },
5410
+ { code: "PK", name: "Pakistan", dialCode: "+92", flag: "🇵🇰" },
5411
+ { code: "PW", name: "Palau", dialCode: "+680", flag: "🇵🇼" },
5412
+ { code: "PS", name: "Palestinian Territory, Occupied", dialCode: "+970", flag: "🇵🇸" },
5413
+ { code: "PA", name: "Panama", dialCode: "+507", flag: "🇵🇦" },
5414
+ { code: "PG", name: "Papua New Guinea", dialCode: "+675", flag: "🇵🇬" },
5415
+ { code: "PY", name: "Paraguay", dialCode: "+595", flag: "🇵🇾" },
5416
+ { code: "PE", name: "Peru", dialCode: "+51", flag: "🇵🇪" },
5417
+ { code: "PH", name: "Philippines", dialCode: "+63", flag: "🇵🇭" },
5418
+ { code: "PN", name: "Pitcairn", dialCode: "+870", flag: "🇵🇳" },
5419
+ { code: "PL", name: "Poland", dialCode: "+48", flag: "🇵🇱" },
5420
+ { code: "PT", name: "Portugal", dialCode: "+351", flag: "🇵🇹" },
5421
+ { code: "PR", name: "Puerto Rico", dialCode: "+1939", flag: "🇵🇷" },
5422
+ { code: "QA", name: "Qatar", dialCode: "+974", flag: "🇶🇦" },
5423
+ { code: "RE", name: "Reunion", dialCode: "+262", flag: "🇷🇪" },
5424
+ { code: "RO", name: "Romania", dialCode: "+40", flag: "🇷🇴" },
5425
+ { code: "RU", name: "Russian Federation", dialCode: "+7", flag: "🇷🇺" },
5426
+ { code: "RW", name: "Rwanda", dialCode: "+250", flag: "🇷🇼" },
5427
+ { code: "BL", name: "Saint Barthelemy", dialCode: "+590", flag: "🇧🇱" },
5428
+ { code: "SH", name: "Saint Helena", dialCode: "+290", flag: "🇸🇭" },
5429
+ { code: "KN", name: "Saint Kitts and Nevis", dialCode: "+1869", flag: "🇰🇳" },
5430
+ { code: "LC", name: "Saint Lucia", dialCode: "+1758", flag: "🇱🇨" },
5431
+ { code: "MF", name: "Saint Martin", dialCode: "+590", flag: "🇲🇫" },
5432
+ { code: "PM", name: "Saint Pierre and Miquelon", dialCode: "+508", flag: "🇵🇲" },
5433
+ { code: "VC", name: "Saint Vincent and the Grenadines", dialCode: "+1784", flag: "🇻🇨" },
5434
+ { code: "WS", name: "Samoa", dialCode: "+685", flag: "🇼🇸" },
5435
+ { code: "SM", name: "San Marino", dialCode: "+378", flag: "🇸🇲" },
5436
+ { code: "ST", name: "Sao Tome and Principe", dialCode: "+239", flag: "🇸🇹" },
5437
+ { code: "SA", name: "Saudi Arabia", dialCode: "+966", flag: "🇸🇦" },
5438
+ { code: "SN", name: "Senegal", dialCode: "+221", flag: "🇸🇳" },
5439
+ { code: "RS", name: "Serbia", dialCode: "+381", flag: "🇷🇸" },
5440
+ { code: "SC", name: "Seychelles", dialCode: "+248", flag: "🇸🇨" },
5441
+ { code: "SL", name: "Sierra Leone", dialCode: "+232", flag: "🇸🇱" },
5442
+ { code: "SG", name: "Singapore", dialCode: "+65", flag: "🇸🇬" },
5443
+ { code: "SK", name: "Slovakia", dialCode: "+421", flag: "🇸🇰" },
5444
+ { code: "SI", name: "Slovenia", dialCode: "+386", flag: "🇸🇮" },
5445
+ { code: "SB", name: "Solomon Islands", dialCode: "+677", flag: "🇸🇧" },
5446
+ { code: "SO", name: "Somalia", dialCode: "+252", flag: "🇸🇴" },
5447
+ { code: "ZA", name: "South Africa", dialCode: "+27", flag: "🇿🇦" },
5448
+ { code: "GS", name: "South Georgia and the South Sandwich Islands", dialCode: "+500", flag: "🇬🇸" },
5449
+ { code: "ES", name: "Spain", dialCode: "+34", flag: "🇪🇸" },
5450
+ { code: "LK", name: "Sri Lanka", dialCode: "+94", flag: "🇱🇰" },
5451
+ { code: "SD", name: "Sudan", dialCode: "+249", flag: "🇸🇩" },
5452
+ { code: "SR", name: "Suriname", dialCode: "+597", flag: "🇸🇷" },
5453
+ { code: "SJ", name: "Svalbard and Jan Mayen", dialCode: "+47", flag: "🇸🇯" },
5454
+ { code: "SZ", name: "Swaziland", dialCode: "+268", flag: "🇸🇿" },
5455
+ { code: "SE", name: "Sweden", dialCode: "+46", flag: "🇸🇪" },
5456
+ { code: "CH", name: "Switzerland", dialCode: "+41", flag: "🇨🇭" },
5457
+ { code: "SY", name: "Syrian Arab Republic", dialCode: "+963", flag: "🇸🇾" },
5458
+ { code: "TW", name: "Taiwan, Province of China", dialCode: "+886", flag: "🇹🇼" },
5459
+ { code: "TJ", name: "Tajikistan", dialCode: "+992", flag: "🇹🇯" },
5460
+ { code: "TZ", name: "Tanzania, United Republic of", dialCode: "+255", flag: "🇹🇿" },
5461
+ { code: "TH", name: "Thailand", dialCode: "+66", flag: "🇹🇭" },
5462
+ { code: "TL", name: "Timor-Leste", dialCode: "+670", flag: "🇹🇱" },
5463
+ { code: "TG", name: "Togo", dialCode: "+228", flag: "🇹🇬" },
5464
+ { code: "TK", name: "Tokelau", dialCode: "+690", flag: "🇹🇰" },
5465
+ { code: "TO", name: "Tonga", dialCode: "+676", flag: "🇹🇴" },
5466
+ { code: "TT", name: "Trinidad and Tobago", dialCode: "+1868", flag: "🇹🇹" },
5467
+ { code: "TN", name: "Tunisia", dialCode: "+216", flag: "🇹🇳" },
5468
+ { code: "TR", name: "Turkey", dialCode: "+90", flag: "🇹🇷" },
5469
+ { code: "TM", name: "Turkmenistan", dialCode: "+993", flag: "🇹🇲" },
5470
+ { code: "TC", name: "Turks and Caicos Islands", dialCode: "+1649", flag: "🇹🇨" },
5471
+ { code: "TV", name: "Tuvalu", dialCode: "+688", flag: "🇹🇻" },
5472
+ { code: "UG", name: "Uganda", dialCode: "+256", flag: "🇺🇬" },
5473
+ { code: "UA", name: "Ukraine", dialCode: "+380", flag: "🇺🇦" },
5474
+ { code: "AE", name: "United Arab Emirates", dialCode: "+971", flag: "🇦🇪" },
5475
+ { code: "GB", name: "United Kingdom", dialCode: "+44", flag: "🇬🇧" },
5476
+ { code: "US", name: "United States", dialCode: "+1", flag: "🇺🇸" },
5477
+ { code: "UY", name: "Uruguay", dialCode: "+598", flag: "🇺🇾" },
5478
+ { code: "UZ", name: "Uzbekistan", dialCode: "+998", flag: "🇺🇿" },
5479
+ { code: "VU", name: "Vanuatu", dialCode: "+678", flag: "🇻🇺" },
5480
+ { code: "VE", name: "Venezuela", dialCode: "+58", flag: "🇻🇪" },
5481
+ { code: "VN", name: "Vietnam", dialCode: "+84", flag: "🇻🇳" },
5482
+ { code: "VG", name: "Virgin Islands, British", dialCode: "+1284", flag: "🇻🇬" },
5483
+ { code: "VI", name: "Virgin Islands, U.S.", dialCode: "+1340", flag: "🇻🇮" },
5484
+ { code: "WF", name: "Wallis and Futuna", dialCode: "+681", flag: "🇼🇫" },
5485
+ { code: "EH", name: "Western Sahara", dialCode: "+212", flag: "🇪🇭" },
5486
+ { code: "YE", name: "Yemen", dialCode: "+967", flag: "🇾🇪" },
5487
+ { code: "ZM", name: "Zambia", dialCode: "+260", flag: "🇿🇲" },
5488
+ { code: "ZW", name: "Zimbabwe", dialCode: "+263", flag: "🇿🇼" }
5489
+ ];
5490
+ const _hoisted_1$k = { class: "ina-phone-input" };
5491
+ const _hoisted_2$j = ["for"];
5492
+ const _hoisted_3$h = {
5168
5493
  key: 0,
5169
- class: "ina-phone-input__required"
5494
+ class: "ina-phone-input__asterisk"
5170
5495
  };
5171
- const _hoisted_3$h = { class: "ina-phone-input__wrapper" };
5172
- const _hoisted_4$d = { class: "ina-phone-input__country-selector" };
5496
+ const _hoisted_4$d = ["disabled"];
5173
5497
  const _hoisted_5$b = { class: "ina-phone-input__country-flag" };
5174
5498
  const _hoisted_6$9 = { class: "ina-phone-input__country-code" };
5175
5499
  const _hoisted_7$9 = {
@@ -5192,33 +5516,20 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5192
5516
  size: { default: "md" },
5193
5517
  status: { default: "neutral" },
5194
5518
  statusMessage: {},
5519
+ helperText: {},
5195
5520
  disabled: { type: Boolean, default: false },
5196
5521
  readonly: { type: Boolean, default: false },
5197
5522
  required: { type: Boolean, default: false },
5198
5523
  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
- ] }
5524
+ countries: { default: () => COUNTRIES }
5216
5525
  },
5217
5526
  emits: ["update:modelValue", "input", "blur", "focus", "countryChange"],
5218
5527
  setup(__props, { emit: __emit }) {
5219
5528
  const props = __props;
5220
5529
  const emit = __emit;
5221
5530
  const inputRef = ref();
5531
+ const searchInputRef = ref();
5532
+ const dropdownRef = ref();
5222
5533
  const phoneNumber = ref(props.modelValue);
5223
5534
  const isCountryDropdownOpen = ref(false);
5224
5535
  const countrySearch = ref("");
@@ -5228,34 +5539,27 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5228
5539
  const inputId = computed(
5229
5540
  () => `phone-input-${Math.random().toString(36).substr(2, 9)}`
5230
5541
  );
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}`);
5542
+ const wrapperClasses = computed(() => {
5543
+ const classes = ["ina-phone-input__wrapper"];
5544
+ classes.push(`ina-phone-input__wrapper--size-${props.size}`);
5241
5545
  if (props.disabled) {
5242
- classes.push("ina-phone-input__input--disabled");
5243
- }
5244
- if (props.readonly) {
5245
- classes.push("ina-phone-input__input--readonly");
5546
+ classes.push("ina-phone-input__wrapper--disabled");
5246
5547
  }
5247
5548
  if (props.status !== "neutral") {
5248
- classes.push(`ina-phone-input__input--status-${props.status}`);
5549
+ classes.push(`ina-phone-input__wrapper--status-${props.status}`);
5249
5550
  }
5250
5551
  return classes;
5251
5552
  });
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}`);
5553
+ const helperTextClasses = computed(() => {
5554
+ const classes = ["ina-phone-input__helper-text"];
5555
+ if (props.status === "error") {
5556
+ classes.push("ina-phone-input__helper-text--error");
5557
+ } else if (props.status === "warning") {
5558
+ classes.push("ina-phone-input__helper-text--warning");
5256
5559
  }
5257
5560
  return classes;
5258
5561
  });
5562
+ const bottomText = computed(() => props.statusMessage || props.helperText);
5259
5563
  const filteredCountries = computed(() => {
5260
5564
  if (!countrySearch.value) {
5261
5565
  return props.countries;
@@ -5278,26 +5582,35 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5278
5582
  if (isCountryDropdownOpen.value) {
5279
5583
  countrySearch.value = "";
5280
5584
  nextTick(() => {
5281
- const searchInput = document.querySelector(
5282
- ".ina-phone-input__country-search-input"
5283
- );
5284
- searchInput == null ? void 0 : searchInput.focus();
5585
+ var _a;
5586
+ (_a = searchInputRef.value) == null ? void 0 : _a.focus();
5285
5587
  });
5286
5588
  }
5287
5589
  };
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
- });
5590
+ const formatPhoneNumber = (value) => {
5591
+ const clean = value.replace(/\D/g, "");
5592
+ if (clean.length > 7) {
5593
+ return clean.replace(/^(\d{3})(\d{4})(.*)/, "$1-$2-$3");
5594
+ } else if (clean.length > 3) {
5595
+ return clean.replace(/^(\d{3})(.*)/, "$1-$2");
5596
+ }
5597
+ return clean;
5296
5598
  };
5297
5599
  const handleInput = (event) => {
5298
5600
  const target = event.target;
5299
- phoneNumber.value = target.value;
5300
- emit("update:modelValue", phoneNumber.value);
5601
+ const rawValue = target.value;
5602
+ let cleanValue = rawValue.replace(/\D/g, "");
5603
+ if (cleanValue.startsWith("0")) {
5604
+ cleanValue = cleanValue.substring(1);
5605
+ }
5606
+ const displayClean = rawValue.replace(/\D/g, "");
5607
+ const formatted = formatPhoneNumber(displayClean);
5608
+ if (formatted !== rawValue) {
5609
+ target.value = formatted;
5610
+ }
5611
+ phoneNumber.value = formatted;
5612
+ const fullValue = `${selectedCountry.value.dialCode}${cleanValue}`;
5613
+ emit("update:modelValue", fullValue);
5301
5614
  emit("input", event);
5302
5615
  };
5303
5616
  const handleBlur = (event) => {
@@ -5308,15 +5621,42 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5308
5621
  };
5309
5622
  const handleClickOutside = (event) => {
5310
5623
  const target = event.target;
5311
- if (!target.closest(".ina-phone-input__country-selector")) {
5624
+ if (dropdownRef.value && !dropdownRef.value.contains(target)) {
5312
5625
  isCountryDropdownOpen.value = false;
5313
5626
  }
5314
5627
  };
5628
+ const selectCountry = (country) => {
5629
+ selectedCountry.value = country;
5630
+ isCountryDropdownOpen.value = false;
5631
+ emit("countryChange", country);
5632
+ if (phoneNumber.value) {
5633
+ const cleanValue = phoneNumber.value.replace(/\D/g, "");
5634
+ const cleanLocal = cleanValue.startsWith("0") ? cleanValue.substring(1) : cleanValue;
5635
+ const fullValue = `${country.dialCode}${cleanLocal}`;
5636
+ emit("update:modelValue", fullValue);
5637
+ }
5638
+ nextTick(() => {
5639
+ var _a;
5640
+ (_a = inputRef.value) == null ? void 0 : _a.focus();
5641
+ });
5642
+ };
5315
5643
  watch(
5316
5644
  () => props.modelValue,
5317
5645
  (newValue) => {
5318
- phoneNumber.value = newValue || "";
5319
- }
5646
+ if (!newValue) {
5647
+ phoneNumber.value = "";
5648
+ return;
5649
+ }
5650
+ const dialCode = selectedCountry.value.dialCode;
5651
+ let localPart = newValue;
5652
+ if (newValue.startsWith(dialCode)) {
5653
+ localPart = newValue.substring(dialCode.length);
5654
+ } else if (newValue.startsWith(dialCode.substring(1))) {
5655
+ localPart = newValue.substring(dialCode.length - 1);
5656
+ }
5657
+ phoneNumber.value = formatPhoneNumber(localPart);
5658
+ },
5659
+ { immediate: true }
5320
5660
  );
5321
5661
  onMounted(() => {
5322
5662
  document.addEventListener("click", handleClickOutside);
@@ -5325,23 +5665,28 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5325
5665
  document.removeEventListener("click", handleClickOutside);
5326
5666
  });
5327
5667
  return (_ctx, _cache) => {
5328
- return openBlock(), createElementBlock("div", {
5329
- class: normalizeClass(["ina-phone-input", containerClasses.value])
5330
- }, [
5668
+ return openBlock(), createElementBlock("div", _hoisted_1$k, [
5331
5669
  __props.label ? (openBlock(), createElementBlock("label", {
5332
5670
  key: 0,
5333
5671
  for: inputId.value,
5334
5672
  class: "ina-phone-input__label"
5335
5673
  }, [
5336
5674
  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, [
5675
+ __props.required ? (openBlock(), createElementBlock("span", _hoisted_3$h, "*")) : createCommentVNode("", true)
5676
+ ], 8, _hoisted_2$j)) : createCommentVNode("", true),
5677
+ createElementVNode("div", {
5678
+ class: normalizeClass(wrapperClasses.value)
5679
+ }, [
5680
+ createElementVNode("div", {
5681
+ class: "ina-phone-input__country-selector",
5682
+ ref_key: "dropdownRef",
5683
+ ref: dropdownRef
5684
+ }, [
5341
5685
  createElementVNode("button", {
5342
5686
  type: "button",
5343
5687
  class: "ina-phone-input__country-button",
5344
- onClick: toggleCountryDropdown
5688
+ onClick: toggleCountryDropdown,
5689
+ disabled: __props.disabled || __props.readonly
5345
5690
  }, [
5346
5691
  createElementVNode("span", _hoisted_5$b, toDisplayString(selectedCountry.value.flag), 1),
5347
5692
  createElementVNode("span", _hoisted_6$9, toDisplayString(selectedCountry.value.dialCode), 1),
@@ -5363,13 +5708,15 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5363
5708
  "stroke-linejoin": "round"
5364
5709
  }, null, -1)
5365
5710
  ])], 2))
5366
- ]),
5711
+ ], 8, _hoisted_4$d),
5367
5712
  createVNode(Transition, { name: "dropdown" }, {
5368
5713
  default: withCtx(() => [
5369
5714
  isCountryDropdownOpen.value ? (openBlock(), createElementBlock("div", _hoisted_7$9, [
5370
5715
  createElementVNode("div", _hoisted_8$7, [
5371
5716
  withDirectives(createElementVNode("input", {
5372
5717
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => countrySearch.value = $event),
5718
+ ref_key: "searchInputRef",
5719
+ ref: searchInputRef,
5373
5720
  type: "text",
5374
5721
  placeholder: "Search countries...",
5375
5722
  class: "ina-phone-input__country-search-input"
@@ -5395,8 +5742,9 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5395
5742
  ]),
5396
5743
  _: 1
5397
5744
  })
5398
- ]),
5399
- withDirectives(createElementVNode("input", mergeProps({
5745
+ ], 512),
5746
+ _cache[3] || (_cache[3] = createElementVNode("div", { class: "ina-phone-input__divider" }, null, -1)),
5747
+ withDirectives(createElementVNode("input", mergeProps(_ctx.$attrs, {
5400
5748
  id: inputId.value,
5401
5749
  ref_key: "inputRef",
5402
5750
  ref: inputRef,
@@ -5405,23 +5753,23 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5405
5753
  placeholder: __props.placeholder,
5406
5754
  disabled: __props.disabled,
5407
5755
  readonly: __props.readonly,
5408
- class: inputClasses.value,
5756
+ class: "ina-phone-input__input",
5409
5757
  onInput: handleInput,
5410
5758
  onBlur: handleBlur,
5411
5759
  onFocus: handleFocus
5412
- }, _ctx.$attrs), null, 16, _hoisted_14$3), [
5760
+ }), null, 16, _hoisted_14$3), [
5413
5761
  [vModelText, phoneNumber.value]
5414
5762
  ])
5415
- ]),
5416
- __props.statusMessage ? (openBlock(), createElementBlock("div", {
5763
+ ], 2),
5764
+ bottomText.value ? (openBlock(), createElementBlock("div", {
5417
5765
  key: 1,
5418
- class: normalizeClass(statusClasses.value)
5419
- }, toDisplayString(__props.statusMessage), 3)) : createCommentVNode("", true)
5420
- ], 2);
5766
+ class: normalizeClass(helperTextClasses.value)
5767
+ }, toDisplayString(bottomText.value), 3)) : createCommentVNode("", true)
5768
+ ]);
5421
5769
  };
5422
5770
  }
5423
5771
  });
5424
- const PhoneInput = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-005a7f02"]]);
5772
+ const PhoneInput = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-fc52068c"]]);
5425
5773
  const _hoisted_1$j = {
5426
5774
  key: 0,
5427
5775
  class: "ina-progress-bar__shimmer"
@@ -8711,14 +9059,14 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8711
9059
  class: normalizeClass(searchContainerClasses.value)
8712
9060
  }, [
8713
9061
  createElementVNode("div", _hoisted_1$9, [
8714
- createVNode(_sfc_main$B, {
9062
+ createVNode(_sfc_main$C, {
8715
9063
  modelValue: searchInput.value,
8716
9064
  placeholder: props.searchPlaceholder || props.placeholderSearch || "Input pencarian",
8717
9065
  disabled: loading.value,
8718
9066
  "onUpdate:modelValue": handleSearchChange,
8719
9067
  onKeydown: handleSearchKeyDown
8720
9068
  }, null, 8, ["modelValue", "placeholder", "disabled"]),
8721
- createVNode(_sfc_main$F, {
9069
+ createVNode(_sfc_main$G, {
8722
9070
  disabled: loading.value,
8723
9071
  onClick: handleSearchButton
8724
9072
  }, {
@@ -8745,7 +9093,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8745
9093
  }, [
8746
9094
  createElementVNode("tr", null, [
8747
9095
  __props.selectable ? (openBlock(), createElementBlock("th", _hoisted_2$9, [
8748
- createVNode(_sfc_main$C, {
9096
+ createVNode(_sfc_main$D, {
8749
9097
  id: `${reactId.value}-select-all`,
8750
9098
  label: "",
8751
9099
  modelValue: allSelected.value,
@@ -8827,7 +9175,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8827
9175
  onClick: (e) => handleRowClick(row, e)
8828
9176
  }, [
8829
9177
  __props.selectable ? (openBlock(), createElementBlock("td", _hoisted_10$2, [
8830
- createVNode(_sfc_main$C, {
9178
+ createVNode(_sfc_main$D, {
8831
9179
  id: `${reactId.value}-select-${String(row[__props.rowKey])}`,
8832
9180
  label: "",
8833
9181
  modelValue: selectedMap.value[String(row[__props.rowKey])] || false,
@@ -10202,7 +10550,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10202
10550
  const defaultFooterActions = (cancelClassName, confirmClassName, cancelText, confirmText, handleCloseFn) => {
10203
10551
  return h("div", { class: "ina-modal-confirmation__footer" }, [
10204
10552
  h(
10205
- _sfc_main$F,
10553
+ _sfc_main$G,
10206
10554
  {
10207
10555
  hierarchy: "custom",
10208
10556
  size: "sm",
@@ -10212,7 +10560,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10212
10560
  { default: () => cancelText }
10213
10561
  ),
10214
10562
  h(
10215
- _sfc_main$F,
10563
+ _sfc_main$G,
10216
10564
  {
10217
10565
  hierarchy: "custom",
10218
10566
  size: "sm",
@@ -11017,20 +11365,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
11017
11365
  }
11018
11366
  });
11019
11367
  const index = {
11020
- Accordion: _sfc_main$O,
11368
+ Accordion: _sfc_main$P,
11021
11369
  AccordionCard,
11022
11370
  AccordionGroup,
11023
11371
  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,
11372
+ Alert: _sfc_main$L,
11373
+ Avatar: _sfc_main$K,
11374
+ Badge: _sfc_main$J,
11375
+ BottomSheet: _sfc_main$I,
11376
+ Breadcrumb: _sfc_main$H,
11377
+ Button: _sfc_main$G,
11378
+ ButtonGroup: _sfc_main$F,
11379
+ Card: _sfc_main$E,
11380
+ CircleProgressBar: _sfc_main$A,
11381
+ Checkbox: _sfc_main$D,
11382
+ Chip: _sfc_main$B,
11034
11383
  Collapse,
11035
11384
  Divider: _sfc_main$y,
11036
11385
  Drawer,
@@ -11057,7 +11406,7 @@ const index = {
11057
11406
  Table: _sfc_main$a,
11058
11407
  TableProgressBar: _sfc_main$b,
11059
11408
  TextArea: _sfc_main$9,
11060
- TextField: _sfc_main$B,
11409
+ TextField: _sfc_main$C,
11061
11410
  OneTimePassword: _sfc_main$8,
11062
11411
  ThemeToggle: _sfc_main$7,
11063
11412
  TimePicker: _sfc_main$6,
@@ -11070,20 +11419,21 @@ const index = {
11070
11419
  setBrandTheme
11071
11420
  };
11072
11421
  export {
11073
- _sfc_main$O as Accordion,
11422
+ _sfc_main$P as Accordion,
11074
11423
  AccordionCard,
11075
11424
  AccordionGroup,
11076
11425
  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,
11426
+ _sfc_main$L as Alert,
11427
+ _sfc_main$K as Avatar,
11428
+ _sfc_main$J as Badge,
11429
+ _sfc_main$I as BottomSheet,
11430
+ _sfc_main$H as Breadcrumb,
11431
+ _sfc_main$G as Button,
11432
+ _sfc_main$F as ButtonGroup,
11433
+ _sfc_main$E as Card,
11434
+ _sfc_main$D as Checkbox,
11435
+ _sfc_main$B as Chip,
11436
+ _sfc_main$A as CircleProgressBar,
11087
11437
  Collapse,
11088
11438
  ConfirmationContextKey,
11089
11439
  _sfc_main$3 as ConfirmationProvider,
@@ -11114,7 +11464,7 @@ export {
11114
11464
  _sfc_main$a as Table,
11115
11465
  _sfc_main$b as TableProgressBar,
11116
11466
  _sfc_main$9 as TextArea,
11117
- _sfc_main$B as TextField,
11467
+ _sfc_main$C as TextField,
11118
11468
  _sfc_main$7 as ThemeToggle,
11119
11469
  _sfc_main$6 as TimePicker,
11120
11470
  _sfc_main$5 as Toast,