@scania/tegel 1.4.0 → 1.5.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/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/tds-dropdown.cjs.entry.js +17 -13
- package/dist/cjs/tds-header-cell.cjs.entry.js +2 -2
- package/dist/cjs/tds-icon.cjs.entry.js +3 -2
- package/dist/cjs/tds-modal.cjs.entry.js +1 -1
- package/dist/cjs/tegel.cjs.js +1 -1
- package/dist/collection/components/dropdown/dropdown.css +1 -0
- package/dist/collection/components/dropdown/dropdown.js +16 -12
- package/dist/collection/components/icon/icon.js +23 -5
- package/dist/collection/components/modal/modal.css +1 -1
- package/dist/collection/components/table/table-header-cell/table-header-cell.js +13 -10
- package/dist/components/icon.js +4 -2
- package/dist/components/tds-dropdown.js +17 -13
- package/dist/components/tds-header-cell.js +2 -2
- package/dist/components/tds-modal.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/tds-dropdown.entry.js +17 -13
- package/dist/esm/tds-header-cell.entry.js +2 -2
- package/dist/esm/tds-icon.entry.js +3 -2
- package/dist/esm/tds-modal.entry.js +1 -1
- package/dist/esm/tegel.js +1 -1
- package/dist/tegel/p-15f8ac46.entry.js +1 -0
- package/dist/tegel/p-3b597a64.entry.js +1 -0
- package/dist/tegel/{p-6dc8f2dd.entry.js → p-78853c02.entry.js} +1 -1
- package/dist/tegel/p-7d93c35b.entry.js +1 -0
- package/dist/tegel/tegel.esm.js +1 -1
- package/dist/types/components/dropdown/dropdown.d.ts +2 -0
- package/dist/types/components/icon/icon.d.ts +6 -3
- package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +14 -8
- package/dist/types/components.d.ts +20 -12
- package/package.json +1 -1
- package/dist/collection/components/accordion/accordion.stories.js +0 -100
- package/dist/collection/components/accordion/test/basic/accordion.e2e.js +0 -19
- package/dist/collection/components/accordion/test/disabled/accordion.e2e.js +0 -19
- package/dist/collection/components/accordion/test/expanded/accordion.e2e.js +0 -24
- package/dist/collection/components/accordion/test/padding-reset/accordion.e2e.js +0 -24
- package/dist/collection/components/badge/badge.stories.js +0 -106
- package/dist/collection/components/badge/test/basic/badge.e2e.js +0 -10
- package/dist/collection/components/badge/test/value/badge.e2e.js +0 -11
- package/dist/collection/components/banner/banner.stories.js +0 -92
- package/dist/collection/components/banner/test/basic/banner.e2e.js +0 -15
- package/dist/collection/components/banner/test/default/banner.e2e.js +0 -37
- package/dist/collection/components/banner/test/error/banner.e2e.js +0 -15
- package/dist/collection/components/banner/test/information/banner.e2e.js +0 -15
- package/dist/collection/components/block/block.stories.js +0 -49
- package/dist/collection/components/breadcrumbs/breadcrumbs.stories.js +0 -36
- package/dist/collection/components/breadcrumbs/test/default/breadcrumbs.e2e.js +0 -33
- package/dist/collection/components/button/button.stories.js +0 -185
- package/dist/collection/components/button/test/basic/button.e2e.js +0 -35
- package/dist/collection/components/button/test/danger/button.e2e.js +0 -18
- package/dist/collection/components/button/test/disabled/button.e2e.js +0 -24
- package/dist/collection/components/button/test/ghost/button.e2e.js +0 -18
- package/dist/collection/components/button/test/icon/button.e2e.js +0 -38
- package/dist/collection/components/button/test/secondary/button.e2e.js +0 -18
- package/dist/collection/components/card/card.stories.js +0 -163
- package/dist/collection/components/card/test/basic/card.e2e.js +0 -10
- package/dist/collection/components/card/test/clickable/card.e2e.js +0 -21
- package/dist/collection/components/card/test/default/card.e2e.js +0 -33
- package/dist/collection/components/checkbox/checkbox.stories.js +0 -93
- package/dist/collection/components/chip/chip.stories.js +0 -230
- package/dist/collection/components/datetime/datetime.stories.js +0 -219
- package/dist/collection/components/divider/divider.stories.js +0 -62
- package/dist/collection/components/dropdown/dropdown.stories.js +0 -260
- package/dist/collection/components/dropdown/test/basic/dropdown.e2e.js +0 -41
- package/dist/collection/components/dropdown/test/default/dropdown.e2e.js +0 -76
- package/dist/collection/components/dropdown/test/error/dropdown.e2e.js +0 -36
- package/dist/collection/components/dropdown/test/filter/dropdown.e2e.js +0 -56
- package/dist/collection/components/dropdown/test/filter/hide-no-result-message/dropdown.e2e.js +0 -23
- package/dist/collection/components/dropdown/test/filter/normalize-text-false/dropdown.e2e.js +0 -43
- package/dist/collection/components/dropdown/test/multiselect/dropdown.e2e.js +0 -81
- package/dist/collection/components/footer/footer.stories.js +0 -145
- package/dist/collection/components/footer/test/default/footer.e2e.js +0 -34
- package/dist/collection/components/header/header.stories.js +0 -82
- package/dist/collection/components/header/test/default/header.e2e.js +0 -44
- package/dist/collection/components/icon/icon.stories.js +0 -48
- package/dist/collection/components/link/link.stories.js +0 -59
- package/dist/collection/components/message/message.stories.js +0 -109
- package/dist/collection/components/message/test/basic/message.e2e.js +0 -16
- package/dist/collection/components/message/test/error/message.e2e.js +0 -28
- package/dist/collection/components/message/test/information/message.e2e.js +0 -10
- package/dist/collection/components/message/test/success/message.e2e.js +0 -10
- package/dist/collection/components/message/test/warning/message.e2e.js +0 -10
- package/dist/collection/components/modal/modal.stories.js +0 -119
- package/dist/collection/components/modal/test/default/modal.e2e.js +0 -28
- package/dist/collection/components/modal/test/open-close/modal.e2e.js +0 -63
- package/dist/collection/components/modal/test/prevent-true/modal.e2e.js +0 -13
- package/dist/collection/components/popover-canvas/popover-canvas.stories.js +0 -92
- package/dist/collection/components/popover-canvas/test/default/popover-canvas.e2e.js +0 -30
- package/dist/collection/components/popover-canvas/test/show-false/popover-canvas.e2e.js +0 -30
- package/dist/collection/components/popover-canvas/test/show-true/popover-canvas.e2e.js +0 -30
- package/dist/collection/components/popover-menu/popover-menu.stories.js +0 -146
- package/dist/collection/components/popover-menu/test/default/popover-menu.e2e.js +0 -60
- package/dist/collection/components/popover-menu/test/icons-fluid/popover-menu.e2e.js +0 -27
- package/dist/collection/components/popover-menu/test/show/popover-menu.e2e.js +0 -20
- package/dist/collection/components/popover-menu/test/show-false/popover-menu.e2e.js +0 -20
- package/dist/collection/components/radio-button/radio-button.stories.js +0 -91
- package/dist/collection/components/side-menu/side-menu.stories.js +0 -224
- package/dist/collection/components/side-menu/test/collapsible/side-menu.e2e.js +0 -28
- package/dist/collection/components/side-menu/test/default/side-menu.e2e.js +0 -38
- package/dist/collection/components/slider/slider.stories.js +0 -243
- package/dist/collection/components/spinner/spinner.stories.js +0 -61
- package/dist/collection/components/stepper/stepper.stories.js +0 -95
- package/dist/collection/components/table/table/test/batch/table.e2e.js +0 -24
- package/dist/collection/components/table/table/test/default/table.e2e.js +0 -46
- package/dist/collection/components/table/table/test/expandable-row/table.e2e.js +0 -64
- package/dist/collection/components/table/table/test/filtering/table.e2e.js +0 -41
- package/dist/collection/components/table/table/test/multiselect/table.e2e.js +0 -47
- package/dist/collection/components/table/table/test/pagination/table.e2e.js +0 -53
- package/dist/collection/components/table/table/test/sorting/table.e2e.js +0 -36
- package/dist/collection/components/table/table-component-basic.stories.js +0 -184
- package/dist/collection/components/table/table-component-batch-actions.stories.js +0 -188
- package/dist/collection/components/table/table-component-custom-width.stories.js +0 -174
- package/dist/collection/components/table/table-component-expandable-rows.stories.js +0 -160
- package/dist/collection/components/table/table-component-filtering.stories.js +0 -195
- package/dist/collection/components/table/table-component-multiselect.stories.js +0 -211
- package/dist/collection/components/table/table-component-pagination.stories.js +0 -196
- package/dist/collection/components/table/table-component-sorting.stories.js +0 -240
- package/dist/collection/components/tabs/folder-tabs/folder-tabs.stories.js +0 -105
- package/dist/collection/components/tabs/inline-tabs/inline-tabs.stories.js +0 -99
- package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.stories.js +0 -101
- package/dist/collection/components/text-field/text-field.stories.js +0 -247
- package/dist/collection/components/textarea/test/basic/textarea.e2e.js +0 -26
- package/dist/collection/components/textarea/test/default/textarea.e2e.js +0 -34
- package/dist/collection/components/textarea/test/read-only/textarea.e2e.js +0 -26
- package/dist/collection/components/textarea/textarea.stories.js +0 -188
- package/dist/collection/components/toast/toast.stories.js +0 -90
- package/dist/collection/components/toggle/toggle.stories.js +0 -95
- package/dist/collection/components/tooltip/tooltip.stories.js +0 -126
- package/dist/collection/stories/Installation/angular.stories.js +0 -111
- package/dist/collection/stories/Installation/javascript.stories.js +0 -99
- package/dist/collection/stories/Installation/react.stories.js +0 -117
- package/dist/collection/stories/announcements/announce-tegel.stories.js +0 -262
- package/dist/collection/stories/announcements/prefix-change.stories.js +0 -93
- package/dist/collection/stories/formatHtmlPreview.js +0 -10
- package/dist/collection/stories/foundations/color/color-brand.stories.js +0 -38
- package/dist/collection/stories/foundations/color/color-scales.stories.js +0 -71
- package/dist/collection/stories/foundations/color/color-semantic.stories.js +0 -40
- package/dist/collection/stories/foundations/grid/grid.stories.js +0 -386
- package/dist/collection/stories/foundations/spacing/spacing-element.stories.js +0 -100
- package/dist/collection/stories/foundations/spacing/spacing-layout.stories.js +0 -94
- package/dist/collection/stories/foundations/typography/typography-body.stories.js +0 -16
- package/dist/collection/stories/foundations/typography/typography-detail.stories.js +0 -17
- package/dist/collection/stories/foundations/typography/typography-headline.stories.js +0 -39
- package/dist/collection/stories/foundations/typography/typography-paragraph.stories.js +0 -12
- package/dist/collection/stories/patterns/navigation/navigation-basic.stories.js +0 -85
- package/dist/collection/stories/patterns/navigation/navigation-fewitems.stories.js +0 -259
- package/dist/collection/stories/patterns/navigation/navigation-manyitems.stories.js +0 -247
- package/dist/collection/stories/patterns/navigation/navigation-user-menu.stories.js +0 -140
- package/dist/collection/stories/tegel.stories.js +0 -283
- package/dist/collection/stories/utility/color/background-color.stories.js +0 -96
- package/dist/collection/stories/utility/color/text-color.stories.js +0 -94
- package/dist/tegel/p-556600b1.entry.js +0 -1
- package/dist/tegel/p-c6553022.entry.js +0 -1
- package/dist/tegel/p-f801cf0e.entry.js +0 -1
- package/dist/types/components/accordion/accordion.stories.d.ts +0 -77
- package/dist/types/components/badge/badge.stories.d.ts +0 -73
- package/dist/types/components/banner/banner.stories.d.ts +0 -69
- package/dist/types/components/block/block.stories.d.ts +0 -32
- package/dist/types/components/breadcrumbs/breadcrumbs.stories.d.ts +0 -16
- package/dist/types/components/button/button.stories.d.ts +0 -147
- package/dist/types/components/card/card.stories.d.ts +0 -128
- package/dist/types/components/checkbox/checkbox.stories.d.ts +0 -65
- package/dist/types/components/chip/chip.stories.d.ts +0 -99
- package/dist/types/components/datetime/datetime.stories.d.ts +0 -151
- package/dist/types/components/divider/divider.stories.d.ts +0 -58
- package/dist/types/components/dropdown/dropdown.stories.d.ts +0 -205
- package/dist/types/components/footer/footer.stories.d.ts +0 -44
- package/dist/types/components/header/header.stories.d.ts +0 -32
- package/dist/types/components/icon/icon.stories.d.ts +0 -36
- package/dist/types/components/link/link.stories.d.ts +0 -44
- package/dist/types/components/message/message.stories.d.ts +0 -88
- package/dist/types/components/modal/modal.stories.d.ts +0 -78
- package/dist/types/components/popover-canvas/popover-canvas.stories.d.ts +0 -27
- package/dist/types/components/popover-menu/popover-menu.stories.d.ts +0 -51
- package/dist/types/components/radio-button/radio-button.stories.d.ts +0 -39
- package/dist/types/components/side-menu/side-menu.stories.d.ts +0 -65
- package/dist/types/components/slider/slider.stories.d.ts +0 -235
- package/dist/types/components/spinner/spinner.stories.d.ts +0 -46
- package/dist/types/components/stepper/stepper.stories.d.ts +0 -80
- package/dist/types/components/table/table-component-basic.stories.d.ts +0 -144
- package/dist/types/components/table/table-component-batch-actions.stories.d.ts +0 -139
- package/dist/types/components/table/table-component-custom-width.stories.d.ts +0 -131
- package/dist/types/components/table/table-component-expandable-rows.stories.d.ts +0 -131
- package/dist/types/components/table/table-component-filtering.stories.d.ts +0 -131
- package/dist/types/components/table/table-component-multiselect.stories.d.ts +0 -147
- package/dist/types/components/table/table-component-pagination.stories.d.ts +0 -131
- package/dist/types/components/table/table-component-sorting.stories.d.ts +0 -183
- package/dist/types/components/tabs/folder-tabs/folder-tabs.stories.d.ts +0 -69
- package/dist/types/components/tabs/inline-tabs/inline-tabs.stories.d.ts +0 -61
- package/dist/types/components/tabs/navigation-tabs/navigation-tabs.stories.d.ts +0 -61
- package/dist/types/components/text-field/text-field.stories.d.ts +0 -201
- package/dist/types/components/textarea/textarea.stories.d.ts +0 -139
- package/dist/types/components/toast/toast.stories.d.ts +0 -64
- package/dist/types/components/toggle/toggle.stories.d.ts +0 -74
- package/dist/types/components/tooltip/tooltip.stories.d.ts +0 -66
- package/dist/types/stories/Installation/angular.stories.d.ts +0 -6
- package/dist/types/stories/Installation/javascript.stories.d.ts +0 -7
- package/dist/types/stories/Installation/react.stories.d.ts +0 -6
- package/dist/types/stories/announcements/announce-tegel.stories.d.ts +0 -6
- package/dist/types/stories/announcements/prefix-change.stories.d.ts +0 -6
- package/dist/types/stories/formatHtmlPreview.d.ts +0 -2
- package/dist/types/stories/foundations/color/color-brand.stories.d.ts +0 -13
- package/dist/types/stories/foundations/color/color-scales.stories.d.ts +0 -30
- package/dist/types/stories/foundations/color/color-semantic.stories.d.ts +0 -13
- package/dist/types/stories/foundations/grid/grid.stories.d.ts +0 -35
- package/dist/types/stories/foundations/spacing/spacing-element.stories.d.ts +0 -8
- package/dist/types/stories/foundations/spacing/spacing-layout.stories.d.ts +0 -8
- package/dist/types/stories/foundations/typography/typography-body.stories.d.ts +0 -8
- package/dist/types/stories/foundations/typography/typography-detail.stories.d.ts +0 -8
- package/dist/types/stories/foundations/typography/typography-headline.stories.d.ts +0 -21
- package/dist/types/stories/foundations/typography/typography-paragraph.stories.d.ts +0 -8
- package/dist/types/stories/patterns/navigation/navigation-basic.stories.d.ts +0 -23
- package/dist/types/stories/patterns/navigation/navigation-fewitems.stories.d.ts +0 -23
- package/dist/types/stories/patterns/navigation/navigation-manyitems.stories.d.ts +0 -38
- package/dist/types/stories/patterns/navigation/navigation-user-menu.stories.d.ts +0 -33
- package/dist/types/stories/tegel.stories.d.ts +0 -6
- package/dist/types/stories/utility/color/background-color.stories.d.ts +0 -64
- package/dist/types/stories/utility/color/text-color.stories.d.ts +0 -64
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { test } from "stencil-playwright";
|
|
2
|
-
import { expect } from "@playwright/test";
|
|
3
|
-
const componentTestPath = 'src/components/popover-menu/test/show/index.html';
|
|
4
|
-
test.describe('tds-popover-menu-show', () => {
|
|
5
|
-
test('renders show=true popover-menu correctly', async ({ page }) => {
|
|
6
|
-
await page.goto(componentTestPath);
|
|
7
|
-
/* Check diff on screenshot */
|
|
8
|
-
await expect(page).toHaveScreenshot({ maxDiffPixels: 0 });
|
|
9
|
-
});
|
|
10
|
-
test('clicking the trigger button should keep the popover menu dialog open when it is open by default', async ({ page, }) => {
|
|
11
|
-
await page.goto(componentTestPath);
|
|
12
|
-
const triggerButton = page.getByRole('button').filter({ has: page.getByRole('img') });
|
|
13
|
-
const dropDownList = page.getByRole('list');
|
|
14
|
-
await expect(triggerButton).toBeVisible();
|
|
15
|
-
await expect(dropDownList).toBeVisible();
|
|
16
|
-
await triggerButton.click();
|
|
17
|
-
await expect(triggerButton).toBeVisible();
|
|
18
|
-
await expect(dropDownList).toBeVisible();
|
|
19
|
-
});
|
|
20
|
-
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { test } from "stencil-playwright";
|
|
2
|
-
import { expect } from "@playwright/test";
|
|
3
|
-
const componentTestPath = 'src/components/popover-menu/test/show-false/index.html';
|
|
4
|
-
test.describe('tds-popover-menu-show-false', () => {
|
|
5
|
-
test('renders show=false popover-menu correctly', async ({ page }) => {
|
|
6
|
-
await page.goto(componentTestPath);
|
|
7
|
-
/* Check diff on screenshot */
|
|
8
|
-
await expect(page).toHaveScreenshot({ maxDiffPixels: 0 });
|
|
9
|
-
});
|
|
10
|
-
test('clicking the trigger button should not open the popover menu dialog when show is false', async ({ page, }) => {
|
|
11
|
-
await page.goto(componentTestPath);
|
|
12
|
-
const triggerButton = page.getByRole('button').filter({ has: page.getByRole('img') });
|
|
13
|
-
const dropDownList = page.getByRole('list');
|
|
14
|
-
await expect(triggerButton).toBeVisible();
|
|
15
|
-
await expect(dropDownList).toBeHidden();
|
|
16
|
-
await triggerButton.click();
|
|
17
|
-
await expect(triggerButton).toBeVisible();
|
|
18
|
-
await expect(dropDownList).toBeHidden();
|
|
19
|
-
});
|
|
20
|
-
});
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import formatHtmlPreview from "../../stories/formatHtmlPreview";
|
|
2
|
-
import readme from "./readme.md";
|
|
3
|
-
import { ComponentsFolder } from "../../utils/constants";
|
|
4
|
-
export default {
|
|
5
|
-
title: `${ComponentsFolder}/Radio Button`,
|
|
6
|
-
parameters: {
|
|
7
|
-
notes: readme,
|
|
8
|
-
layout: 'centered',
|
|
9
|
-
design: [
|
|
10
|
-
{
|
|
11
|
-
name: 'Figma',
|
|
12
|
-
type: 'figma',
|
|
13
|
-
url: 'https://www.figma.com/file/d8bTgEx7h694MSesi2CTLF/Tegel-UI-Library?node-id=9266%3A17335&t=Ne6myqwca5m00de7-1',
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: 'Link',
|
|
17
|
-
type: 'link',
|
|
18
|
-
url: 'https://www.figma.com/file/d8bTgEx7h694MSesi2CTLF/Tegel-UI-Library?node-id=9266%3A17335&t=Ne6myqwca5m00de7-1',
|
|
19
|
-
},
|
|
20
|
-
],
|
|
21
|
-
},
|
|
22
|
-
argTypes: {
|
|
23
|
-
label: {
|
|
24
|
-
name: 'Label text',
|
|
25
|
-
description: 'Sets the label for the Radio Button.',
|
|
26
|
-
controls: {
|
|
27
|
-
type: 'text',
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
disabled: {
|
|
31
|
-
name: 'Disabled',
|
|
32
|
-
description: 'Disables the Radio Button.',
|
|
33
|
-
control: {
|
|
34
|
-
type: 'boolean',
|
|
35
|
-
},
|
|
36
|
-
table: {
|
|
37
|
-
defaultValue: { summary: false },
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
args: {
|
|
42
|
-
label: 'Label text',
|
|
43
|
-
disabled: false,
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
const Template = ({ label, disabled }) => formatHtmlPreview(`
|
|
47
|
-
<style>
|
|
48
|
-
.demo-fieldset-reset {
|
|
49
|
-
border: 0;
|
|
50
|
-
margin: 0;
|
|
51
|
-
min-width: 0;
|
|
52
|
-
padding: 0;
|
|
53
|
-
}
|
|
54
|
-
</style>
|
|
55
|
-
|
|
56
|
-
<fieldset class="demo-fieldset-reset">
|
|
57
|
-
<tds-radio-button
|
|
58
|
-
name="rb-example"
|
|
59
|
-
value="option1"
|
|
60
|
-
radio-id="option-1"
|
|
61
|
-
required=false
|
|
62
|
-
${disabled ? 'disabled' : ''}
|
|
63
|
-
checked="true"
|
|
64
|
-
>
|
|
65
|
-
<div slot="label">
|
|
66
|
-
${label} 1
|
|
67
|
-
</div>
|
|
68
|
-
</tds-radio-button>
|
|
69
|
-
|
|
70
|
-
<tds-radio-button
|
|
71
|
-
name="rb-example"
|
|
72
|
-
value="option2"
|
|
73
|
-
radio-id="option-2"
|
|
74
|
-
required=false
|
|
75
|
-
${disabled ? 'disabled' : ''}
|
|
76
|
-
>
|
|
77
|
-
<div slot="label">
|
|
78
|
-
${label} 2
|
|
79
|
-
</div>
|
|
80
|
-
</tds-radio-button>
|
|
81
|
-
|
|
82
|
-
</fieldset>
|
|
83
|
-
|
|
84
|
-
<!-- Script tag with eventlistener for demo purposes. -->
|
|
85
|
-
<script>
|
|
86
|
-
document.addEventListener('tdsChange', (event) => {
|
|
87
|
-
console.log(event)
|
|
88
|
-
})
|
|
89
|
-
</script>
|
|
90
|
-
`);
|
|
91
|
-
export const Default = Template.bind({});
|
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
import formatHtmlPreview from "../../stories/formatHtmlPreview";
|
|
2
|
-
import readme from "./readme.md";
|
|
3
|
-
import readmeSideMenuUser from "./side-menu-user/readme.md";
|
|
4
|
-
import readmeSideMenuOverlay from "./side-menu-overlay/readme.md";
|
|
5
|
-
import readmeSideMenuCloseButton from "./side-menu-close-button/readme.md";
|
|
6
|
-
import readmeSideMenuCollapseButton from "./side-menu-collapse-button/readme.md";
|
|
7
|
-
import readmeSideMenuDropdown from "./side-menu-dropdown/readme.md";
|
|
8
|
-
import readmeSideMenuItem from "./side-menu-item/readme.md";
|
|
9
|
-
import readmeSideMenuDropdownList from "./side-menu-dropdown-list/readme.md";
|
|
10
|
-
import readmeSideMenuDropdownListItem from "./side-menu-dropdown-list-item/readme.md";
|
|
11
|
-
import { ComponentsFolder } from "../../utils/constants";
|
|
12
|
-
export default {
|
|
13
|
-
title: `${ComponentsFolder}/Side Menu`,
|
|
14
|
-
parameters: {
|
|
15
|
-
notes: {
|
|
16
|
-
'Side Menu': readme,
|
|
17
|
-
'Side Menu Item': readmeSideMenuItem,
|
|
18
|
-
'Side Menu Dropdown': readmeSideMenuDropdown,
|
|
19
|
-
'Side Menu Dropdown List': readmeSideMenuDropdownList,
|
|
20
|
-
'Side Menu Dropdown List Item': readmeSideMenuDropdownListItem,
|
|
21
|
-
'Side Menu User': readmeSideMenuUser,
|
|
22
|
-
'Side Menu Collapse Button': readmeSideMenuCollapseButton,
|
|
23
|
-
'Side Menu Close Button': readmeSideMenuCloseButton,
|
|
24
|
-
'Side Menu Overlay': readmeSideMenuOverlay,
|
|
25
|
-
},
|
|
26
|
-
layout: 'fullscreen',
|
|
27
|
-
docs: {
|
|
28
|
-
source: {
|
|
29
|
-
state: 'closed',
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
design: [
|
|
33
|
-
{
|
|
34
|
-
name: 'Figma',
|
|
35
|
-
type: 'figma',
|
|
36
|
-
url: 'https://www.figma.com/file/d8bTgEx7h694MSesi2CTLF/Tegel-UI-Library?node-id=11142%3A42941&t=Ne6myqwca5m00de7-1',
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: 'Link',
|
|
40
|
-
type: 'link',
|
|
41
|
-
url: 'https://www.figma.com/file/d8bTgEx7h694MSesi2CTLF/Tegel-UI-Library?node-id=11142%3A42941&t=Ne6myqwca5m00de7-1',
|
|
42
|
-
},
|
|
43
|
-
],
|
|
44
|
-
},
|
|
45
|
-
argTypes: {
|
|
46
|
-
persistent: {
|
|
47
|
-
name: 'Persistent',
|
|
48
|
-
description: 'Set the Side Menu to always show. This should be used if there are more navigation items to show than can always fit in the Header, more than three Header items is a good rule of thumb.',
|
|
49
|
-
control: {
|
|
50
|
-
type: 'boolean',
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
collapsible: {
|
|
54
|
-
name: 'Collapsible',
|
|
55
|
-
description: 'Make the Side Menu collapsible',
|
|
56
|
-
control: {
|
|
57
|
-
type: 'boolean',
|
|
58
|
-
},
|
|
59
|
-
if: { arg: 'persistent', truthy: true },
|
|
60
|
-
},
|
|
61
|
-
collapsed: {
|
|
62
|
-
name: 'Collapsed',
|
|
63
|
-
description: 'Collapsed Side Menu',
|
|
64
|
-
control: {
|
|
65
|
-
type: 'boolean',
|
|
66
|
-
},
|
|
67
|
-
if: { arg: 'collapsible', truthy: true },
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
args: {
|
|
71
|
-
persistent: true,
|
|
72
|
-
collapsible: false,
|
|
73
|
-
collapsed: false,
|
|
74
|
-
},
|
|
75
|
-
};
|
|
76
|
-
const Template = ({ persistent, collapsible, collapsed }) => formatHtmlPreview(`
|
|
77
|
-
<script>
|
|
78
|
-
/* For demonstration purposes only. Do this in the preferred way of your framework instead. */
|
|
79
|
-
window.demoSideMenu = document.querySelector('#demo-side-menu');
|
|
80
|
-
</script>
|
|
81
|
-
<style>
|
|
82
|
-
:root {
|
|
83
|
-
--app-bar-height: 64px;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/* Note: to make the layout fill the entire viewport height you'll need to set the */
|
|
87
|
-
/* height of the parent element and all of its ancestors to 100%. */
|
|
88
|
-
/* Please note that using 'vh' for this can cause issues on some mobile browsers. */
|
|
89
|
-
.demo-layout {
|
|
90
|
-
min-height: 100%;
|
|
91
|
-
display: flex;
|
|
92
|
-
flex-direction: column;
|
|
93
|
-
}
|
|
94
|
-
.demo-header {
|
|
95
|
-
position: sticky;
|
|
96
|
-
top: 0;
|
|
97
|
-
}
|
|
98
|
-
.demo-wrap-side-menu-and-main {
|
|
99
|
-
display: flex;
|
|
100
|
-
flex-grow: 1;
|
|
101
|
-
}
|
|
102
|
-
${persistent
|
|
103
|
-
? `
|
|
104
|
-
/* the lg breakpoint is used here to match the breakpoint used in the Header */
|
|
105
|
-
@media (min-width: 992px) {
|
|
106
|
-
#demo-side-menu {
|
|
107
|
-
/* We suggest you attach the persistent Side Menu to your layout like this: */
|
|
108
|
-
height: calc(100vh - var(--app-bar-height));
|
|
109
|
-
position: sticky;
|
|
110
|
-
top: var(--app-bar-height);
|
|
111
|
-
left: 0px;
|
|
112
|
-
}
|
|
113
|
-
}`
|
|
114
|
-
: ''}
|
|
115
|
-
/* If an extra button in the Header is required except on */
|
|
116
|
-
/* very narrow screens, you can use classes like these: */
|
|
117
|
-
.demo-hide {
|
|
118
|
-
display: none;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/* https://tegel.scania.com/components/header#:~:text=breakpoints%20larger%20than-,%24small%2D375.,-On%20smaller%20breakpoints */
|
|
122
|
-
@media (min-width: 375px) {
|
|
123
|
-
.demo-xs-hide {
|
|
124
|
-
display: none;
|
|
125
|
-
}
|
|
126
|
-
.demo-xs-show {
|
|
127
|
-
display: block;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
</style>
|
|
131
|
-
|
|
132
|
-
<div class="demo-layout">
|
|
133
|
-
<tds-header class="demo-header">
|
|
134
|
-
<tds-header-hamburger onclick="demoSideMenu.open = true;" aria-expanded="false" aria-label="Open application drawer" aria-haspopup="true"></tds-header-hamburger>
|
|
135
|
-
|
|
136
|
-
<tds-header-title>
|
|
137
|
-
My Application
|
|
138
|
-
</tds-header-title>
|
|
139
|
-
|
|
140
|
-
<i style="color:white">Header items omitted for brevity. See patterns/navigation</i>
|
|
141
|
-
|
|
142
|
-
<tds-header-brand-symbol slot="end">
|
|
143
|
-
<a aria-label="Scania - red gryphon on blue shield" href="https://scania.com"></a>
|
|
144
|
-
</tds-header-brand-symbol>
|
|
145
|
-
</tds-header>
|
|
146
|
-
|
|
147
|
-
<div class="demo-wrap-side-menu-and-main">
|
|
148
|
-
<!-- Note: the "persistent" property keeps the menu open on desktop -->
|
|
149
|
-
<tds-side-menu ${collapsed ? 'collapsed' : ''} aria-label="Side menu" id="demo-side-menu" ${persistent ? 'persistent' : ''}>
|
|
150
|
-
<tds-side-menu-overlay slot="overlay" onclick="demoSideMenu.open = false;"></tds-side-menu-overlay>
|
|
151
|
-
|
|
152
|
-
<tds-side-menu-close-button slot="close-button" aria-label="Close drawer menu" onclick="demoSideMenu.open = false;"></tds-side-menu-close-button>
|
|
153
|
-
|
|
154
|
-
<tds-side-menu-item>
|
|
155
|
-
<button>
|
|
156
|
-
<tds-icon name="timer" size="24px"></tds-icon>
|
|
157
|
-
About us
|
|
158
|
-
</button>
|
|
159
|
-
</tds-side-menu-item>
|
|
160
|
-
|
|
161
|
-
<tds-side-menu-item>
|
|
162
|
-
<button>
|
|
163
|
-
<tds-icon name="truck" size="24px"></tds-icon>
|
|
164
|
-
Trucks
|
|
165
|
-
</button>
|
|
166
|
-
</tds-side-menu-item>
|
|
167
|
-
|
|
168
|
-
<tds-side-menu-dropdown default-open selected>
|
|
169
|
-
<tds-icon slot="icon" name="profile" size="24px"></tds-icon>
|
|
170
|
-
<span slot="label">
|
|
171
|
-
Wheel types
|
|
172
|
-
</span>
|
|
173
|
-
<tds-side-menu-dropdown-list>
|
|
174
|
-
<tds-side-menu-dropdown-list-item>
|
|
175
|
-
<a href="https://www.scania.com">
|
|
176
|
-
Hub-centric wheel
|
|
177
|
-
</a>
|
|
178
|
-
</tds-side-menu-dropdown-list-item>
|
|
179
|
-
<tds-side-menu-dropdown-list-item selected>
|
|
180
|
-
<a href="https://www.scania.com" aria-current="page">
|
|
181
|
-
Rim wheel
|
|
182
|
-
</a>
|
|
183
|
-
</tds-side-menu-dropdown-list-item>
|
|
184
|
-
</tds-side-menu-dropdown-list>
|
|
185
|
-
</tds-side-menu-dropdown>
|
|
186
|
-
|
|
187
|
-
<tds-side-menu-item>
|
|
188
|
-
<button>
|
|
189
|
-
<tds-icon name="star" size="24px"></tds-icon>
|
|
190
|
-
Values
|
|
191
|
-
</button>
|
|
192
|
-
</tds-side-menu-item>
|
|
193
|
-
|
|
194
|
-
${collapsible
|
|
195
|
-
? `<tds-side-menu-collapse-button slot="sticky-end">
|
|
196
|
-
Collapse
|
|
197
|
-
</tds-side-menu-collapse-button>`
|
|
198
|
-
: ''}
|
|
199
|
-
|
|
200
|
-
</tds-side-menu>
|
|
201
|
-
|
|
202
|
-
<main class="tds-u-h-100 tds-u-p3" style="box-sizing: border-box;">
|
|
203
|
-
<p>If there are more than a few buttons and/or links in the Header, they might not fit on medium size screens.
|
|
204
|
-
<br/>In that case they should be placed in a persistent Side Menu — which is always visible on large screens.</p>
|
|
205
|
-
|
|
206
|
-
<p><i>Note: The Side Menu is sticky, and should not scroll with the main content of the page.</i></p>
|
|
207
|
-
|
|
208
|
-
<p><i>Note: The collapse button is optional.</i></p>
|
|
209
|
-
<button id="test">Toggle the collapsed state programatically</button>
|
|
210
|
-
</main>
|
|
211
|
-
</div>
|
|
212
|
-
</div>
|
|
213
|
-
<script>
|
|
214
|
-
sideMenu = document.querySelector('tds-side-menu')
|
|
215
|
-
document.querySelector('#test')?.addEventListener('click', ()=> {
|
|
216
|
-
sideMenu.collapsed = !sideMenu.collapsed;
|
|
217
|
-
})
|
|
218
|
-
|
|
219
|
-
document.querySelector('tds-side-menu-collapse-button')?.addEventListener('tdsCollapse', (event) => {
|
|
220
|
-
console.log(event)
|
|
221
|
-
})
|
|
222
|
-
</script>
|
|
223
|
-
`);
|
|
224
|
-
export const Default = Template.bind({});
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { test } from "stencil-playwright";
|
|
2
|
-
import { expect } from "@playwright/test";
|
|
3
|
-
const componentTestPath = 'src/components/side-menu/test/collapsible/index.html';
|
|
4
|
-
test.describe('tds-side-menu-collapsible', () => {
|
|
5
|
-
test('renders collapsible side-menu correctly', async ({ page }) => {
|
|
6
|
-
await page.goto(componentTestPath);
|
|
7
|
-
const sideMenuNavigation = page.getByRole('navigation');
|
|
8
|
-
await expect(sideMenuNavigation).toHaveCount(1);
|
|
9
|
-
await expect(sideMenuNavigation).toBeVisible();
|
|
10
|
-
/* Check diff on screenshot */
|
|
11
|
-
await expect(page).toHaveScreenshot({ maxDiffPixels: 0 });
|
|
12
|
-
});
|
|
13
|
-
test('collapse button exists on the bottom of side menu', async ({ page }) => {
|
|
14
|
-
await page.goto(componentTestPath);
|
|
15
|
-
const sideMenuCollapseButton = page.getByRole('button').filter({ hasText: /Collapse/ });
|
|
16
|
-
await expect(sideMenuCollapseButton).toHaveCount(1);
|
|
17
|
-
await expect(sideMenuCollapseButton).toBeVisible();
|
|
18
|
-
});
|
|
19
|
-
test('click collapse button to close the menu', async ({ page }) => {
|
|
20
|
-
await page.goto(componentTestPath);
|
|
21
|
-
const sideMenuCollapseButton = page.getByRole('button').filter({ hasText: /Collapse/ });
|
|
22
|
-
await sideMenuCollapseButton.click();
|
|
23
|
-
await expect(sideMenuCollapseButton).toHaveCount(1);
|
|
24
|
-
await expect(sideMenuCollapseButton).toBeVisible();
|
|
25
|
-
/* Check diff on screenshot */
|
|
26
|
-
await expect(page).toHaveScreenshot({ maxDiffPixels: 0 });
|
|
27
|
-
});
|
|
28
|
-
});
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { test } from "stencil-playwright";
|
|
2
|
-
import { expect } from "@playwright/test";
|
|
3
|
-
const componentTestPath = 'src/components/side-menu/test/default/index.html';
|
|
4
|
-
test.describe('tds-side-menu-default', () => {
|
|
5
|
-
test('renders default side-menu correctly', async ({ page }) => {
|
|
6
|
-
await page.goto(componentTestPath);
|
|
7
|
-
const sideMenuNavigation = page.getByRole('navigation');
|
|
8
|
-
await expect(sideMenuNavigation).toHaveCount(1);
|
|
9
|
-
await expect(sideMenuNavigation).toBeVisible();
|
|
10
|
-
/* Check diff on screenshot */
|
|
11
|
-
await expect(page).toHaveScreenshot({ maxDiffPixels: 0 });
|
|
12
|
-
});
|
|
13
|
-
test('all side menu buttons to be visible', async ({ page }) => {
|
|
14
|
-
await page.goto(componentTestPath);
|
|
15
|
-
const sideMenuButtons = page.getByRole('button');
|
|
16
|
-
await expect(sideMenuButtons).toHaveCount(4);
|
|
17
|
-
const promises = [];
|
|
18
|
-
for (let i = 0; i < 4; i++) {
|
|
19
|
-
promises.push(expect(sideMenuButtons.nth(i)).toBeVisible());
|
|
20
|
-
}
|
|
21
|
-
await Promise.all(promises);
|
|
22
|
-
});
|
|
23
|
-
test('wheel type list is open by default and under Wheel types there are two sublink', async ({ page, }) => {
|
|
24
|
-
await page.goto(componentTestPath);
|
|
25
|
-
/* Make sure first list item is there and visible */
|
|
26
|
-
const sideMenuWheelTypeListItemOne = page
|
|
27
|
-
.getByRole('listitem')
|
|
28
|
-
.getByRole('link', { name: /Hub-centric wheel/ });
|
|
29
|
-
await expect(sideMenuWheelTypeListItemOne).toHaveCount(1);
|
|
30
|
-
await expect(sideMenuWheelTypeListItemOne).toBeVisible();
|
|
31
|
-
/* Make sure the second list item is there and visible */
|
|
32
|
-
const sideMenuWheelTypeListItemTwo = page
|
|
33
|
-
.getByRole('listitem')
|
|
34
|
-
.getByRole('link', { name: /Rim wheel/ });
|
|
35
|
-
await expect(sideMenuWheelTypeListItemTwo).toHaveCount(1);
|
|
36
|
-
await expect(sideMenuWheelTypeListItemTwo).toBeVisible();
|
|
37
|
-
});
|
|
38
|
-
});
|
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
import formatHtmlPreview from "../../stories/formatHtmlPreview";
|
|
2
|
-
import readme from "./readme.md";
|
|
3
|
-
import { ComponentsFolder } from "../../utils/constants";
|
|
4
|
-
export default {
|
|
5
|
-
title: `${ComponentsFolder}/Slider`,
|
|
6
|
-
argTypes: {
|
|
7
|
-
min: {
|
|
8
|
-
name: 'Min. value',
|
|
9
|
-
description: 'Sets the minimum value for the slider.',
|
|
10
|
-
control: {
|
|
11
|
-
type: 'number',
|
|
12
|
-
},
|
|
13
|
-
table: {
|
|
14
|
-
defaultValue: { summary: 0 },
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
max: {
|
|
18
|
-
name: 'Max. value',
|
|
19
|
-
description: 'Sets the maximum value for the slider.',
|
|
20
|
-
control: {
|
|
21
|
-
type: 'number',
|
|
22
|
-
},
|
|
23
|
-
table: {
|
|
24
|
-
defaultValue: { summary: 100 },
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
initialValue: {
|
|
28
|
-
name: 'Initial value',
|
|
29
|
-
description: 'Sets the initial value for the slider.',
|
|
30
|
-
control: {
|
|
31
|
-
type: 'number',
|
|
32
|
-
},
|
|
33
|
-
table: {
|
|
34
|
-
defaultValue: { summary: 0 },
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
showLabel: {
|
|
38
|
-
name: 'Show label',
|
|
39
|
-
description: 'Toggles if the lable should be shown or hidden.',
|
|
40
|
-
control: {
|
|
41
|
-
type: 'boolean',
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
labelText: {
|
|
45
|
-
name: 'Label text',
|
|
46
|
-
description: 'Sets the text for the label.',
|
|
47
|
-
control: {
|
|
48
|
-
type: 'text',
|
|
49
|
-
},
|
|
50
|
-
if: { arg: 'showLabel', eq: true },
|
|
51
|
-
},
|
|
52
|
-
showTicks: {
|
|
53
|
-
name: 'Show ticks',
|
|
54
|
-
description: 'Toggles if ticks should be shown or hidden.',
|
|
55
|
-
control: {
|
|
56
|
-
type: 'boolean',
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
numTicks: {
|
|
60
|
-
name: 'Number of ticks',
|
|
61
|
-
description: 'Sets the number of ticks to be displayed.',
|
|
62
|
-
control: {
|
|
63
|
-
type: 'number',
|
|
64
|
-
},
|
|
65
|
-
if: { arg: 'showTicks', eq: true },
|
|
66
|
-
table: {
|
|
67
|
-
defaultValue: { summary: 0 },
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
showTickNumbers: {
|
|
71
|
-
name: 'Show tick numbers',
|
|
72
|
-
description: 'Toggles if tick numbers should be shown or hidden.',
|
|
73
|
-
control: {
|
|
74
|
-
type: 'boolean',
|
|
75
|
-
},
|
|
76
|
-
if: { arg: 'showTicks', eq: true },
|
|
77
|
-
table: {
|
|
78
|
-
defaultValue: { summary: false },
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
snapToTicks: {
|
|
82
|
-
name: 'Snap to ticks',
|
|
83
|
-
description: 'Snaps the thumb to the closest tick when dragging.',
|
|
84
|
-
control: {
|
|
85
|
-
type: 'boolean',
|
|
86
|
-
},
|
|
87
|
-
if: { arg: 'showTicks', eq: true },
|
|
88
|
-
table: {
|
|
89
|
-
defaultValue: { summary: false },
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
showTooltip: {
|
|
93
|
-
name: 'Show tooltip',
|
|
94
|
-
description: 'Toggles if the tooltip should be shown or hidden.',
|
|
95
|
-
control: {
|
|
96
|
-
type: 'boolean',
|
|
97
|
-
},
|
|
98
|
-
table: {
|
|
99
|
-
defaultValue: { summary: false },
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
showControls: {
|
|
103
|
-
name: 'Show controls (not compatible with input field)',
|
|
104
|
-
description: 'Toggles if controls should be shown or hidden.',
|
|
105
|
-
control: {
|
|
106
|
-
type: 'boolean',
|
|
107
|
-
},
|
|
108
|
-
table: {
|
|
109
|
-
defaultValue: { summary: false },
|
|
110
|
-
},
|
|
111
|
-
},
|
|
112
|
-
step: {
|
|
113
|
-
name: 'Step value',
|
|
114
|
-
description: 'Sets the value to increment/decrement with when using controls.',
|
|
115
|
-
control: {
|
|
116
|
-
type: 'number',
|
|
117
|
-
},
|
|
118
|
-
if: { arg: 'showControls', eq: true },
|
|
119
|
-
table: {
|
|
120
|
-
defaultValue: { summary: 1 },
|
|
121
|
-
},
|
|
122
|
-
},
|
|
123
|
-
showInput: {
|
|
124
|
-
name: 'Show value input field (not compatible with controls)',
|
|
125
|
-
description: 'Toggles if the values input field should be shown or hidden.',
|
|
126
|
-
control: {
|
|
127
|
-
type: 'boolean',
|
|
128
|
-
},
|
|
129
|
-
if: { arg: 'showControls', eq: false },
|
|
130
|
-
table: {
|
|
131
|
-
defaultValue: { summary: false },
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
thumbSize: {
|
|
135
|
-
name: 'Thumb size',
|
|
136
|
-
description: 'Switches between the large and small version of the thumb.',
|
|
137
|
-
control: {
|
|
138
|
-
type: 'radio',
|
|
139
|
-
},
|
|
140
|
-
options: ['Large', 'Small'],
|
|
141
|
-
table: {
|
|
142
|
-
defaultValue: { summary: 'lg' },
|
|
143
|
-
},
|
|
144
|
-
},
|
|
145
|
-
readonly: {
|
|
146
|
-
name: 'Read Only',
|
|
147
|
-
description: 'Puts the control in a read-only state.',
|
|
148
|
-
control: {
|
|
149
|
-
type: 'boolean',
|
|
150
|
-
},
|
|
151
|
-
table: {
|
|
152
|
-
defaultValue: { summary: false },
|
|
153
|
-
},
|
|
154
|
-
},
|
|
155
|
-
disabled: {
|
|
156
|
-
name: 'Disabled',
|
|
157
|
-
description: 'Disables the slider.',
|
|
158
|
-
control: {
|
|
159
|
-
type: 'boolean',
|
|
160
|
-
},
|
|
161
|
-
table: {
|
|
162
|
-
defaultValue: { summary: false },
|
|
163
|
-
},
|
|
164
|
-
},
|
|
165
|
-
},
|
|
166
|
-
parameters: {
|
|
167
|
-
notes: readme,
|
|
168
|
-
design: [
|
|
169
|
-
{
|
|
170
|
-
name: 'Figma',
|
|
171
|
-
type: 'figma',
|
|
172
|
-
url: 'https://www.figma.com/file/d8bTgEx7h694MSesi2CTLF/Tegel-UI-Library?node-id=9649%3A20759&t=Ne6myqwca5m00de7-1',
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
name: 'Link',
|
|
176
|
-
type: 'link',
|
|
177
|
-
url: 'https://www.figma.com/file/d8bTgEx7h694MSesi2CTLF/Tegel-UI-Library?node-id=9649%3A20759&t=Ne6myqwca5m00de7-1',
|
|
178
|
-
},
|
|
179
|
-
],
|
|
180
|
-
},
|
|
181
|
-
args: {
|
|
182
|
-
min: '0',
|
|
183
|
-
max: '100',
|
|
184
|
-
initialValue: '50',
|
|
185
|
-
showLabel: false,
|
|
186
|
-
labelText: 'Label',
|
|
187
|
-
showTicks: false,
|
|
188
|
-
numTicks: '3',
|
|
189
|
-
showTickNumbers: false,
|
|
190
|
-
snapToTicks: false,
|
|
191
|
-
showTooltip: true,
|
|
192
|
-
showControls: false,
|
|
193
|
-
step: '1',
|
|
194
|
-
showInput: false,
|
|
195
|
-
thumbSize: 'Large',
|
|
196
|
-
readonly: false,
|
|
197
|
-
disabled: false,
|
|
198
|
-
},
|
|
199
|
-
};
|
|
200
|
-
const sizeLookUp = {
|
|
201
|
-
Large: 'lg',
|
|
202
|
-
Small: 'sm',
|
|
203
|
-
};
|
|
204
|
-
const Template = ({ min, max, initialValue, showLabel, labelText, showTicks, numTicks, showTickNumbers, snapToTicks, showTooltip, showControls, step, showInput, thumbSize, readonly, disabled, }) => formatHtmlPreview(`
|
|
205
|
-
<!-- Style code below is just for demo purposes -->
|
|
206
|
-
<style>
|
|
207
|
-
.demo-wrapper {
|
|
208
|
-
width: 500px;
|
|
209
|
-
margin-left: 150px;
|
|
210
|
-
}
|
|
211
|
-
</style>
|
|
212
|
-
|
|
213
|
-
<div class="demo-wrapper">
|
|
214
|
-
<tds-slider
|
|
215
|
-
min="${min}"
|
|
216
|
-
max="${max}"
|
|
217
|
-
${showControls && step ? `step="${step}"` : ''}
|
|
218
|
-
value="${initialValue}"
|
|
219
|
-
${showTicks ? `ticks="${numTicks}"` : ''}
|
|
220
|
-
${showTickNumbers ? 'show-tick-numbers' : ''}
|
|
221
|
-
${snapToTicks ? 'snap' : ''}
|
|
222
|
-
${showLabel ? `label="${labelText}"` : ''}
|
|
223
|
-
${showTooltip ? 'tooltip' : ''}
|
|
224
|
-
${showControls ? 'controls' : ''}
|
|
225
|
-
${showInput ? 'input' : ''}
|
|
226
|
-
${disabled ? 'disabled' : ''}
|
|
227
|
-
thumb-size="${sizeLookUp[thumbSize]}"
|
|
228
|
-
${readonly ? 'read-only' : ''}
|
|
229
|
-
>
|
|
230
|
-
</tds-slider>
|
|
231
|
-
</div>
|
|
232
|
-
|
|
233
|
-
<!-- Script tag for demo purposes -->
|
|
234
|
-
<script>
|
|
235
|
-
slider = document.querySelector('tds-slider')
|
|
236
|
-
|
|
237
|
-
slider.removeEventListener('tdsChange', null)
|
|
238
|
-
slider.addEventListener('tdsChange', (event) => {
|
|
239
|
-
console.log(event);
|
|
240
|
-
});
|
|
241
|
-
</script>
|
|
242
|
-
`);
|
|
243
|
-
export const Default = Template.bind({});
|