fds-vue-core 2.3.0 → 2.3.2
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/fds-vue-core.cjs.js +43 -35
- package/dist/fds-vue-core.cjs.js.map +1 -1
- package/dist/fds-vue-core.css +1 -1
- package/dist/fds-vue-core.es.js +43 -35
- package/dist/fds-vue-core.es.js.map +1 -1
- package/package.json +1 -1
- package/src/assets/icons.ts +2 -4
- package/src/components/Blocks/FdsBlockAlert/FdsBlockAlert.vue +1 -1
- package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.vue +3 -3
- package/src/components/Blocks/FdsBlockInfo/FdsBlockInfo.vue +1 -1
- package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue +3 -2
- package/src/components/FdsIcon/FdsIcon.vue +2 -2
- package/src/components/FdsSearchSelect/FdsSearchSelect.vue +12 -20
- package/src/components/Form/FdsInput/FdsInput.vue +3 -0
- package/src/components/Form/FdsInput/types.ts +1 -0
- package/src/.DS_Store +0 -0
package/dist/fds-vue-core.cjs.js
CHANGED
|
@@ -247,10 +247,8 @@ const icons = {
|
|
|
247
247
|
</g>
|
|
248
248
|
</svg>`,
|
|
249
249
|
edit: () => `
|
|
250
|
-
<svg
|
|
251
|
-
<
|
|
252
|
-
<path d="M2.626 21.997c-.167 0-.323-.065-.441-.182-.181-.18-.235-.449-.136-.684l2.55-6.105L4.61 15c.01-.024.03-.06.056-.096l.026-.034c.014-.018.026-.032.04-.045l8.815-8.81c.007-.01.015-.019.022-.026l.037-.033 2.529-2.529c-.248-.116-.518-.176-.798-.176-.501 0-.97.193-1.323.545L11.36 6.45c-.118.118-.275.183-.441.183-.168 0-.325-.065-.443-.184-.243-.243-.243-.64.001-.884l2.655-2.652C13.719 2.324 14.503 2 15.34 2c.632 0 1.25.192 1.767.546.525-.35 1.149-.54 1.782-.54.634 0 1.25.186 1.78.539.69.49 1.143 1.212 1.284 2.036.14.824-.048 1.652-.531 2.332-.1.142-.214.275-.336.398L9.153 19.244c-.01.01-.024.021-.037.031-.052.045-.104.079-.162.103l-6.084 2.57c-.079.033-.16.049-.244.049zm1.167-1.796l3.82-1.614-2.22-2.219-1.6 3.833zm4.918-2.283l7.955-7.955-2.65-2.65-7.956 7.953 2.651 2.652zM17.55 9.08l2.652-2.652c.073-.074.14-.154.2-.238.6-.843.401-2.016-.442-2.615-.313-.208-.685-.32-1.07-.32-.535 0-1.054.222-1.425.61L14.9 6.429l2.65 2.65z" transform="translate(-257 -3428) translate(257 3428)"/>
|
|
253
|
-
</g>
|
|
250
|
+
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
251
|
+
<path fill-rule="evenodd" d="M0.687694 22C0.506145 22 0.329181 21.9267 0.200813 21.7983C0.0302677 21.6278 -0.0385007 21.3757 0.0210986 21.142L1.64495 14.8121C1.65045 14.792 1.66329 14.7562 1.67246 14.7379C1.67337 14.7342 1.67979 14.7168 1.68804 14.6994C1.7238 14.6224 1.76598 14.5591 1.81733 14.5059C1.81916 14.5023 15.1428 1.18163 15.1428 1.18163C15.902 0.419851 16.9143 0 17.9926 0C19.0654 0 20.074 0.415267 20.8313 1.17063C20.8341 1.17338 20.8442 1.18438 20.8469 1.18622C22.4048 2.77945 22.3809 5.33706 20.7947 6.8872C20.7947 6.8872 7.50769 20.1712 7.50585 20.173C7.44534 20.2326 7.37657 20.2784 7.29405 20.3151C7.28854 20.3169 7.27662 20.3224 7.27112 20.3243C7.24912 20.3353 7.21978 20.3463 7.18952 20.3536L0.858239 21.9771C0.802308 21.9927 0.744542 22 0.687694 22ZM1.6422 20.3573L5.68578 19.3205L2.67831 16.3201L1.6422 20.3573ZM7.02264 18.7127L17.0417 8.69678L13.3072 4.96304L3.28531 14.9826L7.02264 18.7127ZM18.0137 7.72416L18.9608 6.7772L15.2263 3.04346L14.2791 3.99042L18.0137 7.72416ZM19.9318 5.80274C20.8763 4.77145 20.8616 3.16905 19.8759 2.16067C19.8732 2.15792 19.8631 2.14784 19.8603 2.14509C19.3615 1.64824 18.6977 1.37506 17.9917 1.37506C17.3205 1.37506 16.6887 1.62165 16.1991 2.07175L19.9318 5.80274Z" />
|
|
254
252
|
</svg>`,
|
|
255
253
|
email: () => `
|
|
256
254
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
|
@@ -580,7 +578,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
580
578
|
});
|
|
581
579
|
return (_ctx, _cache) => {
|
|
582
580
|
return vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
|
|
583
|
-
class: "
|
|
581
|
+
class: "flex items-center justify-center align-middle",
|
|
584
582
|
style: { width: pixelSize.value, height: pixelSize.value }
|
|
585
583
|
}, rootAttrs.value, { innerHTML: svgHtml.value }), null, 16, _hoisted_1$p);
|
|
586
584
|
};
|
|
@@ -708,7 +706,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
708
706
|
vue.createElementVNode("div", null, [
|
|
709
707
|
__props.label ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
710
708
|
key: 0,
|
|
711
|
-
class: vue.normalizeClass(["font-bold w-full justify-between items-start flex gap-2", { "mb-
|
|
709
|
+
class: vue.normalizeClass(["font-bold w-full justify-between items-start flex gap-2", { "mb-2": (isExpanded.value || !__props.collapsable) && vue.unref(hasSlot) }])
|
|
712
710
|
}, [
|
|
713
711
|
vue.createElementVNode("div", _hoisted_1$o, [
|
|
714
712
|
vue.createElementVNode("div", _hoisted_2$j, [
|
|
@@ -867,18 +865,17 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
867
865
|
};
|
|
868
866
|
}
|
|
869
867
|
});
|
|
870
|
-
const _hoisted_1$m = { class: "w-full flex justify-between
|
|
871
|
-
const _hoisted_2$h = {
|
|
872
|
-
const _hoisted_3$a = {
|
|
868
|
+
const _hoisted_1$m = { class: "leading-6 w-full flex justify-between gap-4" };
|
|
869
|
+
const _hoisted_2$h = {
|
|
873
870
|
key: 0,
|
|
874
871
|
class: "flex items-center mr-4"
|
|
875
872
|
};
|
|
876
|
-
const
|
|
877
|
-
const
|
|
873
|
+
const _hoisted_3$a = { class: "inline-flex items-center" };
|
|
874
|
+
const _hoisted_4$9 = {
|
|
878
875
|
key: 0,
|
|
879
876
|
class: "w-full flex mt-2"
|
|
880
877
|
};
|
|
881
|
-
const
|
|
878
|
+
const _hoisted_5$8 = ["aria-hidden"];
|
|
882
879
|
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
883
880
|
...{
|
|
884
881
|
inheritAttrs: false
|
|
@@ -951,20 +948,22 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
951
948
|
class: vue.normalizeClass(buttonRowClasses.value)
|
|
952
949
|
}, [
|
|
953
950
|
vue.createElementVNode("span", _hoisted_1$m, [
|
|
954
|
-
vue.createElementVNode("span",
|
|
955
|
-
|
|
951
|
+
vue.createElementVNode("span", {
|
|
952
|
+
class: vue.normalizeClass({ "inline-flex items-start": __props.preIcon })
|
|
953
|
+
}, [
|
|
954
|
+
__props.preIcon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$h, [
|
|
956
955
|
vue.createVNode(_sfc_main$y, {
|
|
957
956
|
name: __props.preIcon,
|
|
958
957
|
size: 24,
|
|
959
958
|
class: vue.normalizeClass(["fill-blue-500", { "fill-gray-500": __props.disabled }])
|
|
960
959
|
}, null, 8, ["name", "class"])
|
|
961
960
|
])) : vue.createCommentVNode("", true),
|
|
962
|
-
vue.createElementVNode("span",
|
|
961
|
+
vue.createElementVNode("span", _hoisted_3$a, [
|
|
963
962
|
vue.createElementVNode("span", {
|
|
964
963
|
class: vue.normalizeClass(["font-bold font-heading text-lg leading-md", { "text-gray-700": __props.disabled }])
|
|
965
964
|
}, vue.toDisplayString(__props.label), 3)
|
|
966
965
|
])
|
|
967
|
-
]),
|
|
966
|
+
], 2),
|
|
968
967
|
vue.createElementVNode("span", null, [
|
|
969
968
|
__props.stickerText && __props.stickerColor ? (vue.openBlock(), vue.createBlock(_sfc_main$u, {
|
|
970
969
|
key: 0,
|
|
@@ -978,12 +977,12 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
978
977
|
vue.createVNode(_sfc_main$y, {
|
|
979
978
|
name: "arrowDown",
|
|
980
979
|
size: 24,
|
|
981
|
-
class: vue.normalizeClass(["
|
|
980
|
+
class: vue.normalizeClass(["transition-transform duration-200 fill-blue-500 min-w-6 min-h-6", { "rotate-180": isOpen.value, "fill-gray-500": __props.disabled }])
|
|
982
981
|
}, null, 8, ["class"])
|
|
983
982
|
])
|
|
984
983
|
])
|
|
985
984
|
], 2),
|
|
986
|
-
vue.unref(hasExtraRowSlot) && !isOpen.value ? (vue.openBlock(), vue.createElementBlock("span",
|
|
985
|
+
vue.unref(hasExtraRowSlot) && !isOpen.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$9, [
|
|
987
986
|
vue.renderSlot(_ctx.$slots, "extra-row")
|
|
988
987
|
])) : vue.createCommentVNode("", true)
|
|
989
988
|
], 16),
|
|
@@ -992,7 +991,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
992
991
|
class: "mb-0-last-child block px-4 pb-6 rounded-b-2xl bg-white"
|
|
993
992
|
}, [
|
|
994
993
|
vue.renderSlot(_ctx.$slots, "default")
|
|
995
|
-
], 8,
|
|
994
|
+
], 8, _hoisted_5$8), [
|
|
996
995
|
[vue.vShow, isOpen.value]
|
|
997
996
|
])
|
|
998
997
|
], 16);
|
|
@@ -1078,7 +1077,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
1078
1077
|
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$3, [
|
|
1079
1078
|
__props.heading ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1080
1079
|
key: 0,
|
|
1081
|
-
class: vue.normalizeClass({ "mb-
|
|
1080
|
+
class: vue.normalizeClass({ "mb-2": vue.unref(hasSlot) })
|
|
1082
1081
|
}, [
|
|
1083
1082
|
vue.createElementVNode("header", _hoisted_10$2, [
|
|
1084
1083
|
vue.createElementVNode("div", _hoisted_11$2, [
|
|
@@ -4354,7 +4353,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
4354
4353
|
const _hoisted_1$e = ["aria-disabled"];
|
|
4355
4354
|
const _hoisted_2$c = { key: 2 };
|
|
4356
4355
|
const elBase = "box-border appearance-none inline-flex items-center justify-center select-none w-full min-h-0 min-w-12 m-0 rounded-lg text-center align-middle whitespace-nowrap no-underline shadow-[0_2px_4px_rgba(12,72,153,0.12)] transition-[box-shadow,border-color,background-color] duration-200 font-main font-bold text-base leading-5 tracking-normal focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-blue-500";
|
|
4357
|
-
const variantClasses = "bg-white border-2 border-blue-500 text-blue-600 hover:border-blue-600 active:bg-
|
|
4356
|
+
const variantClasses = "bg-white border-2 border-blue-500 text-blue-600 hover:bg-blue_t-100 hover:border-blue-500 hover:text-blue-600 active:bg-blue_t-200 active:border-blue-500 active:text-blue-600";
|
|
4358
4357
|
const iconFillClass = "fill-blue-500";
|
|
4359
4358
|
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
4360
4359
|
...{
|
|
@@ -4400,7 +4399,8 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
4400
4399
|
blockElClasses.value,
|
|
4401
4400
|
props.textSelection && "select-text",
|
|
4402
4401
|
(props.icon || props.text) && "gap-2",
|
|
4403
|
-
|
|
4402
|
+
props.loading && "bg-blue_t-200!",
|
|
4403
|
+
disabled.value ? "cursor-not-allowed" : "cursor-pointer"
|
|
4404
4404
|
]);
|
|
4405
4405
|
const onClick = (ev) => {
|
|
4406
4406
|
if (disabled.value || props.loading) {
|
|
@@ -8616,7 +8616,7 @@ try {
|
|
|
8616
8616
|
}
|
|
8617
8617
|
const _hoisted_1$b = ["for"];
|
|
8618
8618
|
const _hoisted_2$9 = { class: "relative" };
|
|
8619
|
-
const _hoisted_3$7 = ["type", "required", "value", "disabled", "tabindex", "aria-invalid", "aria-label", "autocomplete", "pattern"];
|
|
8619
|
+
const _hoisted_3$7 = ["type", "required", "value", "disabled", "tabindex", "aria-invalid", "aria-label", "autocomplete", "pattern", "searchIcon"];
|
|
8620
8620
|
const _hoisted_4$6 = {
|
|
8621
8621
|
key: 0,
|
|
8622
8622
|
class: "text-red-600 font-bold mt-1"
|
|
@@ -8650,6 +8650,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
8650
8650
|
readonly: { type: Boolean },
|
|
8651
8651
|
ariaLabel: { default: void 0 },
|
|
8652
8652
|
pattern: { default: void 0 },
|
|
8653
|
+
searchIcon: { type: Boolean },
|
|
8653
8654
|
onClearInput: {},
|
|
8654
8655
|
maskOptions: { default: void 0 },
|
|
8655
8656
|
modelModifiers: { default: () => ({}) },
|
|
@@ -8717,6 +8718,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
8717
8718
|
let count = 0;
|
|
8718
8719
|
if (showValidationIcon.value) count++;
|
|
8719
8720
|
if (showClearButton.value) count++;
|
|
8721
|
+
if (props.searchIcon) count++;
|
|
8720
8722
|
if (showPasswordToggle.value) count += 3;
|
|
8721
8723
|
return count;
|
|
8722
8724
|
});
|
|
@@ -8879,7 +8881,8 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
8879
8881
|
style: inputStyle.value,
|
|
8880
8882
|
"aria-label": props.ariaLabel,
|
|
8881
8883
|
autocomplete: props.autocomplete,
|
|
8882
|
-
pattern: props.pattern
|
|
8884
|
+
pattern: props.pattern,
|
|
8885
|
+
searchIcon: props.searchIcon
|
|
8883
8886
|
}, inputAttrs.value, {
|
|
8884
8887
|
onInput: handleInputChange,
|
|
8885
8888
|
onChange: handleInputChange,
|
|
@@ -8901,12 +8904,18 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
8901
8904
|
key: 1,
|
|
8902
8905
|
name: "bigSuccess"
|
|
8903
8906
|
})) : vue.createCommentVNode("", true),
|
|
8904
|
-
|
|
8907
|
+
props.searchIcon ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
|
|
8905
8908
|
key: 2,
|
|
8909
|
+
name: "search",
|
|
8910
|
+
size: 24,
|
|
8911
|
+
class: "fill-blue-500"
|
|
8912
|
+
})) : vue.createCommentVNode("", true),
|
|
8913
|
+
showClearButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$x, vue.mergeProps({
|
|
8914
|
+
key: 3,
|
|
8906
8915
|
icon: "cross"
|
|
8907
8916
|
}, { "aria-label": clearButtonLabel.value }, { onClick: onClear }), null, 16)) : vue.createCommentVNode("", true),
|
|
8908
8917
|
showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
|
|
8909
|
-
key:
|
|
8918
|
+
key: 4,
|
|
8910
8919
|
icon: showPassword.value ? "viewOff" : "viewOn",
|
|
8911
8920
|
text: showPassword.value ? passwordButtonHideLabel.value : passwordButtonShowLabel.value,
|
|
8912
8921
|
onClick: toggleShowPassword
|
|
@@ -9240,7 +9249,9 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
9240
9249
|
};
|
|
9241
9250
|
const uncheckAllRadios = () => {
|
|
9242
9251
|
if (!dropdownRef.value) return;
|
|
9243
|
-
const checkedRadio = dropdownRef.value.querySelector(
|
|
9252
|
+
const checkedRadio = dropdownRef.value.querySelector(
|
|
9253
|
+
'input[name="search-select-radio-group"]:checked'
|
|
9254
|
+
);
|
|
9244
9255
|
if (checkedRadio) {
|
|
9245
9256
|
checkedRadio.checked = false;
|
|
9246
9257
|
}
|
|
@@ -9529,7 +9540,9 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
9529
9540
|
});
|
|
9530
9541
|
const activeDescendantId = vue.computed(() => {
|
|
9531
9542
|
if (!dropdownVisible.value || !dropdownRef.value) return null;
|
|
9532
|
-
const checkedRadio = dropdownRef.value.querySelector(
|
|
9543
|
+
const checkedRadio = dropdownRef.value.querySelector(
|
|
9544
|
+
'input[name="search-select-radio-group"]:checked'
|
|
9545
|
+
);
|
|
9533
9546
|
return checkedRadio?.id || null;
|
|
9534
9547
|
});
|
|
9535
9548
|
const inputAriaAttrs = vue.computed(() => {
|
|
@@ -9574,15 +9587,10 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
9574
9587
|
mask: pidMask.value,
|
|
9575
9588
|
maskOptions: { lazy: true }
|
|
9576
9589
|
}, inputAriaAttrs.value, {
|
|
9590
|
+
searchIcon: !__props.disabled && !hasInputValue.value,
|
|
9577
9591
|
onInput: handleInput,
|
|
9578
9592
|
onClearInput: handleClear
|
|
9579
|
-
}), null, 16, ["label", "meta", "labelLeft", "valid", "invalidMessage", "disabled", "locale", "value", "clearButton", "mask"])
|
|
9580
|
-
!__props.disabled && !hasInputValue.value ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
|
|
9581
|
-
key: 0,
|
|
9582
|
-
name: "search",
|
|
9583
|
-
size: 24,
|
|
9584
|
-
class: "absolute right-3 bottom-6 translate-y-1/2 fill-blue-500"
|
|
9585
|
-
})) : vue.createCommentVNode("", true)
|
|
9593
|
+
}), null, 16, ["label", "meta", "labelLeft", "valid", "invalidMessage", "disabled", "locale", "value", "clearButton", "mask", "searchIcon"])
|
|
9586
9594
|
])
|
|
9587
9595
|
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
|
|
9588
9596
|
vue.createElementVNode("div", _hoisted_5$4, vue.toDisplayString(__props.singleItemLabel), 1),
|