@bethinkpl/design-system 22.1.0 → 22.2.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.
Files changed (58) hide show
  1. package/.storybook/main.js +15 -0
  2. package/.storybook/preview.js +4 -0
  3. package/dist/design-system.umd.js +10114 -79
  4. package/dist/design-system.umd.js.map +1 -1
  5. package/dist/lib/js/components/Banner/Banner.vue.d.ts +1 -0
  6. package/dist/lib/js/components/Buttons/Button/Button.vue.d.ts +1 -0
  7. package/dist/lib/js/components/Buttons/IconButton/IconButton.vue.d.ts +1 -0
  8. package/dist/lib/js/components/Cards/CardExpandable/CardExpandable.vue.d.ts +1 -0
  9. package/dist/lib/js/components/Chip/Chip.vue.d.ts +1 -0
  10. package/dist/lib/js/components/Drawer/DrawerHeader/DrawerHeader.vue.d.ts +1 -0
  11. package/dist/lib/js/components/Drawer/DrawerListItem/DrawerListItem.vue.d.ts +1 -0
  12. package/dist/lib/js/components/Drawer/DrawerSection/DrawerSection.vue.d.ts +1 -0
  13. package/dist/lib/js/components/Form/Checkbox/Checkbox.vue.d.ts +1 -0
  14. package/dist/lib/js/components/Form/RadioButton/RadioButton.vue.d.ts +1 -0
  15. package/dist/lib/js/components/Headers/OverlayHeader/OverlayHeader.vue.d.ts +1 -0
  16. package/dist/lib/js/components/Headers/SectionHeader/SectionHeader.vue.d.ts +1 -0
  17. package/dist/lib/js/components/Icons/Icon/Icon.consts.d.ts +1 -0
  18. package/dist/lib/js/components/Modal/Modal.vue.d.ts +1 -0
  19. package/dist/lib/js/components/Modals/Modal/Modal.vue.d.ts +1 -0
  20. package/dist/lib/js/components/Outline/OutlineItem/OutlineItem.vue.d.ts +1 -0
  21. package/dist/lib/js/components/Pagination/Pagination.vue.d.ts +1 -0
  22. package/dist/lib/js/components/ProgressBar/ProgressBar.vue.d.ts +1 -0
  23. package/dist/lib/js/components/ProgressDonutChart/ProgressDonutChart.vue.d.ts +1 -0
  24. package/dist/lib/js/components/RichList/RichListItem/RichListItem.vue.d.ts +1 -0
  25. package/dist/lib/js/components/SelectList/SelectListItem/SelectListItem.vue.d.ts +1 -0
  26. package/dist/lib/js/components/SelectionTile/SelectionTile.vue.d.ts +1 -0
  27. package/dist/lib/js/components/Statuses/AccessStatus/AccessStatus.vue.d.ts +1 -0
  28. package/dist/lib/js/components/Statuses/BlockadeStatus/BlockadeStatus.vue.d.ts +1 -0
  29. package/dist/lib/js/components/SurveyQuestions/SurveyQuestionOpenEnded/SurveyQuestionOpenEnded.vue.d.ts +1 -0
  30. package/dist/lib/js/components/SurveyQuestions/SurveyQuestionScale/SurveyQuestionScale.vue.d.ts +1 -0
  31. package/dist/lib/js/components/Switch/Switch.vue.d.ts +1 -0
  32. package/dist/lib/js/components/Tile/Tile.sb.shared.d.ts +1 -0
  33. package/dist/lib/js/components/Tile/Tile.vue.d.ts +1 -0
  34. package/dist/lib/js/components/Toggles/ToggleButton/ToggleButton.vue.d.ts +1 -0
  35. package/dist/lib/js/components/Tooltip/Tooltip.consts.d.ts +7 -0
  36. package/dist/lib/js/components/Tooltip/Tooltip.stories.d.ts +7 -0
  37. package/dist/lib/js/components/Tooltip/Tooltip.vue.d.ts +79 -0
  38. package/dist/lib/js/components/Tooltip/index.d.ts +3 -0
  39. package/dist/lib/js/icons/fontawesome.d.ts +1 -0
  40. package/dist/lib/js/index.d.ts +3 -0
  41. package/dist/lib/js/primevue.d.ts +1 -0
  42. package/docs/531.90dff866.iframe.bundle.js +2 -0
  43. package/docs/iframe.html +1 -1
  44. package/docs/main.115da493.iframe.bundle.js +1 -0
  45. package/docs/project.json +1 -1
  46. package/lib/js/components/PopOver/PopOver.vue +44 -42
  47. package/lib/js/components/Tooltip/Tooltip.consts.ts +7 -0
  48. package/lib/js/components/Tooltip/Tooltip.stories.ts +118 -0
  49. package/lib/js/components/Tooltip/Tooltip.vue +91 -0
  50. package/lib/js/components/Tooltip/index.ts +4 -0
  51. package/lib/js/icons/fontawesome.ts +2 -0
  52. package/lib/js/index.ts +4 -0
  53. package/lib/js/primevue.ts +16 -0
  54. package/package.json +3 -1
  55. package/vue.config.js +17 -0
  56. package/docs/54.c8325f44.iframe.bundle.js +0 -2
  57. package/docs/main.8dfbddcf.iframe.bundle.js +0 -1
  58. /package/docs/{54.c8325f44.iframe.bundle.js.LICENSE.txt → 531.90dff866.iframe.bundle.js.LICENSE.txt} +0 -0
