fds-vue-core 2.0.88 → 2.1.0
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/README.md +1 -0
- package/configs/eslint.config.base.js +262 -0
- package/configs/prettier.config.js +13 -0
- package/configs/tsconfig.base.json +17 -0
- package/configs/vscode-settings.json +74 -0
- package/dist/fds-vue-core.cjs.js +5367 -5374
- package/dist/fds-vue-core.cjs.js.map +1 -1
- package/dist/fds-vue-core.es.js +5368 -5375
- package/dist/fds-vue-core.es.js.map +1 -1
- package/dist/global-components.d.ts +36 -36
- package/dist/index.d.ts +2 -80
- package/dist/slot-styles.css +1 -1
- package/dist/tokens.css +0 -1
- package/package.json +15 -6
- 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 +98 -0
- package/src/components/Blocks/FdsBlockInfo/types.ts +8 -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 +261 -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 +610 -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 +65 -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 +38 -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/tsconfig.base.json +4 -0
- package/dist/App.vue.d.ts +0 -3
- package/dist/App.vue.d.ts.map +0 -1
- package/dist/assets/icons.d.ts +0 -5
- package/dist/assets/icons.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockAlert/FdsBlockAlert.stories.d.ts +0 -9
- package/dist/components/Blocks/FdsBlockAlert/FdsBlockAlert.stories.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockAlert/FdsBlockAlert.vue.d.ts +0 -30
- package/dist/components/Blocks/FdsBlockAlert/FdsBlockAlert.vue.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockAlert/types.d.ts +0 -12
- package/dist/components/Blocks/FdsBlockAlert/types.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockContent/FdsBlockContent.stories.d.ts +0 -9
- package/dist/components/Blocks/FdsBlockContent/FdsBlockContent.stories.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockContent/FdsBlockContent.vue.d.ts +0 -19
- package/dist/components/Blocks/FdsBlockContent/FdsBlockContent.vue.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockContent/types.d.ts +0 -7
- package/dist/components/Blocks/FdsBlockContent/types.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockExpander/FdsBlockExpander.stories.d.ts +0 -11
- package/dist/components/Blocks/FdsBlockExpander/FdsBlockExpander.stories.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockExpander/FdsBlockExpander.vue.d.ts +0 -23
- package/dist/components/Blocks/FdsBlockExpander/FdsBlockExpander.vue.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockExpander/types.d.ts +0 -8
- package/dist/components/Blocks/FdsBlockExpander/types.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockInfo/FdsBlockInfo.stories.d.ts +0 -9
- package/dist/components/Blocks/FdsBlockInfo/FdsBlockInfo.stories.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockInfo/FdsBlockInfo.vue.d.ts +0 -20
- package/dist/components/Blocks/FdsBlockInfo/FdsBlockInfo.vue.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockInfo/types.d.ts +0 -8
- package/dist/components/Blocks/FdsBlockInfo/types.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockLink/FdsBlockLink.stories.d.ts +0 -14
- package/dist/components/Blocks/FdsBlockLink/FdsBlockLink.stories.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockLink/FdsBlockLink.vue.d.ts +0 -30
- package/dist/components/Blocks/FdsBlockLink/FdsBlockLink.vue.d.ts.map +0 -1
- package/dist/components/Blocks/FdsBlockLink/types.d.ts +0 -14
- package/dist/components/Blocks/FdsBlockLink/types.d.ts.map +0 -1
- package/dist/components/Buttons/ButtonBaseProps.d.ts +0 -18
- package/dist/components/Buttons/ButtonBaseProps.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonCopy/FdsButtonCopy.stories.d.ts +0 -7
- package/dist/components/Buttons/FdsButtonCopy/FdsButtonCopy.stories.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonCopy/FdsButtonCopy.vue.d.ts +0 -14
- package/dist/components/Buttons/FdsButtonCopy/FdsButtonCopy.vue.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonCopy/types.d.ts +0 -9
- package/dist/components/Buttons/FdsButtonCopy/types.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonDownload/FdsButtonDownload.stories.d.ts +0 -10
- package/dist/components/Buttons/FdsButtonDownload/FdsButtonDownload.stories.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonDownload/FdsButtonDownload.vue.d.ts +0 -25
- package/dist/components/Buttons/FdsButtonDownload/FdsButtonDownload.vue.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.d.ts +0 -7
- package/dist/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue.d.ts +0 -14
- package/dist/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonIcon/types.d.ts +0 -12
- package/dist/components/Buttons/FdsButtonIcon/types.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.d.ts +0 -7
- package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue.d.ts +0 -25
- package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.d.ts +0 -9
- package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue.d.ts +0 -20
- package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.d.ts +0 -7
- package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue.d.ts +0 -20
- package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue.d.ts.map +0 -1
- package/dist/components/FdsIcon/FdsIcon.stories.d.ts +0 -8
- package/dist/components/FdsIcon/FdsIcon.stories.d.ts.map +0 -1
- package/dist/components/FdsIcon/FdsIcon.vue.d.ts +0 -7
- package/dist/components/FdsIcon/FdsIcon.vue.d.ts.map +0 -1
- package/dist/components/FdsIcon/types.d.ts +0 -8
- package/dist/components/FdsIcon/types.d.ts.map +0 -1
- package/dist/components/FdsModal/FdsModal.stories.d.ts +0 -13
- package/dist/components/FdsModal/FdsModal.stories.d.ts.map +0 -1
- package/dist/components/FdsModal/FdsModal.vue.d.ts +0 -33
- package/dist/components/FdsModal/FdsModal.vue.d.ts.map +0 -1
- package/dist/components/FdsModal/types.d.ts +0 -13
- package/dist/components/FdsModal/types.d.ts.map +0 -1
- package/dist/components/FdsPagination/FdsPagination.stories.d.ts +0 -11
- package/dist/components/FdsPagination/FdsPagination.stories.d.ts.map +0 -1
- package/dist/components/FdsPagination/FdsPagination.vue.d.ts +0 -21
- package/dist/components/FdsPagination/FdsPagination.vue.d.ts.map +0 -1
- package/dist/components/FdsPagination/types.d.ts +0 -7
- package/dist/components/FdsPagination/types.d.ts.map +0 -1
- package/dist/components/FdsSearchSelect/FdsSearchSelect.stories.d.ts +0 -15
- package/dist/components/FdsSearchSelect/FdsSearchSelect.stories.d.ts.map +0 -1
- package/dist/components/FdsSearchSelect/FdsSearchSelect.vue.d.ts +0 -41
- package/dist/components/FdsSearchSelect/FdsSearchSelect.vue.d.ts.map +0 -1
- package/dist/components/FdsSearchSelect/types.d.ts +0 -29
- package/dist/components/FdsSearchSelect/types.d.ts.map +0 -1
- package/dist/components/FdsSpinner/FdsSpinner.stories.d.ts +0 -7
- package/dist/components/FdsSpinner/FdsSpinner.stories.d.ts.map +0 -1
- package/dist/components/FdsSpinner/FdsSpinner.vue.d.ts +0 -15
- package/dist/components/FdsSpinner/FdsSpinner.vue.d.ts.map +0 -1
- package/dist/components/FdsSpinner/types.d.ts +0 -7
- package/dist/components/FdsSpinner/types.d.ts.map +0 -1
- package/dist/components/FdsSticker/FdsSticker.stories.d.ts +0 -15
- package/dist/components/FdsSticker/FdsSticker.stories.d.ts.map +0 -1
- package/dist/components/FdsSticker/FdsSticker.vue.d.ts +0 -17
- package/dist/components/FdsSticker/FdsSticker.vue.d.ts.map +0 -1
- package/dist/components/FdsSticker/types.d.ts +0 -5
- package/dist/components/FdsSticker/types.d.ts.map +0 -1
- package/dist/components/FdsTreeView/FdsTreeView.stories.d.ts +0 -7
- package/dist/components/FdsTreeView/FdsTreeView.stories.d.ts.map +0 -1
- package/dist/components/FdsTreeView/FdsTreeView.vue.d.ts +0 -29
- package/dist/components/FdsTreeView/FdsTreeView.vue.d.ts.map +0 -1
- package/dist/components/FdsTreeView/TreeNode.vue.d.ts +0 -21
- package/dist/components/FdsTreeView/TreeNode.vue.d.ts.map +0 -1
- package/dist/components/FdsTreeView/types.d.ts +0 -122
- package/dist/components/FdsTreeView/types.d.ts.map +0 -1
- package/dist/components/FdsTreeView/useTreeState.d.ts +0 -48
- package/dist/components/FdsTreeView/useTreeState.d.ts.map +0 -1
- package/dist/components/FdsTreeView/utils.d.ts +0 -4
- package/dist/components/FdsTreeView/utils.d.ts.map +0 -1
- package/dist/components/FdsTruncatedText/FdsTruncatedText.stories.d.ts +0 -9
- package/dist/components/FdsTruncatedText/FdsTruncatedText.stories.d.ts.map +0 -1
- package/dist/components/FdsTruncatedText/FdsTruncatedText.vue.d.ts +0 -26
- package/dist/components/FdsTruncatedText/FdsTruncatedText.vue.d.ts.map +0 -1
- package/dist/components/FdsTruncatedText/types.d.ts +0 -7
- package/dist/components/FdsTruncatedText/types.d.ts.map +0 -1
- package/dist/components/Form/FdsCheckbox/FdsCheckbox.stories.d.ts +0 -12
- package/dist/components/Form/FdsCheckbox/FdsCheckbox.stories.d.ts.map +0 -1
- package/dist/components/Form/FdsCheckbox/FdsCheckbox.vue.d.ts +0 -38
- package/dist/components/Form/FdsCheckbox/FdsCheckbox.vue.d.ts.map +0 -1
- package/dist/components/Form/FdsCheckbox/types.d.ts +0 -11
- package/dist/components/Form/FdsCheckbox/types.d.ts.map +0 -1
- package/dist/components/Form/FdsInput/FdsInput.stories.d.ts +0 -18
- package/dist/components/Form/FdsInput/FdsInput.stories.d.ts.map +0 -1
- package/dist/components/Form/FdsInput/FdsInput.vue.d.ts +0 -39
- package/dist/components/Form/FdsInput/FdsInput.vue.d.ts.map +0 -1
- package/dist/components/Form/FdsInput/types.d.ts +0 -26
- package/dist/components/Form/FdsInput/types.d.ts.map +0 -1
- package/dist/components/Form/FdsRadio/FdsRadio.stories.d.ts +0 -8
- package/dist/components/Form/FdsRadio/FdsRadio.stories.d.ts.map +0 -1
- package/dist/components/Form/FdsRadio/FdsRadio.vue.d.ts +0 -36
- package/dist/components/Form/FdsRadio/FdsRadio.vue.d.ts.map +0 -1
- package/dist/components/Form/FdsRadio/types.d.ts +0 -13
- package/dist/components/Form/FdsRadio/types.d.ts.map +0 -1
- package/dist/components/Form/FdsSelect/FdsSelect.stories.d.ts +0 -10
- package/dist/components/Form/FdsSelect/FdsSelect.stories.d.ts.map +0 -1
- package/dist/components/Form/FdsSelect/FdsSelect.vue.d.ts +0 -45
- package/dist/components/Form/FdsSelect/FdsSelect.vue.d.ts.map +0 -1
- package/dist/components/Form/FdsSelect/types.d.ts +0 -18
- package/dist/components/Form/FdsSelect/types.d.ts.map +0 -1
- package/dist/components/Form/FdsTextarea/FdsTextarea.stories.d.ts +0 -8
- package/dist/components/Form/FdsTextarea/FdsTextarea.stories.d.ts.map +0 -1
- package/dist/components/Form/FdsTextarea/FdsTextarea.vue.d.ts +0 -27
- package/dist/components/Form/FdsTextarea/FdsTextarea.vue.d.ts.map +0 -1
- package/dist/components/Form/FdsTextarea/types.d.ts +0 -13
- package/dist/components/Form/FdsTextarea/types.d.ts.map +0 -1
- package/dist/components/Table/FdsTable/FdsTable.stories.d.ts +0 -10
- package/dist/components/Table/FdsTable/FdsTable.stories.d.ts.map +0 -1
- package/dist/components/Table/FdsTable/FdsTable.vue.d.ts +0 -16
- package/dist/components/Table/FdsTable/FdsTable.vue.d.ts.map +0 -1
- package/dist/components/Table/FdsTable/types.d.ts +0 -5
- package/dist/components/Table/FdsTable/types.d.ts.map +0 -1
- package/dist/components/Table/FdsTableHead/FdsTableHead.stories.d.ts +0 -12
- package/dist/components/Table/FdsTableHead/FdsTableHead.stories.d.ts.map +0 -1
- package/dist/components/Table/FdsTableHead/FdsTableHead.vue.d.ts +0 -24
- package/dist/components/Table/FdsTableHead/FdsTableHead.vue.d.ts.map +0 -1
- package/dist/components/Table/FdsTableHead/types.d.ts +0 -6
- package/dist/components/Table/FdsTableHead/types.d.ts.map +0 -1
- package/dist/components/Tabs/FdsTabs/FdsTabs.stories.d.ts +0 -14
- package/dist/components/Tabs/FdsTabs/FdsTabs.stories.d.ts.map +0 -1
- package/dist/components/Tabs/FdsTabs/FdsTabs.vue.d.ts +0 -17
- package/dist/components/Tabs/FdsTabs/FdsTabs.vue.d.ts.map +0 -1
- package/dist/components/Tabs/FdsTabs/types.d.ts +0 -5
- package/dist/components/Tabs/FdsTabs/types.d.ts.map +0 -1
- package/dist/components/Tabs/FdsTabsItem/FdsTabsItem.vue.d.ts +0 -22
- package/dist/components/Tabs/FdsTabsItem/FdsTabsItem.vue.d.ts.map +0 -1
- package/dist/components/Tabs/FdsTabsItem/types.d.ts +0 -17
- package/dist/components/Tabs/FdsTabsItem/types.d.ts.map +0 -1
- package/dist/components/Typography/FdsHeading/FdsHeading.stories.d.ts +0 -11
- package/dist/components/Typography/FdsHeading/FdsHeading.stories.d.ts.map +0 -1
- package/dist/components/Typography/FdsHeading/FdsHeading.vue.d.ts +0 -6
- package/dist/components/Typography/FdsHeading/FdsHeading.vue.d.ts.map +0 -1
- package/dist/components/Typography/FdsHeading/types.d.ts +0 -6
- package/dist/components/Typography/FdsHeading/types.d.ts.map +0 -1
- package/dist/components/Typography/FdsListHeading/FdsListHeading.stories.d.ts +0 -11
- package/dist/components/Typography/FdsListHeading/FdsListHeading.stories.d.ts.map +0 -1
- package/dist/components/Typography/FdsListHeading/FdsListHeading.vue.d.ts +0 -7
- package/dist/components/Typography/FdsListHeading/FdsListHeading.vue.d.ts.map +0 -1
- package/dist/components/Typography/FdsListHeading/types.d.ts +0 -9
- package/dist/components/Typography/FdsListHeading/types.d.ts.map +0 -1
- package/dist/components/Typography/FdsSeparator/FdsSeparator.stories.d.ts +0 -7
- package/dist/components/Typography/FdsSeparator/FdsSeparator.stories.d.ts.map +0 -1
- package/dist/components/Typography/FdsSeparator/FdsSeparator.vue.d.ts +0 -3
- package/dist/components/Typography/FdsSeparator/FdsSeparator.vue.d.ts.map +0 -1
- package/dist/components/Typography/FdsText/FdsText.stories.d.ts +0 -9
- package/dist/components/Typography/FdsText/FdsText.stories.d.ts.map +0 -1
- package/dist/components/Typography/FdsText/FdsText.vue.d.ts +0 -16
- package/dist/components/Typography/FdsText/FdsText.vue.d.ts.map +0 -1
- package/dist/components/Typography/FdsText/types.d.ts +0 -4
- package/dist/components/Typography/FdsText/types.d.ts.map +0 -1
- package/dist/composables/useBoldQuery.d.ts +0 -10
- package/dist/composables/useBoldQuery.d.ts.map +0 -1
- package/dist/composables/useElementFinalSize.d.ts +0 -3
- package/dist/composables/useElementFinalSize.d.ts.map +0 -1
- package/dist/composables/useHasSlots.d.ts +0 -6
- package/dist/composables/useHasSlots.d.ts.map +0 -1
- package/dist/composables/useIsPid.d.ts +0 -16
- package/dist/composables/useIsPid.d.ts.map +0 -1
- package/dist/global-components.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/main.d.ts +0 -2
- package/dist/main.d.ts.map +0 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3'
|
|
2
|
+
import FdsSeparator from './FdsSeparator.vue'
|
|
3
|
+
|
|
4
|
+
const meta: Meta<typeof FdsSeparator> = {
|
|
5
|
+
title: 'FDS/Typography/FdsSeparator',
|
|
6
|
+
component: FdsSeparator,
|
|
7
|
+
tags: ['autodocs'],
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export default meta
|
|
11
|
+
type Story = StoryObj<typeof meta>
|
|
12
|
+
|
|
13
|
+
export const Default: Story = {
|
|
14
|
+
render: () => ({
|
|
15
|
+
components: { FdsSeparator },
|
|
16
|
+
template: `
|
|
17
|
+
<div>
|
|
18
|
+
<p>Text above separator</p>
|
|
19
|
+
<FdsSeparator />
|
|
20
|
+
<p>Text below separator</p>
|
|
21
|
+
</div>
|
|
22
|
+
`,
|
|
23
|
+
}),
|
|
24
|
+
parameters: {
|
|
25
|
+
docs: {
|
|
26
|
+
source: {
|
|
27
|
+
code: `<FdsSeparator />`,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3'
|
|
2
|
+
import FdsText from './FdsText.vue'
|
|
3
|
+
|
|
4
|
+
const meta: Meta<typeof FdsText> = {
|
|
5
|
+
title: 'FDS/Typography/FdsText',
|
|
6
|
+
component: FdsText,
|
|
7
|
+
tags: ['autodocs'],
|
|
8
|
+
argTypes: {
|
|
9
|
+
type: { control: { type: 'radio' }, options: ['default', 'lead', 'meta'] },
|
|
10
|
+
},
|
|
11
|
+
args: {
|
|
12
|
+
type: 'default',
|
|
13
|
+
},
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default meta
|
|
17
|
+
type Story = StoryObj<typeof meta>
|
|
18
|
+
|
|
19
|
+
const textTransform = (storyContext: { args?: { type?: string } }) => {
|
|
20
|
+
const args = storyContext?.args || {}
|
|
21
|
+
const attrsStr = args.type && args.type !== 'default' ? ` type="${args.type}"` : ''
|
|
22
|
+
return `<FdsText${attrsStr}>Text content</FdsText>`
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const Default: Story = {
|
|
26
|
+
render: (args) => ({
|
|
27
|
+
components: { FdsText },
|
|
28
|
+
setup: () => ({ args }),
|
|
29
|
+
template: `<FdsText :type="args.type">Text content</FdsText>`,
|
|
30
|
+
}),
|
|
31
|
+
parameters: {
|
|
32
|
+
docs: {
|
|
33
|
+
source: {
|
|
34
|
+
transform: textTransform,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export const Lead: Story = {
|
|
41
|
+
render: () => ({
|
|
42
|
+
components: { FdsText },
|
|
43
|
+
template: `<FdsText type="lead">Lead text with larger font size and lighter weight</FdsText>`,
|
|
44
|
+
}),
|
|
45
|
+
parameters: {
|
|
46
|
+
docs: {
|
|
47
|
+
source: {
|
|
48
|
+
code: `<FdsText type="lead">Lead text with larger font size and lighter weight</FdsText>`,
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export const MetaType: Story = {
|
|
55
|
+
render: () => ({
|
|
56
|
+
components: { FdsText },
|
|
57
|
+
template: `<FdsText type="meta">Meta text with lighter font weight</FdsText>`,
|
|
58
|
+
}),
|
|
59
|
+
parameters: {
|
|
60
|
+
docs: {
|
|
61
|
+
source: {
|
|
62
|
+
code: `<FdsText type="meta">Meta text with lighter font weight</FdsText>`,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
import type { FdsTextProps } from './types'
|
|
4
|
+
|
|
5
|
+
const props = withDefaults(defineProps<FdsTextProps>(), {
|
|
6
|
+
type: 'default',
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
const textClasses = computed(() => {
|
|
10
|
+
const baseClasses = 'inline-block'
|
|
11
|
+
|
|
12
|
+
if (props.type === 'lead') {
|
|
13
|
+
return `${baseClasses} font-light text-lg`
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (props.type === 'meta') {
|
|
17
|
+
return `${baseClasses} font-light`
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return baseClasses
|
|
21
|
+
})
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<template>
|
|
25
|
+
<span :class="textClasses">
|
|
26
|
+
<slot />
|
|
27
|
+
</span>
|
|
28
|
+
</template>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Ref } from 'vue'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Composable for bolding search query matches in text
|
|
5
|
+
* @param searchTerm - Reactive search term (Ref<string>)
|
|
6
|
+
* @returns Function that takes text and returns HTML with matched query bolded
|
|
7
|
+
*/
|
|
8
|
+
export function useBoldQuery(searchTerm: Ref<string>) {
|
|
9
|
+
const boldQuery = (text: string): string => {
|
|
10
|
+
const query = searchTerm.value.trim()
|
|
11
|
+
if (!query) return text
|
|
12
|
+
|
|
13
|
+
const lowerText = text.toLowerCase()
|
|
14
|
+
const lowerQuery = query.toLowerCase()
|
|
15
|
+
const matchIndex = lowerText.indexOf(lowerQuery)
|
|
16
|
+
|
|
17
|
+
if (matchIndex === -1) return text
|
|
18
|
+
|
|
19
|
+
const beforeMatch = text.substring(0, matchIndex)
|
|
20
|
+
const match = text.substring(matchIndex, matchIndex + query.length)
|
|
21
|
+
const afterMatch = text.substring(matchIndex + query.length)
|
|
22
|
+
|
|
23
|
+
return `${beforeMatch}<b>${match}</b>${afterMatch}`
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
boldQuery,
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { watchEffect, type Ref } from 'vue'
|
|
2
|
+
|
|
3
|
+
export function useElementFinalSize(
|
|
4
|
+
elementRef: Ref<HTMLElement | null>,
|
|
5
|
+
onFinalSize: (height: number) => void,
|
|
6
|
+
delay = 100,
|
|
7
|
+
) {
|
|
8
|
+
watchEffect((onCleanup) => {
|
|
9
|
+
const { value: element } = elementRef
|
|
10
|
+
if (!element) return
|
|
11
|
+
|
|
12
|
+
// Wait for next frame after a short delay, then measure
|
|
13
|
+
const timeoutId = setTimeout(() => {
|
|
14
|
+
requestAnimationFrame(() => {
|
|
15
|
+
const { height } = element.getBoundingClientRect()
|
|
16
|
+
if (height > 0) {
|
|
17
|
+
onFinalSize(height)
|
|
18
|
+
}
|
|
19
|
+
})
|
|
20
|
+
}, delay)
|
|
21
|
+
|
|
22
|
+
onCleanup(() => clearTimeout(timeoutId))
|
|
23
|
+
})
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Comment, computed, useSlots, type VNode } from 'vue'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Check if a slot has any real content (ignores comment nodes)
|
|
5
|
+
* @param name Slot name, default is "default"
|
|
6
|
+
*/
|
|
7
|
+
export function useHasSlot(name: string = 'default') {
|
|
8
|
+
const slots = useSlots()
|
|
9
|
+
|
|
10
|
+
return computed(() => {
|
|
11
|
+
const slotFn = slots[name]
|
|
12
|
+
if (!slotFn) return false
|
|
13
|
+
|
|
14
|
+
const vnodes: VNode[] = slotFn()
|
|
15
|
+
return vnodes.some((vnode) => vnode.type !== Comment)
|
|
16
|
+
})
|
|
17
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { computed, type Ref } from 'vue'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Check if a string looks like a personnummer (Swedish personal identity number)
|
|
5
|
+
* @param value - String value to check
|
|
6
|
+
* @returns Boolean indicating if the value looks like a personnummer
|
|
7
|
+
*/
|
|
8
|
+
export function isPidString(value: string): boolean {
|
|
9
|
+
const digitsOnly = value.replace(/\D/g, '')
|
|
10
|
+
|
|
11
|
+
// Personnummer has 12 digits total (8 digits before dash, 4 after)
|
|
12
|
+
// Activate detection when user has typed 6+ digits (likely a date yyyymmdd)
|
|
13
|
+
// This avoids detecting phone numbers which typically start with +46, 0, or have different patterns
|
|
14
|
+
if (digitsOnly.length < 6) {
|
|
15
|
+
return false
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Check if it looks like a date (first 6 digits should be reasonable year + month)
|
|
19
|
+
// Years are typically 19xx-20xx, months 01-12
|
|
20
|
+
const firstSix = digitsOnly.substring(0, 6)
|
|
21
|
+
const year = parseInt(firstSix.substring(0, 4))
|
|
22
|
+
const month = parseInt(firstSix.substring(4, 6))
|
|
23
|
+
|
|
24
|
+
// Valid year range (1900-2099) and valid month (01-12)
|
|
25
|
+
if (year >= 1900 && year <= 2099 && month >= 1 && month <= 12) {
|
|
26
|
+
return true
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// If user has typed 8+ digits, assume it's a personnummer
|
|
30
|
+
if (digitsOnly.length >= 8) {
|
|
31
|
+
return true
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return false
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Composable for detecting if a string looks like a personnummer (Swedish personal identity number)
|
|
39
|
+
* @param value - Reactive string value to check (Ref<string>)
|
|
40
|
+
* @returns Computed boolean indicating if the value looks like a personnummer
|
|
41
|
+
*/
|
|
42
|
+
export function useIsPid(value: Ref<string>) {
|
|
43
|
+
const isPid = computed(() => isPidString(value.value))
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
isPid,
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Meta, Typeset } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title="Start" />
|
|
4
|
+
|
|
5
|
+
<div className="sb-container">
|
|
6
|
+
<div className="sb-section-title">
|
|
7
|
+
<h1>Welcome to Feelgood Design System</h1>
|
|
8
|
+
<fds-text type="lead">
|
|
9
|
+
Everything you'll eventually need to build great and accessible solutions for Feelgood.
|
|
10
|
+
</fds-text>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# FDS Vue Core - Usage Guide
|
|
2
|
+
|
|
3
|
+
## Installation
|
|
4
|
+
|
|
5
|
+
### From npm
|
|
6
|
+
|
|
7
|
+
Install the package from npm:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
yarn add fds-vue-core
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Local Development with yarn link
|
|
14
|
+
|
|
15
|
+
For local development, you can link the package to your project:
|
|
16
|
+
|
|
17
|
+
1. In the `fds-vue-core` directory, create a global link:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
yarn link
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
2. In your consuming project, link to the local package:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
yarn link fds-vue-core
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
3. To unlink when you're done:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# In your consuming project
|
|
33
|
+
yarn unlink fds-vue-core
|
|
34
|
+
|
|
35
|
+
# In the fds-vue-core directory
|
|
36
|
+
yarn unlink
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Note:** After making changes to `fds-vue-core`, you may need to rebuild the package for changes to take effect:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
yarn build
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Basic Usage
|
|
46
|
+
|
|
47
|
+
### Global Registration
|
|
48
|
+
|
|
49
|
+
Import and register all components globally in your Vue app:
|
|
50
|
+
|
|
51
|
+
```javascript
|
|
52
|
+
import { createApp } from 'vue'
|
|
53
|
+
import App from './App.vue'
|
|
54
|
+
import FDS from 'fds-vue-core'
|
|
55
|
+
|
|
56
|
+
const app = createApp(App)
|
|
57
|
+
app.use(FDS)
|
|
58
|
+
app.mount('#app')
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Individual Component Import
|
|
62
|
+
|
|
63
|
+
Import specific components as needed:
|
|
64
|
+
|
|
65
|
+
```javascript
|
|
66
|
+
import { FdsButton, FdsInput, FdsModal } from 'fds-vue-core'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Register them locally:
|
|
70
|
+
|
|
71
|
+
```javascript
|
|
72
|
+
export default {
|
|
73
|
+
components: {
|
|
74
|
+
FdsButton,
|
|
75
|
+
FdsInput,
|
|
76
|
+
FdsModal,
|
|
77
|
+
},
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Tailwind CSS Configuration
|
|
82
|
+
|
|
83
|
+
All components use Tailwind CSS classes. Make sure your Tailwind configuration includes the necessary utilities.
|
|
84
|
+
|
|
85
|
+
### tailwind.config.js
|
|
86
|
+
|
|
87
|
+
```javascript
|
|
88
|
+
import preset from 'fds-vue-core/tailwind.preset.cjs'
|
|
89
|
+
|
|
90
|
+
export default {
|
|
91
|
+
presets: [preset],
|
|
92
|
+
// Your other Tailwind configuration
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### style.css
|
|
97
|
+
|
|
98
|
+
```css
|
|
99
|
+
@import 'fds-vue-core/tokens.css';
|
|
100
|
+
@import 'tailwindcss';
|
|
101
|
+
@source '../node_modules/fds-vue-core';
|
|
102
|
+
@import 'fds-vue-core/slot-styles.css';
|
|
103
|
+
@import 'fds-vue-core/apply.css';
|
|
104
|
+
@import 'fds-vue-core/fonts.css';
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## TypeScript Support
|
|
108
|
+
|
|
109
|
+
All components are fully typed. Type definitions are included in the package.
|
|
110
|
+
|
|
111
|
+
## Further Documentation
|
|
112
|
+
|
|
113
|
+
For detailed component API documentation and examples, see Storybook:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
yarn storybook
|
|
117
|
+
```
|
package/src/fonts.css
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: 'IBM-Plex-Sans';
|
|
3
|
+
src:
|
|
4
|
+
url('assets/fonts/IBMPlexSans-Light.woff2') format('woff2'),
|
|
5
|
+
url('assets/fonts/IBMPlexSans-Light.woff') format('woff');
|
|
6
|
+
font-weight: 100 399;
|
|
7
|
+
}
|
|
8
|
+
@font-face {
|
|
9
|
+
font-family: 'IBM-Plex-Sans';
|
|
10
|
+
src:
|
|
11
|
+
url('assets/fonts/IBMPlexSans-Regular.woff2') format('woff2'),
|
|
12
|
+
url('assets/fonts/IBMPlexSans-Regular.woff') format('woff');
|
|
13
|
+
font-weight: 400 599;
|
|
14
|
+
}
|
|
15
|
+
@font-face {
|
|
16
|
+
font-family: 'IBM-Plex-Sans';
|
|
17
|
+
src:
|
|
18
|
+
url('assets/fonts/IBMPlexSans-Bold.woff2') format('woff2'),
|
|
19
|
+
url('assets/fonts/IBMPlexSans-Bold.woff') format('woff');
|
|
20
|
+
font-weight: 600 800;
|
|
21
|
+
}
|
|
22
|
+
@font-face {
|
|
23
|
+
font-family: 'Raleway';
|
|
24
|
+
src:
|
|
25
|
+
url('assets/fonts/Raleway-ExtraBold.woff2') format('woff2'),
|
|
26
|
+
url('assets/fonts/Raleway-ExtraBold.woff') format('woff');
|
|
27
|
+
font-weight: 100 800;
|
|
28
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
declare module '@vue/runtime-core' {
|
|
2
|
+
export interface GlobalComponents {
|
|
3
|
+
FdsTreeView: (typeof import('./components/FdsTreeView/FdsTreeView.vue'))['default']
|
|
4
|
+
FdsButtonPrimary: (typeof import('./components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue'))['default']
|
|
5
|
+
FdsButtonSecondary: (typeof import('./components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue'))['default']
|
|
6
|
+
FdsButtonMinor: (typeof import('./components/Buttons/FdsButtonMinor/FdsButtonMinor.vue'))['default']
|
|
7
|
+
FdsButtonIcon: (typeof import('./components/Buttons/FdsButtonIcon/FdsButtonIcon.vue'))['default']
|
|
8
|
+
FdsButtonCopy: (typeof import('./components/Buttons/FdsButtonCopy/FdsButtonCopy.vue'))['default']
|
|
9
|
+
FdsButtonDownload: (typeof import('./components/Buttons/FdsButtonDownload/FdsButtonDownload.vue'))['default']
|
|
10
|
+
FdsIcon: (typeof import('./components/FdsIcon/FdsIcon.vue'))['default']
|
|
11
|
+
FdsSpinner: (typeof import('./components/FdsSpinner/FdsSpinner.vue'))['default']
|
|
12
|
+
FdsRadio: (typeof import('./components/Form/FdsRadio/FdsRadio.vue'))['default']
|
|
13
|
+
FdsInput: (typeof import('./components/Form/FdsInput/FdsInput.vue'))['default']
|
|
14
|
+
FdsCheckbox: (typeof import('./components/Form/FdsCheckbox/FdsCheckbox.vue'))['default']
|
|
15
|
+
FdsTextarea: (typeof import('./components/Form/FdsTextarea/FdsTextarea.vue'))['default']
|
|
16
|
+
FdsSelect: (typeof import('./components/Form/FdsSelect/FdsSelect.vue'))['default']
|
|
17
|
+
FdsTable: (typeof import('./components/Table/FdsTable/FdsTable.vue'))['default']
|
|
18
|
+
FdsTableHead: (typeof import('./components/Table/FdsTableHead/FdsTableHead.vue'))['default']
|
|
19
|
+
FdsBlockContent: (typeof import('./components/Blocks/FdsBlockContent/FdsBlockContent.vue'))['default']
|
|
20
|
+
FdsBlockInfo: (typeof import('./components/Blocks/FdsBlockInfo/FdsBlockInfo.vue'))['default']
|
|
21
|
+
FdsBlockAlert: (typeof import('./components/Blocks/FdsBlockAlert/FdsBlockAlert.vue'))['default']
|
|
22
|
+
FdsBlockExpander: (typeof import('./components/Blocks/FdsBlockExpander/FdsBlockExpander.vue'))['default']
|
|
23
|
+
FdsBlockLink: (typeof import('./components/Blocks/FdsBlockLink/FdsBlockLink.vue'))['default']
|
|
24
|
+
FdsSticker: (typeof import('./components/FdsSticker/FdsSticker.vue'))['default']
|
|
25
|
+
FdsTabs: (typeof import('./components/Tabs/FdsTabs/FdsTabs.vue'))['default']
|
|
26
|
+
FdsTabsItem: (typeof import('./components/Tabs/FdsTabsItem/FdsTabsItem.vue'))['default']
|
|
27
|
+
FdsModal: (typeof import('./components/FdsModal/FdsModal.vue'))['default']
|
|
28
|
+
FdsPagination: (typeof import('./components/FdsPagination/FdsPagination.vue'))['default']
|
|
29
|
+
FdsSearchSelect: (typeof import('./components/FdsSearchSelect/FdsSearchSelect.vue'))['default']
|
|
30
|
+
FdsTruncatedText: (typeof import('./components/FdsTruncatedText/FdsTruncatedText.vue'))['default']
|
|
31
|
+
FdsHeading: (typeof import('./components/Typography/FdsHeading/FdsHeading.vue'))['default']
|
|
32
|
+
FdsSeparator: (typeof import('./components/Typography/FdsSeparator/FdsSeparator.vue'))['default']
|
|
33
|
+
FdsText: (typeof import('./components/Typography/FdsText/FdsText.vue'))['default']
|
|
34
|
+
FdsListHeading: (typeof import('./components/Typography/FdsListHeading/FdsListHeading.vue'))['default']
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export {}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
// App type imported inline below to avoid TS plugin issues in some environments
|
|
2
|
+
|
|
3
|
+
// Import styles
|
|
4
|
+
import './global-components'
|
|
5
|
+
import './style.css'
|
|
6
|
+
|
|
7
|
+
// Import all components
|
|
8
|
+
import FdsButtonCopy from '@/components/Buttons/FdsButtonCopy/FdsButtonCopy.vue'
|
|
9
|
+
import FdsButtonDownload from '@/components/Buttons/FdsButtonDownload/FdsButtonDownload.vue'
|
|
10
|
+
import FdsButtonIcon from '@/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue'
|
|
11
|
+
import FdsButtonMinor from '@/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue'
|
|
12
|
+
import FdsButtonPrimary from '@/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue'
|
|
13
|
+
import FdsButtonSecondary from '@/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue'
|
|
14
|
+
import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
|
|
15
|
+
import FdsSpinner from '@/components/FdsSpinner/FdsSpinner.vue'
|
|
16
|
+
import FdsTreeView from '@/components/FdsTreeView/FdsTreeView.vue'
|
|
17
|
+
import FdsCheckbox from '@/components/Form/FdsCheckbox/FdsCheckbox.vue'
|
|
18
|
+
import FdsInput from '@/components/Form/FdsInput/FdsInput.vue'
|
|
19
|
+
import FdsRadio from '@/components/Form/FdsRadio/FdsRadio.vue'
|
|
20
|
+
import FdsSelect from '@/components/Form/FdsSelect/FdsSelect.vue'
|
|
21
|
+
import FdsTextarea from '@/components/Form/FdsTextarea/FdsTextarea.vue'
|
|
22
|
+
import FdsTable from '@/components/Table/FdsTable/FdsTable.vue'
|
|
23
|
+
import FdsTableHead from '@/components/Table/FdsTableHead/FdsTableHead.vue'
|
|
24
|
+
// Block components
|
|
25
|
+
import FdsBlockAlert from '@/components/Blocks/FdsBlockAlert/FdsBlockAlert.vue'
|
|
26
|
+
import FdsBlockContent from '@/components/Blocks/FdsBlockContent/FdsBlockContent.vue'
|
|
27
|
+
import FdsBlockExpander from '@/components/Blocks/FdsBlockExpander/FdsBlockExpander.vue'
|
|
28
|
+
import FdsBlockInfo from '@/components/Blocks/FdsBlockInfo/FdsBlockInfo.vue'
|
|
29
|
+
import FdsBlockLink from '@/components/Blocks/FdsBlockLink/FdsBlockLink.vue'
|
|
30
|
+
import FdsModal from '@/components/FdsModal/FdsModal.vue'
|
|
31
|
+
import FdsPagination from '@/components/FdsPagination/FdsPagination.vue'
|
|
32
|
+
import FdsSearchSelect from '@/components/FdsSearchSelect/FdsSearchSelect.vue'
|
|
33
|
+
import FdsSticker from '@/components/FdsSticker/FdsSticker.vue'
|
|
34
|
+
import FdsTruncatedText from '@/components/FdsTruncatedText/FdsTruncatedText.vue'
|
|
35
|
+
import FdsTabs from '@/components/Tabs/FdsTabs/FdsTabs.vue'
|
|
36
|
+
import FdsTabsItem from '@/components/Tabs/FdsTabsItem/FdsTabsItem.vue'
|
|
37
|
+
import FdsHeading from '@/components/Typography/FdsHeading/FdsHeading.vue'
|
|
38
|
+
import FdsListHeading from '@/components/Typography/FdsListHeading/FdsListHeading.vue'
|
|
39
|
+
import FdsSeparator from '@/components/Typography/FdsSeparator/FdsSeparator.vue'
|
|
40
|
+
import FdsText from '@/components/Typography/FdsText/FdsText.vue'
|
|
41
|
+
|
|
42
|
+
// Import composables
|
|
43
|
+
import useTreeState from '@/components/FdsTreeView/useTreeState'
|
|
44
|
+
import { useBoldQuery } from '@/composables/useBoldQuery'
|
|
45
|
+
import { isPidString, useIsPid } from '@/composables/useIsPid'
|
|
46
|
+
|
|
47
|
+
// Export individual components
|
|
48
|
+
export {
|
|
49
|
+
FdsBlockAlert,
|
|
50
|
+
FdsBlockContent,
|
|
51
|
+
FdsBlockExpander,
|
|
52
|
+
FdsBlockInfo,
|
|
53
|
+
FdsBlockLink,
|
|
54
|
+
FdsButtonCopy,
|
|
55
|
+
FdsButtonDownload,
|
|
56
|
+
FdsButtonIcon,
|
|
57
|
+
FdsButtonMinor,
|
|
58
|
+
FdsButtonPrimary,
|
|
59
|
+
FdsButtonSecondary,
|
|
60
|
+
FdsCheckbox,
|
|
61
|
+
FdsHeading,
|
|
62
|
+
FdsIcon,
|
|
63
|
+
FdsInput,
|
|
64
|
+
FdsListHeading,
|
|
65
|
+
FdsModal,
|
|
66
|
+
FdsPagination,
|
|
67
|
+
FdsRadio,
|
|
68
|
+
FdsSearchSelect,
|
|
69
|
+
FdsSelect,
|
|
70
|
+
FdsSeparator,
|
|
71
|
+
FdsSpinner,
|
|
72
|
+
FdsSticker,
|
|
73
|
+
FdsTable,
|
|
74
|
+
FdsTableHead,
|
|
75
|
+
FdsTabs,
|
|
76
|
+
FdsTabsItem,
|
|
77
|
+
FdsText,
|
|
78
|
+
FdsTextarea,
|
|
79
|
+
FdsTreeView,
|
|
80
|
+
FdsTruncatedText,
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Export composables
|
|
84
|
+
export { isPidString, useBoldQuery, useIsPid, useTreeState }
|
|
85
|
+
|
|
86
|
+
// Export component library plugin
|
|
87
|
+
type AppLike = { component: (name: string, comp: unknown) => unknown }
|
|
88
|
+
|
|
89
|
+
const FdsVueCorePlugin = {
|
|
90
|
+
install(app: AppLike) {
|
|
91
|
+
// Register all components globally
|
|
92
|
+
app.component('FdsTreeView', FdsTreeView)
|
|
93
|
+
// Register button variants with direct names
|
|
94
|
+
app.component('FdsButtonPrimary', FdsButtonPrimary)
|
|
95
|
+
app.component('FdsButtonSecondary', FdsButtonSecondary)
|
|
96
|
+
app.component('FdsButtonMinor', FdsButtonMinor)
|
|
97
|
+
app.component('FdsButtonIcon', FdsButtonIcon)
|
|
98
|
+
app.component('FdsButtonCopy', FdsButtonCopy)
|
|
99
|
+
app.component('FdsButtonDownload', FdsButtonDownload)
|
|
100
|
+
app.component('FdsIcon', FdsIcon)
|
|
101
|
+
app.component('FdsSpinner', FdsSpinner)
|
|
102
|
+
app.component('FdsRadio', FdsRadio)
|
|
103
|
+
app.component('FdsCheckbox', FdsCheckbox)
|
|
104
|
+
app.component('FdsTextarea', FdsTextarea)
|
|
105
|
+
app.component('FdsSelect', FdsSelect)
|
|
106
|
+
app.component('FdsTable', FdsTable)
|
|
107
|
+
app.component('FdsTableHead', FdsTableHead)
|
|
108
|
+
app.component('FdsInput', FdsInput)
|
|
109
|
+
app.component('FdsBlockContent', FdsBlockContent)
|
|
110
|
+
app.component('FdsBlockInfo', FdsBlockInfo)
|
|
111
|
+
app.component('FdsBlockAlert', FdsBlockAlert)
|
|
112
|
+
app.component('FdsBlockExpander', FdsBlockExpander)
|
|
113
|
+
app.component('FdsBlockLink', FdsBlockLink)
|
|
114
|
+
app.component('FdsSticker', FdsSticker)
|
|
115
|
+
app.component('FdsTabs', FdsTabs)
|
|
116
|
+
app.component('FdsTabsItem', FdsTabsItem)
|
|
117
|
+
app.component('FdsModal', FdsModal)
|
|
118
|
+
app.component('FdsPagination', FdsPagination)
|
|
119
|
+
app.component('FdsSearchSelect', FdsSearchSelect)
|
|
120
|
+
app.component('FdsTruncatedText', FdsTruncatedText)
|
|
121
|
+
app.component('FdsHeading', FdsHeading)
|
|
122
|
+
app.component('FdsSeparator', FdsSeparator)
|
|
123
|
+
app.component('FdsText', FdsText)
|
|
124
|
+
app.component('FdsListHeading', FdsListHeading)
|
|
125
|
+
},
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export default FdsVueCorePlugin
|
|
129
|
+
|
|
130
|
+
// Export all component types
|
|
131
|
+
// TreeView types (only consumer-facing types)
|
|
132
|
+
export type { FdsNodeShape, FdsTreeNode, FdsTreeViewProps, FdsTreeViewStyles } from '@/components/FdsTreeView/types'
|
|
133
|
+
|
|
134
|
+
// Button component types
|
|
135
|
+
export type { FdsButtonBaseProps } from '@/components/Buttons/ButtonBaseProps'
|
|
136
|
+
export type { FdsCopyButtonProps } from '@/components/Buttons/FdsButtonCopy/types'
|
|
137
|
+
export type { FdsIconButtonProps } from '@/components/Buttons/FdsButtonIcon/types'
|
|
138
|
+
|
|
139
|
+
// Button components that use FdsButtonBaseProps
|
|
140
|
+
import type { FdsButtonBaseProps } from '@/components/Buttons/ButtonBaseProps'
|
|
141
|
+
export type FdsButtonPrimaryProps = FdsButtonBaseProps
|
|
142
|
+
export type FdsButtonSecondaryProps = FdsButtonBaseProps
|
|
143
|
+
export type FdsButtonMinorProps = FdsButtonBaseProps
|
|
144
|
+
export type FdsButtonDownloadProps = FdsButtonBaseProps
|
|
145
|
+
|
|
146
|
+
// Form component types
|
|
147
|
+
export type { FdsCheckboxProps } from '@/components/Form/FdsCheckbox/types'
|
|
148
|
+
export type { FdsInputProps } from '@/components/Form/FdsInput/types'
|
|
149
|
+
export type { FdsRadioProps } from '@/components/Form/FdsRadio/types'
|
|
150
|
+
export type { FdsSelectProps } from '@/components/Form/FdsSelect/types'
|
|
151
|
+
export type { FdsTextareaProps } from '@/components/Form/FdsTextarea/types'
|
|
152
|
+
|
|
153
|
+
// Table component types
|
|
154
|
+
export type { FdsTableProps } from '@/components/Table/FdsTable/types'
|
|
155
|
+
export type { FdsTableHeadProps } from '@/components/Table/FdsTableHead/types'
|
|
156
|
+
|
|
157
|
+
// Block component types
|
|
158
|
+
export type { FdsAlertBlockProps } from '@/components/Blocks/FdsBlockAlert/types'
|
|
159
|
+
export type { FdsContentBlockProps } from '@/components/Blocks/FdsBlockContent/types'
|
|
160
|
+
export type { FdsExpanderBlockProps } from '@/components/Blocks/FdsBlockExpander/types'
|
|
161
|
+
export type { FdsBlockInfoProps } from '@/components/Blocks/FdsBlockInfo/types'
|
|
162
|
+
export type { FdsInteractionBlockProps } from '@/components/Blocks/FdsBlockLink/types'
|
|
163
|
+
|
|
164
|
+
// Tab component types
|
|
165
|
+
export type { FdsTabsProps } from '@/components/Tabs/FdsTabs/types'
|
|
166
|
+
export type { FdsTabsItemProps } from '@/components/Tabs/FdsTabsItem/types'
|
|
167
|
+
|
|
168
|
+
// Typography component types
|
|
169
|
+
export type { FdsHeadingProps } from '@/components/Typography/FdsHeading/types'
|
|
170
|
+
export type { FdsListHeadingProps } from '@/components/Typography/FdsListHeading/types'
|
|
171
|
+
export type { FdsTextProps } from '@/components/Typography/FdsText/types'
|
|
172
|
+
|
|
173
|
+
// Other component types
|
|
174
|
+
export type { FdsIconName, FdsIconProps } from '@/components/FdsIcon/types'
|
|
175
|
+
export type { FdsModalProps } from '@/components/FdsModal/types'
|
|
176
|
+
export type { FdsPaginationProps } from '@/components/FdsPagination/types'
|
|
177
|
+
export type { FdsSearchSelectProps } from '@/components/FdsSearchSelect/types'
|
|
178
|
+
export type { FdsSpinnerProps } from '@/components/FdsSpinner/types'
|
|
179
|
+
export type { FdsStickerProps } from '@/components/FdsSticker/types'
|
|
180
|
+
export type { FdsTruncatedTextProps } from '@/components/FdsTruncatedText/types'
|