fds-vue-core 2.0.25 → 2.0.26

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/FdsTable.css CHANGED
@@ -43,7 +43,7 @@
43
43
  }
44
44
 
45
45
  .fds-table-wrapper tbody tr {
46
- border-bottom: 1px solid var(--color-gray-100);
46
+ border-bottom: 1px solid var(--color-blue-100);
47
47
  }
48
48
 
49
49
  .fds-table-wrapper tbody tr:last-child {
@@ -1 +1 @@
1
- {"version":3,"file":"FdsCheckbox.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/FdsCheckbox/FdsCheckbox.vue"],"names":[],"mappings":"AAuJA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAS/C,KAAK,WAAW,GAAG,gBAAgB,CAAC;AA2HpC,KAAK,iBAAiB,GAAG,WAAW,GAAG;IACvC,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAC7C,CAAC;AAkEF,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AA0B/C,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;4EAInB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAY1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"FdsCheckbox.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/FdsCheckbox/FdsCheckbox.vue"],"names":[],"mappings":"AAyJA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAS/C,KAAK,WAAW,GAAG,gBAAgB,CAAC;AA2HpC,KAAK,iBAAiB,GAAG,WAAW,GAAG;IACvC,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAC7C,CAAC;AAiEF,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAyB/C,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;4EAInB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAY1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -12,16 +12,10 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
12
12
  } & {
13
13
  change: (value: boolean) => any;
14
14
  "update:checked": (value: boolean) => any;
15
- blur: (event: FocusEvent) => any;
16
- focus: (event: FocusEvent) => any;
17
- keydown: (event: KeyboardEvent) => any;
18
15
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
16
  onChange?: (value: boolean) => any;
20
17
  "onUpdate:checked"?: (value: boolean) => any;
21
18
  "onUpdate:modelValue"?: (value: string | number) => any;
22
- onBlur?: (event: FocusEvent) => any;
23
- onFocus?: (event: FocusEvent) => any;
24
- onKeydown?: (event: KeyboardEvent) => any;
25
19
  }>, {
26
20
  required: boolean;
27
21
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FdsRadio.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/FdsRadio/FdsRadio.vue"],"names":[],"mappings":"AA6GA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAM5C,KAAK,WAAW,GAAG,aAAa,CAAC;AA8EjC,KAAK,iBAAiB,GAAG,WAAW,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B,CAAC;AAwEF,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AA6B/C,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;4EAInB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAY1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"FdsRadio.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/FdsRadio/FdsRadio.vue"],"names":[],"mappings":"AAmGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAM5C,KAAK,WAAW,GAAG,aAAa,CAAC;AAsEjC,KAAK,iBAAiB,GAAG,WAAW,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B,CAAC;AAmEF,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAyB/C,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;4EAInB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAY1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FdsListHeading.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Typography/FdsListHeading/FdsListHeading.vue"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;;;;;AA2IlD,wBAGG"}
1
+ {"version":3,"file":"FdsListHeading.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Typography/FdsListHeading/FdsListHeading.vue"],"names":[],"mappings":"AA6DA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;;;;;AAmHlD,wBAGG"}
@@ -405,8 +405,8 @@ const useTreeState = (options = {}) => {
405
405
  isEmptySearchResult
406
406
  };
407
407
  };
408
- const _hoisted_1$p = ["id", "name", "value", "disabled", "required"];
409
- const _hoisted_2$f = ["for"];
408
+ const _hoisted_1$p = ["for"];
409
+ const _hoisted_2$f = ["id", "name", "value", "disabled", "required"];
410
410
  const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
411
411
  __name: "FdsCheckbox",
