fds-vue-core 2.3.1 → 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 +28 -21
- 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 +28 -21
- 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/FdsBlockInfo/FdsBlockInfo.vue +1 -1
- package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue +3 -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/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">
|
|
@@ -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, [
|
|
@@ -1079,7 +1077,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
1079
1077
|
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$3, [
|
|
1080
1078
|
__props.heading ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1081
1079
|
key: 0,
|
|
1082
|
-
class: vue.normalizeClass({ "mb-
|
|
1080
|
+
class: vue.normalizeClass({ "mb-2": vue.unref(hasSlot) })
|
|
1083
1081
|
}, [
|
|
1084
1082
|
vue.createElementVNode("header", _hoisted_10$2, [
|
|
1085
1083
|
vue.createElementVNode("div", _hoisted_11$2, [
|
|
@@ -4355,7 +4353,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
4355
4353
|
const _hoisted_1$e = ["aria-disabled"];
|
|
4356
4354
|
const _hoisted_2$c = { key: 2 };
|
|
4357
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";
|
|
4358
|
-
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";
|
|
4359
4357
|
const iconFillClass = "fill-blue-500";
|
|
4360
4358
|
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
4361
4359
|
...{
|
|
@@ -4401,7 +4399,8 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
4401
4399
|
blockElClasses.value,
|
|
4402
4400
|
props.textSelection && "select-text",
|
|
4403
4401
|
(props.icon || props.text) && "gap-2",
|
|
4404
|
-
|
|
4402
|
+
props.loading && "bg-blue_t-200!",
|
|
4403
|
+
disabled.value ? "cursor-not-allowed" : "cursor-pointer"
|
|
4405
4404
|
]);
|
|
4406
4405
|
const onClick = (ev) => {
|
|
4407
4406
|
if (disabled.value || props.loading) {
|
|
@@ -8617,7 +8616,7 @@ try {
|
|
|
8617
8616
|
}
|
|
8618
8617
|
const _hoisted_1$b = ["for"];
|
|
8619
8618
|
const _hoisted_2$9 = { class: "relative" };
|
|
8620
|
-
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"];
|
|
8621
8620
|
const _hoisted_4$6 = {
|
|
8622
8621
|
key: 0,
|
|
8623
8622
|
class: "text-red-600 font-bold mt-1"
|
|
@@ -8651,6 +8650,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
8651
8650
|
readonly: { type: Boolean },
|
|
8652
8651
|
ariaLabel: { default: void 0 },
|
|
8653
8652
|
pattern: { default: void 0 },
|
|
8653
|
+
searchIcon: { type: Boolean },
|
|
8654
8654
|
onClearInput: {},
|
|
8655
8655
|
maskOptions: { default: void 0 },
|
|
8656
8656
|
modelModifiers: { default: () => ({}) },
|
|
@@ -8718,6 +8718,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
8718
8718
|
let count = 0;
|
|
8719
8719
|
if (showValidationIcon.value) count++;
|
|
8720
8720
|
if (showClearButton.value) count++;
|
|
8721
|
+
if (props.searchIcon) count++;
|
|
8721
8722
|
if (showPasswordToggle.value) count += 3;
|
|
8722
8723
|
return count;
|
|
8723
8724
|
});
|
|
@@ -8880,7 +8881,8 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
8880
8881
|
style: inputStyle.value,
|
|
8881
8882
|
"aria-label": props.ariaLabel,
|
|
8882
8883
|
autocomplete: props.autocomplete,
|
|
8883
|
-
pattern: props.pattern
|
|
8884
|
+
pattern: props.pattern,
|
|
8885
|
+
searchIcon: props.searchIcon
|
|
8884
8886
|
}, inputAttrs.value, {
|
|
8885
8887
|
onInput: handleInputChange,
|
|
8886
8888
|
onChange: handleInputChange,
|
|
@@ -8902,12 +8904,18 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
8902
8904
|
key: 1,
|
|
8903
8905
|
name: "bigSuccess"
|
|
8904
8906
|
})) : vue.createCommentVNode("", true),
|
|
8905
|
-
|
|
8907
|
+
props.searchIcon ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
|
|
8906
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,
|
|
8907
8915
|
icon: "cross"
|
|
8908
8916
|
}, { "aria-label": clearButtonLabel.value }, { onClick: onClear }), null, 16)) : vue.createCommentVNode("", true),
|
|
8909
8917
|
showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
|
|
8910
|
-
key:
|
|
8918
|
+
key: 4,
|
|
8911
8919
|
icon: showPassword.value ? "viewOff" : "viewOn",
|
|
8912
8920
|
text: showPassword.value ? passwordButtonHideLabel.value : passwordButtonShowLabel.value,
|
|
8913
8921
|
onClick: toggleShowPassword
|
|
@@ -9241,7 +9249,9 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
9241
9249
|
};
|
|
9242
9250
|
const uncheckAllRadios = () => {
|
|
9243
9251
|
if (!dropdownRef.value) return;
|
|
9244
|
-
const checkedRadio = dropdownRef.value.querySelector(
|
|
9252
|
+
const checkedRadio = dropdownRef.value.querySelector(
|
|
9253
|
+
'input[name="search-select-radio-group"]:checked'
|
|
9254
|
+
);
|
|
9245
9255
|
if (checkedRadio) {
|
|
9246
9256
|
checkedRadio.checked = false;
|
|
9247
9257
|
}
|
|
@@ -9530,7 +9540,9 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
9530
9540
|
});
|
|
9531
9541
|
const activeDescendantId = vue.computed(() => {
|
|
9532
9542
|
if (!dropdownVisible.value || !dropdownRef.value) return null;
|
|
9533
|
-
const checkedRadio = dropdownRef.value.querySelector(
|
|
9543
|
+
const checkedRadio = dropdownRef.value.querySelector(
|
|
9544
|
+
'input[name="search-select-radio-group"]:checked'
|
|
9545
|
+
);
|
|
9534
9546
|
return checkedRadio?.id || null;
|
|
9535
9547
|
});
|
|
9536
9548
|
const inputAriaAttrs = vue.computed(() => {
|
|
@@ -9575,15 +9587,10 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
9575
9587
|
mask: pidMask.value,
|
|
9576
9588
|
maskOptions: { lazy: true }
|
|
9577
9589
|
}, inputAriaAttrs.value, {
|
|
9590
|
+
searchIcon: !__props.disabled && !hasInputValue.value,
|
|
9578
9591
|
onInput: handleInput,
|
|
9579
9592
|
onClearInput: handleClear
|
|
9580
|
-
}), null, 16, ["label", "meta", "labelLeft", "valid", "invalidMessage", "disabled", "locale", "value", "clearButton", "mask"])
|
|
9581
|
-
!__props.disabled && !hasInputValue.value ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
|
|
9582
|
-
key: 0,
|
|
9583
|
-
name: "search",
|
|
9584
|
-
size: 24,
|
|
9585
|
-
class: "absolute right-3 bottom-6 translate-y-1/2 fill-blue-500"
|
|
9586
|
-
})) : vue.createCommentVNode("", true)
|
|
9593
|
+
}), null, 16, ["label", "meta", "labelLeft", "valid", "invalidMessage", "disabled", "locale", "value", "clearButton", "mask", "searchIcon"])
|
|
9587
9594
|
])
|
|
9588
9595
|
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
|
|
9589
9596
|
vue.createElementVNode("div", _hoisted_5$4, vue.toDisplayString(__props.singleItemLabel), 1),
|