@3t-transform/threeteeui 0.2.75 → 0.2.76

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 (59) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/tttx-button.cjs.entry.js +2 -2
  3. package/dist/cjs/tttx-form.cjs.entry.js +78 -49
  4. package/dist/cjs/tttx-keyvalue-block.cjs.entry.js +17 -14
  5. package/dist/cjs/tttx-list.cjs.entry.js +1 -1
  6. package/dist/cjs/tttx-standalone-input.cjs.entry.js +8 -3
  7. package/dist/cjs/tttx-tag.cjs.entry.js +1 -1
  8. package/dist/cjs/tttx.cjs.js +1 -1
  9. package/dist/collection/collection-manifest.json +1 -1
  10. package/dist/collection/components/atoms/tttx-button/tttx-button.css +1 -1
  11. package/dist/collection/components/atoms/tttx-button/tttx-button.js +1 -2
  12. package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +1 -1
  13. package/dist/collection/components/atoms/tttx-icon/tttx-icon.js +0 -1
  14. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.css +14 -5
  15. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.js +46 -18
  16. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.js +85 -29
  17. package/dist/collection/components/atoms/tttx-tag/tttx-tag.css +1 -1
  18. package/dist/collection/components/atoms/tttx-tag/tttx-tag.js +0 -1
  19. package/dist/collection/components/atoms/tttx-tag/tttx-tag.stories.js +1 -1
  20. package/dist/collection/components/molecules/tttx-form/lib/setErrorState.js +14 -3
  21. package/dist/collection/components/molecules/tttx-form/lib/validityCheck.js +15 -13
  22. package/dist/collection/components/molecules/tttx-form/tttx-form.css +107 -177
  23. package/dist/collection/components/molecules/tttx-form/tttx-form.js +56 -36
  24. package/dist/collection/components/molecules/tttx-list/tttx-list.css +1 -1
  25. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.css +102 -198
  26. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +7 -2
  27. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +23 -5
  28. package/dist/components/tttx-button2.js +2 -2
  29. package/dist/components/tttx-form.js +79 -50
  30. package/dist/components/tttx-keyvalue-block.js +21 -16
  31. package/dist/components/tttx-list.js +1 -1
  32. package/dist/components/tttx-standalone-input2.js +8 -3
  33. package/dist/components/tttx-tag.js +1 -1
  34. package/dist/esm/loader.js +1 -1
  35. package/dist/esm/tttx-button.entry.js +2 -2
  36. package/dist/esm/tttx-form.entry.js +78 -49
  37. package/dist/esm/tttx-keyvalue-block.entry.js +17 -14
  38. package/dist/esm/tttx-list.entry.js +1 -1
  39. package/dist/esm/tttx-standalone-input.entry.js +8 -3
  40. package/dist/esm/tttx-tag.entry.js +1 -1
  41. package/dist/esm/tttx.js +1 -1
  42. package/dist/tttx/p-09b92178.entry.js +1 -0
  43. package/dist/tttx/{p-750cf31b.entry.js → p-129df5a2.entry.js} +1 -1
  44. package/dist/tttx/{p-a6582ab0.entry.js → p-25acdd4c.entry.js} +1 -1
  45. package/dist/tttx/{p-5b7b8539.entry.js → p-4ade2866.entry.js} +1 -1
  46. package/dist/tttx/p-b30a1025.entry.js +1 -0
  47. package/dist/tttx/p-d1ff1456.entry.js +1 -0
  48. package/dist/tttx/tttx.esm.js +1 -1
  49. package/dist/types/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.d.ts +7 -1
  50. package/dist/types/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.d.ts +6 -4
  51. package/dist/types/components/molecules/tttx-form/lib/setErrorState.d.ts +3 -2
  52. package/dist/types/components/molecules/tttx-form/lib/validityCheck.d.ts +5 -7
  53. package/dist/types/components/molecules/tttx-form/tttx-form.d.ts +74 -29
  54. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.d.ts +7 -0
  55. package/dist/types/components.d.ts +7 -4
  56. package/package.json +1 -1
  57. package/dist/tttx/p-6fe0af4e.entry.js +0 -1
  58. package/dist/tttx/p-818574fe.entry.js +0 -1
  59. package/dist/tttx/p-895526aa.entry.js +0 -1
@@ -6,168 +6,120 @@
6
6
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
7
7
  }
8
8
 