412
412
  props: /* @__PURE__ */ vue.mergeModels({
@@ -431,20 +431,21 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
431
431
  const props = __props;
432
432
  const emit = __emit;
433
433
  const wrapperClasses = vue.computed(() => ["block relative flex items-center mb-2 last:mb-0"]);
434
- const innerWrapperClasses = vue.computed(() => ["flex p-0.5 items-start rounded-md"]);
434
+ const innerWrapperClasses = vue.computed(() => [
435
+ "flex p-0.5 items-start rounded-md",
436
+ "hover:bg-blue_t-100 active:bg-blue_t-200",
437
+ "[&:has(:focus-visible)]:outline-2 [&:has(:focus-visible)]:outline-dashed [&:has(:focus-visible)]:-outline-offset-2 [&:has(:focus-visible)]:outline-blue-500",
438
+ props.disabled && "hover:bg-transparent active:bg-transparent"
439
+ ]);
435
440
  const checkboxClasses = vue.computed(() => [
436
441
  "rounded-md transition-colors duration-200 accent-blue-500 m-[3px]",
437
- "peer z-40 bg-white min-w-[18px] min-h-[18px]",
442
+ "peer z-40 bg-white min-w-[18px] min-h-[18px] focus-visible:outline-none",
438
443
  props.disabled && "cursor-not-allowed"
439
444
  ]);
440
- const stateClasses = vue.computed(() => [
441
- "hover:bg-blue_t-100 active:bg-blue_t-200",
442
- "focus-visible:outline-2 focus-visible:outline-dashed focus-visible:-outline-offset-2 focus-visible:outline-blue-500",
443
- props.disabled && "hover:bg-transparent active:bg-transparent"
444
- ]);
445
+ const autoId = `fds-checkbox-${Math.random().toString(36).slice(2, 9)}`;
446
+ const inputId = vue.computed(() => props.id ?? autoId);
445
447
  const slots = vue.useSlots();
446
448
  const hasLabelSlot = vue.computed(() => !!slots.default);
447
- const inputId = vue.computed(() => props.id);
448
449
  const internalChecked = vue.computed({
449
450
  get: () => {
450
451
  if (modelValue.value === void 0) {
@@ -489,7 +490,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
489
490
  }
490
491
  });
491
492
  function setIndeterminate() {
492
- const checkbox = document.getElementById(props.id || "");
493
+ const checkbox = document.getElementById(inputId.value);
493
494
  if (checkbox) {
494
495
  checkbox.indeterminate = props.indeterminate;
495
496
  }
@@ -505,9 +506,9 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
505
506
  return vue.openBlock(), vue.createElementBlock("div", {
506
507
  class: vue.normalizeClass(wrapperClasses.value)
507
508
  }, [
508
- vue.createElementVNode("div", vue.mergeProps({
509
- tabindex: "0",
510
- class: [innerWrapperClasses.value, stateClasses.value]
509
+ vue.createElementVNode("label", vue.mergeProps({
510
+ for: inputId.value,
511
+ class: [innerWrapperClasses.value, { "cursor-not-allowed": _ctx.disabled }]
511
512
  }, _ctx.$attrs), [
512
513
  vue.withDirectives(vue.createElementVNode("input", {
513
514
  id: inputId.value,
@@ -517,21 +518,19 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
517
518
  disabled: _ctx.disabled,
518
519
  required: _ctx.required,
519
520
  type: "checkbox",
520
- class: vue.normalizeClass([checkboxClasses.value]),
521
- tabindex: "-1"
522
- }, null, 10, _hoisted_1$p), [
521
+ class: vue.normalizeClass([checkboxClasses.value])
522
+ }, null, 10, _hoisted_2$f), [
523
523
  [vue.vModelCheckbox, internalChecked.value]
524
524
  ]),
525
- hasLabelSlot.value || _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
525
+ hasLabelSlot.value || _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", {
526
526
  key: 0,
527
- for: inputId.value || void 0,
528
527
  class: vue.normalizeClass(["relative inline-block leading-6 pl-2 select-none", { "cursor-not-allowed": _ctx.disabled }])
529
528
  }, [
530
529
  hasLabelSlot.value ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : _ctx.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
531
530
  vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
532
531
  ], 64)) : vue.createCommentVNode("", true)
533
- ], 10, _hoisted_2$f)) : vue.createCommentVNode("", true)
534
- ], 16)
532
+ ], 2)) : vue.createCommentVNode("", true)
533
+ ], 16, _hoisted_1$p)
535
534
  ], 2);
536
535
  };
537
536
  }
@@ -1131,8 +1130,8 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
1131
1130
  };
1132
1131
  }
1133
1132
  });
1134
- const _hoisted_1$m = ["id", "name", "value", "disabled", "required"];
1135
- const _hoisted_2$e = ["for"];
1133
+ const _hoisted_1$m = ["for"];
1134
+ const _hoisted_2$e = ["id", "name", "value", "disabled", "required"];
1136
1135
  const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
1137
1136
  __name: "FdsRadio",
1138
1137
  props: /* @__PURE__ */ vue.mergeModels({
@@ -1150,7 +1149,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
1150
1149
  "modelValue": { default: void 0, required: false },
1151
1150
  "modelModifiers": {}
1152
1151
  }),
