fds-vue-core 2.1.4 → 2.1.6
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/components.d.ts +8 -0
- package/configs/tsconfig.base.json +2 -1
- package/dist/fds-vue-core.cjs.js +35 -15
- package/dist/fds-vue-core.cjs.js.map +1 -1
- package/dist/fds-vue-core.es.js +35 -15
- package/dist/fds-vue-core.es.js.map +1 -1
- package/dist/global-components.d.ts +35 -33
- package/package.json +23 -21
- package/src/.DS_Store +0 -0
- package/src/App.vue +133 -0
- package/src/apply.css +60 -0
- package/src/assets/icons.ts +517 -0
- package/src/components/Blocks/FdsBlockAlert/FdsBlockAlert.stories.ts +94 -0
- package/src/components/Blocks/FdsBlockAlert/FdsBlockAlert.vue +112 -0
- package/src/components/Blocks/FdsBlockAlert/types.ts +12 -0
- package/src/components/Blocks/FdsBlockContent/FdsBlockContent.stories.ts +110 -0
- package/src/components/Blocks/FdsBlockContent/FdsBlockContent.vue +66 -0
- package/src/components/Blocks/FdsBlockContent/types.ts +6 -0
- package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.stories.ts +123 -0
- package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.vue +87 -0
- package/src/components/Blocks/FdsBlockExpander/types.ts +8 -0
- package/src/components/Blocks/FdsBlockInfo/FdsBlockInfo.stories.ts +110 -0
- package/src/components/Blocks/FdsBlockInfo/FdsBlockInfo.vue +75 -0
- package/src/components/Blocks/FdsBlockInfo/types.ts +9 -0
- package/src/components/Blocks/FdsBlockLink/FdsBlockLink.css +9 -0
- package/src/components/Blocks/FdsBlockLink/FdsBlockLink.stories.ts +179 -0
- package/src/components/Blocks/FdsBlockLink/FdsBlockLink.vue +149 -0
- package/src/components/Blocks/FdsBlockLink/types.ts +14 -0
- package/src/components/Buttons/ButtonBaseProps.ts +18 -0
- package/src/components/Buttons/FdsButtonCopy/FdsButtonCopy.stories.ts +53 -0
- package/src/components/Buttons/FdsButtonCopy/FdsButtonCopy.vue +87 -0
- package/src/components/Buttons/FdsButtonCopy/types.ts +8 -0
- package/src/components/Buttons/FdsButtonDownload/FdsButtonDownload.stories.ts +111 -0
- package/src/components/Buttons/FdsButtonDownload/FdsButtonDownload.vue +187 -0
- package/src/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.ts +55 -0
- package/src/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue +57 -0
- package/src/components/Buttons/FdsButtonIcon/types.ts +12 -0
- package/src/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.ts +68 -0
- package/src/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue +126 -0
- package/src/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.ts +86 -0
- package/src/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue +107 -0
- package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.ts +68 -0
- package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue +107 -0
- package/src/components/FdsIcon/FdsIcon.stories.ts +69 -0
- package/src/components/FdsIcon/FdsIcon.vue +34 -0
- package/src/components/FdsIcon/types.ts +9 -0
- package/src/components/FdsModal/FdsModal.stories.ts +241 -0
- package/src/components/FdsModal/FdsModal.vue +269 -0
- package/src/components/FdsModal/types.ts +12 -0
- package/src/components/FdsPagination/FdsPagination.stories.ts +109 -0
- package/src/components/FdsPagination/FdsPagination.vue +193 -0
- package/src/components/FdsPagination/types.ts +6 -0
- package/src/components/FdsSearchSelect/FdsSearchSelect.stories.ts +428 -0
- package/src/components/FdsSearchSelect/FdsSearchSelect.vue +621 -0
- package/src/components/FdsSearchSelect/types.ts +25 -0
- package/src/components/FdsSpinner/FdsSpinner.stories.ts +31 -0
- package/src/components/FdsSpinner/FdsSpinner.vue +90 -0
- package/src/components/FdsSpinner/types.ts +6 -0
- package/src/components/FdsSticker/FdsSticker.stories.ts +148 -0
- package/src/components/FdsSticker/FdsSticker.vue +44 -0
- package/src/components/FdsSticker/types.ts +4 -0
- package/src/components/FdsTreeView/FdsTreeView.stories.ts +136 -0
- package/src/components/FdsTreeView/FdsTreeView.vue +162 -0
- package/src/components/FdsTreeView/TreeNode.vue +383 -0
- package/src/components/FdsTreeView/types.ts +141 -0
- package/src/components/FdsTreeView/useTreeState.ts +607 -0
- package/src/components/FdsTreeView/utils.ts +69 -0
- package/src/components/FdsTruncatedText/FdsTruncatedText.stories.ts +78 -0
- package/src/components/FdsTruncatedText/FdsTruncatedText.vue +85 -0
- package/src/components/FdsTruncatedText/types.ts +6 -0
- package/src/components/Form/FdsCheckbox/FdsCheckbox.stories.ts +275 -0
- package/src/components/Form/FdsCheckbox/FdsCheckbox.vue +155 -0
- package/src/components/Form/FdsCheckbox/types.ts +10 -0
- package/src/components/Form/FdsInput/FdsInput.stories.ts +319 -0
- package/src/components/Form/FdsInput/FdsInput.vue +233 -0
- package/src/components/Form/FdsInput/types.ts +25 -0
- package/src/components/Form/FdsRadio/FdsRadio.stories.ts +63 -0
- package/src/components/Form/FdsRadio/FdsRadio.vue +88 -0
- package/src/components/Form/FdsRadio/types.ts +12 -0
- package/src/components/Form/FdsSelect/FdsSelect.stories.ts +78 -0
- package/src/components/Form/FdsSelect/FdsSelect.vue +136 -0
- package/src/components/Form/FdsSelect/types.ts +13 -0
- package/src/components/Form/FdsTextarea/FdsTextarea.stories.ts +52 -0
- package/src/components/Form/FdsTextarea/FdsTextarea.vue +110 -0
- package/src/components/Form/FdsTextarea/types.ts +12 -0
- package/src/components/Table/FdsTable/FdsTable.stories.ts +221 -0
- package/src/components/Table/FdsTable/FdsTable.vue +25 -0
- package/src/components/Table/FdsTable/types.ts +4 -0
- package/src/components/Table/FdsTableHead/FdsTableHead.stories.ts +151 -0
- package/src/components/Table/FdsTableHead/FdsTableHead.vue +54 -0
- package/src/components/Table/FdsTableHead/types.ts +5 -0
- package/src/components/Tabs/FdsTabs/FdsTabs.stories.ts +247 -0
- package/src/components/Tabs/FdsTabs/FdsTabs.vue +27 -0
- package/src/components/Tabs/FdsTabs/types.ts +4 -0
- package/src/components/Tabs/FdsTabsItem/FdsTabsItem.vue +125 -0
- package/src/components/Tabs/FdsTabsItem/types.ts +16 -0
- package/src/components/Typography/FdsHeading/FdsHeading.stories.ts +93 -0
- package/src/components/Typography/FdsHeading/FdsHeading.vue +51 -0
- package/src/components/Typography/FdsHeading/types.ts +5 -0
- package/src/components/Typography/FdsListHeading/FdsListHeading.stories.ts +58 -0
- package/src/components/Typography/FdsListHeading/FdsListHeading.vue +62 -0
- package/src/components/Typography/FdsListHeading/types.ts +8 -0
- package/src/components/Typography/FdsSeparator/FdsSeparator.stories.ts +31 -0
- package/src/components/Typography/FdsSeparator/FdsSeparator.vue +5 -0
- package/src/components/Typography/FdsText/FdsText.stories.ts +66 -0
- package/src/components/Typography/FdsText/FdsText.vue +28 -0
- package/src/components/Typography/FdsText/types.ts +3 -0
- package/src/composables/useBoldQuery.ts +29 -0
- package/src/composables/useElementFinalSize.ts +24 -0
- package/src/composables/useHasSlots.ts +17 -0
- package/src/composables/useIsPid.ts +48 -0
- package/src/docs/Start/Start.mdx +12 -0
- package/src/docs/Usage.md +117 -0
- package/src/fonts.css +28 -0
- package/src/global-components.ts +75 -0
- package/src/index.ts +180 -0
- package/src/main.ts +7 -0
- package/src/slot-styles.css +93 -0
- package/src/style.css +89 -0
- package/src/tokens.css +252 -0
- package/dist/index.d.ts +0 -2
package/dist/fds-vue-core.es.js
CHANGED
|
@@ -1199,8 +1199,9 @@ const getTitleFromProperties = (node, titleTemplate) => {
|
|
|
1199
1199
|
if (!titleTemplate) {
|
|
1200
1200
|
return node.title;
|
|
1201
1201
|
}
|
|
1202
|
-
const
|
|
1203
|
-
|
|
1202
|
+
const template = titleTemplate ?? "";
|
|
1203
|
+
const templateVariables = extractTemplateVariables(template);
|
|
1204
|
+
let result = template;
|
|
1204
1205
|
templateVariables.forEach((variable) => {
|
|
1205
1206
|
const value = getNodePropertyValue(node, variable);
|
|
1206
1207
|
const regex = new RegExp(`\\[\\[${variable.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\]\\]`, "g");
|
|
@@ -1213,7 +1214,9 @@ const extractTemplateVariables = (template) => {
|
|
|
1213
1214
|
const matches = [];
|
|
1214
1215
|
let match;
|
|
1215
1216
|
while ((match = regex.exec(template)) !== null) {
|
|
1216
|
-
|
|
1217
|
+
if (match[1]) {
|
|
1218
|
+
matches.push(match[1]);
|
|
1219
|
+
}
|
|
1217
1220
|
}
|
|
1218
1221
|
return matches;
|
|
1219
1222
|
};
|
|
@@ -6573,6 +6576,13 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
6573
6576
|
"sticky bg-white bottom-0 shadow-[0px_-8px_16px_0px_rgba(255,255,255,0.59)] z-[2] -mx-6 px-6 pb-6": props.stickyFooter
|
|
6574
6577
|
}
|
|
6575
6578
|
]);
|
|
6579
|
+
const setHtmlOverflow = (value) => {
|
|
6580
|
+
if (typeof document === "undefined") return;
|
|
6581
|
+
const htmlEl = document.documentElement;
|
|
6582
|
+
if (htmlEl) {
|
|
6583
|
+
htmlEl.style.overflow = value;
|
|
6584
|
+
}
|
|
6585
|
+
};
|
|
6576
6586
|
const handleBackdropClick = () => {
|
|
6577
6587
|
handleClose("backdrop");
|
|
6578
6588
|
};
|
|
@@ -6581,7 +6591,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
6581
6591
|
return;
|
|
6582
6592
|
}
|
|
6583
6593
|
isOpen.value = false;
|
|
6584
|
-
|
|
6594
|
+
setHtmlOverflow("auto");
|
|
6585
6595
|
nextTick(() => {
|
|
6586
6596
|
if (previouslyFocusedElement.value) {
|
|
6587
6597
|
previouslyFocusedElement.value.focus();
|
|
@@ -6636,11 +6646,11 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
6636
6646
|
if (newValue) {
|
|
6637
6647
|
previouslyFocusedElement.value = document.activeElement;
|
|
6638
6648
|
if (props.lockScroll) {
|
|
6639
|
-
|
|
6649
|
+
setHtmlOverflow("hidden");
|
|
6640
6650
|
}
|
|
6641
6651
|
trapFocus();
|
|
6642
6652
|
} else {
|
|
6643
|
-
|
|
6653
|
+
setHtmlOverflow("auto");
|
|
6644
6654
|
if (cleanupFocusTrap) {
|
|
6645
6655
|
cleanupFocusTrap();
|
|
6646
6656
|
cleanupFocusTrap = null;
|
|
@@ -6659,14 +6669,14 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
6659
6669
|
if (props.open) {
|
|
6660
6670
|
previouslyFocusedElement.value = document.activeElement;
|
|
6661
6671
|
if (props.lockScroll) {
|
|
6662
|
-
|
|
6672
|
+
setHtmlOverflow("hidden");
|
|
6663
6673
|
}
|
|
6664
6674
|
trapFocus();
|
|
6665
6675
|
}
|
|
6666
6676
|
});
|
|
6667
6677
|
onBeforeUnmount(() => {
|
|
6668
6678
|
document.removeEventListener("keydown", handleKeyDown, true);
|
|
6669
|
-
|
|
6679
|
+
setHtmlOverflow("auto");
|
|
6670
6680
|
if (cleanupFocusTrap) {
|
|
6671
6681
|
cleanupFocusTrap();
|
|
6672
6682
|
}
|
|
@@ -6986,6 +6996,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
6986
6996
|
emits: ["searchSelected", "paginate", "total", "change"],
|
|
6987
6997
|
setup(__props, { emit: __emit }) {
|
|
6988
6998
|
const props = __props;
|
|
6999
|
+
const searchFields = computed(() => props.searchFields ?? []);
|
|
6989
7000
|
const emit = __emit;
|
|
6990
7001
|
const dropdownVisible = ref(false);
|
|
6991
7002
|
const singleItemName = ref("");
|
|
@@ -7028,7 +7039,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
7028
7039
|
return { maxHeight: `${maxHeight}px` };
|
|
7029
7040
|
});
|
|
7030
7041
|
const sortResponse = (response) => {
|
|
7031
|
-
|
|
7042
|
+
if (!response.length) return [];
|
|
7043
|
+
const firstItem = response[0] ?? {};
|
|
7044
|
+
const allKeys = [...searchFields.value, ...Object.keys(firstItem).filter((k) => !searchFields.value.includes(k))];
|
|
7032
7045
|
return response.map((item) => {
|
|
7033
7046
|
const sorted = {};
|
|
7034
7047
|
allKeys.forEach((key) => {
|
|
@@ -7043,7 +7056,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
7043
7056
|
const searchLower = searchValue.toLowerCase();
|
|
7044
7057
|
const pidRegex = /^\d{8}[a-zA-Z0-9]{4}$/;
|
|
7045
7058
|
if (pidRegex.test(searchValue)) return true;
|
|
7046
|
-
return
|
|
7059
|
+
return searchFields.value.some((key) => {
|
|
7047
7060
|
const value = item[key];
|
|
7048
7061
|
if (!value) return false;
|
|
7049
7062
|
const stringValue = String(value);
|
|
@@ -7059,7 +7072,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
7059
7072
|
emit("total", 0);
|
|
7060
7073
|
return;
|
|
7061
7074
|
}
|
|
7062
|
-
let sourceData = props.items;
|
|
7075
|
+
let sourceData = props.items ?? [];
|
|
7063
7076
|
if (props.preserveOrder && sourceData.length) {
|
|
7064
7077
|
sourceData = sortResponse(sourceData);
|
|
7065
7078
|
}
|
|
@@ -7164,7 +7177,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
7164
7177
|
return void 0;
|
|
7165
7178
|
});
|
|
7166
7179
|
const handleMatchingString = (item) => {
|
|
7167
|
-
const values =
|
|
7180
|
+
const values = searchFields.value.map((key) => String(item[key] || ""));
|
|
7168
7181
|
let result = "";
|
|
7169
7182
|
if (values.length === 1) {
|
|
7170
7183
|
result = values[0] || "";
|
|
@@ -7206,7 +7219,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
7206
7219
|
if (keyEvent.key === "Enter" || keyEvent.code === "Space" || e.type === "mouseup") {
|
|
7207
7220
|
e.preventDefault();
|
|
7208
7221
|
e.stopPropagation();
|
|
7209
|
-
|
|
7222
|
+
const firstField = searchFields.value[0];
|
|
7223
|
+
searchTerm.value = (firstField ? item[firstField] : "") || "";
|
|
7210
7224
|
selectItem(item);
|
|
7211
7225
|
focusedIndex.value = -1;
|
|
7212
7226
|
dropdownVisible.value = false;
|
|
@@ -7270,9 +7284,15 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
7270
7284
|
case "Enter":
|
|
7271
7285
|
e.preventDefault();
|
|
7272
7286
|
if (focusedIndex.value >= 0 && focusedIndex.value < displayedItems.value.length) {
|
|
7273
|
-
|
|
7287
|
+
const focusedItem = displayedItems.value[focusedIndex.value];
|
|
7288
|
+
if (focusedItem) {
|
|
7289
|
+
handleClick(e, focusedItem);
|
|
7290
|
+
}
|
|
7274
7291
|
} else if (displayedItems.value.length === 1) {
|
|
7275
|
-
|
|
7292
|
+
const onlyItem = displayedItems.value[0];
|
|
7293
|
+
if (onlyItem) {
|
|
7294
|
+
handleClick(e, onlyItem);
|
|
7295
|
+
}
|
|
7276
7296
|
}
|
|
7277
7297
|
break;
|
|
7278
7298
|
case "Escape":
|