@bethinkpl/design-system 28.1.0 → 28.1.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/RadioButton-CW_pQ22k.js +63 -0
- package/dist/RadioButton-CW_pQ22k.js.map +1 -0
- package/dist/RadioButton-D4PqxF7h.js +63 -0
- package/dist/RadioButton-D4PqxF7h.js.map +1 -0
- package/dist/design-system.css +1 -1
- package/dist/design-system.js +51 -50
- package/dist/index-Cw_ZUe18.js +24353 -0
- package/dist/index-Cw_ZUe18.js.map +1 -0
- package/dist/index-DoYtlMO1.js +24340 -0
- package/dist/index-DoYtlMO1.js.map +1 -0
- package/dist/lib/js/components/DatePickers/DatePicker/DatePicker.vue.d.ts +29 -344
- package/dist/lib/js/components/Drawer/DrawerHeader/DrawerHeader.vue.d.ts +9 -0
- package/dist/lib/js/components/Drawer/DrawerTile/DrawerTile.vue.d.ts +24 -343
- package/dist/lib/js/components/SelectList/SelectListItemTile/SelectListItemTile.vue.d.ts +24 -343
- package/dist/lib/js/components/Tile/Tile.consts.d.ts +7 -0
- package/dist/lib/js/components/Tile/Tile.shared.d.ts +6 -5
- package/dist/lib/js/components/Tile/Tile.vue.d.ts +13 -334
- package/docs/assets/{BasicRichListItem.stories-BombKUP8.js → BasicRichListItem.stories-To26d0ud.js} +1 -1
- package/docs/assets/{Color-ERTF36HU-BlBs6xBv.js → Color-ERTF36HU-DBRw6WGm.js} +1 -1
- package/docs/assets/{DateBox.stories-CvSdYJL_.js → DateBox.stories-DC9cjrGL.js} +1 -1
- package/docs/assets/{DatePicker-BVx6P3PE.css → DatePicker-BWZO6ZC5.css} +1 -1
- package/docs/assets/DatePicker-C0aX9aQq.js +1 -0
- package/docs/assets/{DatePicker.stories-BF9g3cAo.js → DatePicker.stories-D6dLAs0e.js} +1 -1
- package/docs/assets/{DateRangePicker-Dk7Hhmj_.js → DateRangePicker-te5p1lzV.js} +1 -1
- package/docs/assets/{DateRangePicker.stories-DV_HvnIE.js → DateRangePicker.stories-aI8ObB8_.js} +1 -1
- package/docs/assets/{DocsRenderer-CFRXHY34-BtXyHL3w.js → DocsRenderer-CFRXHY34-BANCZeDH.js} +5 -5
- package/docs/assets/DrawerHeader-2_o1tH77.css +1 -0
- package/docs/assets/DrawerHeader-Dl-SWpsp.js +1 -0
- package/docs/assets/{DrawerHeader.stories-D4zWk3nM.js → DrawerHeader.stories-CM2_zZ3T.js} +5 -3
- package/docs/assets/{DrawerTile-CHCKt-6O.js → DrawerTile-OJ7fZEGc.js} +1 -1
- package/docs/assets/{DrawerTile.stories-mGJZCeHv.js → DrawerTile.stories-DQjStS7E.js} +1 -1
- package/docs/assets/{RichListItem.stories-Ctzvcidt.js → RichListItem.stories-S0XhcUL9.js} +1 -1
- package/docs/assets/{SelectListItemTile-DMMvPXiH.js → SelectListItemTile-rpzPcOOm.js} +1 -1
- package/docs/assets/{SelectListItemTile.stories-4vopjjZy.js → SelectListItemTile.stories-DNVbGIPG.js} +1 -1
- package/docs/assets/{SelectionTile-Doi187cR.js → SelectionTile-DZ7fLYvR.js} +1 -1
- package/docs/assets/{SelectionTile.stories-BqenNNPT.js → SelectionTile.stories-qyDBAi7s.js} +1 -1
- package/docs/assets/Tile-C5uMgiEB.js +1 -0
- package/docs/assets/Tile-D82_FDdl.css +1 -0
- package/docs/assets/{Tile.sb.shared-DgtJ_hH9.js → Tile.sb.shared-BFRnT0QY.js} +4 -4
- package/docs/assets/{Tile.stories-n8PAS1c3.js → Tile.stories-WO2bZrBA.js} +1 -1
- package/docs/assets/{iframe-BIhQskTb.js → iframe-DJqDpuzz.js} +2 -2
- package/docs/assets/{index-CrqSFYdH.js → index-DYcbzxsX.js} +1 -1
- package/docs/assets/{index-Dmw1sHC8.js → index-j8yEukOi.js} +1 -1
- package/docs/assets/{preview-DOhGpjgA.js → preview-CbUssxZj.js} +1 -1
- package/docs/assets/{preview-hC0Zi1u8.js → preview-kJ3x2L6r.js} +2 -2
- package/docs/iframe.html +1 -1
- package/docs/project.json +1 -1
- package/lib/js/components/DatePickers/DatePicker/DatePicker.spec.ts +41 -0
- package/lib/js/components/DatePickers/DatePicker/DatePicker.vue +12 -6
- package/lib/js/components/Drawer/DrawerHeader/DrawerHeader.spec.ts +55 -0
- package/lib/js/components/Drawer/DrawerHeader/DrawerHeader.stories.ts +3 -0
- package/lib/js/components/Drawer/DrawerHeader/DrawerHeader.vue +49 -29
- package/lib/js/components/Tile/Tile.consts.ts +9 -0
- package/lib/js/components/Tile/Tile.sb.shared.ts +7 -3
- package/lib/js/components/Tile/Tile.shared.ts +9 -4
- package/lib/js/components/Tile/Tile.vue +83 -57
- package/package.json +2 -2
- package/docs/assets/DatePicker-DN-tNmqU.js +0 -1
- package/docs/assets/DrawerHeader-6wWrTFMU.css +0 -1
- package/docs/assets/DrawerHeader-CRcLTxbC.js +0 -1
- package/docs/assets/Tile-CL6-scA8.css +0 -1
- package/docs/assets/Tile-DEjMPKc5.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DocsRenderer-CFRXHY34-
|
|
2
|
-
import{_ as s}from"./iframe-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DocsRenderer-CFRXHY34-BANCZeDH.js","./iframe-DJqDpuzz.js","./index-C7dYv50j.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as s}from"./iframe-DJqDpuzz.js";import"../sb-preview/runtime.js";const{global:_}=__STORYBOOK_MODULE_GLOBAL__;var o,i=Object.entries((o=_.TAGS_OPTIONS)!=null?o:{}).reduce((e,r)=>{let[t,a]=r;return a.excludeFromDocsStories&&(e[t]=!0),e},{}),d={docs:{renderer:async()=>{let{DocsRenderer:e}=await s(()=>import("./DocsRenderer-CFRXHY34-BANCZeDH.js").then(r=>r.an),__vite__mapDeps([0,1,2]),import.meta.url);return new e},stories:{filter:e=>{var r;return(e.tags||[]).filter(t=>i[t]).length===0&&!((r=e.parameters.docs)!=null&&r.disable)}}}};export{d as parameters};
|
package/docs/iframe.html
CHANGED
|
@@ -510,7 +510,7 @@
|
|
|
510
510
|
</script>
|
|
511
511
|
<link rel="stylesheet" href="./preview.css">
|
|
512
512
|
|
|
513
|
-
<script type="module" crossorigin src="./assets/iframe-
|
|
513
|
+
<script type="module" crossorigin src="./assets/iframe-DJqDpuzz.js"></script>
|
|
514
514
|
</head>
|
|
515
515
|
|
|
516
516
|
<body>
|
package/docs/project.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generatedAt":
|
|
1
|
+
{"generatedAt":1754641575729,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":true,"refCount":0,"testPackages":{"@vitest/coverage-c8":"0.33.0","@vitest/ui":"3.1.4","vitest":"3.1.4"},"packageManager":{"type":"yarn","version":"1.22.22"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/vue3-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/vue3","portableStoriesFileCount":3,"storybookVersion":"8.3.4","storybookVersionSpecifier":"^8.3.4","language":"typescript","storybookPackages":{"@storybook/vue3":{"version":"8.3.4"},"@storybook/vue3-vite":{"version":"8.3.4"},"eslint-plugin-storybook":{"version":"0.8.0"},"storybook":{"version":"8.3.4"}},"addons":{"@storybook/addon-actions":{"version":"8.3.4"},"@storybook/addon-designs":{"version":"8.0.3"},"@storybook/addon-docs":{"version":"8.3.4"},"@storybook/addon-controls":{"version":"8.3.4"},"@storybook/addon-storysource":{"version":"8.3.4"},"@storybook/addon-viewport":{"version":"8.3.4"}}}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { mount } from '@vue/test-utils';
|
|
3
|
+
import DatePicker from './DatePicker.vue';
|
|
4
|
+
import { Tile, TILE_COMPACT_LAYOUTS } from '../../../';
|
|
5
|
+
|
|
6
|
+
const createComponent = (props = {}) => {
|
|
7
|
+
return mount(DatePicker, {
|
|
8
|
+
props,
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
describe('DatePicker', () => {
|
|
13
|
+
describe('Hidden Icon', () => {
|
|
14
|
+
it('should pass DEFAULT compact layout to Tile when isIconHiddenOnMobile is not set', () => {
|
|
15
|
+
const component = createComponent();
|
|
16
|
+
|
|
17
|
+
const tile = component.findComponent(Tile);
|
|
18
|
+
|
|
19
|
+
expect(tile.exists()).toBeTruthy();
|
|
20
|
+
expect(tile.props().compactLayout).toEqual(TILE_COMPACT_LAYOUTS.DEFAULT);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('should pass DEFAULT compact layout to Tile when isIconHiddenOnMobile is set to false', () => {
|
|
24
|
+
const component = createComponent({ isIconHiddenOnMobile: false });
|
|
25
|
+
|
|
26
|
+
const tile = component.findComponent(Tile);
|
|
27
|
+
|
|
28
|
+
expect(tile.exists()).toBeTruthy();
|
|
29
|
+
expect(tile.props().compactLayout).toEqual(TILE_COMPACT_LAYOUTS.DEFAULT);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it('should pass ICON_RIGHT_HIDDEN compact layout to Tile when isIconHiddenOnMobile is set to true', () => {
|
|
33
|
+
const component = createComponent({ isIconHiddenOnMobile: true });
|
|
34
|
+
|
|
35
|
+
const tile = component.findComponent(Tile);
|
|
36
|
+
|
|
37
|
+
expect(tile.exists()).toBeTruthy();
|
|
38
|
+
expect(tile.props().compactLayout).toEqual(TILE_COMPACT_LAYOUTS.ICON_RIGHT_HIDDEN);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
@@ -28,10 +28,14 @@
|
|
|
28
28
|
:border-color="borderColor"
|
|
29
29
|
:state="tileState"
|
|
30
30
|
:icon-right="tileIcon"
|
|
31
|
-
:is-icon-right-hidden-on-mobile="isIconHiddenOnMobile"
|
|
32
31
|
:eyebrow-text="eyebrowText"
|
|
33
32
|
:additional-text-max-width="TILE_ADDITIONAL_TEXT_MAX_WIDTHS.MEDIUM"
|
|
34
33
|
has-border
|
|
34
|
+
:compact-layout="
|
|
35
|
+
isIconHiddenOnMobile
|
|
36
|
+
? TILE_COMPACT_LAYOUTS.ICON_RIGHT_HIDDEN
|
|
37
|
+
: TILE_COMPACT_LAYOUTS.DEFAULT
|
|
38
|
+
"
|
|
35
39
|
@click.stop.prevent="toggle"
|
|
36
40
|
/>
|
|
37
41
|
</template>
|
|
@@ -145,6 +149,7 @@ import { Instance as DatePickerInstance } from 'flatpickr/dist/types/instance';
|
|
|
145
149
|
import DsTile, {
|
|
146
150
|
TILE_ADDITIONAL_TEXT_MAX_WIDTHS,
|
|
147
151
|
TILE_BORDER_COLORS,
|
|
152
|
+
TILE_COMPACT_LAYOUTS,
|
|
148
153
|
TileColor,
|
|
149
154
|
TileState,
|
|
150
155
|
} from '../../Tile';
|
|
@@ -297,11 +302,12 @@ export default defineComponent({
|
|
|
297
302
|
toggleDatePicker,
|
|
298
303
|
updateDatePicker,
|
|
299
304
|
createDatePicker,
|
|
300
|
-
DATE_PICKER_CALENDAR_POSITIONS
|
|
301
|
-
DATE_PICKER_COLORS
|
|
302
|
-
DATE_PICKER_STATES
|
|
303
|
-
DATE_PICKER_TRIGGER_TYPES
|
|
304
|
-
TILE_ADDITIONAL_TEXT_MAX_WIDTHS
|
|
305
|
+
DATE_PICKER_CALENDAR_POSITIONS,
|
|
306
|
+
DATE_PICKER_COLORS,
|
|
307
|
+
DATE_PICKER_STATES,
|
|
308
|
+
DATE_PICKER_TRIGGER_TYPES,
|
|
309
|
+
TILE_ADDITIONAL_TEXT_MAX_WIDTHS,
|
|
310
|
+
TILE_COMPACT_LAYOUTS,
|
|
305
311
|
};
|
|
306
312
|
},
|
|
307
313
|
computed: {
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { mount } from '@vue/test-utils';
|
|
3
|
+
import DrawerHeader from './DrawerHeader.vue';
|
|
4
|
+
import { IconButton } from '../../../';
|
|
5
|
+
|
|
6
|
+
const createComponent = (props = {}) => {
|
|
7
|
+
return mount(DrawerHeader, {
|
|
8
|
+
props,
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
describe('DrawerHeader', () => {
|
|
13
|
+
describe('hasBackButton', () => {
|
|
14
|
+
it('should show back button on first level when hasBackButton set to true', () => {
|
|
15
|
+
const component = createComponent({ hasBackButton: true });
|
|
16
|
+
|
|
17
|
+
const backButton = component
|
|
18
|
+
.find('.ds-drawerHeader__firstLevel')
|
|
19
|
+
.findComponent(IconButton);
|
|
20
|
+
|
|
21
|
+
expect(backButton.exists()).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
it('should hide back button on first level when not set', () => {
|
|
24
|
+
const component = createComponent();
|
|
25
|
+
|
|
26
|
+
const backButton = component
|
|
27
|
+
.find('.ds-drawerHeader__firstLevel')
|
|
28
|
+
.findComponent(IconButton);
|
|
29
|
+
|
|
30
|
+
expect(backButton.exists()).toBeFalsy();
|
|
31
|
+
});
|
|
32
|
+
it('should hide back button on first level when hasBackButton set to false', () => {
|
|
33
|
+
const component = createComponent({ hasBackButton: false });
|
|
34
|
+
|
|
35
|
+
const backButton = component
|
|
36
|
+
.find('.ds-drawerHeader__firstLevel')
|
|
37
|
+
.findComponent(IconButton);
|
|
38
|
+
|
|
39
|
+
expect(backButton.exists()).toBeFalsy();
|
|
40
|
+
});
|
|
41
|
+
it('should emit backClicked when clicking on back', async () => {
|
|
42
|
+
const component = createComponent({ hasBackButton: true });
|
|
43
|
+
|
|
44
|
+
const backButton = component
|
|
45
|
+
.find('.ds-drawerHeader__firstLevel')
|
|
46
|
+
.findComponent(IconButton);
|
|
47
|
+
|
|
48
|
+
expect(backButton.exists()).toBeTruthy();
|
|
49
|
+
|
|
50
|
+
await backButton.trigger('click');
|
|
51
|
+
|
|
52
|
+
expect(component.emitted().backClicked).toHaveLength(1);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
@@ -32,6 +32,7 @@ const StoryTemplate: StoryFn<typeof DrawerHeader> = (args) => ({
|
|
|
32
32
|
:title-color="titleColor"
|
|
33
33
|
:title-ellipsis="titleEllipsis"
|
|
34
34
|
:title="title"
|
|
35
|
+
:has-back-button="hasBackButton"
|
|
35
36
|
>
|
|
36
37
|
<template #actions v-if="actions">
|
|
37
38
|
<div v-html="actions" />
|
|
@@ -58,6 +59,7 @@ const args = {
|
|
|
58
59
|
isSecondLevel: false,
|
|
59
60
|
actions: 'actions slot',
|
|
60
61
|
titleTrailing: 'trailing slot',
|
|
62
|
+
hasBackButton: false,
|
|
61
63
|
} as Args;
|
|
62
64
|
|
|
63
65
|
const argTypes = {
|
|
@@ -80,6 +82,7 @@ const argTypes = {
|
|
|
80
82
|
isClosable: { control: 'boolean' },
|
|
81
83
|
actions: { control: 'text' },
|
|
82
84
|
titleTrailing: { control: 'text' },
|
|
85
|
+
hasBackButton: { control: 'boolean' },
|
|
83
86
|
} as ArgTypes;
|
|
84
87
|
|
|
85
88
|
Interactive.argTypes = argTypes;
|
|
@@ -11,34 +11,43 @@
|
|
|
11
11
|
Wróć
|
|
12
12
|
</ds-button>
|
|
13
13
|
<div :class="{ '-ds-hidden': isSecondLevel }" class="ds-drawerHeader__firstLevel">
|
|
14
|
-
<
|
|
15
|
-
v-if="
|
|
16
|
-
:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
>
|
|
23
|
-
{{ eyebrowText }}
|
|
24
|
-
</span>
|
|
25
|
-
<div class="ds-drawerHeader__title">
|
|
26
|
-
<icon
|
|
27
|
-
v-if="leftIcon"
|
|
28
|
-
:icon="leftIcon"
|
|
29
|
-
:size="ICON_SIZES.X_SMALL"
|
|
30
|
-
class="ds-drawerHeader__leftIcon"
|
|
31
|
-
/>
|
|
14
|
+
<icon-button
|
|
15
|
+
v-if="hasBackButton"
|
|
16
|
+
:size="ICON_BUTTON_SIZES.MEDIUM"
|
|
17
|
+
:icon="ICONS.FA_CHEVRON_LEFT"
|
|
18
|
+
:touchable="false"
|
|
19
|
+
@click="$emit('backClicked')"
|
|
20
|
+
/>
|
|
21
|
+
<div class="ds-drawerHeader__textWrapper">
|
|
32
22
|
<span
|
|
33
|
-
v-if="
|
|
34
|
-
class="
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
23
|
+
v-if="eyebrowText"
|
|
24
|
+
:class="{
|
|
25
|
+
'-ds-isInteractive': isInteractiveEyebrow,
|
|
26
|
+
'-ds-ellipsis': eyebrowEllipsis,
|
|
27
|
+
}"
|
|
28
|
+
class="ds-drawerHeader__eyebrow"
|
|
29
|
+
@click="isInteractiveEyebrow && $emit('eyebrowClicked')"
|
|
38
30
|
>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
{{ eyebrowText }}
|
|
32
|
+
</span>
|
|
33
|
+
<div class="ds-drawerHeader__title">
|
|
34
|
+
<icon
|
|
35
|
+
v-if="leftIcon"
|
|
36
|
+
:icon="leftIcon"
|
|
37
|
+
:size="ICON_SIZES.X_SMALL"
|
|
38
|
+
class="ds-drawerHeader__leftIcon"
|
|
39
|
+
/>
|
|
40
|
+
<span
|
|
41
|
+
v-if="title"
|
|
42
|
+
class="ds-drawerHeader__titleText"
|
|
43
|
+
:class="{ '-ds-ellipsis': titleEllipsis, [`-ds-${titleColor}`]: true }"
|
|
44
|
+
:title="titleEllipsis ? title : undefined"
|
|
45
|
+
>{{ title }}</span
|
|
46
|
+
>
|
|
47
|
+
<chip v-if="chipLabel" :label="chipLabel" />
|
|
48
|
+
<div v-if="$slots.titleTrailing">
|
|
49
|
+
<slot name="titleTrailing" />
|
|
50
|
+
</div>
|
|
42
51
|
</div>
|
|
43
52
|
</div>
|
|
44
53
|
</div>
|
|
@@ -77,16 +86,23 @@ $minimal-drawer-header-height: 82px;
|
|
|
77
86
|
}
|
|
78
87
|
|
|
79
88
|
&__firstLevel {
|
|
89
|
+
align-items: center;
|
|
80
90
|
display: flex;
|
|
81
|
-
flex-direction: column;
|
|
82
91
|
min-width: 0;
|
|
83
|
-
row-gap: $space-4xs;
|
|
84
92
|
|
|
85
93
|
&.-ds-hidden {
|
|
86
94
|
visibility: hidden; // by this we make sure that height does not change when switching to second level
|
|
87
95
|
}
|
|
88
96
|
}
|
|
89
97
|
|
|
98
|
+
&__textWrapper {
|
|
99
|
+
display: flex;
|
|
100
|
+
flex-direction: column;
|
|
101
|
+
min-width: 0;
|
|
102
|
+
padding-left: $space-4xs;
|
|
103
|
+
row-gap: $space-4xs;
|
|
104
|
+
}
|
|
105
|
+
|
|
90
106
|
&__eyebrow {
|
|
91
107
|
@include info-s-extensive-bold-uppercase;
|
|
92
108
|
|
|
@@ -134,7 +150,7 @@ $minimal-drawer-header-height: 82px;
|
|
|
134
150
|
display: flex;
|
|
135
151
|
justify-content: space-between;
|
|
136
152
|
min-height: $minimal-drawer-header-height;
|
|
137
|
-
padding: $space-m $space-xs
|
|
153
|
+
padding: $space-m $space-xs;
|
|
138
154
|
}
|
|
139
155
|
|
|
140
156
|
&__actions {
|
|
@@ -211,6 +227,10 @@ export default defineComponent({
|
|
|
211
227
|
type: Boolean,
|
|
212
228
|
default: false,
|
|
213
229
|
},
|
|
230
|
+
hasBackButton: {
|
|
231
|
+
type: Boolean,
|
|
232
|
+
default: false,
|
|
233
|
+
},
|
|
214
234
|
},
|
|
215
235
|
// TODO fix me when touching this file
|
|
216
236
|
// eslint-disable-next-line vue/require-emit-validator
|
|
@@ -46,3 +46,12 @@ export const TILE_ADDITIONAL_TEXT_MAX_WIDTHS = {
|
|
|
46
46
|
} as const;
|
|
47
47
|
|
|
48
48
|
export type TileAdditionalTextMaxWidth = Value<typeof TILE_ADDITIONAL_TEXT_MAX_WIDTHS>;
|
|
49
|
+
|
|
50
|
+
export const TILE_COMPACT_LAYOUTS = {
|
|
51
|
+
DEFAULT: 'default',
|
|
52
|
+
ICON_RIGHT_HIDDEN: 'iconRightHidden',
|
|
53
|
+
ICON_LEFT_ONLY: 'iconLeftOnly',
|
|
54
|
+
ICON_RIGHT_ONLY: 'iconRightOnly',
|
|
55
|
+
} as const;
|
|
56
|
+
|
|
57
|
+
export type TileCompactLayout = Value<typeof TILE_COMPACT_LAYOUTS>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ICONS } from '../Icons/Icon';
|
|
2
|
-
import { TILE_BORDER_COLORS, TILE_COLORS, TILE_STATES } from './Tile.consts';
|
|
2
|
+
import { TILE_BORDER_COLORS, TILE_COLORS, TILE_COMPACT_LAYOUTS, TILE_STATES } from './Tile.consts';
|
|
3
3
|
import { Args, ArgTypes } from '@storybook/vue3';
|
|
4
4
|
import DsBanner, { BANNER_COLORS } from '../Banner';
|
|
5
5
|
|
|
@@ -12,13 +12,13 @@ export const template = (componentTag: string) => `
|
|
|
12
12
|
:eyebrow-text="eyebrowText"
|
|
13
13
|
:icon-left="ICONS[iconLeft]"
|
|
14
14
|
:icon-right="ICONS[iconRight]"
|
|
15
|
-
:is-icon-right-hidden-on-mobile="isIconRightHiddenOnMobile"
|
|
16
15
|
:interactive="interactive"
|
|
17
16
|
:is-eyebrow-text-uppercase="isEyebrowTextUppercase"
|
|
18
17
|
:state="state"
|
|
19
18
|
:text-ellipsis="textEllipsis"
|
|
20
19
|
:text="text"
|
|
21
20
|
:border-color="borderColor"
|
|
21
|
+
:compact-layout="compactLayout"
|
|
22
22
|
/>
|
|
23
23
|
<ds-banner :color="BANNER_COLORS.WARNING" title="Taka kombinacja koloru komponentu z kolorem bordera jest niezgodna z design systemem!" v-if="borderColor && !allowedColorsToBorderColorsMap[color].includes(borderColor)" />
|
|
24
24
|
</div>
|
|
@@ -59,7 +59,6 @@ export const args = {
|
|
|
59
59
|
borderColor: null,
|
|
60
60
|
iconLeft: null,
|
|
61
61
|
iconRight: null,
|
|
62
|
-
isIconRightHiddenOnMobile: false,
|
|
63
62
|
eyebrowText: 'this is an eyebrowText text',
|
|
64
63
|
eyebrowEllipsis: true,
|
|
65
64
|
isEyebrowTextUppercase: false,
|
|
@@ -67,6 +66,7 @@ export const args = {
|
|
|
67
66
|
textEllipsis: true,
|
|
68
67
|
additionalText: '',
|
|
69
68
|
state: TILE_STATES.DEFAULT,
|
|
69
|
+
compactLayout: TILE_COMPACT_LAYOUTS.DEFAULT,
|
|
70
70
|
} as Args;
|
|
71
71
|
|
|
72
72
|
export const argTypes = {
|
|
@@ -90,4 +90,8 @@ export const argTypes = {
|
|
|
90
90
|
control: 'select',
|
|
91
91
|
options: [...Object.values(TILE_STATES)],
|
|
92
92
|
},
|
|
93
|
+
compactLayout: {
|
|
94
|
+
control: 'select',
|
|
95
|
+
options: [...Object.values(TILE_COMPACT_LAYOUTS)],
|
|
96
|
+
},
|
|
93
97
|
} as ArgTypes;
|
|
@@ -3,10 +3,12 @@ import { ICONS } from '../Icons/Icon';
|
|
|
3
3
|
import {
|
|
4
4
|
TILE_ADDITIONAL_TEXT_MAX_WIDTHS,
|
|
5
5
|
TILE_COLORS,
|
|
6
|
+
TILE_COMPACT_LAYOUTS,
|
|
6
7
|
TILE_STATES,
|
|
7
8
|
TileAdditionalTextMaxWidth,
|
|
8
9
|
TileBorderColors,
|
|
9
10
|
TileColor,
|
|
11
|
+
TileCompactLayout,
|
|
10
12
|
TileState,
|
|
11
13
|
} from './Tile.consts';
|
|
12
14
|
|
|
@@ -29,10 +31,6 @@ export const props = {
|
|
|
29
31
|
return Object.values(ICONS).includes(toRaw(iconRight));
|
|
30
32
|
},
|
|
31
33
|
},
|
|
32
|
-
isIconRightHiddenOnMobile: {
|
|
33
|
-
type: Boolean,
|
|
34
|
-
default: false,
|
|
35
|
-
},
|
|
36
34
|
text: {
|
|
37
35
|
type: String,
|
|
38
36
|
required: true,
|
|
@@ -82,4 +80,11 @@ export const props = {
|
|
|
82
80
|
return Object.values(TILE_ADDITIONAL_TEXT_MAX_WIDTHS).includes(value);
|
|
83
81
|
},
|
|
84
82
|
},
|
|
83
|
+
compactLayout: {
|
|
84
|
+
type: String as PropType<TileCompactLayout>,
|
|
85
|
+
default: TILE_COMPACT_LAYOUTS.DEFAULT,
|
|
86
|
+
validator(value: TileCompactLayout) {
|
|
87
|
+
return Object.values(TILE_COMPACT_LAYOUTS).includes(value);
|
|
88
|
+
},
|
|
89
|
+
},
|
|
85
90
|
};
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
:class="[
|
|
4
4
|
tileColor,
|
|
5
5
|
tileState,
|
|
6
|
+
tileCompactLayoutClass,
|
|
6
7
|
{
|
|
7
8
|
'-ds-interactive': interactive,
|
|
8
9
|
[`-ds-border-${borderColor}`]: borderColor !== null,
|
|
@@ -38,7 +39,6 @@
|
|
|
38
39
|
<ds-icon
|
|
39
40
|
v-else-if="iconRight"
|
|
40
41
|
class="ds-tile__iconRight"
|
|
41
|
-
:class="{ '-ds-hiddenOnMobile': isIconRightHiddenOnMobile }"
|
|
42
42
|
:icon="iconRight"
|
|
43
43
|
:size="ICON_SIZES.SMALL"
|
|
44
44
|
/>
|
|
@@ -300,6 +300,8 @@ $tile-colors: (
|
|
|
300
300
|
border-radius: $radius-s;
|
|
301
301
|
display: flex;
|
|
302
302
|
flex-direction: row;
|
|
303
|
+
gap: $space-xs;
|
|
304
|
+
justify-content: center;
|
|
303
305
|
min-height: 48px;
|
|
304
306
|
padding: $space-2xs $space-xs;
|
|
305
307
|
transition: background-color ease-in-out $default-transition-time;
|
|
@@ -318,6 +320,40 @@ $tile-colors: (
|
|
|
318
320
|
}
|
|
319
321
|
}
|
|
320
322
|
|
|
323
|
+
&.-ds-iconLeftOnly {
|
|
324
|
+
#{$self}__center,
|
|
325
|
+
#{$self}__iconRight {
|
|
326
|
+
display: none;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
&.-ds-iconRightOnly {
|
|
331
|
+
#{$self}__center,
|
|
332
|
+
#{$self}__iconLeft {
|
|
333
|
+
display: none;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
&.-ds-iconRightHidden {
|
|
338
|
+
#{$self}__iconRight {
|
|
339
|
+
display: none;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
&.-ds-iconRightHidden,
|
|
344
|
+
&.-ds-iconLeftOnly,
|
|
345
|
+
&.-ds-iconRightOnly {
|
|
346
|
+
container-type: inline-size;
|
|
347
|
+
|
|
348
|
+
@container (width > 165px) {
|
|
349
|
+
#{$self}__center,
|
|
350
|
+
#{$self}__iconRight,
|
|
351
|
+
#{$self}__iconLeft {
|
|
352
|
+
display: flex;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
321
357
|
&__additionalText {
|
|
322
358
|
@include info-s-default-regular;
|
|
323
359
|
|
|
@@ -370,68 +406,58 @@ $tile-colors: (
|
|
|
370
406
|
}
|
|
371
407
|
}
|
|
372
408
|
|
|
373
|
-
&__iconLeft {
|
|
374
|
-
margin-right: $space-xs;
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
&__iconRight {
|
|
378
|
-
margin-left: $space-xs;
|
|
379
|
-
|
|
380
|
-
&.-ds-hiddenOnMobile {
|
|
381
|
-
display: none;
|
|
382
|
-
|
|
383
|
-
@media #{breakpoint-s()} {
|
|
384
|
-
display: block;
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
|
|
389
409
|
&.-ds-interactive:not(.-ds-disabled):not(.-ds-loading) {
|
|
390
410
|
cursor: pointer;
|
|
391
411
|
}
|
|
392
412
|
}
|
|
393
413
|
</style>
|
|
394
414
|
|
|
395
|
-
<script lang="ts">
|
|
415
|
+
<script setup lang="ts">
|
|
396
416
|
import DsIcon, { ICON_SIZES, ICONS } from '../Icons/Icon';
|
|
397
|
-
import {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
return
|
|
418
|
-
|
|
419
|
-
[TILE_COLORS.NEUTRAL_WEAK]: '-ds-neutralWeak',
|
|
420
|
-
[TILE_COLORS.PRIMARY]: '-ds-primary',
|
|
421
|
-
[TILE_COLORS.SUCCESS]: '-ds-success',
|
|
422
|
-
[TILE_COLORS.FAIL]: '-ds-fail',
|
|
423
|
-
[TILE_COLORS.DANGER]: '-ds-danger',
|
|
424
|
-
[TILE_COLORS.WARNING]: '-ds-warning',
|
|
425
|
-
[TILE_COLORS.INFO]: '-ds-info',
|
|
426
|
-
}[this.color];
|
|
427
|
-
},
|
|
428
|
-
tileState() {
|
|
429
|
-
return {
|
|
430
|
-
[TILE_STATES.DEFAULT]: null,
|
|
431
|
-
[TILE_STATES.DISABLED]: '-ds-disabled',
|
|
432
|
-
[TILE_STATES.LOADING]: '-ds-loading',
|
|
433
|
-
}[this.state];
|
|
434
|
-
},
|
|
435
|
-
},
|
|
417
|
+
import {
|
|
418
|
+
TILE_ADDITIONAL_TEXT_MAX_WIDTHS,
|
|
419
|
+
TILE_COLORS,
|
|
420
|
+
TILE_COMPACT_LAYOUTS,
|
|
421
|
+
TILE_STATES,
|
|
422
|
+
} from './Tile.consts';
|
|
423
|
+
import { props as TileProps } from './Tile.shared';
|
|
424
|
+
import { computed } from 'vue';
|
|
425
|
+
|
|
426
|
+
const props = defineProps(TileProps);
|
|
427
|
+
|
|
428
|
+
const tileCompactLayoutClass = computed(() => {
|
|
429
|
+
switch (props.compactLayout) {
|
|
430
|
+
case TILE_COMPACT_LAYOUTS.ICON_LEFT_ONLY:
|
|
431
|
+
return '-ds-iconLeftOnly';
|
|
432
|
+
case TILE_COMPACT_LAYOUTS.ICON_RIGHT_ONLY:
|
|
433
|
+
return '-ds-iconRightOnly';
|
|
434
|
+
case TILE_COMPACT_LAYOUTS.ICON_RIGHT_HIDDEN:
|
|
435
|
+
return '-ds-iconRightHidden';
|
|
436
|
+
default:
|
|
437
|
+
return '';
|
|
438
|
+
}
|
|
436
439
|
});
|
|
440
|
+
|
|
441
|
+
const tileColor = computed(
|
|
442
|
+
() =>
|
|
443
|
+
({
|
|
444
|
+
[TILE_COLORS.NEUTRAL]: '-ds-neutral',
|
|
445
|
+
[TILE_COLORS.NEUTRAL_WEAK]: '-ds-neutralWeak',
|
|
446
|
+
[TILE_COLORS.PRIMARY]: '-ds-primary',
|
|
447
|
+
[TILE_COLORS.SUCCESS]: '-ds-success',
|
|
448
|
+
[TILE_COLORS.FAIL]: '-ds-fail',
|
|
449
|
+
[TILE_COLORS.DANGER]: '-ds-danger',
|
|
450
|
+
[TILE_COLORS.WARNING]: '-ds-warning',
|
|
451
|
+
[TILE_COLORS.INFO]: '-ds-info',
|
|
452
|
+
}[props.color]),
|
|
453
|
+
);
|
|
454
|
+
|
|
455
|
+
const tileState = computed(
|
|
456
|
+
() =>
|
|
457
|
+
({
|
|
458
|
+
[TILE_STATES.DEFAULT]: null,
|
|
459
|
+
[TILE_STATES.DISABLED]: '-ds-disabled',
|
|
460
|
+
[TILE_STATES.LOADING]: '-ds-loading',
|
|
461
|
+
}[props.state]),
|
|
462
|
+
);
|
|
437
463
|
</script>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bethinkpl/design-system",
|
|
3
|
-
"version": "28.1.
|
|
3
|
+
"version": "28.1.2",
|
|
4
4
|
"description": "Bethink universe design-system",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -100,4 +100,4 @@
|
|
|
100
100
|
"vee-validate": ">=4.15.0",
|
|
101
101
|
"vue": ">=3.5.0"
|
|
102
102
|
}
|
|
103
|
-
}
|
|
103
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as $,j as L,c as l,a as s,g as o,e as P,y as E,k as C,v as p,F as X,l as N,o as a,b as g,Y as J,w as W,f as Q,H as F}from"./vue.esm-bundler-DcRN7CPI.js";import{c as x,T as u,d as ee}from"./Tile-DEjMPKc5.js";import{a as te,b as ae,I}from"./Icon-D3_O-s4-.js";import{_ as Y}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{_ as G}from"./iframe-BIhQskTb.js";const c={NEUTRAL_WEAK:"neutralWeak",NEUTRAL:"neutral",WARNING:"warning",DANGER:"danger"},A={DEFAULT:"default",DISABLED:"disabled",LOADING:"loading"},f={TOP:"top",TOP_LEFT:"top-left",TOP_RIGHT:"top-right",BOTTOM:"bottom",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right"},U={BOX:"box",TILE:"tile"},H={[f.BOTTOM_LEFT]:"below left",[f.BOTTOM_RIGHT]:"below right",[f.BOTTOM]:"below",[f.TOP_LEFT]:"above left",[f.TOP_RIGHT]:"above right",[f.TOP]:"above"};function k(e){return e.toLocaleDateString("pl-PL",{dateStyle:void 0,timeStyle:void 0,weekday:"long"})}function ne(e){return e.toLocaleDateString("pl-PL",{dateStyle:"medium",timeStyle:void 0})}function j(e){return e.toLocaleDateString("pl-PL",{month:"short",day:"2-digit"})}const M=e=>e.charAt(0).toUpperCase()+e.slice(1),Z=$({name:"DateBox",components:{DsIcon:te},props:{isInteractive:{type:Boolean,default:!0},placeholder:{type:String,default:"Ustaw"},startDate:{type:Date,default:null},endDate:{type:Date,default:null},startIcon:{type:Object,default:null,validate:e=>e===null||Object.values(I).includes(L(e))},endIcon:{type:Object,default:null,validate:e=>e===null||Object.values(I).includes(L(e))},areIconsHiddenOnMobile:{type:Boolean,default:!1},state:{type:String||null,default:A.DEFAULT},color:{type:String,default:c.NEUTRAL_WEAK},isOpen:{type:Boolean,default:!1}},data(){return{ICONS:Object.freeze(I),ICON_SIZES:Object.freeze(ae),DATE_PICKER_STATES:Object.freeze(A),DATE_PICKER_COLORS:Object.freeze(c)}},computed:{startDateText(){return this.startDate?j(this.startDate):this.placeholder},endDateIfDifferentThanStartDate(){return this.startDate&&this.endDate&&this.startDate.toDateString()!==this.endDate.toDateString()?this.endDate:null},endDateText(){return j(this.endDateIfDifferentThanStartDate)},startDateEyebrowText(){return this.startDate?M(k(this.startDate)):""},endDateEyebrowText(){return this.endDateIfDifferentThanStartDate?M(k(this.endDateIfDifferentThanStartDate)):""}}}),se={key:0,class:"ds-dateBox__loader"},le={class:"ds-dateBox__dateWrapper"},oe={key:0,class:"ds-dateBox__eyebrow"},ie={class:"ds-dateBox__date"},re={class:"ds-dateBox__dateText"},de={key:0,class:"ds-dateBox__loader"},ue={class:"ds-dateBox__dateWrapper"},ce={key:0,class:"ds-dateBox__eyebrow"},fe={class:"ds-dateBox__date"},De={class:"ds-dateBox__dateText"};function Te(e,D,_,T,m,t){const n=N("ds-icon");return a(),l("div",{class:p(["ds-dateBox",{"-ds-disabled":e.state===e.DATE_PICKER_STATES.DISABLED,"-ds-loading":e.state===e.DATE_PICKER_STATES.LOADING,"-ds-interactive":e.isInteractive,"-ds-warning":e.color===e.DATE_PICKER_COLORS.WARNING,"-ds-neutralWeak":e.DATE_PICKER_COLORS.NEUTRAL_WEAK===e.color,"-ds-neutral":e.DATE_PICKER_COLORS.NEUTRAL===e.color,"-ds-danger":e.color===e.DATE_PICKER_COLORS.DANGER,"-ds-isOpen":e.isOpen}])},[s("div",{class:p(["ds-dateBox__widthWrapper",{"-ds-has-icon":e.startIcon,"-ds-iconHiddenOnMobile":e.areIconsHiddenOnMobile}])},[e.state===e.DATE_PICKER_STATES.LOADING?(a(),l("div",se,[P(n,{icon:e.ICONS.FAD_SPINNER_THIRD,size:e.ICON_SIZES.X_SMALL,spinning:""},null,8,["icon","size"])])):o("",!0),s("div",le,[e.startDateEyebrowText?(a(),l("span",oe,E(e.startDateEyebrowText),1)):o("",!0),s("div",ie,[e.startIcon?(a(),C(n,{key:0,class:p(["ds-dateBox__icon",{"-ds-hiddenOnMobile":e.areIconsHiddenOnMobile}]),icon:e.startIcon,size:e.ICON_SIZES.XX_SMALL},null,8,["class","icon","size"])):o("",!0),s("span",re,E(e.startDateText),1)])])],2),e.startDate&&e.endDateIfDifferentThanStartDate?(a(),l(X,{key:0},[D[0]||(D[0]=s("span",{class:"ds-dateBox__separator"},"–",-1)),s("div",{class:p(["ds-dateBox__widthWrapper -ds-justify-to-end",{"-ds-has-icon":e.endIcon,"-ds-iconHiddenOnMobile":e.areIconsHiddenOnMobile}])},[e.state===e.DATE_PICKER_STATES.LOADING?(a(),l("div",de,[P(n,{icon:e.ICONS.FAD_SPINNER_THIRD,size:e.ICON_SIZES.X_SMALL,spinning:""},null,8,["icon","size"])])):o("",!0),s("div",ue,[e.endDateEyebrowText?(a(),l("span",ce,E(e.endDateEyebrowText),1)):o("",!0),s("div",fe,[e.endIcon?(a(),C(n,{key:0,class:p(["ds-dateBox__icon",{"-ds-hiddenOnMobile":e.areIconsHiddenOnMobile}]),icon:e.endIcon,size:e.ICON_SIZES.XX_SMALL},null,8,["class","icon","size"])):o("",!0),s("span",De,E(e.endDateText),1)])])],2)],64)):o("",!0)],2)}const pe=Y(Z,[["render",Te],["__scopeId","data-v-0e144c0e"]]);Z.__docgenInfo={displayName:"DateBox",exportName:"default",description:"",tags:{},props:[{name:"isInteractive",type:{name:"boolean"},defaultValue:{func:!1,value:"true"}},{name:"placeholder",type:{name:"string"},defaultValue:{func:!1,value:"'Ustaw'"}},{name:"startDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"endDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"startIcon",type:{name:"object"},defaultValue:{func:!1,value:"null"}},{name:"endIcon",type:{name:"object"},defaultValue:{func:!1,value:"null"}},{name:"areIconsHiddenOnMobile",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"state",type:{name:"(String as PropType<DatePickerStates>) || null"},defaultValue:{func:!1,value:"DATE_PICKER_STATES.DEFAULT"}},{name:"color",type:{name:"DatePickerColors"},defaultValue:{func:!1,value:"DATE_PICKER_COLORS.NEUTRAL_WEAK"}},{name:"isOpen",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}}],sourceFiles:["/home/runner/work/design-system/design-system/lib/js/components/DatePickers/DateBox/DateBox.vue"]};let v=null,z;function Ee({props:e,onChange:D,onClose:_,defaultDates:T,mode:m="single"}){let t=null;const n=g(!1),r=d=>{t==null||t.setDate(d,!1),t==null||t.updateValue(!1),t==null||t.jumpToDate(Array.isArray(d)?d[0]:d,!1)},R=async(d,h,S)=>{var B,w,K,V;if(!t){if(!v)try{v=(await G(async()=>{const{default:i}=await import("./index-CBmJdl9t.js");return{default:i}},[],import.meta.url)).default,z=(await G(async()=>{const{Polish:i}=await import("./pl-1OaNPZt2.js").then(b=>b.p);return{Polish:i}},[],import.meta.url)).Polish}catch(i){console.error("Failed to load flatpickr",i);return}if(t=v(d,{mode:m,locale:z,disableMobile:!0,positionElement:h,ignoredFocusElements:[h],position:H[e.calendarPosition],defaultDate:T,disable:e.disableDates,minDate:e.minDate,maxDate:e.maxDate,onClose:[()=>{n.value=!1,setTimeout(()=>{_()})}],onOpen:[()=>{n.value=!0}],onChange:D}),S){const i=document.querySelector(S),b=()=>{t==null||t._positionCalendar()};i&&((w=(B=t==null?void 0:t.config)==null?void 0:B.onOpen)==null||w.push(()=>{i.addEventListener("scroll",b,{passive:!0})}),(V=(K=t==null?void 0:t.config)==null?void 0:K.onClose)==null||V.push(()=>{i.removeEventListener("scroll",b)}))}return t}},y=()=>{t==null||t.destroy(),t=null};J(()=>{y()}),W([()=>e.calendarPosition,()=>e.minDate,()=>e.maxDate,()=>e.disableDates,()=>T],()=>{t==null||t.set({position:H[e.calendarPosition],defaultDate:T,disable:e.disableDates,minDate:e.minDate,maxDate:e.maxDate})},{flush:"post"}),W([()=>e.date,()=>e.startDate,()=>e.endDate],()=>{O()},{flush:"post"});const O=()=>{e.date?r(e.date):e.startDate&&e.endDate?r([e.startDate,e.endDate]):e.startDate&&!e.endDate?r(e.startDate):!e.startDate&&e.endDate?r(e.endDate):t==null||t.clear(!1)};return{datePicker:t,createDatePicker:R,destroyDatePicker:y,updateDatePicker:O,isOpen:n,toggle:()=>{t==null||t.toggle()}}}const q=$({name:"DatePicker",components:{DsTile:x,DateBox:pe},props:{triggerType:{type:String,default:U.TILE},isInteractive:{type:Boolean,default:!0},placeholder:{type:String,default:"Wybierz datę"},date:{type:Date,default:null},additionalText:{type:String,default:""},helpMessage:{type:String,default:null},label:{type:String,default:""},isLabelUppercase:{type:Boolean,default:!1},icon:{type:[Object,null],default:I.FA_CALENDAR_DAYS,validator(e){return e===null||Object.values(I).includes(L(e))}},isIconHiddenOnMobile:{type:Boolean,default:!1},errorMessage:{type:String,default:null},state:{type:String,default:A.DEFAULT},color:{type:String,default:c.NEUTRAL_WEAK},calendarPosition:{type:String,default:f.BOTTOM_LEFT},disableDates:{type:Array,default:()=>[]},minDate:{type:Date,default:null},maxDate:{type:Date,default:null},updatePositionBasedOnScrollableSelector:{type:String,default:""}},emits:{"update:date":e=>!0},setup(e,{emit:D}){var h;const _=g(null),T=g(),m=g(),t=S=>{D("update:date",S[0])},n=()=>{O(),_.value=null},{isOpen:r,toggle:R,createDatePicker:y,destroyDatePicker:O,updateDatePicker:d}=Ee({props:e,onChange:t,onClose:n,defaultDates:(h=e.date)!=null?h:new Date,mode:"single"});return{flatpickrInstance:_,flatpickrInputRef:T,datePickerRef:m,isOpen:r,toggleDatePicker:R,updateDatePicker:d,createDatePicker:y,DATE_PICKER_CALENDAR_POSITIONS:Object.freeze(f),DATE_PICKER_COLORS:Object.freeze(c),DATE_PICKER_STATES:Object.freeze(A),DATE_PICKER_TRIGGER_TYPES:Object.freeze(U),TILE_ADDITIONAL_TEXT_MAX_WIDTHS:Object.freeze(ee)}},computed:{borderColor(){return{[c.NEUTRAL]:this.isInteractive?u.PRIMARY:u.NEUTRAL_WEAK,[c.NEUTRAL_WEAK]:this.isInteractive?u.PRIMARY:u.NEUTRAL_WEAK,[c.DANGER]:this.isInteractive?u.DANGER:u.DANGER_WEAK,[c.WARNING]:this.isInteractive?u.WARNING:u.WARNING_WEAK}[this.color]},eyebrowText(){return this.date?M(k(this.date)):""},text(){return this.date?ne(this.date):this.placeholder},tileIcon(){return this.additionalText||!this.icon?null:this.isOpen?I.FA_CHEVRON_UP:this.icon},showErrorMessage(){return this.errorMessage!==null},showHelpMessage(){return this.helpMessage!==null},tileState(){return this.state},tileColor(){return this.color}},methods:{async bindFlatpickrInstance(){this.flatpickrInstance=await this.createDatePicker(this.flatpickrInputRef,this.datePickerRef,this.updatePositionBasedOnScrollableSelector),this.updateDatePicker()},async toggle(){this.isInteractive&&this.state===A.DEFAULT&&(this.flatpickrInstance||await this.bindFlatpickrInstance(),this.toggleDatePicker())}}}),_e={class:"ds-datePicker__labelWrapper"},Ie={key:2,class:"ds-datePicker__errorMessage"},me={key:3,class:"ds-datePicker__helpMessage"},he={ref:"flatpickrInputRef",class:"ds-datePicker__hiddenInput"};function Ae(e,D,_,T,m,t){const n=N("ds-tile"),r=N("date-box");return a(),l("div",{ref:"datePickerRef",class:p(["ds-datePicker",{"-ds-box":e.triggerType===e.DATE_PICKER_TRIGGER_TYPES.BOX}])},[e.triggerType===e.DATE_PICKER_TRIGGER_TYPES.TILE?(a(),l(X,{key:0},[s("div",_e,[e.label?(a(),l("span",{key:0,class:p(["ds-datePicker__label",{"-ds-isUppercase":e.isLabelUppercase,"-ds-disabled":e.state===e.DATE_PICKER_STATES.DISABLED}])},E(e.label),3)):o("",!0),e.$slots.default?Q(e.$slots,"default",{key:1},void 0,!0):o("",!0)]),P(n,{class:"ds-datePicker__tile",text:e.text,interactive:e.isInteractive,"additional-text":e.additionalText,color:e.tileColor,"border-color":e.borderColor,state:e.tileState,"icon-right":e.tileIcon,"is-icon-right-hidden-on-mobile":e.isIconHiddenOnMobile,"eyebrow-text":e.eyebrowText,"additional-text-max-width":e.TILE_ADDITIONAL_TEXT_MAX_WIDTHS.MEDIUM,"has-border":"",onClick:F(e.toggle,["stop","prevent"])},null,8,["text","interactive","additional-text","color","border-color","state","icon-right","is-icon-right-hidden-on-mobile","eyebrow-text","additional-text-max-width","onClick"])],64)):(a(),C(r,{key:1,"is-interactive":e.isInteractive,placeholder:e.placeholder,"start-date":e.date,"start-icon":e.icon,"are-icons-hidden-on-mobile":e.isIconHiddenOnMobile,state:e.state,color:e.color,"is-open":e.isOpen,onClick:F(e.toggle,["stop","prevent"])},null,8,["is-interactive","placeholder","start-date","start-icon","are-icons-hidden-on-mobile","state","color","is-open","onClick"])),e.showErrorMessage?(a(),l("span",Ie,E(e.errorMessage),1)):e.showHelpMessage?(a(),l("span",me,E(e.helpMessage),1)):o("",!0),s("input",he,null,512)],2)}const Re=Y(q,[["render",Ae],["__scopeId","data-v-337a8b07"]]);q.__docgenInfo={displayName:"DatePicker",exportName:"default",description:"",tags:{},props:[{name:"triggerType",type:{name:"DatePickerTriggerTypes"},defaultValue:{func:!1,value:"DATE_PICKER_TRIGGER_TYPES.TILE"}},{name:"isInteractive",type:{name:"boolean"},defaultValue:{func:!1,value:"true"}},{name:"placeholder",type:{name:"string"},defaultValue:{func:!1,value:"'Wybierz datę'"}},{name:"date",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"additionalText",type:{name:"string"},defaultValue:{func:!1,value:"''"}},{name:"helpMessage",type:{name:"string"},defaultValue:{func:!1,value:"null"}},{name:"label",type:{name:"string"},defaultValue:{func:!1,value:"''"}},{name:"isLabelUppercase",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"icon",type:{name:"IconItem | null"},defaultValue:{func:!1,value:"ICONS.FA_CALENDAR_DAYS"}},{name:"isIconHiddenOnMobile",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"errorMessage",type:{name:"string"},defaultValue:{func:!1,value:"null"}},{name:"state",type:{name:"DatePickerStates"},defaultValue:{func:!1,value:"DATE_PICKER_STATES.DEFAULT"}},{name:"color",type:{name:"DatePickerColors"},defaultValue:{func:!1,value:"DATE_PICKER_COLORS.NEUTRAL_WEAK"}},{name:"calendarPosition",type:{name:"DatePickerCalendarPositions"},defaultValue:{func:!1,value:"DATE_PICKER_CALENDAR_POSITIONS.BOTTOM_LEFT"}},{name:"disableDates",type:{name:"Array<Date>"},defaultValue:{func:!0,value:"() => []"}},{name:"minDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"maxDate",type:{name:"date"},defaultValue:{func:!1,value:"null"}},{name:"updatePositionBasedOnScrollableSelector",type:{name:"string"},defaultValue:{func:!1,value:"''"}}],events:[{name:"update:date"}],slots:[{name:"default"}],sourceFiles:["/home/runner/work/design-system/design-system/lib/js/components/DatePickers/DatePicker/DatePicker.vue"]};export{pe as D,A as a,c as b,Re as c,f as d,U as e,Ee as i};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.ds-drawerHeader[data-v-5b63b67e]{display:flex;flex-direction:column}.ds-drawerHeader__secondLevel[data-v-5b63b67e]{position:absolute!important}.ds-drawerHeader__leftIcon[data-v-5b63b67e]{color:var(--color-neutral-icon)}.ds-drawerHeader__firstLevel[data-v-5b63b67e]{display:flex;flex-direction:column;min-width:0;row-gap:4px}.ds-drawerHeader__firstLevel.-ds-hidden[data-v-5b63b67e]{visibility:hidden}.ds-drawerHeader__eyebrow[data-v-5b63b67e]{--token: info-s-extensive-bold-uppercase;font-weight:var(--typography-font-weight-bold);font-style:var(--typography-font-style-normal);line-height:var(--typography-line-height-4xs);font-size:var(--typography-font-size-2xs);letter-spacing:var(--typography-letter-spacing-xl);text-decoration:var(--typography-text-decoration-none);text-transform:var(--typography-text-transform-uppercase);color:var(--color-neutral-text-weak)}.ds-drawerHeader__eyebrow.-ds-isInteractive[data-v-5b63b67e]:hover{color:var(--color-neutral-text-weak-hovered);cursor:pointer}.ds-drawerHeader__eyebrow.-ds-ellipsis[data-v-5b63b67e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-drawerHeader__title[data-v-5b63b67e]{align-items:center;column-gap:6px;display:flex}.ds-drawerHeader__titleText[data-v-5b63b67e]{--token: heading-s-default-bold-uppercase;font-weight:var(--typography-font-weight-bold);font-style:var(--typography-font-style-normal);line-height:var(--typography-line-height-xs);font-size:var(--typography-font-size-s);letter-spacing:var(--typography-letter-spacing-l);text-decoration:var(--typography-text-decoration-none);text-transform:var(--typography-text-transform-uppercase)}.ds-drawerHeader__titleText.-ds-neutralStrong[data-v-5b63b67e]{color:var(--color-neutral-text-strong)}.ds-drawerHeader__titleText.-ds-neutralWeak[data-v-5b63b67e]{color:var(--color-neutral-text-weak)}.ds-drawerHeader__titleText.-ds-ellipsis[data-v-5b63b67e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-drawerHeader__titleWrapper[data-v-5b63b67e]{align-items:center;column-gap:4px;display:flex;justify-content:space-between;min-height:82px;padding:24px 12px 24px 16px}.ds-drawerHeader__actions[data-v-5b63b67e]{margin-left:auto}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as b,c as s,a as i,k as n,g as l,h as _,v as r,y as u,f,l as o,o as a,B as v}from"./vue.esm-bundler-DcRN7CPI.js";import{_ as S,d as C}from"./Button-Cvj_OfTr.js";import{D as T,b as N,a as D}from"./Divider-NOTDPuJ1.js";import{I as O,c as w}from"./IconButton-BN-L0wvM.js";import{C as k}from"./Chip-D9pOGYtq.js";import{a as R,b as L,I as V}from"./Icon-D3_O-s4-.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";const H={NEUTRAL_STRONG:"neutralStrong",NEUTRAL_WEAK:"neutralWeak"},p=b({name:"DrawerHeader",components:{DsButton:S,Divider:T,Icon:R,IconButton:O,Chip:k},props:{eyebrowText:{type:String,default:null},isInteractiveEyebrow:{type:Boolean,default:!1},eyebrowEllipsis:{type:Boolean,default:!1},title:{type:String,default:null},titleEllipsis:{type:Boolean,default:!1},titleColor:{type:String,default:H.NEUTRAL_STRONG},leftIcon:{type:[Object,null],default:null},chipLabel:{type:String,default:null},isClosable:{type:Boolean,default:!0},hasDivider:{type:Boolean,default:!1},isSecondLevel:{type:Boolean,default:!1}},emits:["backClicked","close","eyebrowClicked"],data(){return{BUTTON_TYPES:Object.freeze(C),DIVIDER_SIZES:Object.freeze(D),DIVIDER_PROMINENCES:Object.freeze(N),ICONS:Object.freeze(V),ICON_BUTTON_SIZES:Object.freeze(w),ICON_SIZES:Object.freeze(L)}}}),g={class:"ds-drawerHeader"},$={class:"ds-drawerHeader__titleWrapper"},h={class:"ds-drawerHeader__title"},A=["title"],z={key:3},U={key:1,class:"ds-drawerHeader__actions"};function j(e,t,Z,M,W,P){const c=o("ds-button"),m=o("icon"),E=o("chip"),y=o("icon-button"),I=o("divider");return a(),s("div",g,[i("div",$,[e.isSecondLevel?(a(),n(c,{key:0,"icon-left":e.ICONS.FA_CHEVRON_LEFT,type:e.BUTTON_TYPES.TEXT,class:"ds-drawerHeader__secondLevel",onClick:t[0]||(t[0]=d=>e.$emit("backClicked"))},{default:_(()=>t[3]||(t[3]=[v(" Wróć ")])),_:1,__:[3]},8,["icon-left","type"])):l("",!0),i("div",{class:r([{"-ds-hidden":e.isSecondLevel},"ds-drawerHeader__firstLevel"])},[e.eyebrowText?(a(),s("span",{key:0,class:r([{"-ds-isInteractive":e.isInteractiveEyebrow,"-ds-ellipsis":e.eyebrowEllipsis},"ds-drawerHeader__eyebrow"]),onClick:t[1]||(t[1]=d=>e.isInteractiveEyebrow&&e.$emit("eyebrowClicked"))},u(e.eyebrowText),3)):l("",!0),i("div",h,[e.leftIcon?(a(),n(m,{key:0,icon:e.leftIcon,size:e.ICON_SIZES.X_SMALL,class:"ds-drawerHeader__leftIcon"},null,8,["icon","size"])):l("",!0),e.title?(a(),s("span",{key:1,class:r(["ds-drawerHeader__titleText",{"-ds-ellipsis":e.titleEllipsis,[`-ds-${e.titleColor}`]:!0}]),title:e.titleEllipsis?e.title:void 0},u(e.title),11,A)):l("",!0),e.chipLabel?(a(),n(E,{key:2,label:e.chipLabel},null,8,["label"])):l("",!0),e.$slots.titleTrailing?(a(),s("div",z,[f(e.$slots,"titleTrailing",{},void 0,!0)])):l("",!0)])],2),e.$slots.actions?(a(),s("div",U,[f(e.$slots,"actions",{},void 0,!0)])):l("",!0),e.isClosable?(a(),n(y,{key:2,icon:e.ICONS.FA_XMARK,size:e.ICON_BUTTON_SIZES.MEDIUM,touchable:!1,onClick:t[2]||(t[2]=d=>e.$emit("close"))},null,8,["icon","size"])):l("",!0)]),e.hasDivider?(a(),n(I,{key:0,size:e.DIVIDER_SIZES.L,prominence:e.DIVIDER_PROMINENCES.WEAK},null,8,["size","prominence"])):l("",!0)])}const Q=B(p,[["render",j],["__scopeId","data-v-5b63b67e"]]);p.__docgenInfo={displayName:"DrawerHeader",exportName:"default",description:"",tags:{},props:[{name:"eyebrowText",type:{name:"string"},defaultValue:{func:!1,value:"null"}},{name:"isInteractiveEyebrow",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"eyebrowEllipsis",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"title",type:{name:"string"},defaultValue:{func:!1,value:"null"}},{name:"titleEllipsis",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"titleColor",type:{name:"DrawerHeaderTitleColor"},defaultValue:{func:!1,value:"DRAWER_HEADER_TITLE_COLORS.NEUTRAL_STRONG"}},{name:"leftIcon",type:{name:"object|null"},defaultValue:{func:!1,value:"null"}},{name:"chipLabel",type:{name:"string"},defaultValue:{func:!1,value:"null"}},{name:"isClosable",type:{name:"boolean"},defaultValue:{func:!1,value:"true"}},{name:"hasDivider",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"isSecondLevel",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}}],events:[{name:"backClicked"},{name:"eyebrowClicked"},{name:"close"}],slots:[{name:"titleTrailing"},{name:"actions"}],sourceFiles:["/home/runner/work/design-system/design-system/lib/js/components/Drawer/DrawerHeader/DrawerHeader.vue"]};export{Q as D,H as a};
|