1153
- emits: /* @__PURE__ */ vue.mergeModels(["change", "update:checked", "blur", "focus", "keydown"], ["update:modelValue"]),
1152
+ emits: /* @__PURE__ */ vue.mergeModels(["change", "update:checked"], ["update:modelValue"]),
1154
1153
  setup(__props, { emit: __emit }) {
1155
1154
  const modelValue = vue.useModel(__props, "modelValue");
1156
1155
  const props = __props;
@@ -1160,10 +1159,10 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
1160
1159
  const slots = vue.useSlots();
1161
1160
  const hasLabelSlot = vue.computed(() => !!slots.default);
1162
1161
  const wrapperClasses = vue.computed(() => ["block relative flex items-center mb-2 last:mb-0"]);
1163
- const innerWrapperClasses = vue.computed(() => ["flex p-0.5 items-start rounded-l-xl rounded-r-md"]);
1164
- const stateClasses = vue.computed(() => [
1162
+ const innerWrapperClasses = vue.computed(() => [
1163
+ "flex p-0.5 items-start rounded-l-xl rounded-r-md",
1165
1164
  "hover:bg-blue_t-100 active:bg-blue_t-200",
1166
- "focus-visible:outline-2 focus-visible:outline-dashed focus-visible:-outline-offset-2 focus-visible:outline-blue-500",
1165
+ "[&:has(:focus-visible)]:outline-2 [&:has(:focus-visible)]:outline-dashed [&:has(:focus-visible)]:-outline-offset-2 [&:has(:focus-visible)]:outline-blue-500",
1167
1166
  props.disabled && "hover:bg-transparent active:bg-transparent"
1168
1167
  ]);
1169
1168
  const inputClasses = vue.computed(() => [
@@ -1185,16 +1184,13 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
1185
1184
  }
1186
1185
  }
1187
1186
  });
1188
- const handleBlur = (event) => emit("blur", event);
1189
- const handleFocus = (event) => emit("focus", event);
1190
- const handleKeydown = (event) => emit("keydown", event);
1191
1187
  return (_ctx, _cache) => {
1192
1188
  return vue.openBlock(), vue.createElementBlock("div", {
1193
1189
  class: vue.normalizeClass(wrapperClasses.value)
1194
1190
  }, [
1195
- vue.createElementVNode("div", vue.mergeProps({
1196
- tabindex: "0",
1197
- class: [innerWrapperClasses.value, stateClasses.value]
1191
+ vue.createElementVNode("label", vue.mergeProps({
1192
+ for: inputId.value,
1193
+ class: [innerWrapperClasses.value, { "cursor-not-allowed": _ctx.disabled }]
1198
1194
  }, _ctx.$attrs), [
1199
1195
  vue.withDirectives(vue.createElementVNode("input", {
1200
1196
  id: inputId.value,
@@ -1204,38 +1200,32 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
1204
1200
  disabled: _ctx.disabled,
1205
1201
  required: _ctx.required,
1206
1202
  type: "radio",
1207
- class: vue.normalizeClass([inputClasses.value, "m-[3px]"]),
1208
- onBlur: handleBlur,
1209
- onFocus: handleFocus,
1210
- onKeydown: handleKeydown,
1211
- tabindex: "-1"
1212
- }, null, 42, _hoisted_1$m), [
1203
+ class: vue.normalizeClass([inputClasses.value, "m-[3px]"])
1204
+ }, null, 10, _hoisted_2$e), [
1213
1205
  [vue.vModelRadio, groupModel.value]
1214
1206
  ]),
1215
- hasLabelSlot.value || _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
1207
+ hasLabelSlot.value || _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", {
1216
1208
  key: 0,
1217
- for: inputId.value || void 0,
1218
- tabindex: "0",
1219
1209
  class: vue.normalizeClass(["relative inline-block leading-6 pl-2 select-none", { "cursor-not-allowed": _ctx.disabled }])
1220
1210
  }, [
1221
1211
  hasLabelSlot.value ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : _ctx.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
1222
1212
  vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
1223
1213
  ], 64)) : vue.createCommentVNode("", true)
1224
- ], 10, _hoisted_2$e)) : vue.createCommentVNode("", true)
1225
- ], 16)
1214
+ ], 2)) : vue.createCommentVNode("", true)
1215
+ ], 16, _hoisted_1$m)
1226
1216
  ], 2);
1227
1217
  };
1228
1218
  }
1229
1219
  });
1230
1220
  const _hoisted_1$l = { class: "flex items-center" };
1231
1221
  const _hoisted_2$d = ["innerHTML"];
1232
- const _hoisted_3$a = { key: 1 };
1233
- const _hoisted_4$9 = { key: 0 };
1234
- const _hoisted_5$6 = {
1222
+ const _hoisted_3$9 = { key: 1 };
1223
+ const _hoisted_4$8 = { key: 0 };
1224
+ const _hoisted_5$5 = {
1235
1225
  key: 2,
1236
1226
  class: "items-center max-h-[28px]"
1237
1227
  };
1238
- const _hoisted_6$4 = { class: "flex flex-col gap-2" };
1228
+ const _hoisted_6$3 = { class: "flex flex-col gap-2" };
1239
1229
  const _hoisted_7$3 = ["onClick"];
1240
1230
  const _hoisted_8$2 = { key: 0 };
1241
1231
  const popoverWidth = 327;
@@ -1456,13 +1446,13 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
1456
1446
  shouldHighlightSearch.value && _ctx.title ? (vue.openBlock(), vue.createElementBlock("span", {
1457
1447
  key: 0,
1458
1448
  innerHTML: vue.unref(treeState)?.highlightText(_ctx.title, vue.unref(treeState)?.searchTerm?.value)
1459
- }, null, 8, _hoisted_2$d)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$a, vue.toDisplayString(_ctx.title), 1))
1449
+ }, null, 8, _hoisted_2$d)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$9, vue.toDisplayString(_ctx.title), 1))
1460
1450
  ]),
