@roadtrip/components 3.32.3 → 3.32.5

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 (66) hide show
  1. package/dist/cjs/road-badge_14.cjs.entry.js +9 -12
  2. package/dist/cjs/road-badge_14.cjs.entry.js.map +1 -1
  3. package/dist/collection/components/accordion/accordion.stories.js +38 -4
  4. package/dist/collection/components/alert/alert.stories.js +7 -0
  5. package/dist/collection/components/asset/asset.stories.js +6 -0
  6. package/dist/collection/components/autocomplete/autocomplete.stories.js +43 -47
  7. package/dist/collection/components/avatar/avatar.stories.js +6 -0
  8. package/dist/collection/components/badge/badge.stories.js +6 -0
  9. package/dist/collection/components/banner/banner.stories.js +33 -3
  10. package/dist/collection/components/button/button.stories.js +58 -67
  11. package/dist/collection/components/button-floating/button-floating.stories.js +32 -23
  12. package/dist/collection/components/card/card.stories.js +25 -15
  13. package/dist/collection/components/carousel/carousel.stories.js +72 -280
  14. package/dist/collection/components/checkbox/checkbox.stories.js +54 -33
  15. package/dist/collection/components/chip/chip.stories.js +32 -47
  16. package/dist/collection/components/collapse/collapse.stories.js +88 -78
  17. package/dist/collection/components/content-card/content-card.stories.js +30 -11
  18. package/dist/collection/components/counter/counter.stories.js +40 -11
  19. package/dist/collection/components/dialog/dialog.stories.js +37 -51
  20. package/dist/collection/components/drawer/drawer.js +9 -12
  21. package/dist/collection/components/drawer/drawer.js.map +1 -1
  22. package/dist/collection/components/drawer/drawer.stories.js +64 -134
  23. package/dist/collection/components/dropdown/dropdown.stories.js +69 -53
  24. package/dist/collection/components/duration/duration.stories.js +49 -45
  25. package/dist/collection/components/flap/flap.stories.js +22 -10
  26. package/dist/collection/components/input/input.stories.js +33 -0
  27. package/dist/collection/components/item/item.stories.js +25 -0
  28. package/dist/collection/components/list/list.stories.js +2 -0
  29. package/dist/collection/components/modal/modal.stories.js +14 -0
  30. package/dist/collection/components/navbar/navbar.stories.js +3 -0
  31. package/dist/collection/components/navbar-v2/navbar-v2.stories.js +4 -0
  32. package/dist/collection/components/phone-number-input/phone-number-input.stories.js +15 -1
  33. package/dist/collection/components/plate-number/plate-number.stories.js +13 -0
  34. package/dist/collection/components/profil-dropdown/profil-dropdown.stories.js +8 -0
  35. package/dist/collection/components/progress/progress.stories.js +12 -0
  36. package/dist/collection/components/progress-indicator-horizontal/progress-indicator-horizontal.stories.js +8 -0
  37. package/dist/collection/components/progress-indicator-vertical/progress-indicator-vertical.stories.js +1 -0
  38. package/dist/collection/components/progress-tracker/progress-tracker.stories.js +1 -0
  39. package/dist/collection/components/radio/radio.stories.js +13 -0
  40. package/dist/collection/components/range/range.stories.js +11 -0
  41. package/dist/collection/components/rating/rating.stories.js +7 -0
  42. package/dist/collection/components/segmented-buttons/segmented-buttons.stories.js +2 -0
  43. package/dist/collection/components/select/select.stories.js +13 -0
  44. package/dist/collection/components/select-filter/select-filter.stories.js +5 -0
  45. package/dist/collection/components/skeleton/skeleton.stories.js +2 -0
  46. package/dist/collection/components/spinner/spinner.stories.js +2 -0
  47. package/dist/collection/components/table/table.stories.js +1 -0
  48. package/dist/collection/components/tabs/tabs.stories.js +2 -0
  49. package/dist/collection/components/tag/tag.stories.js +3 -0
  50. package/dist/collection/components/text/text.stories.js +2 -0
  51. package/dist/collection/components/textarea/textarea.stories.js +26 -0
  52. package/dist/collection/components/toast/toast.stories.js +6 -0
  53. package/dist/collection/components/toggle/toggle.stories.js +14 -0
  54. package/dist/collection/components/toolbar/toolbar.stories.js +6 -0
  55. package/dist/collection/components/toolbar-v2/toolbar-v2.stories.js +5 -0
  56. package/dist/collection/components/tooltip/tooltip.stories.js +11 -0
  57. package/dist/esm/road-badge_14.entry.js +9 -12
  58. package/dist/esm/road-badge_14.entry.js.map +1 -1
  59. package/dist/roadtrip/{p-e2a00f9c.entry.js → p-b5c4455e.entry.js} +3 -3
  60. package/dist/roadtrip/p-b5c4455e.entry.js.map +1 -0
  61. package/dist/roadtrip/roadtrip.esm.js +1 -1
  62. package/dist/types/components/drawer/drawer.d.ts +0 -1
  63. package/hydrate/index.js +271 -255
  64. package/hydrate/index.mjs +271 -255
  65. package/package.json +2 -2
  66. package/dist/roadtrip/p-e2a00f9c.entry.js.map +0 -1