package/docs/project.json CHANGED
@@ -1 +1 @@
1
- {"generatedAt":1719584425466,"builder":{"name":"webpack5"},"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"metaFramework":{"name":"vue-cli","packageName":"@vue/cli-service","version":"5.0.8"},"packageManager":{"type":"yarn","version":"1.22.22"},"storybookVersion":"6.5.13","language":"typescript","storybookPackages":{"@storybook/builder-webpack5":{"version":"6.5.13"},"@storybook/manager-webpack5":{"version":"6.5.13"},"@storybook/vue3":{"version":"6.5.13"},"eslint-plugin-storybook":{"version":"0.6.6"}},"framework":{"name":"vue3"},"addons":{"@storybook/addon-actions":{"version":"6.5.16"},"@storybook/addon-docs":{"version":"6.5.15"},"@storybook/addon-controls":{"version":"6.5.15"},"@storybook/addon-storysource":{"version":"6.5.15"},"@storybook/addon-viewport":{"version":"6.5.15"},"storybook-addon-designs":{"version":"6.3.1"}}}
1
+ {"generatedAt":1720449439347,"builder":{"name":"webpack5"},"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"metaFramework":{"name":"vue-cli","packageName":"@vue/cli-service","version":"5.0.8"},"packageManager":{"type":"yarn","version":"1.22.22"},"storybookVersion":"6.5.13","language":"typescript","storybookPackages":{"@storybook/builder-webpack5":{"version":"6.5.13"},"@storybook/manager-webpack5":{"version":"6.5.13"},"@storybook/vue3":{"version":"6.5.13"},"eslint-plugin-storybook":{"version":"0.6.6"}},"framework":{"name":"vue3"},"addons":{"@storybook/addon-actions":{"version":"6.5.16"},"@storybook/addon-docs":{"version":"6.5.15"},"@storybook/addon-controls":{"version":"6.5.15"},"@storybook/addon-storysource":{"version":"6.5.15"},"@storybook/addon-viewport":{"version":"6.5.15"},"storybook-addon-designs":{"version":"6.3.1"}}}
@@ -1,50 +1,52 @@
1
1
  <template>
2
- <slot v-if="triggerAction === POP_OVER_TRIGGER_ACTIONS.NONE" name="reference" />
3
- <vue-popper
4
- v-else
5
- ref="popper"
6
- :key="key"
7
- :boundaries-selector="boundariesSelector"
8
- :force-show="forceShow"
9
- :options="{ placement, modifiers }"
10
- :trigger="triggerAction"
11
- :delay-on-mouse-over="300"
12
- :delay-on-mouse-out="300"
13
- :append-to-body="appendToBody"
14
- :visible-arrow="isPointerVisible"
15
- :root-class="rootClass"
16
- >
17
- <div
18
- class="popper ds-popOver"
19
- :class="{
20
- '-ds-color-neutral': color === POP_OVER_COLORS.NEUTRAL,
21
- '-ds-small': size === POP_OVER_SIZES.SMALL,
22
- '-ds-medium': size === POP_OVER_SIZES.MEDIUM,
23
- }"
2
+ <span>
3
+ <slot v-if="triggerAction === POP_OVER_TRIGGER_ACTIONS.NONE" name="reference" />
4
+ <vue-popper
5
+ v-else
6
+ ref="popper"
7
+ :key="key"
8
+ :boundaries-selector="boundariesSelector"
9
+ :force-show="forceShow"
10
+ :options="{ placement, modifiers }"
11
+ :trigger="triggerAction"
12
+ :delay-on-mouse-over="300"
13
+ :delay-on-mouse-out="300"
14
+ :append-to-body="appendToBody"
15
+ :visible-arrow="isPointerVisible"
16
+ :root-class="rootClass"
24
17
  >
25
- <img v-if="headerImageUrl" class="ds-popOver__image" :src="headerImageUrl" alt="" />
26
- <div class="ds-popOver__content">
27
- <div v-if="titleText" class="ds-popOver__title"> {{ titleText }} </div>
28
- <div v-if="subtitleText" class="ds-popOver__subtitle"> {{ subtitleText }} </div>
29
- <div class="ds-popOver__contentSlot" :class="{ '-ds-maxHeight': maxHeight }">
30
- <slot :close="close" />
18
+ <div
19
+ class="popper ds-popOver"
20
+ :class="{
21
+ '-ds-color-neutral': color === POP_OVER_COLORS.NEUTRAL,
22
+ '-ds-small': size === POP_OVER_SIZES.SMALL,
23
+ '-ds-medium': size === POP_OVER_SIZES.MEDIUM,
24
+ }"
25
+ >
26
+ <img v-if="headerImageUrl" class="ds-popOver__image" :src="headerImageUrl" alt="" />
27
+ <div class="ds-popOver__content">
28
+ <div v-if="titleText" class="ds-popOver__title"> {{ titleText }} </div>
29
+ <div v-if="subtitleText" class="ds-popOver__subtitle"> {{ subtitleText }} </div>
30
+ <div class="ds-popOver__contentSlot" :class="{ '-ds-maxHeight': maxHeight }">
31
+ <slot :close="close" />
32
+ </div>
31
33
  </div>