1461
- childCount.value !== null ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$9, " (+" + vue.toDisplayString(childCount.value) + ")", 1)) : vue.createCommentVNode("", true)
1451
+ childCount.value !== null ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$8, " (+" + vue.toDisplayString(childCount.value) + ")", 1)) : vue.createCommentVNode("", true)
1462
1452
  ]),
1463
1453
  _: 1
1464
1454
  }, 8, ["id", "checked", "indeterminate"]),
1465
- vue.unref(treeState)?.isParentOrChildrenSelected(props.nodeId) && !(vue.unref(treeState)?.isNodeIndeterminateById(props.nodeId) ?? false) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$6, [
1455
+ vue.unref(treeState)?.isParentOrChildrenSelected(props.nodeId) && !(vue.unref(treeState)?.isNodeIndeterminateById(props.nodeId) ?? false) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$5, [
1466
1456
  vue.createVNode(_sfc_main$t, {
1467
1457
  ref_key: "triggerRef",
1468
1458
  ref: triggerRef,
@@ -1502,7 +1492,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
1502
1492
  }, ["stop"])),
1503
1493
  onFocusout: onPanelFocusOut
1504
1494
  }, [
1505
- vue.createElementVNode("div", _hoisted_6$4, [
1495
+ vue.createElementVNode("div", _hoisted_6$3, [
1506
1496
  (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(options, (option) => {
1507
1497
  return vue.createElementVNode("div", {
1508
1498
  key: option.value,
@@ -1761,8 +1751,8 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
1761
1751
  });
1762
1752
  const _hoisted_1$i = ["for"];
1763
1753
  const _hoisted_2$c = { class: "relative" };
1764
- const _hoisted_3$9 = ["id", "name", "type", "disabled", "required", "size", "maxlength", "aria-invalid"];
1765
- const _hoisted_4$8 = {
1754
+ const _hoisted_3$8 = ["id", "name", "type", "disabled", "required", "size", "maxlength", "aria-invalid"];
1755
+ const _hoisted_4$7 = {
1766
1756
  key: 0,
1767
1757
  class: "text-red-600 font-bold mt-1"
1768
1758
  };
@@ -1868,7 +1858,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
1868
1858
  class: inputClasses.value
1869
1859
  }, _ctx.$attrs, {
1870
1860
  onInput: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("input", $event))
1871
- }), null, 16, _hoisted_3$9), [
1861
+ }), null, 16, _hoisted_3$8), [
1872
1862
  [vue.vModelDynamic, internalValue.value]
1873
1863
  ]),
1874
1864
  vue.createElementVNode("div", {
@@ -1899,7 +1889,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
1899
1889
  ])
1900
1890
  ])
1901
1891
  ], 2),
1902
- showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$8, vue.toDisplayString(_ctx.invalidMessage), 1)) : vue.createCommentVNode("", true)
1892
+ showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$7, vue.toDisplayString(_ctx.invalidMessage), 1)) : vue.createCommentVNode("", true)
1903
1893
  ], 64);
1904
1894
  };
1905
1895
  }