9
- .material-symbols-rounded {
10
- font-family: "Material Symbols Rounded", sans-serif;
9
+ label {
10
+ font-weight: 500;
11
+ font-size: 16px;
12
+ line-height: 19px;
13
+ color: #212121;
14
+ }
15
+ label .optional {
16
+ color: #757575;
11
17
  font-weight: normal;
12
- font-style: normal;
13
- font-size: 24px;
14
- line-height: 1;
15
- letter-spacing: normal;
16
- text-transform: none;
17
- display: inline-block;
18
- white-space: nowrap;
19
- word-wrap: normal;
20
- direction: ltr;
21
- text-rendering: optimizeLegibility;
22
- -webkit-font-smoothing: antialiased;
23
- color: #9e9e9e;
24
18
  }
25
-
26
- .icon-left,
27
- .icon-right {
28
- flex-basis: 24px;
19
+ label .outer-container {
20
+ position: relative;
29
21
  }
30
-
31
- .icon-left span,
32
- .icon-right span {
33
- font-size: 24px;
34
- line-height: 24px;
35
- text-align: center;
36
- display: block;
37
- width: 24px;
22
+ label .outer-container .left-icons,
23
+ label .outer-container .right-icons {
24
+ display: flex;
25
+ position: absolute;
38
26
  height: 24px;
39
- margin-top: 4px;
40
- }
41
-
42
- .icon-left span {
43
- margin-left: 4px;
44
- }
45
-
46
- .icon-right span {
47
- margin-right: 4px;
48
- }
49
-
50
- .icon-right {
51
- margin-top: 5px;
27
+ gap: 8px;
52
28
  }
53
-
54
- .icon-left {
55
- margin-top: 5px;
56
- margin-left: 4px;
57
- }
58
-
59
- .iconleft .input {
60
- padding-left: 4px;
29
+ label .outer-container .left-icons tttx-icon,
30
+ label .outer-container .right-icons tttx-icon {
31
+ height: 24px;
32
+ width: 24px;
61
33
  }
62
-
63
- .iconright .input {
64
- padding-right: 4px;
34
+ label .outer-container .left-icons {
35
+ left: 8px;
65
36
  }
66
-
67
- .input-icon {
68
- position: absolute;
69
- margin-top: 9px;
70
- margin-left: 4px;
37
+ label .outer-container .right-icons {
38
+ right: 8px;
71
39
  }
72
-
73
- .errormsg {
74
- display: flex;
75
- justify-content: center;
76
- align-items: center;
77
- float: left;
78
- margin-bottom: 16px;
40
+ label .outer-container input {
41
+ color: #212121;
79
42
  box-sizing: border-box;
80
- background-color: transparent;
81
- height: 26px;
82
- font-size: 14px;
83
- line-height: 16px;
84
- border-radius: none;
85
- z-index: 2;
86
- color: #dc0000;
87
- }
88
-
89
- .errormsg .validationicon {
90
- width: 16px;
91
- height: 16px;
92
- font-size: 16px;
93
- line-height: 19px;
94
- margin-right: 4px;
95
- vertical-align: middle;
96
- color: #dc0000;
97
- }
98
-
99
- .danger {
100
- color: #dc0000;
43
+ border: 1px solid #d5d5d5;
44
+ border-radius: 4px;
45
+ padding: 0;
46
+ padding-left: 16px;
47
+ padding-right: 16px;
48
+ margin-top: 4px;
49
+ /* iPhone OS fix */
101
50
  }
102
-
103
- .optional {
104
- color: #757575;
105
- font-weight: normal;
51
+ label .outer-container input.has-input-icon {
52
+ padding-left: 40px;
106
53
  }
107
-
108
- label.inputBlock {
109
- display: block;
110
- position: relative;
111
- line-height: 21px;
54
+ label .outer-container input.has-input-icon.has-left-icon {
55
+ padding-left: 72px;
112
56
  }
113
-
114
- label.inputInline {
115
- display: flex;
116
- white-space: nowrap;
117
- align-items: center;
57
+ label .outer-container input.has-left-icon {
58
+ padding-left: 40px;
118
59
  }
119
- label.inputInline .input-container {
120
- margin: 0 4px;
121
- width: 100%;
122
- display: flex;
123
- align-items: center;
124
- gap: 4px;
125
- position: relative;
60
+ label .outer-container input.has-right-icon {
61
+ padding-right: 40px;
126
62
  }
127
-
128
- label {
129
- font-weight: 500;
130
- font-size: 16px;
131
- line-height: 19px;
132
- margin-bottom: 16px;
63
+ label .outer-container input.invalid {
64
+ border: 1px solid #dc0000;
133
65
  }
134
-
135
- input:not([type=submit]) {
66
+ label .outer-container input:not([type=submit]) {
136
67
  font-family: "Roboto", serif;
137
- box-sizing: border-box;
138
68
  width: 100%;
139
69
  height: 36px;
140
- padding: 0 16px;
141
70
  font-size: 16px;
142
71
  line-height: 19px;
143
- border: 1px solid #d5d5d5;
144
- border-radius: 4px;
145
- margin-top: 4px;
146
72
  }
147
-
148
- /* iPhone OS fix */
149
- input[type=date] {
73
+ label .outer-container input[type=date] {
150
74
  background: white;
151
75
  display: block;
152
76
  min-width: calc(100% - 18px);
153
77
  line-height: 37px;
154
78
  }
155
-
156
- /* Android device date alignment fix */
157
- @media (max-width: 600px) {
158
- input[type=date] {
159
- padding-top: 6px;
160
- }
79
+ label .outer-container input[readonly] {
80
+ cursor: default;
81
+ pointer-events: none;
82
+ user-select: none;
83
+ color: gray;
161
84
  }
162
- input.invalid:invalid, input.standalone.invalid {
163
- border: 1px solid #dc0000;
85
+ label .outer-container input:focus {
86
+ border-color: #1479c6;
164
87
  }
165
-
166
- .input-icon ~ input {
167
- padding: 0 32px;
88
+ label .outer-container input:focus-visible {
89
+ outline: none;
168
90
  }
169
-
170
- input ~ .errorBubble {
91
+ label .outer-container.inputBlock {
92
+ display: flex;
93
+ align-items: center;
94
+ line-height: 21px;
95
+ }
96
+ label .outer-container.inputBlock .left-icons,
97
+ label .outer-container.inputBlock .right-icons {
98
+ margin-top: 4px;
99
+ }
100
+ label .outer-container.inputBlock.readonly {
101
+ pointer-events: none;
102
+ user-select: none;
103
+ color: gray;
104
+ }
105
+ label .outer-container.inputInline {
106
+ display: flex;
107
+ white-space: nowrap;
108
+ align-items: center;
109
+ margin: 0;
110
+ }
111
+ label .outer-container.inputInline input {
112
+ margin-top: 0;
113
+ }
114
+ label .secondarylabel {
115
+ color: #757575;
116
+ font-size: 14px;
117
+ line-height: 16px;
118
+ font-weight: normal;
119
+ display: flex;
120
+ margin-top: 4px;
121
+ }
122
+ label .errorBubble {
171
123
  position: relative;
172
124
  font-size: 14px;
173
125
  line-height: 16px;
@@ -181,80 +133,32 @@ input ~ .errorBubble {
181
133
  justify-items: center;
182
134
  margin-top: 4px;
183
135
  }
184
-
185
- input ~ .errorBubble:not(.visible) {
136
+ label .errorBubble:not(.visible) {
186
137
  display: none;
187
138
  }
188
-
189
- input ~ .errorBubble span {
139
+ label .errorBubble span {
190
140
  color: #dc0000;
191
141
  font-size: 16px;
192
142
  margin-right: 4px;
193
143
  }
194
144
 
195
- input.invalid:invalid ~ .errorBubble {
196
- position: relative;
197
- font-size: 14px;
198
- font-weight: normal;
199
- width: 100%;
200
- font-family: "Roboto", sans-serif;
201
- color: #dc0000;
202
- }
203
-
204
- input:focus {
205
- border-color: #1479c6;
206
- }
207
-
208
- input:focus-visible {
209
- outline: none;
210
- }
211
-
212
- .secondarylabel {
213
- color: #757575;
214
- font-size: 14px;
215
- line-height: 16px;
216
- font-weight: normal;
217
- display: flex;
218
- margin-top: 4px;
219
- }
220
-
221
- label.inputBlock.readonly {
222
- pointer-events: none;
223
- user-select: none;
224
- color: gray;
225
- }
226
-
227
- input[readonly] {
228
- cursor: default;
229
- pointer-events: none;
230
- user-select: none;
231
- color: gray;
145
+ .material-symbols-rounded {
146
+ font-family: "Material Symbols Rounded", sans-serif;
147
+ font-weight: 400;
148
+ font-style: normal;
149
+ font-size: 24px;
150
+ line-height: 1;
151
+ letter-spacing: normal;
152
+ text-transform: none;
153
+ display: inline-block;
154
+ white-space: nowrap;
155
+ word-wrap: normal;
156
+ direction: ltr;
157
+ text-rendering: optimizeLegibility;
158
+ -webkit-font-smoothing: antialiased;
159
+ color: #9e9e9e;
232
160
  }
233
161
 
234
162
  :host {
235
163
  display: block;
236
- }
237
-
238
- .input-container {
239
- position: relative;
240
- }
241
-
242
- #icon-left {
243
- position: absolute;
244
- left: 8px;
245
- top: 10px;
246
- }
247
-
248
- #icon-left ~ input {
249
- padding-left: 36px;
250
- }
251
-
252
- #icon-right {
253
- position: absolute;
254
- right: 8px;
255
- top: 10px;
256
- }
257
-
258
- #icon-right ~ input {
259
- padding-right: 36px;
260
164
  }
@@ -66,8 +66,13 @@ export class TttxInput {
66
66
  this.rightIconClick.emit();
67
67
  }
68
68
  render() {
69
- const classNames = ['standalone', this.showerrormsg ? 'invalid' : ''].join(' ');
70
- return (h(Host, null, h("label", { class: this.inline ? 'inputInline' : 'inputBlock' }, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', h("div", { class: "input-container" }, this.inputicon && (h("tttx-icon", { class: "input-icon", icon: this.inputicon, color: this.inputiconcolor, onClick: this.handleInputIconClick.bind(this) })), this.iconleft && (h("tttx-icon", { id: "icon-left", icon: this.iconleft, color: this.iconleftcolor, onClick: this.handleLeftIconClick.bind(this) })), this.iconright && (h("tttx-icon", { id: "icon-right", icon: this.iconright, color: this.iconrightcolor, onClick: this.handleRightIconClick.bind(this) })), h("input", { class: classNames, autocapitalize: this.inputautocapitalize, autofocus: this.inputautofocus, enterkeyhint: this.inputkeyhint, tabindex: this.inputindex, title: this.inputtitle, autocomplete: this.autocomplete, checked: this.checked, disabled: this.disabled, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readonly: this.readonly, required: this.required, step: this.step, type: this.type, value: this.value, onBlur: this.handleBlur.bind(this), onFocus: this.handleFocus.bind(this), onInput: this.handleChange.bind(this), onInvalid: this.handleInvalid.bind(this) }), this.secondarylabel && h("span", { class: "secondarylabel" }, this.secondarylabel), this.showerrorbubble && (h("span", { class: ['errorBubble', this.showerrormsg && this.errormsg ? 'visible' : ''].join(' ') }, h("span", { class: "material-symbols-rounded validationicon" }, "warning"), " ", this.errormsg))))));
69
+ const classNames = [
70
+ this.showerrormsg ? 'invalid' : '',
71
+ this.inputicon ? 'has-input-icon' : '',
72
+ this.iconleft ? 'has-left-icon' : '',
73
+ this.iconright ? 'has-right-icon' : '',
74
+ ].join(' ');
75
+ return (h(Host, null, h("label", null, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', h("div", { class: ['outer-container', this.inline ? 'inputInline' : 'inputBlock'].join(' ') }, h("input", { class: classNames, autocapitalize: this.inputautocapitalize, autofocus: this.inputautofocus, enterkeyhint: this.inputkeyhint, tabindex: this.inputindex, title: this.inputtitle, autocomplete: this.autocomplete, checked: this.checked, disabled: this.disabled, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readonly: this.readonly, required: this.required, step: this.step, type: this.type, value: this.value, onBlur: this.handleBlur.bind(this), onFocus: this.handleFocus.bind(this), onInput: this.handleChange.bind(this), onInvalid: this.handleInvalid.bind(this) }), (this.inputicon || this.iconleft) && (h("span", { class: "left-icons" }, this.inputicon && (h("tttx-icon", { class: "input-icon", icon: this.inputicon, color: this.inputiconcolor, onClick: this.handleInputIconClick.bind(this) })), this.iconleft && (h("tttx-icon", { class: "left-icon", icon: this.iconleft, color: this.iconleftcolor, onClick: this.handleLeftIconClick.bind(this) })))), this.iconright && (h("span", { class: "right-icons" }, h("tttx-icon", { class: "right-icon", icon: this.iconright, color: this.iconrightcolor, onClick: this.handleRightIconClick.bind(this) })))), this.secondarylabel && h("span", { class: "secondarylabel" }, this.secondarylabel), this.showerrorbubble && (h("span", { class: ['errorBubble', this.showerrormsg && this.errormsg ? 'visible' : ''].join(' ') }, h("span", { class: "material-symbols-rounded" }, "warning"), " ", this.errormsg)))));
71
76
  }
72
77
  static get is() { return "tttx-standalone-input"; }
73
78
  static get encapsulation() { return "scoped"; }
@@ -1,7 +1,14 @@
1
+ import { withActions } from '@storybook/addon-actions/decorator';
1
2
  import icons from '../../../icons';
2
3
  export default {
3
4
  title: 'Molecules/Standalone Input',
4
5
  component: 'tttx-standalone-input',
6
+ parameters: {
7
+ actions: {
8
+ handles: ['valueChanged', 'focusChanged', 'blurChanged', 'invalidChanged', 'inputIconClick', 'leftIconClick', 'rightIconClick'],
9
+ },
10
+ },
11
+ decorators: [withActions],
5
12
  argTypes: {
6
13
  iconleft: {
7
14
  options: icons,
@@ -108,8 +115,8 @@ const TemplateTextInput = ({ iconleft, iconleftcolor, iconright, iconrightcolor,
108
115
  ${min ? `min=${min}` : ''}
109
116
  ${minlength ? `minlength=${minlength}` : ''}
110
117
  ${name ? `name=${name}` : ''}
111
- ${pattern ? `pattern=${pattern}` : ''}
112
- ${placeholder ? `placeholder=${placeholder}` : ''}
118
+ ${pattern ? `pattern="${pattern}"` : ''}
119
+ ${placeholder ? `placeholder="${placeholder}"` : ''}
113
120
  ${readonly ? 'readonly' : ''}
114
121
  ${required ? 'required' : ''}
115
122
  ${step ? 'step' : ''}
@@ -127,7 +134,7 @@ InputField.args = {
127
134
  errormsg: 'Please enter your first name',
128
135
  required: false,
129
136
  showerrormsg: false,
130
- placeholder: 'Enter first name',
137
+ placeholder: 'Enter your first name',
131
138
  };
132
139
  export const searchField = TemplateTextInput.bind({});
133
140
  searchField.args = {
@@ -139,9 +146,20 @@ searchField.args = {
139
146
  showerrormsg: false,
140
147
  showerrorbubble: false,
141
148
  placeholder: 'Search',
142
- inline: false,
149
+ inline: true,
143
150
  inputicon: 'search',
144
- iconright: 'cancel'
151
+ iconleft: 'add',
152
+ iconright: 'cancel',
153
+ };
154
+ export const dateField = TemplateTextInput.bind({});
155
+ dateField.args = {
156
+ value: '',
157
+ label: 'Date of birth',
158
+ type: 'date',
159
+ errormsg: 'Please enter your date of birth',
160
+ required: true,
161
+ showerrormsg: false,
162
+ showerrorbubble: false,
145
163
  };
146
164
  // export const TextInputIconLeft = TemplateTextInput.bind({});
147
165
  // TextInputIconLeft.args = {
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { d as defineCustomElement$1 } from './tttx-icon2.js';
3
3
 
4
- const tttxButtonCss = ".material-symbols-rounded{font-variation-settings:\"FILL\" 1, \"wght\" 400, \"GRAD\" 0, \"opsz\" 24}button{cursor:pointer}.button{font-family:Roboto, serif;box-sizing:border-box;height:36px;min-width:36px;padding:0;margin:0;background:transparent;color:#212121;border:1px solid #c8c8c8;border-radius:4px;text-transform:uppercase;display:flex;justify-content:left;align-items:center;font-size:14px;font-weight:400}.button-content{display:block;padding:0 16px}.icon-left,.icon-right{margin-top:4px}.iconleft{padding-left:8px}.iconleft .button-content{padding-left:4px}.iconright{padding-right:8px}.iconright .button-content{padding-right:4px}.notext{padding:0 6px}.button:active{background:rgba(17, 17, 17, 0.2);border:1px solid #d5d5d5}.primary{background:#1479c6;border:1px solid #1479c6;color:white}.primary:active{background:#1464a2;border:1px solid #1464a2}.borderless{background:transparent;border:none;color:#212121}.borderless:active{background:rgba(17, 17, 17, 0.2);border:none}.borderless-circle{background:transparent;border:none;color:#212121;border-radius:50%}.borderless-circle:active{border:none}.borderless-circle:focus{border-color:transparent}.danger{background:#dc0000;border:1px solid #dc0000;color:white}.danger:active{background:#b00000;border:1px solid #b00000}.disabled{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}.disabled:active{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}@media (hover: hover){.button:hover{background:rgba(17, 17, 17, 0.1);border:1px solid #d5d5d5}.primary:hover{background:#146eb3;border:1px solid #146eb3}.borderless:hover{background:rgba(17, 17, 17, 0.1);border:none}.borderless-circle:hover{background:rgba(17, 17, 17, 0.1);border:none}.danger:hover{background:#c60000;border:1px solid #c60000}.disabled:hover{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}}:host{display:inline-block}tttx-icon{cursor:inherit}.spacingleft{margin-left:8px}";
4
+ const tttxButtonCss = ".material-symbols-rounded{font-variation-settings:\"FILL\" 1, \"wght\" 400, \"GRAD\" 0, \"opsz\" 24}button{cursor:pointer}.button{font-family:Roboto, serif;box-sizing:border-box;height:36px;min-width:36px;padding:0;margin:0;background:transparent;color:#212121;border:1px solid #c8c8c8;border-radius:4px;text-transform:uppercase;display:flex;justify-content:left;align-items:center;font-size:14px;font-weight:500}.button-content{display:block;padding:0 16px}.icon-left,.icon-right{margin-top:4px}.iconleft{padding-left:8px}.iconleft .button-content{padding-left:4px}.iconright{padding-right:8px}.iconright .button-content{padding-right:4px}.notext{padding:0 6px}.button:active{background:rgba(17, 17, 17, 0.2);border:1px solid #d5d5d5}.primary{background:#1479c6;border:1px solid #1479c6;color:white}.primary:active{background:#1464a2;border:1px solid #1464a2}.borderless{background:transparent;border:none;color:#212121}.borderless:active{background:rgba(17, 17, 17, 0.2);border:none}.borderless-circle{background:transparent;border:none;color:#212121;border-radius:50%}.borderless-circle:active{border:none}.borderless-circle:focus{border-color:transparent}.danger{background:#dc0000;border:1px solid #dc0000;color:white}.danger:active{background:#b00000;border:1px solid #b00000}.disabled{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}.disabled:active{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}@media (hover: hover){.button:hover{background:rgba(17, 17, 17, 0.1);border:1px solid #d5d5d5}.primary:hover{background:#146eb3;border:1px solid #146eb3}.borderless:hover{background:rgba(17, 17, 17, 0.1);border:none}.borderless-circle:hover{background:rgba(17, 17, 17, 0.1);border:none}.danger:hover{background:#c60000;border:1px solid #c60000}.disabled:hover{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}}:host{display:inline-block}tttx-icon{cursor:inherit}.spacingleft{margin-left:8px}";
5
5
 
6
6
  const TttxButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {
@@ -27,7 +27,7 @@ const TttxButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
27
27
  }
28
28
  render() {
29
29
  this._iconcolor = this.iconcolor;
30
- return (h(Host, null, h("button", { class: `button ${this._design} ${this.icon ? 'withicon' : ''} ${this.icon && this.iconposition ? 'icon' + this.iconposition : ''} ${this.notext ? 'notext' : ''}` }, this.icon && this.iconposition === 'left' && (h("div", { class: "icon-left" }, h("tttx-icon", { icon: this.icon, color: this._iconcolor }))), !this.notext && h("div", { class: "button-content" }, h("slot", null)), this.icon && this.iconposition === 'right' && (h("div", { class: "icon-right" }, h("tttx-icon", { icon: this.icon, color: this._iconcolor }))))));
30
+ return (h(Host, null, h("button", { class: `button ${this._design} ${this.icon ? 'withicon' : ''} ${this.icon && this.iconposition ? 'icon' + this.iconposition : ''} ${this.notext ? 'notext' : ''}` }, this.icon && this.iconposition === 'left' && (h("div", { class: "icon-left" }, h("tttx-icon", { icon: this.icon, color: this._iconcolor }))), !this.notext && (h("div", { class: "button-content" }, h("slot", null))), this.icon && this.iconposition === 'right' && (h("div", { class: "icon-right" }, h("tttx-icon", { icon: this.icon, color: this._iconcolor }))))));
31
31
  }
32
32
  static get style() { return tttxButtonCss; }
33
33
  }, [1, "tttx-button", {