34
+ <ds-button
35
+ v-if="buttonText"
36
+ class="ds-popOver__button"
37
+ :type="BUTTON_TYPES.TEXT"
38
+ :size="BUTTON_SIZES.LARGE"
39
+ @click="$emit('button-click')"
40
+ >
41
+ {{ buttonText }}
42
+ </ds-button>
32
43
  </div>
33
- <ds-button
34
- v-if="buttonText"
35
- class="ds-popOver__button"
36
- :type="BUTTON_TYPES.TEXT"
37
- :size="BUTTON_SIZES.LARGE"
38
- @click="$emit('button-click')"
39
- >
40
- {{ buttonText }}
41
- </ds-button>
42
- </div>
43
44
 
44
- <template #reference>
45
- <slot name="reference" />
46
- </template>
47
- </vue-popper>
45
+ <template #reference>
46
+ <slot name="reference" />
47
+ </template>
48
+ </vue-popper>
49
+ </span>
48
50
  </template>
49
51
 
50
52
  <style lang="scss" scoped>
@@ -0,0 +1,7 @@
1
+ export const TOOLTIP_PLACEMENTS = {
2
+ TOP: 'top',
3
+ BOTTOM: 'bottom',
4
+ LEFT: 'left',
5
+ RIGHT: 'right',
6
+ } as const;
7
+ export type TooltipPlacement = typeof TOOLTIP_PLACEMENTS[keyof typeof TOOLTIP_PLACEMENTS];
@@ -0,0 +1,118 @@
1
+ import Tooltip from './Tooltip.vue';
2
+
3
+ import { Args, ArgTypes, Meta, StoryFn } from '@storybook/vue3';
4
+ import { TOOLTIP_PLACEMENTS } from './Tooltip.consts';
5
+ import DsSwitch from '../Switch/Switch.vue';
6
+ import DsButton from '../Buttons/Button/Button.vue';
7
+
8
+ export default {
9
+ title: 'Components/Tooltip',
10
+ component: Tooltip,
11
+ } as Meta<typeof Tooltip>;
12
+
13
+ const StoryTemplate: StoryFn<typeof Tooltip> = (args) => ({
14
+ components: { Tooltip },
15
+ setup() {
16
+ return { ...args };
17
+ },
18
+ template: `
19
+ <div style="padding: 60px; width: 100%;display: flex; justify-content: center">
20
+ <div style="padding: 60px;">
21
+ <span>This is a text with </span>
22
+ <tooltip
23
+ :text="text"
24
+ :inline="inline"
25
+ :is-disabled="isDisabled"
26
+ :placement="placement"
27
+ :is-pointer-visible="isPointerVisible">
28
+ <b>inline tooltip trigger</b>
29
+ </tooltip>
30
+ </div>
31
+ </div>
32
+ `,
33
+ });
34
+
35
+ export const Interactive = StoryTemplate.bind({});
36
+
37
+ const args = {
38
+ text: 'Lorem ipsum dolor sit amet.',
39
+ isDisabled: false,
40
+ placement: TOOLTIP_PLACEMENTS.BOTTOM,
41
+ isPointerVisible: true,
42
+ inline: true,
43
+ } as Args;
44
+
45
+ const argTypes = {
46
+ placement: {
47
+ control: { type: 'select', options: Object.values(TOOLTIP_PLACEMENTS) },
48
+ defaultValue: TOOLTIP_PLACEMENTS.BOTTOM,
49
+ },
50
+ } as ArgTypes;
51
+
52
+ Interactive.argTypes = argTypes;
53
+ Interactive.args = args;
54
+
55
+ Interactive.parameters = {
56
+ design: {
57
+ type: 'figma',
58
+ url: 'https://www.figma.com/design/izQdYyiBR1GQgFkaOIfIJI/LMS---DS-Components?node-id=8238-6888&m=dev',
59
+ },
60
+ };
61
+
62
+ const OnDsSwitchTemplate: StoryFn<typeof Tooltip> = (args) => ({
63
+ components: { Tooltip, DsSwitch },
64
+ setup() {
65
+ return { ...args };
66
+ },
67
+ template: `
68
+ <div style="padding: 60px; width: 100%;display: flex; justify-content: center">
69
+ <div style="padding: 60px;">
70
+ <tooltip
71
+ :text="text"
72
+ :is-disabled="isDisabled"
73
+ :placement="placement"
74
+ :is-pointer-visible="isPointerVisible">
75
+ <ds-switch
76
+ label-left="labelLeft"
77
+ label-right="labelRight"
78
+ :state="switchDisabled ? 'disabled' : 'default'"
79
+ />
80
+ </tooltip>
81
+ </div>
82
+ </div>
83
+ `,
84
+ });
85
+
86
+ export const OnDsSwitch = OnDsSwitchTemplate.bind({});
87
+
88
+ OnDsSwitch.argTypes = argTypes;
89
+ OnDsSwitch.args = { ...args, switchDisabled: true, inline: false };
90
+
91
+ const OnDsButtonTemplate: StoryFn<typeof Tooltip> = (args) => ({
92
+ components: { Tooltip, DsButton },
93
+ setup() {
94
+ return { ...args };
95
+ },
96
+ template: `
97
+ <div style="padding: 60px; width: 100%;display: flex; justify-content: center">
98
+ <div style="padding: 60px;">
99
+ <tooltip
100
+ :text="text"
101
+ :is-disabled="isDisabled"
102
+ :placement="placement"
103
+ :is-pointer-visible="isPointerVisible">
104
+ <ds-button
105
+ :state="buttonDisabled ? 'disabled': 'default'"
106
+ >
107
+ Test button
108
+ </ds-button>
109
+ </tooltip>
110
+ </div>
111
+ </div>
112
+ `,
113
+ });
114
+
115
+ export const OnDsButton = OnDsButtonTemplate.bind({});
116
+
117
+ OnDsButton.argTypes = argTypes;
118
+ OnDsButton.args = { ...args, buttonDisabled: true, inline: false };
@@ -0,0 +1,91 @@
1
+ <template>
2
+ <span v-if="inline" v-pv-tooltip:[tooltipParams]="options" tabindex="-1">
3
+ <slot />
4
+ </span>
5
+ <div v-else v-pv-tooltip:[tooltipParams]="options" tabindex="-1">
6
+ <slot />
7
+ </div>
8
+ </template>
9
+
10
+ <style lang="scss">
11
+ @import '../../../styles/settings/typography/tokens';
12
+
13
+ .ds-tooltip-text {
14
+ @include text-s-compact-bold;
15
+ }
16
+
17
+ .ds-tooltip-arrow-hide {
18
+ display: none;
19
+ }
20
+ </style>
21
+
22
+ <script lang="ts">
23
+ import { TOOLTIP_PLACEMENTS, TooltipPlacement } from './Tooltip.consts';
24
+ import { defineComponent, PropType } from 'vue';
25
+
26
+ export default defineComponent({
27
+ name: 'Tooltip',
28
+ props: {
29
+ placement: {
30
+ type: String as PropType<TooltipPlacement>,
31
+ default: TOOLTIP_PLACEMENTS.BOTTOM,
32
+ validator(placement: TooltipPlacement) {
33
+ return Object.values(TOOLTIP_PLACEMENTS).includes(placement);
34
+ },
35
+ },
36
+ text: {
37
+ type: String,
38
+ default: '',
39
+ },
40
+ isDisabled: {
41
+ type: Boolean,
42
+ default: false,
43
+ },
44
+ isPointerVisible: {
45
+ type: Boolean,
46
+ default: true,
47
+ },
48
+ inline: {
49
+ type: Boolean,
50
+ default: false,
51
+ },
52
+ },
53
+ computed: {
54
+ tooltipParams() {
55
+ return {
56
+ position: this.placement,
57
+ event: this.isTouchDevice() ? 'focus' : 'hover',
58
+ };
59
+ },
60
+ options() {
61
+ return {
62
+ value: this.text,
63
+ disabled: this.isDisabled,
64
+ dt: {
65
+ shadow: '0px 0px 4px 0px rgba(12, 23, 38, 0.08), 0px 6px 12px 0px rgba(12, 23, 38, 0.12), 0px 2px 4px 0px rgba(12, 23, 38, 0.06)',
66
+ padding: 'var(--spacing-space-3xs, 6px) var(--spacing-space-2xs, 8px)',
67
+ background: 'var(--neutral-background-medium, #E5E7ED)',
68
+ color: 'var(--neutral-text-heavy, #343C50)',
69
+ borderRadius: '4px',
70
+ },
71
+ ptOptions: {
72
+ mergeProps: true,
73
+ },
74
+ pt: {
75
+ text: 'ds-tooltip-text',
76
+ arrow: this.isPointerVisible ? '' : 'ds-tooltip-arrow-hide',
77
+ },
78
+ };
79
+ },
80
+ },
81
+ methods: {
82
+ isTouchDevice() {
83
+ return (
84
+ 'ontouchstart' in window ||
85
+ navigator.maxTouchPoints > 0 ||
86
+ (navigator as any).msMaxTouchPoints > 0
87
+ );
88
+ },
89
+ },
90
+ });
91
+ </script>
@@ -0,0 +1,4 @@
1
+ import Tooltip from './Tooltip.vue';
2
+
3
+ export default Tooltip;
4
+ export * from './Tooltip.consts';
@@ -11,6 +11,7 @@ import { faArrowRightFromBracket } from '@fortawesome/pro-regular-svg-icons/faAr
11
11
  import { faArrowRotateLeft } from '@fortawesome/pro-regular-svg-icons/faArrowRotateLeft';