@@ -1914,9 +1904,9 @@ const _export_sfc = (sfc, props) => {
1914
1904
  const FdsInput = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-4e9b56d8"]]);
1915
1905
  const _hoisted_1$h = ["id"];
1916
1906
  const _hoisted_2$b = { class: "flex items-start justify-between gap-4" };
1917
- const _hoisted_3$8 = { class: "flex items-center gap-3" };
1918
- const _hoisted_4$7 = { class: "mt-0 mb-4 text-lg font-bold tracking-wide" };
1919
- const _hoisted_5$5 = { class: "flex items-start gap-3" };
1907
+ const _hoisted_3$7 = { class: "flex items-center gap-3" };
1908
+ const _hoisted_4$6 = { class: "mt-0 mb-4 text-lg font-bold tracking-wide" };
1909
+ const _hoisted_5$4 = { class: "flex items-start gap-3" };
1920
1910
  const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
1921
1911
  __name: "FdsBlockContent",
1922
1912
  props: {
@@ -1951,10 +1941,10 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
1951
1941
  style: vue.normalizeStyle(borderLeftStyle.value)
1952
1942
  }, [
1953
1943
  vue.createElementVNode("header", _hoisted_2$b, [
1954
- vue.createElementVNode("div", _hoisted_3$8, [
1955
- vue.createElementVNode("h3", _hoisted_4$7, vue.toDisplayString(_ctx.heading), 1)
1944
+ vue.createElementVNode("div", _hoisted_3$7, [
1945
+ vue.createElementVNode("h3", _hoisted_4$6, vue.toDisplayString(_ctx.heading), 1)
1956
1946
  ]),
1957
- vue.createElementVNode("div", _hoisted_5$5, [
1947
+ vue.createElementVNode("div", _hoisted_5$4, [
1958
1948
  vue.renderSlot(_ctx.$slots, "headerInfo")
1959
1949
  ])
1960
1950
  ]),
@@ -1994,7 +1984,7 @@ const _hoisted_2$a = {
1994
1984
  key: 0,
1995
1985
  class: "text-xl"
1996
1986
  };
1997
- const _hoisted_3$7 = {
1987
+ const _hoisted_3$6 = {
1998
1988
  key: 1,
1999
1989
  class: "text-xl"
2000
1990
  };
@@ -2093,7 +2083,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
2093
2083
  _: 1
2094
2084
  }, 8, ["value", "label"]),
2095
2085
  props.searchCountTemplate || props.searchCountTemplateUnfiltered ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
2096
- props.searchCountTemplate && vue.unref(treeState)?.searchTerm?.value && String(vue.unref(treeState)?.searchTerm?.value || "").trim().length >= (vue.unref(treeState)?.triggerLength ?? 1) ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$a, vue.toDisplayString(props.searchCountTemplate.replace("[[filteredNodes]]", vue.unref(treeState)?.filteredMatchCount.value.toString()).replace("[[totalNodes]]", totalNodeCount.value.toString())), 1)) : (vue.openBlock(), vue.createElementBlock("h2", _hoisted_3$7, vue.toDisplayString(props.searchCountTemplateUnfiltered?.replace("[[totalNodes]]", totalNodeCount.value.toString()).replace("[[totalNodes]]", totalNodeCount.value.toString())), 1))
2086
+ props.searchCountTemplate && vue.unref(treeState)?.searchTerm?.value && String(vue.unref(treeState)?.searchTerm?.value || "").trim().length >= (vue.unref(treeState)?.triggerLength ?? 1) ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$a, vue.toDisplayString(props.searchCountTemplate.replace("[[filteredNodes]]", vue.unref(treeState)?.filteredMatchCount.value.toString()).replace("[[totalNodes]]", totalNodeCount.value.toString())), 1)) : (vue.openBlock(), vue.createElementBlock("h2", _hoisted_3$6, vue.toDisplayString(props.searchCountTemplateUnfiltered?.replace("[[totalNodes]]", totalNodeCount.value.toString()).replace("[[totalNodes]]", totalNodeCount.value.toString())), 1))
2097
2087
  ])) : vue.createCommentVNode("", true)
2098
2088
  ], 512)) : vue.createCommentVNode("", true),
2099
2089
  vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
@@ -2567,13 +2557,13 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
2567
2557
  });
2568
2558
  const _hoisted_1$b = { class: "w-full" };
2569
2559
  const _hoisted_2$8 = ["for"];
2570
- const _hoisted_3$6 = {
2560
+ const _hoisted_3$5 = {
2571
2561
  key: 1,
2572
2562
  class: "font-thin mb-1"
2573
2563
  };
2574
- const _hoisted_4$6 = { class: "relative" };
2575
- const _hoisted_5$4 = ["id", "name", "disabled", "rows", "aria-invalid"];
2576
- const _hoisted_6$3 = {
2564
+ const _hoisted_4$5 = { class: "relative" };
2565
+ const _hoisted_5$3 = ["id", "name", "disabled", "rows", "aria-invalid"];
2566
+ const _hoisted_6$2 = {
2577
2567
  key: 2,
2578
2568
  class: "text-red-600 font-bold mt-1"
2579
2569
  };
@@ -2636,8 +2626,8 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
2636
2626
  for: textareaId.value,
2637
2627
  class: vue.normalizeClass(["block font-bold text-gray-900 cursor-pointer", { "mb-0": _ctx.meta, "mb-1": !_ctx.meta }])
2638
2628
  }, vue.toDisplayString(_ctx.label), 11, _hoisted_2$8)) : vue.createCommentVNode("", true),
2639
- _ctx.meta ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$6, vue.toDisplayString(_ctx.meta), 1)) : vue.createCommentVNode("", true),
2640
- vue.createElementVNode("div", _hoisted_4$6, [
2629
+ _ctx.meta ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, vue.toDisplayString(_ctx.meta), 1)) : vue.createCommentVNode("", true),
2630
+ vue.createElementVNode("div", _hoisted_4$5, [
2641
2631
  vue.withDirectives(vue.createElementVNode("textarea", vue.mergeProps({
2642
2632
  id: textareaId.value,
2643
2633
  name: _ctx.name || void 0,
@@ -2648,7 +2638,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
2648
2638
  class: inputClasses.value
2649
2639
  }, _ctx.$attrs, {
2650
2640
  onInput: _cache[1] || (_cache[1] = (e) => emit("input", e))
2651
- }), null, 16, _hoisted_5$4), [
2641
+ }), null, 16, _hoisted_5$3), [
2652
2642
  [vue.vModelText, internalValue.value]
2653
2643
  ]),
