@idds/vue 1.4.3 → 1.4.5

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
@@ -412,7 +412,7 @@ const defaultColorTokens = {
412
412
  const _hoisted_1$J = ["id", "aria-expanded", "aria-controls", "disabled"];
413
413
  const _hoisted_2$D = { class: "ina-accordion__title" };
414
414
  const _hoisted_3$z = { class: "ina-accordion__toggler" };
415
- const _hoisted_4$t = ["id", "aria-labelledby"];
415
+ const _hoisted_4$u = ["id", "aria-labelledby"];
416
416
  const _hoisted_5$o = { class: "ina-accordion__body" };
417
417
  const _sfc_main$O = /* @__PURE__ */ defineComponent({
418
418
  __name: "Accordion",
@@ -554,7 +554,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
554
554
  createElementVNode("div", _hoisted_5$o, [
555
555
  renderSlot(_ctx.$slots, "default")
556
556
  ])
557
- ], 10, _hoisted_4$t)
557
+ ], 10, _hoisted_4$u)
558
558
  ], 2);
559
559
  };
560
560
  }
@@ -562,7 +562,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
562
562
  const _hoisted_1$I = { class: "ina-accordion-card__item" };
563
563
  const _hoisted_2$C = ["id", "aria-expanded", "aria-controls"];
564
564
  const _hoisted_3$y = { class: "ina-accordion-card__header-content" };