@@ -20,9 +20,11 @@ export default {
20
20
  },
21
21
  argTypes: {
22
22
  top: {
23
+ description: "Content is placed at the top of the screen.",
23
24
  control: 'text',
24
25
  },
25
26
  ' ': {
27
+ description: "Content is placed between the named slots if provided without a slot.",
26
28
  control: 'text',
27
29
  },
28
30
  roadtabsdidchange: {
@@ -11,49 +11,62 @@ export default {
11
11
  },
12
12
  argTypes: {
13
13
  disabled: {
14
+ description: "If `true`, the user cannot interact with the select.",
14
15
  control: 'boolean',
15
16
  },
16
17
  required: {
18
+ description: "If `true`, the user must fill in a value before submitting a form.",
17
19
  control: 'boolean',
18
20
  },
19
21
  autofocus: {
22
+ description: "This Boolean attribute lets you specify that a form control should have input focus when the page loads.",
20
23
  control: 'boolean',
21
24
  },
22
25
  error: {
26
+ description: "Error message for the field",
23
27
  control: 'text',
24
28
  },
25
29
  label: {
30
+ description: "Label for the field",
26
31
  control: 'text',
27
32
  },
28
33
  name: {
34
+ description: "The name of the control, which is submitted with the form data.",
29
35
  control: 'text',
30
36
  },
31
37
  size: {
38
+ description: "The sizes of the input.",
32
39
  control: 'number',
33
40
  },
34
41
  sizes: {
42
+ description: "If the control is presented as a scrolling list box (e.g. when multiple is specified),\nthis attribute represents the number of rows in the list that should be visible at one time.",
35
43
  options: ['md', 'lg', 'xl'],
36
44
  control: {
37
45
  type: 'select',
38
46
  },
39
47
  },
40
48
  'select-id': {
49
+ description: "The id of select",
41
50
  control: 'text',
42
51
  },
43
52
  value: {
53
+ description: "the value of the select.",
44
54
  control: 'text',
45
55
  },
46
56
  roadblur: {
57
+ description: "Emitted when the select loses focus.",
47
58
  control: {
48
59
  type: null,
49
60
  },
50
61
  },
51
62
  roadfocus: {
63
+ description: "Emitted when the select has focus.",
52
64
  control: {
53
65
  type: null,
54
66
  },
55
67
  },
56
68
  roadchange: {
69
+ description: "Emitted when the value has changed.",
57
70
  action: 'roadchange',
58
71
  control: {
59
72
  type: null,
@@ -12,15 +12,19 @@ export default {
12
12
  },
13
13
  argTypes: {
14
14
  ' ': {
15
+ description: "Input element for the widget, it should be a road-input element.",
15
16
  control: 'text',
16
17
  },
17
18
  'only-select': {
19
+ description: "If `false`, the user can submit custom value",
18
20
  control: 'boolean',
19
21
  },
20
22
  'is-active': {
23
+ description: "If `true`, add class Active",
21
24
  control: 'boolean',
22
25
  },
23
26
  parameters: {
27
+ description: "Options to pass to the fuse.js instance.\nSee https://fusejs.io/api/options.html for valid options",
24
28
  control: 'object',
25
29
  },
26
30
  roadselected: {
@@ -30,6 +34,7 @@ export default {
30
34
  },
31
35
  },
32
36
  '--margin-top': {
37
+ description: "margin top of the select-filter (should equal the height of the field)",
33
38
  table: {
34
39
  defaultValue: { summary: '3rem' },
35
40
  },
@@ -5,6 +5,7 @@ export default {
5
5
  component: 'road-skeleton',
6
6
  argTypes: {
7
7
  '--background-light': {
8
+ description: "base light grey color",
8
9
  table: {
9
10
  defaultValue: { summary: 'var(--road-disabled)' },
10
11
  },
@@ -13,6 +14,7 @@ export default {
13
14
  },
14
15
  },
15
16
  '--background-dark': {
17
+ description: "second grey color to see the animation",
16
18
  table: {
17
19
  defaultValue: { summary: 'rgb(137, 143, 160, 0.4)' },
18
20
  },
@@ -7,12 +7,14 @@ export default {
7
7
  component: 'road-spinner',
8
8
  argTypes: {
9
9
  size: {
10
+ description: "The button size.",
10
11
  options: ['small', 'medium', 'large', 'xl'],
11
12
  control: {
12
13
  type: 'select',
13
14
  },
14
15
  },
15
16
  color: {
17
+ description: "The color spinner.",
16
18
  options: ['default', 'light', 'dark'],
17
19
  control: {
18
20
  type: 'select',
@@ -6,6 +6,7 @@ export default {
6
6
  component: 'road-table',
7
7
  argTypes: {
8
8
  ' ': {
9
+ description: "Content of table, it should be an html table (https://developer.mozilla.org/fr/docs/Web/HTML/Element/table).",
9
10
  control: 'text',
10
11
  },
11
12
  },
@@ -19,9 +19,11 @@ export default {
19
19
  },
20
20
  argTypes: {
21
21
  top: {
22
+ description: "Content is placed at the top of the screen.",
22
23
  control: 'text',
23
24
  },
24
25
  ' ': {
26
+ description: "Content is placed between the named slots if provided without a slot.",
25
27
  control: 'text',
26
28
  },
27
29
  roadtabsdidchange: {
@@ -12,15 +12,18 @@ export default {
12
12
  },
13
13
  argTypes: {
14
14
  ' ': {
15
+ description: "Content of the tag.",
15
16
  control: 'text',
16
17
  },
17
18
  color: {
19
+ description: "The color to use from your application's color palette.",
18
20
  options: ['grey', 'yellow', 'red', 'violet', 'blue', 'green'],
19
21
  control: {
20
22
  type: 'select',
21
23
  },
22
24
  },
23
25
  contrast: {
26
+ description: "Set to `true` for a contrast tag, for example on a gryy surface",
24
27
  control: 'boolean',
25
28
  },
26
29
  },
@@ -16,12 +16,14 @@ Playground.args = {
16
16
  };
17
17
  Playground.argTypes = {
18
18
  color: {
19
+ description: "Color of the text.",
19
20
  options: ['primary', 'secondary', 'accent', 'info', 'success', 'warning', 'danger', 'default', 'default-second', 'disabled', 'white'],
20
21
  control: {
21
22
  type: 'radio',
22
23
  },
23
24
  },
24
25
  ' ': {
26
+ description: "Content of the text.",
25
27
  control: 'text',
26
28
  },
27
29
  };
@@ -11,109 +11,135 @@ export default {
11
11
  },
12
12
  argTypes: {
13
13
  disabled: {
14
+ description: "If `true`, the user cannot interact with the textarea.",
14
15
  control: 'boolean',
15
16
  },
16
17
  readonly: {
18
+ description: "If `true`, the user cannot modify the value.",
17
19
  control: 'boolean',
18
20
  },
19
21
  required: {
22
+ description: "If `true`, the user must fill in a value before submitting a form.",
20
23
  control: 'boolean',
21
24
  },
22
25
  autofocus: {
26
+ description: "This Boolean attribute lets you specify that a form control should have focus when the page loads.",
23
27
  control: 'boolean',
24
28
  },
25
29
  spellcheck: {
30
+ description: "If `true`, the element will have its spelling and grammar checked.",
26
31
  control: 'boolean',
27
32
  },
28
33
  resize: {
34
+ description: "If `false`, to disabled resize.",
29
35
  control: 'boolean',
30
36
  },
31
37
  error: {
38
+ description: "Error message for the field",
32
39
  control: 'text',
33
40
  },
34
41
  helper: {
42
+ description: "Helper message for the field",
35
43
  control: 'text',
36
44
  },
37
45
  label: {
46
+ description: "Label for the field",
38
47
  control: 'text',
39
48
  },
40
49
  name: {
50
+ description: "The name of the control, which is submitted with the form data.",
41
51
  control: 'text',
42
52
  },
43
53
  placeholder: {
54
+ description: "Instructional text that shows before the textarea has a value.",
44
55
  control: 'text',
45
56
  },
46
57
  minlength: {
58
+ description: "If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.",
47
59
  control: 'number',
48
60
  },
49
61
  maxlength: {
62
+ description: "If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.",
50
63
  control: 'number',
51
64
  },
52
65
  value: {
66
+ description: "The value of the textarea.",
53
67
  control: 'text',
54
68
  },
55
69
  sizes: {
70
+ description: "The sizes of the input.",
56
71
  options: ['lg', 'xl'],
57
72
  control: {
58
73
  type: 'select',
59
74
  },
60
75
  },
61
76
  autocapitalize: {
77
+ description: "Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.",
62
78
  options: ['on', 'off'],
63
79
  control: {
64
80
  type: 'select',
65
81
  },
66
82
  },
67
83
  enterkeyhint: {
84
+ description: "A hint to the browser for which enter key to display.\nPossible values: `\"enter\"`, `\"done\"`, `\"go\"`, `\"next\"`,\n`\"previous\"`, `\"search\"`, and `\"send\"`.",
68
85
  options: ['enter', 'done', 'go', 'next', 'previous', 'search', 'send'],
69
86
  control: {
70
87
  type: 'select',
71
88
  },
72
89
  },
73
90
  inputmode: {
91
+ description: "A hint to the browser for which keyboard to display.\nThis attribute applies when the value of the type attribute is `\"text\"`, `\"password\"`, `\"email\"`, or `\"url\"`. Possible values are: `\"verbatim\"`, `\"latin\"`, `\"latin-name\"`, `\"latin-prose\"`, `\"full-width-latin\"`, `\"kana\"`, `\"katakana\"`, `\"numeric\"`, `\"tel\"`, `\"email\"`, `\"url\"`.",
74
92
  options: ['none', 'text', 'tel', 'url', 'email', 'numeric', 'decimal', 'search'],
75
93
  control: {
76
94
  type: 'select',
77
95
  },
78
96
  },
79
97
  rows: {
98
+ description: "The number of rows of the control.",
80
99
  control: {
81
100
  type: 'number',
82
101
  min: 0,
83
102
  },
84
103
  },
85
104
  cols: {
105
+ description: "The visible width of the text control, in average character widths. If it is specified, it must be a positive integer.",
86
106
  control: {
87
107
  type: 'number',
88
108
  min: 0,
89
109
  },
90
110
  },
91
111
  'textarea-id' : {
112
+ description: "The id of textarea",
92
113
  control: 'text',
93
114
  },
94
115
  wrap: {
116
+ description: "Indicates how the control wraps text.",
95
117
  options: ['hard', 'off', 'soft'],
96
118
  control: {
97
119
  type: 'select',
98
120
  },
99
121
  },
100
122
  roadblur: {
123
+ description: "Emitted when the textarea loses focus.",
101
124
  control: {
102
125
  type: null,
103
126
  },
104
127
  },
105
128
  roadfocus: {
129
+ description: "Emitted when the textarea has focus.",
106
130
  control: {
107
131
  type: null,
108
132
  },
109
133
  },
110
134
  roadchange: {
135
+ description: "Emitted when the value has changed.",
111
136
  action: 'roadchange',
112
137
  control: {
113
138
  type: null,
114
139
  },
115
140
  },
116
141
  roadinput: {
142
+ description: "Emitted when a keyboard input occurred.",
117
143
  action: 'roadinput',
118
144
  control: {
119
145
  type: null,
@@ -16,27 +16,33 @@ export default {
16
16
  },
17
17
  argTypes: {
18
18
  'is-open': {
19
+ description: "Set `open` propertie to `true` to open the toast",
19
20
  control: 'boolean',
20
21
  },
21
22
  color: {
23
+ description: "Set the color of the toast. e.g. info, success, warning, danger",
22
24
  options: ['info', 'success', 'warning', 'danger'],
23
25
  control: {
24
26
  type: 'radio',
25
27
  },
26
28
  },
27
29
  label: {
30
+ description: "Text display in the toast",
28
31
  control: 'text',
29
32
  },
30
33
  timeout: {
34
+ description: "How many milliseconds to wait before hiding the toast. if `\"0\"`, it will show\nuntil `close()` is called.",
31
35
  control: 'number',
32
36
  min: 0,
33
37
  },
34
38
  close: {
39
+ description: "Indicate when closing the toast",
35
40
  control: {
36
41
  type: null,
37
42
  },
38
43
  },
39
44
  progress: {
45
+ description: "the progress bar in the toast.\ncolor=\"info\" for Info\ncolor=\"success\" for success\ncolor=\"warning\" for warning\ncolor=\"danger\" for danger",
40
46
  control: 'text',
41
47
  },
42
48
  },
@@ -11,52 +11,66 @@ export default {
11
11
  },
12
12
  argTypes: {
13
13
  checked: {
14
+ description: "If `true`, the toggle is checked.",
14
15
  control: 'boolean',
15
16
  },
16
17
  disabled: {
18
+ description: "If `true`, the user cannot interact with the toggle.",
17
19
  control: 'boolean',
18
20
  },
19
21
  label: {
22
+ description: "Label for the field",
20
23
  control: 'text',
21
24
  },
22
25
  name: {
26
+ description: "The name of the control, which is submitted with the form data.",
23
27
  control: 'text',
24
28
  },
25
29
  'toggle-id': {
30
+ description: "The id of toggle",
26
31
  control: 'text',
27
32
  },
28
33
  value: {
34
+ description: "Value the form will get",
29
35
  control: 'text',
30
36
  },
31
37
  off: {
38
+ description: "Text display for \"`off`\" state in the toggle lever",
32
39
  control: 'text',
33
40
  },
34
41
  on: {
42
+ description: "Text display for \"`on`\" state in the toggle lever",
35
43
  control: 'text',
36
44
  },
37
45
  'has-left-label': {
46
+ description: "If `true`, the label is at left of the toggle",
38
47
  control: 'boolean',
39
48
  },
40
49
  'is-spaced': {
50
+ description: "Add space between label and toggle element",
41
51
  control: 'boolean',
42
52
  },
43
53
  roadblur: {
54
+ description: "Emitted when the toggle loses focus.",
44
55
  control: {
45
56
  type: null,
46
57
  },
47
58
  },
48
59
  roadfocus: {
60
+ description: "Emitted when the toggle has focus.",
49
61
  control: {
50
62
  type: null,
51
63
  },
52
64
  },
53
65
  roadchange: {
66
+ description: "Emitted when the checked property has changed.",
54
67
  action: 'roadchange',
55
68
  control: {
56
69
  type: null,
57
70
  },
58
71
  },
59
72
  '--toggle-lever-width': {
73
+ description: "width of the lever",
60
74
  table: {
61
75
  defaultValue: { summary: '4.5rem' },
62
76
  },
@@ -16,24 +16,30 @@ export default {
16
16
  },
17
17
  argTypes: {
18
18
  color: {
19
+ description: "Background color of the toolbar",
19
20
  options: ['primary', 'secondary'],
20
21
  control: {
21
22
  type: 'radio',
22
23
  },
23
24
  },
24
25
  start: {
26
+ description: "Content is placed to the left of the toolbar text and left to primery slot if provided.",
25
27
  control: 'text',
26
28
  },
27
29
  primary: {
30
+ description: "Content is placed to the left of the toolbar text.",
28
31
  control: 'text',
29
32
  },
30
33
  ' ': {
34
+ description: "Content is placed between the named slots if provided without a slot.",
31
35
  control: 'text',
32
36
  },
33
37
  secondary: {
38
+ description: "Content is placed to the right of the toolbar text.",
34
39
  control: 'text',
35
40
  },
36
41
  end: {
42
+ description: "Content is placed to the right of the toolbar text and right to secondary slot if provided.",
37
43
  control: 'text',
38
44
  },
39
45
  },
@@ -16,18 +16,23 @@ export default {
16
16
  },
17
17
  argTypes: {
18
18
  start: {
19
+ description: "Content is placed to the left of the toolbar text and left to primery slot if provided.",
19
20
  control: 'text',
20
21
  },
21
22
  primary: {
23
+ description: "Content is placed to the left of the toolbar text.",
22
24
  control: 'text',
23
25
  },
24
26
  ' ': {
27
+ description: "Content is placed between the named slots if provided without a slot.",
25
28
  control: 'text',
26
29
  },
27
30
  secondary: {
31
+ description: "Content is placed to the right of the toolbar text.",
28
32
  control: 'text',
29
33
  },
30
34
  end: {
35
+ description: "Content is placed to the right of the toolbar text and right to secondary slot if provided.",
31
36
  control: 'text',
32
37
  },
33
38
  },
@@ -28,33 +28,40 @@ Playground.args = {
28
28
  };
29
29
  Playground.argTypes = {
30
30
  'is-open': {
31
+ description: "Indicates whether or not the tooltip is open. You can use this or the open/close methods.",
31
32
  control: 'boolean',
32
33
  },
33
34
  position: {
35
+ description: "The position of the tooltip.",
34
36
  options: ['top', 'left', 'bottom', 'right', 'top-left', 'top-right', 'bottom-left', 'bottom-right'],
35
37
  control: {
36
38
  type: 'radio',
37
39
  },
38
40
  },
39
41
  contentAlign: {
42
+ description: "The content align of the tooltip.",
40
43
  options: ['center', 'left'],
41
44
  control: {
42
45
  type: 'radio',
43
46
  },
44
47
  },
45
48
  content: {
49
+ description: "The tooltip's content.",
46
50
  control: 'text',
47
51
  },
48
52
  trigger: {
53
+ description: "Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.",
49
54
  options: ['hover', 'click', 'focus'],
50
55
  control: {
51
56
  type: 'select',
52
57
  },
53
58
  },
54
59
  'tooltip-id': {
60
+ description: "The id of tooltip",
55
61
  control: 'text',
56
62
  },
57
63
  'tooltip-content': {
64
+ description: "content of the tooltip, if you need to add html content, use this slot, otherwise use directly the content prop.",
58
65
  control: 'text',
59
66
  },
60
67
  open : {
@@ -82,6 +89,7 @@ Playground.argTypes = {
82
89
  },
83
90
  },
84
91
  '--max-width': {
92
+ description: "The maximum width of the tooltip.",
85
93
  table: {
86
94
  defaultValue: { summary: 'auto' },
87
95
  },
@@ -90,6 +98,7 @@ Playground.argTypes = {
90
98
  },
91
99
  },
92
100
  '--z-index': {
101
+ description: "The z-index of the tooltip.",
93
102
  table: {
94
103
  defaultValue: { summary: '1' },
95
104
  },
@@ -98,6 +107,7 @@ Playground.argTypes = {
98
107
  },
99
108
  },
100
109
  '--width': {
110
+ description: "width of the tooltip.",
101
111
  table: {
102
112
  defaultValue: { summary: 'auto' },
103
113
  },
@@ -106,6 +116,7 @@ Playground.argTypes = {
106
116
  },
107
117
  },
108
118
  'tooltip': {
119
+ description: "tooltip container",
109
120
  control: {
110
121
  type: null,
111
122
  },
@@ -398,21 +398,18 @@ const Drawer = class {
398
398
  item.addEventListener('click', () => this.close());
399
399
  });
400
400
  }
401
- hasFooterContent() {
402
- const footerSlot = this.el.querySelector('[slot="footer"]');
403
- return footerSlot !== null && footerSlot.childElementCount > 0;
404
- }
405
401
  render() {
402
+ var _a, _b, _c;
406
403
  const drawerIsOpenClass = this.isOpen ? 'drawer-open' : '';
407
404
  const inverseHeaderClass = this.hasInverseHeader ? 'drawer-header-inverse' : '';
408
- const ariaLabel = this.ariaLabel !== undefined ? this.ariaLabel : 'drawer';
409
- const ariaLabelBack = this.ariaLabelBack !== undefined ? this.ariaLabelBack : 'Back';
410
- const ariaLabelClose = this.ariaLabelClose !== undefined ? this.ariaLabelClose : 'Close';
411
- const drawerDelimiterClass = this.drawerTitle !== undefined && !this.hasInverseHeader ? 'drawer-delimiter' : '';
412
- const backIconElement = this.hasBackIcon ? h("button", { type: "button", class: "drawer-action", "aria-label": `${ariaLabelBack}`, onClick: this.onClickBack }, h("road-icon", { icon: navigationChevron, rotate: "180" }), this.backText) : '';
413
- const closeIconElement = this.hasCloseIcon ? h("button", { type: "button", class: "drawer-close", onClick: this.onClick, "aria-label": `${ariaLabelClose}` }, h("road-icon", { icon: navigationClose, "aria-hidden": "true" })) : '';
414
- const drawerWidthValue = this.position === 'bottom' ? '100%' : this.drawerWidth + 'px';
415
- return (h(Host, { key: '61d6f770f9f56ddb21b19f1f8577f5e518325790', class: `${drawerIsOpenClass} drawer-${this.position}`, tabindex: "0", role: "dialog", "aria-label": `${ariaLabel}` }, h("div", { key: 'e04193694e300e84f773d731619db83e1513a4db', class: "drawer-overlay", onClick: this.onClick, tabindex: "-1" }), h("div", { key: '5b19f360e5db980562ccd3991823a31161f5349b', class: "drawer-dialog", style: { maxWidth: `${drawerWidthValue}` }, role: "document", tabindex: "0" }, h("div", { key: '09320757e8c8fdda7770160241f3d185ac933d14', class: "drawer-content" }, h("header", { key: '1b37b3c4e8ec75391f5c068585ecbe22c4c39ddd', class: `drawer-header ${inverseHeaderClass} ${drawerDelimiterClass}` }, backIconElement, this.drawerTitle !== undefined ? h("h2", { class: "drawer-title" }, this.drawerTitle) : h("div", { class: "drawer-title" }, h("slot", { name: "title" })), closeIconElement), h("div", { key: '84ee063113d185a40f869ecee89db960d530a59f', class: "drawer-body" }, h("slot", { key: 'dd1b3ed184198ffe6ccd83f4c5698577933a55e7' })), this.hasFooterContent() && (h("footer", { key: '7e0c367c1a8309464e2ffaefaf759cd5162172c7', class: "drawer-footer" }, h("slot", { key: '1fb2d6fc4e20b8853b0a1d95a9a7169defc4a5ae', name: "footer" })))))));
405
+ const ariaLabel = (_a = this.ariaLabel) !== null && _a !== void 0 ? _a : 'drawer';
406
+ const ariaLabelBack = (_b = this.ariaLabelBack) !== null && _b !== void 0 ? _b : 'Back';
407
+ const ariaLabelClose = (_c = this.ariaLabelClose) !== null && _c !== void 0 ? _c : 'Close';
408
+ const drawerDelimiterClass = this.drawerTitle && !this.hasInverseHeader ? 'drawer-delimiter' : '';
409
+ const backIconElement = this.hasBackIcon ? (h("button", { type: "button", class: "drawer-action", "aria-label": ariaLabelBack, onClick: this.onClickBack }, h("road-icon", { icon: navigationChevron, rotate: "180" }), this.backText)) : null;
410
+ const closeIconElement = this.hasCloseIcon ? (h("button", { type: "button", class: "drawer-close", onClick: this.onClick, "aria-label": ariaLabelClose }, h("road-icon", { icon: navigationClose, "aria-hidden": "true" }))) : null;
411
+ const drawerWidthValue = this.position === 'bottom' ? '100%' : `${this.drawerWidth}px`;
412
+ return (h(Host, { key: 'fd9a5a869879812bd6abeba3ae3da032bf188e1e', class: `${drawerIsOpenClass} drawer-${this.position}`, tabindex: "0", role: "dialog", "aria-label": ariaLabel }, h("div", { key: 'fcf28c064fc710f7c5a38bb98d56799d2f367cfd', class: "drawer-overlay", onClick: this.onClick, tabindex: "-1" }), h("div", { key: 'a8e366d98d6d686cde4fbeb1c99080ca4f3cb317', class: "drawer-dialog", style: { maxWidth: drawerWidthValue }, role: "document", tabindex: "0" }, h("div", { key: '9a67f4e0e4080d2933b6fce68cc0ea38a9bc301e', class: "drawer-content" }, h("header", { key: '9c04a1b883cb9437212aeb07de19725d5fb98266', class: `drawer-header ${inverseHeaderClass} ${drawerDelimiterClass}` }, backIconElement, this.drawerTitle ? (h("h2", { class: "drawer-title" }, this.drawerTitle)) : (h("div", { class: "drawer-title" }, h("slot", { name: "title" }))), closeIconElement), h("div", { key: 'f182bf146ffd3153bfb5b0faaa51fe8ac7b8627e', class: "drawer-body" }, h("slot", { key: 'da7ef62fdb134dad252ba7cbcc831584ac98552b' })), h("footer", { key: 'cf8ee470742208e0523eecb97dd74b9ec4303127', class: "drawer-footer" }, h("slot", { key: '50c4ed9e0e0f7dd98124a273a7af85aa8f89f319', name: "footer" }))))));
416
413
  }
417
414
  get el() { return getElement(this); }
418
415
  static get watchers() { return {