2654
2644
  vue.createElementVNode("div", {
@@ -2665,7 +2655,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
2665
2655
  })) : vue.createCommentVNode("", true)
2666
2656
  ], 2)
2667
2657
  ]),
2668
- showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$3, vue.toDisplayString(_ctx.invalidMessage), 1)) : vue.createCommentVNode("", true)
2658
+ showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, vue.toDisplayString(_ctx.invalidMessage), 1)) : vue.createCommentVNode("", true)
2669
2659
  ]),
2670
2660
  isValid.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, "OK")) : vue.createCommentVNode("", true)
2671
2661
  ], 64);
@@ -2674,13 +2664,13 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
2674
2664
  });
2675
2665
  const _hoisted_1$a = { class: "w-full" };
2676
2666
  const _hoisted_2$7 = ["for"];
2677
- const _hoisted_3$5 = {
2667
+ const _hoisted_3$4 = {
2678
2668
  key: 1,
2679
2669
  class: "font-thin mb-1"
2680
2670
  };
2681
- const _hoisted_4$5 = { class: "relative" };
2682
- const _hoisted_5$3 = ["id", "name", "disabled", "aria-invalid"];
2683
- const _hoisted_6$2 = {
2671
+ const _hoisted_4$4 = { class: "relative" };
2672
+ const _hoisted_5$2 = ["id", "name", "disabled", "aria-invalid"];
2673
+ const _hoisted_6$1 = {
2684
2674
  key: 0,
2685
2675
  value: "",
2686
2676
  disabled: ""
@@ -2747,8 +2737,8 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
2747
2737
  for: selectId.value,
2748
2738
  class: vue.normalizeClass(["block font-bold text-gray-900 cursor-pointer", { "mb-0": _ctx.meta, "mb-1": !_ctx.meta }])
2749
2739
  }, vue.toDisplayString(_ctx.label), 11, _hoisted_2$7)) : vue.createCommentVNode("", true),
2750
- _ctx.meta ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, vue.toDisplayString(_ctx.meta), 1)) : vue.createCommentVNode("", true),
2751
- vue.createElementVNode("div", _hoisted_4$5, [
2740
+ _ctx.meta ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, vue.toDisplayString(_ctx.meta), 1)) : vue.createCommentVNode("", true),
2741
+ vue.createElementVNode("div", _hoisted_4$4, [
2752
2742
  vue.withDirectives(vue.createElementVNode("select", vue.mergeProps({
2753
2743
  id: selectId.value,
2754
2744
  name: _ctx.name || void 0,
@@ -2760,7 +2750,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
2760
2750
  onChange: handleChange,
2761
2751
  onInput: _cache[1] || (_cache[1] = (e) => emit("input", e))
2762
2752
  }), [
2763
- _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("option", _hoisted_6$2, vue.toDisplayString(_ctx.placeholder), 1)) : vue.createCommentVNode("", true),
2753
+ _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock("option", _hoisted_6$1, vue.toDisplayString(_ctx.placeholder), 1)) : vue.createCommentVNode("", true),
2764
2754
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options, (option) => {
2765
2755
  return vue.openBlock(), vue.createElementBlock("option", {
2766
2756
  key: option.value,
@@ -2768,7 +2758,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
2768
2758
  disabled: option.disabled
2769
2759
  }, vue.toDisplayString(option.label), 9, _hoisted_7$1);
2770
2760
  }), 128))
2771
- ], 16, _hoisted_5$3), [
2761
+ ], 16, _hoisted_5$2), [
2772
2762
  [vue.vModelSelect, internalValue.value]
2773
2763
  ]),
2774
2764
  vue.createElementVNode("div", _hoisted_8$1, [
@@ -2860,10 +2850,10 @@ const _hoisted_2$6 = {
2860
2850
  key: 0,
2861
2851
  class: "flex items-start gap-4"
2862
2852
  };
2863
- const _hoisted_3$4 = { class: "flex-1" };
2864
- const _hoisted_4$4 = { class: "mb-1" };
2865
- const _hoisted_5$2 = { class: "flex items-start justify-between gap-4" };
2866
- const _hoisted_6$1 = { class: "m-0 text-base font-main font-bold tracking-wide" };
2853
+ const _hoisted_3$3 = { class: "flex-1" };
2854
+ const _hoisted_4$3 = { class: "mb-1" };
2855
+ const _hoisted_5$1 = { class: "flex items-start justify-between gap-4" };
2856
+ const _hoisted_6 = { class: "m-0 text-base font-main font-bold tracking-wide" };
2867
2857
  const _hoisted_7 = { class: "flex items-start gap-3" };
2868
2858
  const _hoisted_8 = { key: 1 };
2869
2859
  const _hoisted_9 = { class: "mb-4" };
@@ -2901,10 +2891,10 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
2901
2891
  size: largeIconSize,
2902
2892
  class: "fill-blue-500"
2903
2893
  }, null, 8, ["name"]),