565
- const _hoisted_4$s = {
565
+ const _hoisted_4$t = {
566
566
  key: 0,
567
567
  class: "ina-accordion-card__icon"
568
568
  };
@@ -627,7 +627,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
627
627
  onClick: toggle
628
628
  }, [
629
629
  createElementVNode("div", _hoisted_3$y, [
630
- __props.icon ? (openBlock(), createElementBlock("div", _hoisted_4$s, [
630
+ __props.icon ? (openBlock(), createElementBlock("div", _hoisted_4$t, [
631
631
  (openBlock(), createBlock(resolveDynamicComponent(__props.icon), { size: 20 }))
632
632
  ])) : createCommentVNode("", true),
633
633
  createElementVNode("div", _hoisted_5$n, [
@@ -702,8 +702,16 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
702
702
  const registerItem = (item) => {
703
703
  const index2 = items.value.size;
704
704
  items.value.set(item.id, index2);
705
- if (!allowMultiple.value && item.defaultOpen && openIndexes.value.length === 0) {
706
- openIndexes.value = [index2];
705
+ if (item.defaultOpen) {
706
+ if (allowMultiple.value) {
707
+ if (!openIndexes.value.includes(index2)) {
708
+ openIndexes.value = [...openIndexes.value, index2];
709
+ }
710
+ } else {
711
+ if (openIndexes.value.length === 0) {
712
+ openIndexes.value = [index2];
713
+ }
714
+ }
707
715
  }
708
716
  return index2;
709
717
  };
@@ -763,7 +771,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
763
771
  };
764
772
  }
765
773
  });
766
- const AccordionGroup = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-b60ded7f"]]);
774
+ const AccordionGroup = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-a85c5702"]]);
767
775
  const _hoisted_1$G = ["disabled", "aria-expanded"];
768
776
  const _hoisted_2$B = { class: "ina-action-dropdown__trigger-content" };
769
777
  const _hoisted_3$x = { class: "ina-action-dropdown__menu" };
@@ -1186,7 +1194,7 @@ const _hoisted_1$F = {
1186
1194
  };
1187
1195
  const _hoisted_2$A = { class: "ina-alert__content" };
1188
1196
  const _hoisted_3$w = { class: "ina-alert__text-section" };
1189
- const _hoisted_4$r = {
1197
+ const _hoisted_4$s = {
1190
1198
  key: 0,
1191
1199
  class: "ina-alert__title"
1192
1200
  };
@@ -1255,7 +1263,7 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
1255
1263
  ])) : createCommentVNode("", true),
1256
1264
  createElementVNode("div", _hoisted_2$A, [
1257
1265
  createElementVNode("div", _hoisted_3$w, [
1258
- __props.title ? (openBlock(), createElementBlock("div", _hoisted_4$r, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
1266
+ __props.title ? (openBlock(), createElementBlock("div", _hoisted_4$s, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
1259
1267
  _ctx.$slots.default || __props.message ? (openBlock(), createElementBlock("div", _hoisted_5$m, [
1260
1268
  renderSlot(_ctx.$slots, "default", {}, () => [
1261
1269
  createTextVNode(toDisplayString(__props.message), 1)
@@ -1464,7 +1472,7 @@ const _hoisted_2$y = {
1464
1472
  class: "ina-breadcrumb__icon"
1465
1473
  };
1466
1474
  const _hoisted_3$v = { class: "ina-breadcrumb__text" };
1467
- const _hoisted_4$q = {
1475
+ const _hoisted_4$r = {
1468
1476
  key: 0,
1469
1477
  class: "ina-breadcrumb__separator",
1470
1478
  "aria-hidden": "true"
@@ -1554,7 +1562,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1554
1562
  ]),
1555
1563
  _: 2
1556
1564
  }, 1032, ["href", "class", "onClick"])),
1557
- index2 < __props.items.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$q, [
1565
+ index2 < __props.items.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$r, [
1558
1566
  renderSlot(_ctx.$slots, "separator", {}, () => [
1559
1567
  typeof computedSeparator.value === "string" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
1560
1568
  createTextVNode(toDisplayString(computedSeparator.value), 1)
@@ -1708,7 +1716,7 @@ const _hoisted_3$u = {
1708
1716
  key: 1,
1709
1717
  class: "ina-card__media"
1710
1718
  };
1711
- const _hoisted_4$p = ["src", "alt"];
1719
+ const _hoisted_4$q = ["src", "alt"];
1712
1720
  const _hoisted_5$l = { class: "ina-card__content" };
1713
1721
  const _hoisted_6$i = {
1714
1722
  key: 0,
@@ -1850,7 +1858,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1850
1858
  key: 0,
1851
1859
  src: __props.mediaSrc,
1852
1860
  alt: __props.mediaAlt || "Card media"
1853
- }, null, 8, _hoisted_4$p)) : createCommentVNode("", true)
1861
+ }, null, 8, _hoisted_4$q)) : createCommentVNode("", true)
1854
1862
  ])
1855
1863
  ])) : createCommentVNode("", true),
1856
1864
  createElementVNode("div", _hoisted_5$l, [
@@ -1956,7 +1964,7 @@ const _hoisted_3$t = {
1956
1964
  fill: "none",
1957
1965
  xmlns: "http://www.w3.org/2000/svg"
1958
1966
  };
1959
- const _hoisted_4$o = {
1967
+ const _hoisted_4$p = {
1960
1968
  key: 1,
1961
1969
  class: "ina-checkbox__icon",
1962
1970
  width: "14",
@@ -2095,7 +2103,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
2095
2103
  "stroke-linecap": "round",
2096
2104
  "stroke-linejoin": "round"
2097
2105
  }, null, -1)
2098
- ])])) : __props.indeterminate ? (openBlock(), createElementBlock("svg", _hoisted_4$o, [..._cache[1] || (_cache[1] = [
2106
+ ])])) : __props.indeterminate ? (openBlock(), createElementBlock("svg", _hoisted_4$p, [..._cache[1] || (_cache[1] = [
2099
2107
  createElementVNode("path", {
2100
2108
  d: "M5 12H19",
2101
2109
  stroke: "currentColor",
@@ -2334,7 +2342,7 @@ const _hoisted_3$s = {
2334
2342
  key: 0,
2335
2343
  class: "ina-text-field__required"
2336
2344
  };
2337
- const _hoisted_4$n = {
2345
+ const _hoisted_4$o = {
2338
2346
  key: 0,
2339
2347
  class: "ina-text-field__prefix-icon"
2340
2348
  };
@@ -2568,7 +2576,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
2568
2576
  createElementVNode("div", {
2569
2577
  class: normalizeClass(wrapperClasses.value)
2570
2578
  }, [
2571
- __props.prefixIcon ? (openBlock(), createElementBlock("div", _hoisted_4$n, [
2579
+ __props.prefixIcon ? (openBlock(), createElementBlock("div", _hoisted_4$o, [
2572
2580
  (openBlock(), createBlock(resolveDynamicComponent(__props.prefixIcon), { size: 16 }))
2573
2581
  ])) : createCommentVNode("", true),
2574
2582
  withDirectives(createElementVNode("input", mergeProps(filteredAttrs.value, {
@@ -2633,7 +2641,7 @@ const _hoisted_3$r = {
2633
2641
  key: 0,
2634
2642
  class: "ina-chip__custom-field"
2635
2643
  };
2636
- const _hoisted_4$m = { key: 0 };
2644
+ const _hoisted_4$n = { key: 0 };
2637
2645
  const _hoisted_5$i = { key: 1 };
2638
2646
  const _sfc_main$A = /* @__PURE__ */ defineComponent({
2639
2647
  __name: "Chip",
@@ -2750,7 +2758,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
2750
2758
  }), 128))
2751
2759
  ]),
2752
2760
  __props.showCustomization && showInput.value ? (openBlock(), createElementBlock("div", _hoisted_3$r, [
2753
- __props.customizationComponent ? (openBlock(), createElementBlock("div", _hoisted_4$m, [
2761
+ __props.customizationComponent ? (openBlock(), createElementBlock("div", _hoisted_4$n, [
2754
2762
  (openBlock(), createBlock(resolveDynamicComponent(__props.customizationComponent)))
2755
2763
  ])) : (openBlock(), createElementBlock("div", _hoisted_5$i, [
2756
2764
  createVNode(_sfc_main$B, {
@@ -2771,7 +2779,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
2771
2779
  const _hoisted_1$v = ["id", "aria-expanded", "aria-controls"];
2772
2780
  const _hoisted_2$s = { class: "ina-collapse__title" };
2773
2781
  const _hoisted_3$q = ["id", "aria-labelledby"];
2774
- const _hoisted_4$l = { class: "ina-collapse__body" };
2782
+ const _hoisted_4$m = { class: "ina-collapse__body" };
2775
2783
  const _sfc_main$z = /* @__PURE__ */ defineComponent({
2776
2784
  __name: "Collapse",
2777
2785
  props: {
@@ -2851,7 +2859,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
2851
2859
  class: "ina-collapse__content",
2852
2860
  "aria-labelledby": headerId.value
2853
2861
  }, [
2854
- createElementVNode("div", _hoisted_4$l, [
2862
+ createElementVNode("div", _hoisted_4$m, [
2855
2863
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
2856
2864
  ])
2857
2865
  ], 8, _hoisted_3$q)) : createCommentVNode("", true)
@@ -3029,7 +3037,7 @@ const Dropdown = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v
3029
3037
  const _hoisted_1$s = { class: "ina-field-input-table__wrapper" };
3030
3038
  const _hoisted_2$r = { class: "ina-field-input-table__label" };
3031
3039
  const _hoisted_3$p = ["value"];
3032
- const _hoisted_4$k = { class: "ina-field-input-table__actions" };
3040
+ const _hoisted_4$l = { class: "ina-field-input-table__actions" };
3033
3041
  const _sfc_main$w = /* @__PURE__ */ defineComponent({
3034
3042
  __name: "FieldInputTable",
3035
3043
  props: {
@@ -3089,7 +3097,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
3089
3097
  autofocus: ""
3090
3098
  }, null, 40, _hoisted_3$p)
3091
3099
  ]),
3092
- createElementVNode("div", _hoisted_4$k, [
3100
+ createElementVNode("div", _hoisted_4$l, [
3093
3101
  createElementVNode("button", {
3094
3102
  type: "button",
3095
3103
  onClick: handleCommit,
@@ -3364,45 +3372,46 @@ const _hoisted_1$r = {
3364
3372
  key: 0,
3365
3373
  class: "ina-file-upload__label"
3366
3374
  };
3367
- const _hoisted_2$q = ["accept", "multiple", "disabled"];
3368
- const _hoisted_3$o = { class: "ina-file-upload__content" };
3369
- const _hoisted_4$j = { class: "ina-file-upload__icon" };
3370
- const _hoisted_5$h = { class: "ina-file-upload__text" };
3371
- const _hoisted_6$f = { class: "ina-file-upload__title" };
3372
- const _hoisted_7$f = { class: "ina-file-upload__description" };
3373
- const _hoisted_8$c = ["disabled"];
3374
- const _hoisted_9$9 = { class: "ina-file-upload__files" };
3375
- const _hoisted_10$8 = { class: "ina-file-upload__file-indicator" };
3376
- const _hoisted_11$8 = {
3375
+ const _hoisted_2$q = { key: 1 };
3376
+ const _hoisted_3$o = ["id", "accept", "multiple", "disabled"];
3377
+ const _hoisted_4$k = { class: "ina-file-upload__content" };
3378
+ const _hoisted_5$h = { class: "ina-file-upload__icon" };
3379
+ const _hoisted_6$f = { class: "ina-file-upload__text" };
3380
+ const _hoisted_7$f = { class: "ina-file-upload__title" };
3381
+ const _hoisted_8$c = { class: "ina-file-upload__description" };
3382
+ const _hoisted_9$9 = ["disabled"];
3383
+ const _hoisted_10$8 = { class: "ina-file-upload__files" };
3384
+ const _hoisted_11$8 = { class: "ina-file-upload__file-indicator" };
3385
+ const _hoisted_12$7 = {
3377
3386
  key: 0,
3378
3387
  class: "ina-file-upload__file-icon-wrapper ina-file-upload__file-icon-wrapper--uploading"
3379
3388
  };
3380
- const _hoisted_12$7 = {
3389
+ const _hoisted_13$5 = {
3381
3390
  key: 1,
3382
3391
  class: "ina-file-upload__file-icon-wrapper ina-file-upload__file-icon-wrapper--success"
3383
3392
  };
3384
- const _hoisted_13$5 = {
3393
+ const _hoisted_14$4 = {
3385
3394
  key: 2,
3386
3395
  class: "ina-file-upload__file-icon-wrapper ina-file-upload__file-icon-wrapper--error"
3387
3396
  };
3388
- const _hoisted_14$4 = {
3397
+ const _hoisted_15$2 = {
3389
3398
  key: 3,
3390
3399
  class: "ina-file-upload__file-icon-wrapper ina-file-upload__file-icon-wrapper--success"
3391
3400
  };
3392
- const _hoisted_15$2 = { class: "ina-file-upload__file-info" };
3393
- const _hoisted_16$2 = { class: "ina-file-upload__file-name" };
3394
- const _hoisted_17$2 = { class: "ina-file-upload__file-size" };
3395
- const _hoisted_18$2 = {
3401
+ const _hoisted_16$2 = { class: "ina-file-upload__file-info" };
3402
+ const _hoisted_17$2 = { class: "ina-file-upload__file-name" };
3403
+ const _hoisted_18$2 = { class: "ina-file-upload__file-size" };
3404
+ const _hoisted_19$2 = {
3396
3405
  key: 0,
3397
3406
  class: "ina-file-upload__file-error"
3398
3407
  };
3399
- const _hoisted_19$2 = { class: "ina-file-upload__file-actions" };
3400
- const _hoisted_20$2 = ["onClick"];
3408
+ const _hoisted_20$2 = { class: "ina-file-upload__file-actions" };
3401
3409
  const _hoisted_21$2 = ["onClick"];
3402
3410
  const _hoisted_22$1 = ["onClick"];
3403
3411
  const _hoisted_23$1 = ["onClick"];
3404
3412
  const _hoisted_24$1 = ["onClick"];
3405
- const _hoisted_25$1 = {
3413
+ const _hoisted_25$1 = ["onClick"];
3414
+ const _hoisted_26$1 = {
3406
3415
  key: 2,
3407
3416
  class: "ina-file-upload__errors"
3408
3417
  };
@@ -3427,17 +3436,39 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3427
3436
  emits: ["change", "remove"],
3428
3437
  setup(__props, { emit: __emit }) {
3429
3438
  const props = __props;
3439
+ const attrs = useAttrs();
3430
3440
  const fileInputRef = ref();
3431
3441
  const files = ref([]);
3432
3442
  const isDragOver = ref(false);
3433
3443
  const validationErrors = ref([]);
3434
3444
  const showAllFiles = ref(false);
3445
+ const inputId = computed(() => {
3446
+ const providedId = attrs.id || attrs.name;
3447
+ return providedId ? String(providedId) : void 0;
3448
+ });
3449
+ const filteredAttrs = computed(() => {
3450
+ const {
3451
+ id,
3452
+ name,
3453
+ type,
3454
+ multiple,
3455
+ disabled,
3456
+ class: classAttr,
3457
+ ...rest
3458
+ } = attrs;
3459
+ return rest;
3460
+ });
3435
3461
  const displayedFiles = computed(() => {
3436
3462
  if (props.multiple && files.value.length > 5 && !showAllFiles.value) {
3437
3463
  return files.value.slice(0, 5);
3438
3464
  }
3439
3465
  return files.value;
3440
3466
  });
3467
+ const labelComponent = computed(() => {
3468
+ if (!props.label) return null;
3469
+ if (typeof props.label === "string") return null;
3470
+ return props.label;
3471
+ });
3441
3472
  const getOriginalIndex = (uploadedFile) => {
3442
3473
  return files.value.findIndex(
3443
3474
  (f) => f.file.name === uploadedFile.file.name && f.file.size === uploadedFile.file.size && f.status === uploadedFile.status
@@ -3621,7 +3652,9 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3621
3652
  return openBlock(), createElementBlock("div", {
3622
3653
  class: normalizeClass(["ina-file-upload", uploadClasses.value])
3623
3654
  }, [
3624
- __props.label ? (openBlock(), createElementBlock("div", _hoisted_1$r, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
3655
+ __props.label ? (openBlock(), createElementBlock("div", _hoisted_1$r, [
3656
+ labelComponent.value ? (openBlock(), createBlock(resolveDynamicComponent(labelComponent.value), { key: 0 })) : __props.label && typeof __props.label === "string" ? (openBlock(), createElementBlock("span", _hoisted_2$q, toDisplayString(__props.label), 1)) : createCommentVNode("", true)
3657
+ ])) : createCommentVNode("", true),
3625
3658
  createElementVNode("div", {
3626
3659
  class: normalizeClass(["ina-file-upload__dropzone", dropzoneClasses.value]),
3627
3660
  onClick: triggerFileInput,
@@ -3629,7 +3662,8 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3629
3662
  onDragleave: handleDragLeave,
3630
3663
  onDrop: handleDrop
3631
3664
  }, [
3632
- createElementVNode("input", {
3665
+ createElementVNode("input", mergeProps(filteredAttrs.value, {
3666
+ id: inputId.value,
3633
3667
  ref_key: "fileInputRef",
3634
3668
  ref: fileInputRef,
3635
3669
  type: "file",
@@ -3638,25 +3672,25 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3638
3672
  disabled: __props.disabled,
3639
3673
  class: "ina-file-upload__input",
3640
3674
  onChange: handleFileChange
3641
- }, null, 40, _hoisted_2$q),
3642
- createElementVNode("div", _hoisted_3$o, [
3643
- createElementVNode("div", _hoisted_4$j, [
3675
+ }), null, 16, _hoisted_3$o),
3676
+ createElementVNode("div", _hoisted_4$k, [
3677
+ createElementVNode("div", _hoisted_5$h, [
3644
3678
  createVNode(unref(IconUpload), { size: 24 })
3645
3679
  ]),
3646
- createElementVNode("div", _hoisted_5$h, [
3647
- createElementVNode("div", _hoisted_6$f, toDisplayString(__props.title), 1),
3648
- createElementVNode("div", _hoisted_7$f, toDisplayString(__props.description), 1)
3680
+ createElementVNode("div", _hoisted_6$f, [
3681
+ createElementVNode("div", _hoisted_7$f, toDisplayString(__props.title), 1),
3682
+ createElementVNode("div", _hoisted_8$c, toDisplayString(__props.description), 1)
3649
3683
  ]),
3650
3684
  createElementVNode("button", {
3651
3685
  type: "button",
3652
3686
  class: "ina-file-upload__button",
3653
3687
  disabled: __props.disabled,
3654
3688
  onClick: withModifiers(triggerFileInput, ["stop"])
3655
- }, " Pilih File ", 8, _hoisted_8$c)
3689
+ }, " Pilih File ", 8, _hoisted_9$9)
3656
3690
  ])
3657
3691
  ], 34),
3658
3692
  files.value.length > 0 ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
3659
- createElementVNode("div", _hoisted_9$9, [
3693
+ createElementVNode("div", _hoisted_10$8, [
3660
3694
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayedFiles.value, (uploadedFile, displayIndex) => {
3661
3695
  return openBlock(), createElementBlock("div", {
3662
3696
  key: `${uploadedFile.file.name}-${getOriginalIndex(uploadedFile)}`,
@@ -3666,35 +3700,35 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3666
3700
  "ina-file-upload__file--uploading": uploadedFile.status === "uploading"
3667
3701
  }])
3668
3702
  }, [
3669
- createElementVNode("div", _hoisted_10$8, [
3670
- uploadedFile.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_11$8, [
3703
+ createElementVNode("div", _hoisted_11$8, [
3704
+ uploadedFile.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_12$7, [
3671
3705
  createVNode(unref(IconLoader2), {
3672
3706
  size: 20,
3673
3707
  class: "ina-file-upload__file-icon--spinning"
3674
3708
  })
3675
- ])) : uploadedFile.status === "success" ? (openBlock(), createElementBlock("div", _hoisted_12$7, [
3709
+ ])) : uploadedFile.status === "success" ? (openBlock(), createElementBlock("div", _hoisted_13$5, [
3676
3710
  createVNode(unref(IconCircleCheck), {
3677
3711
  size: 20,
3678
3712
  stroke: "2"
3679
3713
  })
3680
- ])) : uploadedFile.status === "error" ? (openBlock(), createElementBlock("div", _hoisted_13$5, [
3714
+ ])) : uploadedFile.status === "error" ? (openBlock(), createElementBlock("div", _hoisted_14$4, [
3681
3715
  createVNode(unref(IconCircleX), {
3682
3716
  size: 20,
3683
3717
  stroke: "2"
3684
3718
  })
3685
- ])) : uploadedFile.status === "idle" ? (openBlock(), createElementBlock("div", _hoisted_14$4, [
3719
+ ])) : uploadedFile.status === "idle" ? (openBlock(), createElementBlock("div", _hoisted_15$2, [
3686
3720
  createVNode(unref(IconCircleCheck), {
3687
3721
  size: 20,
3688
3722
  stroke: "2"
3689
3723
  })
3690
3724
  ])) : createCommentVNode("", true)
3691
3725
  ]),
3692
- createElementVNode("div", _hoisted_15$2, [
3693
- createElementVNode("div", _hoisted_16$2, toDisplayString(unref(sanitizeFileName)(uploadedFile.file.name)), 1),
3694
- createElementVNode("div", _hoisted_17$2, toDisplayString(unref(formatFileSize)(uploadedFile.file.size)), 1),
3695
- uploadedFile.error ? (openBlock(), createElementBlock("div", _hoisted_18$2, toDisplayString(uploadedFile.error), 1)) : createCommentVNode("", true)
3726
+ createElementVNode("div", _hoisted_16$2, [
3727
+ createElementVNode("div", _hoisted_17$2, toDisplayString(unref(sanitizeFileName)(uploadedFile.file.name)), 1),
3728
+ createElementVNode("div", _hoisted_18$2, toDisplayString(unref(formatFileSize)(uploadedFile.file.size)), 1),
3729
+ uploadedFile.error ? (openBlock(), createElementBlock("div", _hoisted_19$2, toDisplayString(uploadedFile.error), 1)) : createCommentVNode("", true)
3696
3730
  ]),
3697
- createElementVNode("div", _hoisted_19$2, [
3731
+ createElementVNode("div", _hoisted_20$2, [
3698
3732
  uploadedFile.status === "error" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
3699
3733
  createElementVNode("button", {
3700
3734
  title: "Coba lagi",
@@ -3703,7 +3737,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3703
3737
  onClick: ($event) => updateFileStatus(getOriginalIndex(uploadedFile), "idle")
3704
3738
  }, [
3705
3739
  createVNode(unref(IconRotateClockwise), { size: 20 })
3706
- ], 8, _hoisted_20$2),
3740
+ ], 8, _hoisted_21$2),
3707
3741
  createElementVNode("button", {
3708
3742
  title: "Hapus file",
3709
3743
  type: "button",
@@ -3711,7 +3745,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3711
3745
  onClick: ($event) => removeFile(getOriginalIndex(uploadedFile))
3712
3746
  }, [
3713
3747
  createVNode(unref(IconTrash), { size: 20 })
3714
- ], 8, _hoisted_21$2)
3748
+ ], 8, _hoisted_22$1)
3715
3749
  ], 64)) : uploadedFile.status === "uploading" ? (openBlock(), createElementBlock("button", {
3716
3750
  key: 1,
3717
3751
  title: "Batalkan upload",
@@ -3720,7 +3754,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3720
3754
  onClick: ($event) => removeFile(getOriginalIndex(uploadedFile))
3721
3755
  }, [
3722
3756
  createVNode(unref(IconX), { size: 20 })
3723
- ], 8, _hoisted_22$1)) : uploadedFile.status === "success" ? (openBlock(), createElementBlock("button", {
3757
+ ], 8, _hoisted_23$1)) : uploadedFile.status === "success" ? (openBlock(), createElementBlock("button", {
3724
3758
  key: 2,
3725
3759
  title: "Hapus file",
3726
3760
  type: "button",
@@ -3728,7 +3762,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3728
3762
  onClick: ($event) => removeFile(getOriginalIndex(uploadedFile))
3729
3763
  }, [
3730
3764
  createVNode(unref(IconTrash), { size: 20 })
3731
- ], 8, _hoisted_23$1)) : uploadedFile.status === "idle" ? (openBlock(), createElementBlock("button", {
3765
+ ], 8, _hoisted_24$1)) : uploadedFile.status === "idle" ? (openBlock(), createElementBlock("button", {
3732
3766
  key: 3,
3733
3767
  title: "Hapus file",
3734
3768
  type: "button",
@@ -3736,7 +3770,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3736
3770
  onClick: ($event) => removeFile(getOriginalIndex(uploadedFile))
3737
3771
  }, [
3738
3772
  createVNode(unref(IconTrash), { size: 20 })
3739
- ], 8, _hoisted_24$1)) : createCommentVNode("", true)
3773
+ ], 8, _hoisted_25$1)) : createCommentVNode("", true)
3740
3774
  ])
3741
3775
  ], 2);
3742
3776
  }), 128))
@@ -3768,7 +3802,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3768
3802
  ])], 2))
3769
3803
  ])) : createCommentVNode("", true)
3770
3804
  ], 64)) : createCommentVNode("", true),
3771
- validationErrors.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_25$1, [
3805
+ validationErrors.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_26$1, [
3772
3806
  (openBlock(true), createElementBlock(Fragment, null, renderList(validationErrors.value, (error, index2) => {
3773
3807
  return openBlock(), createElementBlock("div", {
3774
3808
  key: index2,
@@ -3786,7 +3820,7 @@ const _hoisted_2$p = {
3786
3820
  class: "ina-input-search__required"
3787
3821
  };
3788
3822
  const _hoisted_3$n = { class: "ina-input-search__wrapper" };
3789
- const _hoisted_4$i = ["id", "placeholder", "disabled", "readonly", "maxlength"];
3823
+ const _hoisted_4$j = ["id", "placeholder", "disabled", "readonly", "maxlength"];
3790
3824
  const _sfc_main$u = /* @__PURE__ */ defineComponent({
3791
3825
  __name: "InputSearch",
3792
3826
  props: {
@@ -3938,7 +3972,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
3938
3972
  onBlur: handleBlur,
3939
3973
  onFocus: handleFocus,
3940
3974
  onKeydown: withKeys(handleSearch, ["enter"])
3941
- }), null, 16, _hoisted_4$i), [
3975
+ }), null, 16, _hoisted_4$j), [
3942
3976
  [vModelText, inputValue.value]
3943
3977
  ]),
3944
3978
  inputValue.value && __props.showClearButton ? (openBlock(), createElementBlock("button", {
@@ -3978,7 +4012,7 @@ const _hoisted_3$m = {
3978
4012
  key: 0,
3979
4013
  class: "ina-modal__header"
3980
4014
  };
3981
- const _hoisted_4$h = ["id"];
4015
+ const _hoisted_4$i = ["id"];
3982
4016
  const _hoisted_5$g = ["aria-label"];
3983
4017
  const _hoisted_6$e = { class: "ina-modal__body" };
3984
4018
  const _hoisted_7$e = ["id"];
@@ -4096,7 +4130,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
4096
4130
  renderSlot(_ctx.$slots, "title", {}, () => [
4097
4131
  createTextVNode(toDisplayString(__props.title), 1)
4098
4132
  ], true)
4099
- ], 8, _hoisted_4$h),
4133
+ ], 8, _hoisted_4$i),
4100
4134
  __props.showCloseButton ? (openBlock(), createElementBlock("button", {
4101
4135
  key: 0,
4102
4136
  type: "button",
@@ -4151,7 +4185,7 @@ const _hoisted_2$n = {
4151
4185
  class: "ina-month-picker__required"
4152
4186
  };
4153
4187
  const _hoisted_3$l = ["id", "disabled", "aria-expanded", "aria-labelledby"];
4154
- const _hoisted_4$g = {
4188
+ const _hoisted_4$h = {
4155
4189
  key: 0,
4156
4190
  class: "ina-month-picker__prefix-icon"
4157
4191
  };
@@ -4420,7 +4454,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
4420
4454
  onClick: togglePanel,
4421
4455
  onKeydown: handleKeydown
4422
4456
  }, [
4423
- __props.showIcon ? (openBlock(), createElementBlock("div", _hoisted_4$g, [..._cache[1] || (_cache[1] = [
4457
+ __props.showIcon ? (openBlock(), createElementBlock("div", _hoisted_4$h, [..._cache[1] || (_cache[1] = [
4424
4458
  createStaticVNode('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-f53ade24><rect x="3" y="4" width="18" height="18" rx="2" ry="2" stroke="currentColor" stroke-width="2" data-v-f53ade24></rect><line x1="16" y1="2" x2="16" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-v-f53ade24></line><line x1="8" y1="2" x2="8" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-v-f53ade24></line><line x1="3" y1="10" x2="21" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-v-f53ade24></line></svg>', 1)
4425
4459
  ])])) : createCommentVNode("", true),
4426
4460
  createElementVNode("span", _hoisted_5$f, toDisplayString(selectedMonthDisplay.value || __props.placeholder), 1),
@@ -4511,7 +4545,7 @@ const _hoisted_2$m = {
4511
4545
  class: "ina-multiple-choice-grid__subtitle"
4512
4546
  };
4513
4547
  const _hoisted_3$k = { class: "ina-multiple-choice-grid__container" };
4514
- const _hoisted_4$f = { class: "ina-multiple-choice-grid__grid" };
4548
+ const _hoisted_4$g = { class: "ina-multiple-choice-grid__grid" };
4515
4549
  const _hoisted_5$e = { class: "ina-multiple-choice-grid__header-row" };
4516
4550
  const _hoisted_6$c = { class: "ina-multiple-choice-grid__row-label" };
4517
4551
  const _hoisted_7$c = ["id", "name", "value", "disabled"];
@@ -4568,7 +4602,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
4568
4602
  __props.title ? (openBlock(), createElementBlock("div", _hoisted_1$n, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
4569
4603
  __props.subtitle ? (openBlock(), createElementBlock("div", _hoisted_2$m, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true),
4570
4604
  createElementVNode("div", _hoisted_3$k, [
4571
- createElementVNode("div", _hoisted_4$f, [
4605
+ createElementVNode("div", _hoisted_4$g, [
4572
4606
  createElementVNode("div", _hoisted_5$e, [
4573
4607
  _cache[1] || (_cache[1] = createElementVNode("div", { class: "ina-multiple-choice-grid__header-cell ina-multiple-choice-grid__header-cell--empty" }, null, -1)),
4574
4608
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column, colIndex) => {
@@ -4624,7 +4658,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
4624
4658
  const _hoisted_1$m = ["aria-label"];
4625
4659
  const _hoisted_2$l = { class: "ina-pagination__nav-container" };
4626
4660
  const _hoisted_3$j = { class: "ina-pagination__page-info" };
4627
- const _hoisted_4$e = { class: "ina-pagination__nav-buttons" };
4661
+ const _hoisted_4$f = { class: "ina-pagination__nav-buttons" };
4628
4662
  const _hoisted_5$d = ["disabled"];
4629
4663
  const _hoisted_6$b = ["disabled", "aria-label"];
4630
4664
  const _hoisted_7$b = ["onClick", "disabled", "aria-label", "aria-current"];
@@ -4750,7 +4784,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
4750
4784
  }, [
4751
4785
  createElementVNode("div", _hoisted_2$l, [
4752
4786
  createElementVNode("div", _hoisted_3$j, " Halaman " + toDisplayString(currentPage.value) + " dari " + toDisplayString(__props.totalPages), 1),
4753
- createElementVNode("div", _hoisted_4$e, [
4787
+ createElementVNode("div", _hoisted_4$f, [
4754
4788
  createElementVNode("button", {
4755
4789
  type: "button",
4756
4790
  class: normalizeClass(["ina-pagination__nav-button", {
@@ -4900,7 +4934,7 @@ const _hoisted_3$i = {
4900
4934
  key: 0,
4901
4935
  class: "ina-password-input__required"
4902
4936
  };
4903
- const _hoisted_4$d = ["id", "type", "placeholder", "disabled", "readonly", "maxlength"];
4937
+ const _hoisted_4$e = ["id", "type", "placeholder", "disabled", "readonly", "maxlength"];
4904
4938
  const _hoisted_5$c = ["disabled"];
4905
4939
  const _hoisted_6$a = {
4906
4940
  key: 0,
@@ -5028,7 +5062,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
5028
5062
  onInput: handleInput,
5029
5063
  onBlur: handleBlur,
5030
5064
  onFocus: handleFocus
5031
- }, _ctx.$attrs), null, 16, _hoisted_4$d), [
5065
+ }, _ctx.$attrs), null, 16, _hoisted_4$e), [
5032
5066
  [vModelDynamic, inputValue.value]
5033
5067
  ]),
5034
5068
  createElementVNode("button", {
@@ -5091,7 +5125,7 @@ const _hoisted_2$j = {
5091
5125
  class: "ina-phone-input__required"
5092
5126
  };
5093
5127
  const _hoisted_3$h = { class: "ina-phone-input__wrapper" };
5094
- const _hoisted_4$c = { class: "ina-phone-input__country-selector" };
5128
+ const _hoisted_4$d = { class: "ina-phone-input__country-selector" };
5095
5129
  const _hoisted_5$b = { class: "ina-phone-input__country-flag" };
5096
5130
  const _hoisted_6$9 = { class: "ina-phone-input__country-code" };
5097
5131
  const _hoisted_7$9 = {
@@ -5259,7 +5293,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5259
5293
  __props.required ? (openBlock(), createElementBlock("span", _hoisted_2$j, "*")) : createCommentVNode("", true)
5260
5294
  ], 8, _hoisted_1$k)) : createCommentVNode("", true),
5261
5295
  createElementVNode("div", _hoisted_3$h, [
5262
- createElementVNode("div", _hoisted_4$c, [
5296
+ createElementVNode("div", _hoisted_4$d, [
5263
5297
  createElementVNode("button", {
5264
5298
  type: "button",
5265
5299
  class: "ina-phone-input__country-button",
@@ -5448,7 +5482,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
5448
5482
  const _hoisted_1$i = ["disabled"];
5449
5483
  const _hoisted_2$i = { class: "ina-radio-input__group" };
5450
5484
  const _hoisted_3$g = ["for"];
5451
- const _hoisted_4$b = ["id", "name", "value", "disabled"];
5485
+ const _hoisted_4$c = ["id", "name", "value", "disabled"];
5452
5486
  const _hoisted_5$a = ["for"];
5453
5487
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
5454
5488
  __name: "RadioInput",
@@ -5548,7 +5582,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
5548
5582
  onChange: handleChange,
5549
5583
  onFocus: handleFocus,
5550
5584
  onBlur: handleBlur
5551
- }), null, 16, _hoisted_4$b), [
5585
+ }), null, 16, _hoisted_4$c), [
5552
5586
  [vModelRadio, selectedValue.value]
5553
5587
  ]),
5554
5588
  createElementVNode("label", {
@@ -5572,7 +5606,7 @@ const _hoisted_2$h = {
5572
5606
  class: "ina-year-picker__required"
5573
5607
  };
5574
5608
  const _hoisted_3$f = { class: "ina-year-picker__wrapper" };
5575
- const _hoisted_4$a = ["id", "disabled", "aria-expanded", "aria-labelledby"];
5609
+ const _hoisted_4$b = ["id", "disabled", "aria-expanded", "aria-labelledby"];
5576
5610
  const _hoisted_5$9 = {
5577
5611
  key: 0,
5578
5612
  class: "ina-year-picker__prefix-icon"
@@ -5903,7 +5937,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
5903
5937
  })
5904
5938
  ], -1)
5905
5939
  ])])) : createCommentVNode("", true)
5906
- ], 42, _hoisted_4$a),
5940
+ ], 42, _hoisted_4$b),
5907
5941
  createVNode(Transition, { name: "panel" }, {
5908
5942
  default: withCtx(() => [
5909
5943
  isOpen.value ? (openBlock(), createElementBlock("div", {
@@ -5969,7 +6003,7 @@ const _hoisted_2$g = {
5969
6003
  class: "ina-date-picker__required"
5970
6004
  };
5971
6005
  const _hoisted_3$e = ["id", "disabled"];
5972
- const _hoisted_4$9 = {
6006
+ const _hoisted_4$a = {
5973
6007
  key: 0,
5974
6008
  class: "ina-date-picker__calendar-container"
5975
6009
  };
@@ -6822,7 +6856,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
6822
6856
  createElementVNode("div", {
6823
6857
  class: normalizeClass(panelContentClasses.value)
6824
6858
  }, [
6825
- __props.mode === "single" ? (openBlock(), createElementBlock("div", _hoisted_4$9, [
6859
+ __props.mode === "single" ? (openBlock(), createElementBlock("div", _hoisted_4$a, [
6826
6860
  createElementVNode("div", _hoisted_5$8, [
6827
6861
  createElementVNode("button", {
6828
6862
  type: "button",
@@ -7041,7 +7075,7 @@ const _hoisted_3$d = {
7041
7075
  key: 0,
7042
7076
  class: "ina-select-dropdown__search"
7043
7077
  };
7044
- const _hoisted_4$8 = ["aria-label", "disabled"];
7078
+ const _hoisted_4$9 = ["aria-label", "disabled"];
7045
7079
  const _hoisted_5$7 = {
7046
7080
  key: 1,
7047
7081
  class: "ina-select-dropdown__preview"
@@ -7480,7 +7514,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
7480
7514
  disabled: __props.disabled,
7481
7515
  class: normalizeClass(searchInputClasses.value),
7482
7516
  onInput: handleSearchInput
7483
- }, null, 42, _hoisted_4$8), [
7517
+ }, null, 42, _hoisted_4$9), [
7484
7518
  [vModelText, internalSearchTerm.value]
7485
7519
  ])
7486
7520
  ])) : createCommentVNode("", true),
@@ -7605,7 +7639,7 @@ const _hoisted_2$e = {
7605
7639
  class: "ina-drawer__header"
7606
7640
  };
7607
7641
  const _hoisted_3$c = ["id"];
7608
- const _hoisted_4$7 = ["aria-label"];
7642
+ const _hoisted_4$8 = ["aria-label"];
7609
7643
  const _hoisted_5$6 = { class: "ina-drawer__content" };
7610
7644
  const _hoisted_6$5 = ["id"];
7611
7645
  const _hoisted_7$5 = {
@@ -7766,7 +7800,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
7766
7800
  "stroke-linejoin": "round"
7767
7801
  })
7768
7802
  ], -1)
7769
- ])], 8, _hoisted_4$7)) : createCommentVNode("", true)
7803
+ ])], 8, _hoisted_4$8)) : createCommentVNode("", true)
7770
7804
  ])) : createCommentVNode("", true),
7771
7805
  createElementVNode("div", _hoisted_5$6, [
7772
7806
  __props.description ? (openBlock(), createElementBlock("div", {
@@ -7911,7 +7945,7 @@ const _hoisted_3$a = {
7911
7945
  "stroke-linecap": "round",
7912
7946
  "stroke-linejoin": "round"
7913
7947
  };
7914
- const _hoisted_4$6 = {
7948
+ const _hoisted_4$7 = {
7915
7949
  key: 2,
7916
7950
  class: "ina-stepper__step-number"
7917
7951
  };
@@ -7966,7 +8000,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
7966
8000
  fill: "none"
7967
8001
  }, null, -1),
7968
8002
  createElementVNode("path", { d: "M5 12l5 5l10 -10" }, null, -1)
7969
- ])])) : step.icon ? (openBlock(), createBlock(resolveDynamicComponent(step.icon), { key: 1 })) : (openBlock(), createElementBlock("span", _hoisted_4$6, toDisplayString(index2 + 1), 1))
8003
+ ])])) : step.icon ? (openBlock(), createBlock(resolveDynamicComponent(step.icon), { key: 1 })) : (openBlock(), createElementBlock("span", _hoisted_4$7, toDisplayString(index2 + 1), 1))
7970
8004
  ]),
7971
8005
  createElementVNode("div", _hoisted_5$5, [
7972
8006
  typeof step.label === "string" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
@@ -8352,7 +8386,7 @@ const _hoisted_2$9 = {
8352
8386
  class: "ina-table__header-cell"
8353
8387
  };
8354
8388
  const _hoisted_3$7 = { class: "ina-table__sort-controls" };
8355
- const _hoisted_4$5 = {
8389
+ const _hoisted_4$6 = {
8356
8390
  key: 1,
8357
8391
  class: "ina-table__sort-icon"
8358
8392
  };
@@ -8693,7 +8727,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8693
8727
  isSorted: isSorted(col),
8694
8728
  sortOrder: sortOrder.value,
8695
8729
  handleSort: (order) => handleSort(col, order)
8696
- }) : (openBlock(), createElementBlock("div", _hoisted_4$5, [
8730
+ }) : (openBlock(), createElementBlock("div", _hoisted_4$6, [
8697
8731
  createElementVNode("div", {
8698
8732
  class: normalizeClass([
8699
8733
  "ina-table__sort-button",
@@ -8815,11 +8849,12 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8815
8849
  }
8816
8850
  });
8817
8851
  const _hoisted_1$8 = ["for"];
8818
- const _hoisted_2$8 = {
8819
- key: 0,
8852
+ const _hoisted_2$8 = { key: 1 };
8853
+ const _hoisted_3$6 = {
8854
+ key: 2,
8820
8855
  class: "ina-text-area__required"
8821
8856
  };
8822
- const _hoisted_3$6 = ["id", "name", "placeholder", "disabled", "readonly", "maxlength", "rows", "autocomplete", "spellcheck", "autocapitalize", "autocorrect", "dir"];
8857
+ const _hoisted_4$5 = ["id", "name", "placeholder", "disabled", "readonly", "maxlength", "rows", "autocomplete", "spellcheck", "autocapitalize", "autocorrect", "dir"];
8823
8858
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8824
8859
  __name: "TextArea",
8825
8860
  props: {
@@ -8877,6 +8912,11 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8877
8912
  const { id, name, ...rest } = attrs;
8878
8913
  return rest;
8879
8914
  });
8915
+ const labelComponent = computed(() => {
8916
+ if (!props.label) return null;
8917
+ if (typeof props.label === "string") return null;
8918
+ return props.label;
8919
+ });
8880
8920
  const containerClasses = computed(() => {
8881
8921
  const classes = ["ina-text-area"];
8882
8922
  if (props.disabled) {
@@ -9028,8 +9068,8 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
9028
9068
  for: textareaId.value,
9029
9069
  class: "ina-text-area__label"
9030
9070
  }, [
9031
- createTextVNode(toDisplayString(__props.label) + " ", 1),
9032
- __props.required ? (openBlock(), createElementBlock("span", _hoisted_2$8, "*")) : createCommentVNode("", true)
9071
+ labelComponent.value ? (openBlock(), createBlock(resolveDynamicComponent(labelComponent.value), { key: 0 })) : __props.label && typeof __props.label === "string" ? (openBlock(), createElementBlock("span", _hoisted_2$8, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
9072
+ __props.required ? (openBlock(), createElementBlock("span", _hoisted_3$6, "*")) : createCommentVNode("", true)
9033
9073
  ], 8, _hoisted_1$8)) : createCommentVNode("", true),
9034
9074
  createElementVNode("div", {
9035
9075
  class: normalizeClass(["ina-text-area__wrapper", wrapperClasses.value])
@@ -9054,7 +9094,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
9054
9094
  onInput: handleInput,
9055
9095
  onBlur: handleBlur,
9056
9096
  onFocus: handleFocus
9057
- }), null, 16, _hoisted_3$6), [
9097
+ }), null, 16, _hoisted_4$5), [
9058
9098
  [vModelText, inputValue.value]
9059
9099
  ]),
9060
9100
  __props.showClearButton && inputValue.value !== "" && !__props.disabled ? (openBlock(), createElementBlock("button", {
@@ -10315,7 +10355,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
10315
10355
  return openBlock(), createElementBlock("div", {
10316
10356
  class: normalizeClass(["ina-toggle", toggleClasses.value])
10317
10357
  }, [
10318
- createElementVNode("input", mergeProps({
10358
+ createElementVNode("input", mergeProps(filteredAttrs.value, {
10319
10359
  id: inputId.value,
10320
10360
  ref_key: "inputRef",
10321
10361
  ref: inputRef,
@@ -10323,8 +10363,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
10323
10363
  type: "checkbox",
10324
10364
  disabled: __props.disabled,
10325
10365
  readonly: __props.readonly,
10326
- class: "ina-toggle__input"
10327
- }, filteredAttrs.value, {
10366
+ class: "ina-toggle__input",
10328
10367
  onChange: handleChange,
10329
10368
  onFocus: handleFocus,
10330
10369
  onBlur: handleBlur
@@ -10584,7 +10623,7 @@ function initializeTheme(brandName) {
10584
10623
  if (typeof window !== "undefined") {
10585
10624
  initializeTheme();
10586
10625
  }
10587
- const _hoisted_1 = ["accept", "disabled"];
10626
+ const _hoisted_1 = ["id", "accept", "disabled"];
10588
10627
  const _hoisted_2 = ["tabindex", "aria-label"];
10589
10628
  const _hoisted_3 = { class: "ina-single-file-upload__icon-wrapper ina-single-file-upload__icon-wrapper--default" };
10590
10629
  const _hoisted_4 = { class: "ina-single-file-upload__content" };
@@ -10616,12 +10655,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10616
10655
  setup(__props, { emit: __emit }) {
10617
10656
  const props = __props;
10618
10657
  const emit = __emit;
10658
+ const attrs = useAttrs();
10619
10659
  const fileInputRef = ref();
10620
10660
  const file = ref(null);
10621
10661
  const internalProgress = ref(0);
10622
10662
  const internalStatus = ref("idle");
10623
10663
  const error = ref(null);
10624
10664
  const isActive = ref(false);
10665
+ const inputId = computed(() => {
10666
+ const providedId = attrs.id || attrs.name;
10667
+ return providedId ? String(providedId) : void 0;
10668
+ });
10669
+ const filteredAttrs = computed(() => {
10670
+ const { id, name, type, accept, disabled, class: classAttr, ...rest } = attrs;
10671
+ return rest;
10672
+ });
10625
10673
  const progress = computed(
10626
10674
  () => props.progress !== void 0 ? props.progress : internalProgress.value
10627
10675
  );
@@ -10857,7 +10905,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10857
10905
  return openBlock(), createElementBlock("div", {
10858
10906
  class: normalizeClass(["ina-single-file-upload", props.className])
10859
10907
  }, [
10860
- createElementVNode("input", {
10908
+ createElementVNode("input", mergeProps(filteredAttrs.value, {
10909
+ id: inputId.value,
10861
10910
  ref_key: "fileInputRef",
10862
10911
  ref: fileInputRef,
10863
10912
  type: "file",
@@ -10865,7 +10914,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10865
10914
  disabled: props.disabled,
10866
10915
  class: "ina-single-file-upload__input",
10867
10916
  onChange: handleFileChange
10868
- }, null, 40, _hoisted_1),
10917
+ }), null, 16, _hoisted_1),
10869
10918
  createElementVNode("div", {
10870
10919
  class: normalizeClass(containerClasses.value),
10871
10920
  role: "button",