12
12
  import { faArrowsMaximize } from '@fortawesome/pro-regular-svg-icons/faArrowsMaximize';
13
13
  import { faArrowsRotate } from '@fortawesome/pro-regular-svg-icons/faArrowsRotate';
14
+ import { faArrowUpRightAndArrowDownLeftFromCenter } from '@fortawesome/pro-regular-svg-icons/faArrowUpRightAndArrowDownLeftFromCenter';
14
15
  import { faArrowUpRightFromSquare } from '@fortawesome/pro-regular-svg-icons/faArrowUpRightFromSquare';
15
16
  import { faBadgePercent } from '@fortawesome/pro-regular-svg-icons/faBadgePercent';
16
17
  import { faBan } from '@fortawesome/pro-regular-svg-icons/faBan';
@@ -202,6 +203,7 @@ export const FONTAWESOME_ICONS = {
202
203
  FA_ARROW_RIGHT_SOLID: fasArrowRight,
203
204
  FA_ARROW_ROTATE_LEFT: faArrowRotateLeft,
204
205
  FA_ARROW_UP_SOLID: fasArrowUp,
206
+ FA_ARROW_UP_RIGHT_AND_ARROW_DOWN_LEFT_FROM_CENTER: faArrowUpRightAndArrowDownLeftFromCenter,
205
207
  FA_ARROW_UP_RIGHT_FROM_SQUARE: faArrowUpRightFromSquare,
206
208
  FA_ARROWS_LEFT_RIGHT_SOLID: fasArrowsLeftRight,
207
209
  FA_ARROWS_MAXIMIZE: faArrowsMaximize,
package/lib/js/index.ts CHANGED
@@ -95,6 +95,10 @@ export { default as BasicRichListItem } from './components/RichList/BasicRichLis
95
95
  export { default as GroupRichListItem } from './components/RichList/GroupRichListItem';
96
96
  export { default as Switch } from './components/Switch';
97
97
  export * from './components/Switch/Switch.consts';
98
+ export { default as DsTooltip } from './components/Tooltip';
99
+ export * from './components/Tooltip/Tooltip.consts';
100
+
101
+ export { initializePrimeVue } from './primevue';
98
102
 
99
103
  export {
100
104
  initialize as initializeIcons,
@@ -0,0 +1,16 @@
1
+ import PrimeVue from 'primevue/config';
2
+ import Aura from '@primevue/themes/aura';
3
+ import Tooltip from 'primevue/tooltip';
4
+
5
+ export const initializePrimeVue = (app) => {
6
+ app.use(PrimeVue, {
7
+ theme: {
8
+ preset: Aura,
9
+ options: {
10
+ darkModeSelector: '.app-dark', // enabling dark mode in storybook makes all components canvas black
11
+ },
12
+ },
13
+ });
14
+
15
+ app.directive('pv-tooltip', Tooltip);
16
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bethinkpl/design-system",
3
- "version": "22.1.0",
3
+ "version": "22.2.0",
4
4
  "description": "Bethink universe design-system",
5
5
  "repository": "git@github.com:bethinkpl/design-system.git",
6
6
  "author": "nerdy@bethink.pl",
@@ -37,6 +37,7 @@
37
37
  "@fortawesome/pro-regular-svg-icons": "6.4.2",
38
38
  "@fortawesome/pro-solid-svg-icons": "6.4.2",
39
39
  "@fortawesome/vue-fontawesome": "3.0.3",
40
+ "@primevue/themes": "4.0.0-rc.3",
40
41
  "@storybook/addon-actions": "^6.5.13",
41
42
  "@storybook/addon-controls": "^6.5.13",
42
43
  "@storybook/addon-docs": "^6.5.13",
@@ -68,6 +69,7 @@
68
69
  "jsdom-global": "^3.0.2",
69
70
  "postcss-prefix-selector": "^1.9.0",
70
71
  "prettier": "2.7.1",
72
+ "primevue": "4.0.0-rc.3",
71
73
  "sass": "^1.28.0",
72
74
  "sass-loader": "^7.1.0",
73
75
  "storybook-addon-designs": "^6.3.1",
package/vue.config.js CHANGED
@@ -1,3 +1,12 @@
1
+ const path = require('path');
2
+ const fs = require('fs');
3
+
4
+ function getDirectories(module) {
5
+ return fs
6
+ .readdirSync(module)
7
+ .filter((file) => fs.statSync(path.join(module, file)).isDirectory());
8
+ }
9
+
1
10
  module.exports = {
2
11
  /**
3
12
  * we disable parallel for production, because if we use ts-loader the Thread Loader does
@@ -27,6 +36,14 @@ module.exports = {
27
36
  transpileOnly: false,
28
37
  happyPackMode: false,
29
38
  }));
39
+
40
+ const primePackages = ['primevue', '@primevue/themes'];
41
+ primePackages.forEach((pkg) => {
42
+ const modulePath = path.resolve(__dirname, `node_modules/${pkg}`);
43
+ getDirectories(modulePath).forEach((dir) => {
44
+ config.resolve.alias.set(`${pkg}/${dir}`, path.join(modulePath, dir));
45
+ });
46
+ });
30
47
  }
31
48
 
32
49
  const svgRule = config.module.rule('svg');