2904
- vue.createElementVNode("div", _hoisted_3$4, [
2905
- vue.createElementVNode("div", _hoisted_4$4, [
2906
- vue.createElementVNode("header", _hoisted_5$2, [
2907
- vue.createElementVNode("h3", _hoisted_6$1, vue.toDisplayString(_ctx.heading), 1),
2894
+ vue.createElementVNode("div", _hoisted_3$3, [
2895
+ vue.createElementVNode("div", _hoisted_4$3, [
2896
+ vue.createElementVNode("header", _hoisted_5$1, [
2897
+ vue.createElementVNode("h3", _hoisted_6, vue.toDisplayString(_ctx.heading), 1),
2908
2898
  vue.createElementVNode("div", _hoisted_7, [
2909
2899
  vue.renderSlot(_ctx.$slots, "headerInfo")
2910
2900
  ])
@@ -2937,8 +2927,8 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
2937
2927
  });
2938
2928
  const _hoisted_1$8 = ["id"];
2939
2929
  const _hoisted_2$5 = { class: "flex items-center gap-2" };
2940
- const _hoisted_3$3 = { class: "relative" };
2941
- const _hoisted_4$3 = {
2930
+ const _hoisted_3$2 = { class: "relative" };
2931
+ const _hoisted_4$2 = {
2942
2932
  key: 1,
2943
2933
  class: "alert-content"
2944
2934
  };
@@ -3001,7 +2991,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
3001
2991
  }),
3002
2992
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.label), 1)
3003
2993
  ]),
3004
- vue.createElementVNode("div", _hoisted_3$3, [
2994
+ vue.createElementVNode("div", _hoisted_3$2, [
3005
2995
  _ctx.closeable ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
3006
2996
  key: 0,
3007
2997
  icon: "cross",
@@ -3024,7 +3014,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
3024
3014
  }, null, 8, ["ariaLabel", "class"])) : vue.createCommentVNode("", true)
3025
3015
  ])
3026
3016
  ], 2)) : vue.createCommentVNode("", true),
3027
- isExpanded.value || !_ctx.collapsable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [
3017
+ isExpanded.value || !_ctx.collapsable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
3028
3018
  vue.renderSlot(_ctx.$slots, "default")
3029
3019
  ])) : vue.createCommentVNode("", true)
3030
3020
  ])
@@ -3038,8 +3028,8 @@ const _hoisted_2$4 = {
3038
3028
  key: 0,
3039
3029
  class: "flex items-center mr-4"
3040
3030
  };
3041
- const _hoisted_3$2 = { class: "inline-flex items-center" };
3042
- const _hoisted_4$2 = ["aria-hidden"];
3031
+ const _hoisted_3$1 = { class: "inline-flex items-center" };
3032
+ const _hoisted_4$1 = ["aria-hidden"];
3043
3033
  const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
3044
3034
  __name: "FdsBlockExpander",
3045
3035
  props: {
@@ -3090,7 +3080,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
3090
3080
  class: vue.normalizeClass(["fill-blue-500", { "fill-gray-500": _ctx.disabled }])
3091
3081
  }, null, 8, ["name", "class"])
3092
3082
  ])) : vue.createCommentVNode("", true),
3093
- vue.createElementVNode("span", _hoisted_3$2, [
3083
+ vue.createElementVNode("span", _hoisted_3$1, [
3094
3084
  vue.createElementVNode("span", {
3095
3085
  class: vue.normalizeClass(["font-bold font-heading text-lg", { "text-gray-500": _ctx.disabled }])
3096
3086
  }, vue.toDisplayString(_ctx.label), 3)
@@ -3107,7 +3097,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
3107
3097
  class: "fds-expander__content block px-4 pb-6 rounded-b-2xl bg-white"
3108
3098
  }, [
3109
3099
  vue.renderSlot(_ctx.$slots, "default")
3110
- ], 8, _hoisted_4$2), [
3100
+ ], 8, _hoisted_4$1), [
3111
3101
  [vue.vShow, isOpen.value]
3112
3102
  ])
3113
3103
  ], 2);
@@ -3617,9 +3607,9 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
3617
3607
  const FdsModal = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-8b537fc0"]]);
3618
3608
  const _hoisted_1$3 = ["id"];
3619
3609
  const _hoisted_2$1 = { class: "flex items-center justify-start gap-1 w-[100px]" };
3620
- const _hoisted_3$1 = { class: "flex items-center justify-center w-auto gap-2 order-0 sm:order-0" };
3621
- const _hoisted_4$1 = { class: "whitespace-nowrap" };
3622
- const _hoisted_5$1 = { class: "flex items-center justify-end gap-1 order-2 sm:order-0 w-[100px]" };
3610
+ const _hoisted_3 = { class: "flex items-center justify-center w-auto gap-2 order-0 sm:order-0" };
3611
+ const _hoisted_4 = { class: "whitespace-nowrap" };
3612
+ const _hoisted_5 = { class: "flex items-center justify-end gap-1 order-2 sm:order-0 w-[100px]" };
3623
3613
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3624
3614
  __name: "FdsPagination",
3625
3615
  props: {
@@ -3730,7 +3720,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3730
3720
  onClick: _cache[1] || (_cache[1] = ($event) => handlePagination("prev"))
3731
3721
  }, null, 8, ["disabled", "ariaDisabled", "class"]))
3732
3722
  ]),
3733
- vue.createElementVNode("div", _hoisted_3$1, [
3723
+ vue.createElementVNode("div", _hoisted_3, [
3734
3724
  _ctx.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
3735
3725
  key: 0,
3736
3726
  size: "24px",
@@ -3746,10 +3736,10 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3746
3736
  onInput: vue.unref(handlePageChange),
3747
3737
  class: "mb-0! text-center"
3748
3738
  }, null, 8, ["value", "size", "maxlength", "onInput"]),
3749
- vue.createElementVNode("div", _hoisted_4$1, "/ " + vue.toDisplayString(_ctx.max), 1)
3739
+ vue.createElementVNode("div", _hoisted_4, "/ " + vue.toDisplayString(_ctx.max), 1)
3750
3740
  ], 64))
3751
3741
  ]),
3752
- vue.createElementVNode("div", _hoisted_5$1, [
3742
+ vue.createElementVNode("div", _hoisted_5, [
3753
3743
  _ctx.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
3754
3744
  key: 0,
3755
3745
  size: "24px",
@@ -3918,13 +3908,6 @@ const FdsSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_r
3918
3908
  const _hoisted_1 = { class: "inline-block mb-3 h-7 font-bold text-xl" };
3919
3909
  const _hoisted_2 = {
3920
3910
  key: 1,
3921
- class: "heading"
3922
- };
3923
- const _hoisted_3 = { key: 0 };
3924
- const _hoisted_4 = { key: 1 };
3925
- const _hoisted_5 = { key: 2 };
3926
- const _hoisted_6 = {
3927
- key: 2,
3928
3911
  class: "heading font-heading text-xl m-0"
3929
3912
  };
3930
3913
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
@@ -3939,10 +3922,18 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3939
3922
  },
3940
3923
  setup(__props) {
3941
3924
  const props = __props;
3942
- const isEmpty = vue.computed(() => !props.total || !props.unfiltered);
3943
3925
  const separatorText = () => props.language === "sv" ? "av" : "of";
3944
3926
  const headingText = vue.computed(() => {
3945
- if (!props.total) return "";
3927
+ if (!props.total) {
3928
+ let result = "0";
3929
+ if (props.unfiltered) {
3930
+ result += ` ${separatorText()} ${props.unfiltered}`;
3931
+ }
3932
+ if (props.text) {
3933
+ result += ` ${props.text}`;
3934
+ }
3935
+ return result;
3936
+ }
3946
3937
  if (!props.text) return String(props.total);
3947
3938
  if (props.unfiltered && props.total !== props.unfiltered) {
3948
3939
  return `${props.total} ${separatorText()} ${props.unfiltered} ${props.text}`;
@@ -3963,10 +3954,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3963
3954
  color: "blue",
3964
3955
  label: handleLoadingText(),
3965
3956
  "label-position": "right"
3966
- }, null, 8, ["label"])) : isEmpty.value ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2, [
3967
- _ctx.total ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3, vue.toDisplayString(_ctx.total), 1)) : vue.createCommentVNode("", true),
3968
- _ctx.text && _ctx.total ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4, vue.toDisplayString(_ctx.text), 1)) : _ctx.text ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5, vue.toDisplayString(_ctx.text), 1)) : vue.createCommentVNode("", true)
3969
- ])) : (vue.openBlock(), vue.createElementBlock("h3", _hoisted_6, vue.toDisplayString(headingText.value), 1))
3957
+ }, null, 8, ["label"])) : (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2, vue.toDisplayString(headingText.value), 1))
3970
3958
  ]);
3971
3959
  };
3972
3960
  }