xv-webcomponents 0.1.44 → 0.1.48

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 (143) hide show
  1. package/dist/cjs/{index-MLh9SbX2.js → index-CjhPTfz8.js} +41 -14
  2. package/dist/cjs/index-CjhPTfz8.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +3 -4
  4. package/dist/cjs/loader.cjs.js.map +1 -1
  5. package/dist/cjs/xv-accordion-v2_38.cjs.entry.js +79072 -0
  6. package/dist/cjs/xv-accordion-v2_38.cjs.entry.js.map +1 -0
  7. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js +2 -2
  8. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js.map +1 -1
  9. package/dist/cjs/xv-breadcrumbs-v2.entry.cjs.js.map +1 -1
  10. package/dist/cjs/xv-webcomponents.cjs.js +4 -5
  11. package/dist/cjs/xv-webcomponents.cjs.js.map +1 -1
  12. package/dist/collection/collection-manifest.json +5 -1
  13. package/dist/collection/components/xv-accordion/xv-accordion.css +95 -0
  14. package/dist/collection/components/xv-accordion-item/xv-accordion-item.css +95 -0
  15. package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.css +95 -0
  16. package/dist/collection/components/xv-button/xv-button-v2.css +95 -0
  17. package/dist/collection/components/xv-card/xv-card.css +95 -0
  18. package/dist/collection/components/xv-checkbox/xv-checkbox.css +95 -0
  19. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.css +95 -0
  20. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +29 -5
  21. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js.map +1 -1
  22. package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.css +95 -0
  23. package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.js +1 -1
  24. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.css +104 -7
  25. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +9 -3
  26. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js.map +1 -1
  27. package/dist/collection/components/xv-data-table/xv-data-table.css +112 -2
  28. package/dist/collection/components/xv-data-table/xv-data-table.js +20 -1
  29. package/dist/collection/components/xv-data-table/xv-data-table.js.map +1 -1
  30. package/dist/collection/components/xv-datepicker/xv-datepicker.css +401 -0
  31. package/dist/collection/components/xv-datepicker/xv-datepicker.js +570 -0
  32. package/dist/collection/components/xv-datepicker/xv-datepicker.js.map +1 -0
  33. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.css +95 -0
  34. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
  35. package/dist/collection/components/xv-dropdown/xv-dropdown.css +95 -0
  36. package/dist/collection/components/xv-dropdown/xv-dropdown.js +2 -2
  37. package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -1
  38. package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +98 -1
  39. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +76 -10
  40. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js.map +1 -1
  41. package/dist/collection/components/xv-footer/xv-footer.css +95 -0
  42. package/dist/collection/components/xv-footer/xv-footer.js +1 -1
  43. package/dist/collection/components/xv-header/xv-header.css +95 -0
  44. package/dist/collection/components/xv-header/xv-header.js +1 -1
  45. package/dist/collection/components/xv-link/xv-link.css +95 -0
  46. package/dist/collection/components/xv-link/xv-link.js +1 -1
  47. package/dist/collection/components/xv-loader/xv-loader.css +95 -0
  48. package/dist/collection/components/xv-login-modal/xv-login-modal.css +95 -0
  49. package/dist/collection/components/xv-modal/xv-modal.css +108 -0
  50. package/dist/collection/components/xv-modal/xv-modal.js +20 -1
  51. package/dist/collection/components/xv-modal/xv-modal.js.map +1 -1
  52. package/dist/collection/components/xv-notification/xv-notification.css +96 -1
  53. package/dist/collection/components/xv-notification/xv-notification.js +1 -1
  54. package/dist/collection/components/xv-number-input/xv-number-input.css +95 -0
  55. package/dist/collection/components/xv-number-input/xv-number-input.js +2 -2
  56. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.css +95 -0
  57. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
  58. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.css +95 -0
  59. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +1 -1
  60. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.css +96 -1
  61. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  62. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.css +95 -0
  63. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
  64. package/dist/collection/components/xv-slider/xv-slider.css +196 -0
  65. package/dist/collection/components/xv-slider/xv-slider.js +259 -0
  66. package/dist/collection/components/xv-slider/xv-slider.js.map +1 -0
  67. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +95 -0
  68. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
  69. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.css +95 -0
  70. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
  71. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +95 -0
  72. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
  73. package/dist/collection/components/xv-table/xv-table.css +95 -0
  74. package/dist/collection/components/xv-table/xv-table.js +1 -1
  75. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.css +95 -0
  76. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  77. package/dist/collection/components/xv-tabs/xv-tabs.css +100 -11
  78. package/dist/collection/components/xv-tag/xv-tag.css +95 -0
  79. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  80. package/dist/collection/components/xv-text-input/xv-text-input.css +98 -0
  81. package/dist/collection/components/xv-text-input/xv-text-input.js +21 -2
  82. package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -1
  83. package/dist/collection/components/xv-textarea/xv-textarea.css +254 -0
  84. package/dist/collection/components/xv-textarea/xv-textarea.js +411 -0
  85. package/dist/collection/components/xv-textarea/xv-textarea.js.map +1 -0
  86. package/dist/collection/components/xv-tile/xv-tile.css +294 -0
  87. package/dist/collection/components/xv-tile/xv-tile.js +264 -0
  88. package/dist/collection/components/xv-tile/xv-tile.js.map +1 -0
  89. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.css +95 -0
  90. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
  91. package/dist/collection/components/xv-tooltip/xv-tooltip.css +92 -28
  92. package/dist/collection/components/xv-tooltip/xv-tooltip.js +66 -18
  93. package/dist/collection/components/xv-tooltip/xv-tooltip.js.map +1 -1
  94. package/dist/esm/{index-DLYJiP99.js → index-BQoQLd_U.js} +41 -15
  95. package/dist/esm/index-BQoQLd_U.js.map +1 -0
  96. package/dist/esm/loader.js +3 -4
  97. package/dist/esm/loader.js.map +1 -1
  98. package/dist/esm/xv-accordion-v2_38.entry.js +79033 -0
  99. package/dist/esm/xv-accordion-v2_38.entry.js.map +1 -0
  100. package/dist/esm/xv-breadcrumbs-v2.entry.js +2 -2
  101. package/dist/esm/xv-breadcrumbs-v2.entry.js.map +1 -1
  102. package/dist/esm/xv-webcomponents.js +4 -5
  103. package/dist/esm/xv-webcomponents.js.map +1 -1
  104. package/dist/types/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.d.ts +2 -0
  105. package/dist/types/components/xv-data-table/xv-data-table.d.ts +1 -0
  106. package/dist/types/components/xv-datepicker/xv-datepicker.d.ts +69 -0
  107. package/dist/types/components/xv-file-uploader/xv-file-uploader.d.ts +3 -0
  108. package/dist/types/components/xv-modal/xv-modal.d.ts +4 -0
  109. package/dist/types/components/xv-slider/xv-slider.d.ts +20 -0
  110. package/dist/types/components/xv-text-input/xv-text-input.d.ts +1 -0
  111. package/dist/types/components/xv-textarea/xv-textarea.d.ts +27 -0
  112. package/dist/types/components/xv-tile/xv-tile.d.ts +24 -0
  113. package/dist/types/components/xv-tooltip/xv-tooltip.d.ts +5 -3
  114. package/dist/types/components.d.ts +373 -0
  115. package/dist/types/stencil-public-runtime.d.ts +1 -1
  116. package/dist/xv-webcomponents/loader.esm.js.map +1 -1
  117. package/dist/xv-webcomponents/p-50fb934d.entry.js +2 -0
  118. package/dist/xv-webcomponents/p-50fb934d.entry.js.map +1 -0
  119. package/dist/xv-webcomponents/p-BQoQLd_U.js +3 -0
  120. package/dist/xv-webcomponents/p-BQoQLd_U.js.map +1 -0
  121. package/dist/xv-webcomponents/p-a8d785da.entry.js +2 -0
  122. package/dist/xv-webcomponents/{p-5b63a259.entry.js.map → p-a8d785da.entry.js.map} +1 -1
  123. package/dist/xv-webcomponents/xv-breadcrumbs-v2.entry.esm.js.map +1 -1
  124. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  125. package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
  126. package/package.json +7 -4
  127. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
  128. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
  129. package/dist/cjs/index-MLh9SbX2.js.map +0 -1
  130. package/dist/cjs/xv-accordion-v2_34.cjs.entry.js +0 -3510
  131. package/dist/cjs/xv-accordion-v2_34.cjs.entry.js.map +0 -1
  132. package/dist/esm/app-globals-DQuL1Twl.js +0 -6
  133. package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
  134. package/dist/esm/index-DLYJiP99.js.map +0 -1
  135. package/dist/esm/xv-accordion-v2_34.entry.js +0 -3475
  136. package/dist/esm/xv-accordion-v2_34.entry.js.map +0 -1
  137. package/dist/xv-webcomponents/p-5b63a259.entry.js +0 -2
  138. package/dist/xv-webcomponents/p-9c06f44c.entry.js +0 -2
  139. package/dist/xv-webcomponents/p-9c06f44c.entry.js.map +0 -1
  140. package/dist/xv-webcomponents/p-DLYJiP99.js +0 -3
  141. package/dist/xv-webcomponents/p-DLYJiP99.js.map +0 -1
  142. package/dist/xv-webcomponents/p-DQuL1Twl.js +0 -2
  143. package/dist/xv-webcomponents/p-DQuL1Twl.js.map +0 -1
@@ -1,3 +1,98 @@
1
+ .xv-tooltip[role=tooltip] {
2
+ position: absolute;
3
+ background-color: var(--background-inverse, #333333);
4
+ color: var(--text-on-color);
5
+ padding: var(--spacing-03) var(--spacing-04);
6
+ border-radius: 3px;
7
+ font-size: var(--fz-sm);
8
+ z-index: 999;
9
+ min-width: min(150px, 90vw);
10
+ max-width: min(400px, 90vw);
11
+ }
12
+ .xv-tooltip[role=tooltip]::after {
13
+ content: "";
14
+ position: absolute;
15
+ width: 0;
16
+ height: 0;
17
+ border-style: solid;
18
+ }
19
+ .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
20
+ bottom: -5px;
21
+ left: 50%;
22
+ transform: translateX(-50%);
23
+ border-width: 5px 5px 0 5px;
24
+ border-color: var(--background-inverse, black) transparent transparent transparent;
25
+ }
26
+ .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
27
+ bottom: -5px;
28
+ left: 12px;
29
+ border-width: 5px 5px 0 5px;
30
+ border-color: var(--background-inverse, black) transparent transparent transparent;
31
+ }
32
+ .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
33
+ bottom: -5px;
34
+ right: 12px;
35
+ border-width: 5px 5px 0 5px;
36
+ border-color: var(--background-inverse, black) transparent transparent transparent;
37
+ }
38
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
39
+ top: -5px;
40
+ left: 50%;
41
+ transform: translateX(-50%);
42
+ border-width: 0 5px 5px 5px;
43
+ border-color: transparent transparent var(--background-inverse, black) transparent;
44
+ }
45
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
46
+ top: -5px;
47
+ left: 12px;
48
+ border-width: 0 5px 5px 5px;
49
+ border-color: transparent transparent var(--background-inverse, black) transparent;
50
+ }
51
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
52
+ top: -5px;
53
+ right: 12px;
54
+ border-width: 0 5px 5px 5px;
55
+ border-color: transparent transparent var(--background-inverse, black) transparent;
56
+ }
57
+ .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
58
+ top: 50%;
59
+ right: -5px;
60
+ transform: translateY(-50%);
61
+ border-width: 5px 0 5px 5px;
62
+ border-color: transparent transparent transparent var(--background-inverse, black);
63
+ }
64
+ .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
65
+ top: 12px;
66
+ right: -5px;
67
+ border-width: 5px 0 5px 5px;
68
+ border-color: transparent transparent transparent var(--background-inverse, black);
69
+ }
70
+ .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
71
+ bottom: 12px;
72
+ right: -5px;
73
+ border-width: 5px 0 5px 5px;
74
+ border-color: transparent transparent transparent var(--background-inverse, black);
75
+ }
76
+ .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
77
+ top: 50%;
78
+ left: -5px;
79
+ transform: translateY(-50%);
80
+ border-width: 5px 5px 5px 0;
81
+ border-color: transparent var(--background-inverse, black) transparent transparent;
82
+ }
83
+ .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
84
+ top: 12px;
85
+ left: -5px;
86
+ border-width: 5px 5px 5px 0;
87
+ border-color: transparent var(--background-inverse, black) transparent transparent;
88
+ }
89
+ .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
90
+ bottom: 12px;
91
+ left: -5px;
92
+ border-width: 5px 5px 5px 0;
93
+ border-color: transparent var(--background-inverse, black) transparent transparent;
94
+ }
95
+
1
96
  :host(.xv-tabs) {
2
97
  display: flex;
3
98
  flex-direction: column;
@@ -46,9 +141,9 @@
46
141
  height: 2px;
47
142
  background-color: var(--interactive-01, #273435);
48
143
  }
49
- :host(.xv-tabs) .tab-headers_tab:focus {
144
+ :host(.xv-tabs) .tab-headers_tab:focus-visible {
50
145
  outline: none;
51
- border: 2px solid var(--border-border-subtle-01, #D1D1D1);
146
+ border: 2px solid var(--interactive-01, #273435);
52
147
  }
53
148
  :host(.xv-tabs) .tab-headers_tab:hover {
54
149
  border-bottom-color: var(--border-strong-01, #8B8B8B);
@@ -60,7 +155,7 @@
60
155
  :host(.xv-tabs) .tab-headers_tab.active:after {
61
156
  width: 100%;
62
157
  }
63
- :host(.xv-tabs) .tab-headers_tab.active:focus {
158
+ :host(.xv-tabs) .tab-headers_tab.active:focus-visible {
64
159
  border-color: var(--interactive-01, #273435);
65
160
  }
66
161
  :host(.xv-tabs) .tab-headers_tab:disabled {
@@ -109,19 +204,13 @@
109
204
  padding: var(--gap-md, 16px) 0;
110
205
  }
111
206
  :host(.xv-tabs) ::slotted(xv-tab-v2) {
112
- position: absolute;
113
- opacity: 0;
114
- max-height: 0;
115
- transition: max-height 0.5s ease;
207
+ display: none;
116
208
  width: 100%;
117
209
  pointer-events: none;
118
210
  }
119
211
  :host(.xv-tabs) ::slotted(xv-tab-v2.active) {
120
- position: relative;
121
- opacity: 1;
122
- overflow-y: auto;
212
+ display: contents;
123
213
  pointer-events: auto;
124
- max-height: 1000px;
125
214
  }
126
215
  :host(.xv-tabs) .xv-tabs_empty {
127
216
  display: block;
@@ -1,4 +1,99 @@
1
1
  @charset "UTF-8";
2
+ .xv-tooltip[role=tooltip] {
3
+ position: absolute;
4
+ background-color: var(--background-inverse, #333333);
5
+ color: var(--text-on-color);
6
+ padding: var(--spacing-03) var(--spacing-04);
7
+ border-radius: 3px;
8
+ font-size: var(--fz-sm);
9
+ z-index: 999;
10
+ min-width: min(150px, 90vw);
11
+ max-width: min(400px, 90vw);
12
+ }
13
+ .xv-tooltip[role=tooltip]::after {
14
+ content: "";
15
+ position: absolute;
16
+ width: 0;
17
+ height: 0;
18
+ border-style: solid;
19
+ }
20
+ .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
21
+ bottom: -5px;
22
+ left: 50%;
23
+ transform: translateX(-50%);
24
+ border-width: 5px 5px 0 5px;
25
+ border-color: var(--background-inverse, black) transparent transparent transparent;
26
+ }
27
+ .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
28
+ bottom: -5px;
29
+ left: 12px;
30
+ border-width: 5px 5px 0 5px;
31
+ border-color: var(--background-inverse, black) transparent transparent transparent;
32
+ }
33
+ .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
34
+ bottom: -5px;
35
+ right: 12px;
36
+ border-width: 5px 5px 0 5px;
37
+ border-color: var(--background-inverse, black) transparent transparent transparent;
38
+ }
39
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
40
+ top: -5px;
41
+ left: 50%;
42
+ transform: translateX(-50%);
43
+ border-width: 0 5px 5px 5px;
44
+ border-color: transparent transparent var(--background-inverse, black) transparent;
45
+ }
46
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
47
+ top: -5px;
48
+ left: 12px;
49
+ border-width: 0 5px 5px 5px;
50
+ border-color: transparent transparent var(--background-inverse, black) transparent;
51
+ }
52
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
53
+ top: -5px;
54
+ right: 12px;
55
+ border-width: 0 5px 5px 5px;
56
+ border-color: transparent transparent var(--background-inverse, black) transparent;
57
+ }
58
+ .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
59
+ top: 50%;
60
+ right: -5px;
61
+ transform: translateY(-50%);
62
+ border-width: 5px 0 5px 5px;
63
+ border-color: transparent transparent transparent var(--background-inverse, black);
64
+ }
65
+ .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
66
+ top: 12px;
67
+ right: -5px;
68
+ border-width: 5px 0 5px 5px;
69
+ border-color: transparent transparent transparent var(--background-inverse, black);
70
+ }
71
+ .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
72
+ bottom: 12px;
73
+ right: -5px;
74
+ border-width: 5px 0 5px 5px;
75
+ border-color: transparent transparent transparent var(--background-inverse, black);
76
+ }
77
+ .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
78
+ top: 50%;
79
+ left: -5px;
80
+ transform: translateY(-50%);
81
+ border-width: 5px 5px 5px 0;
82
+ border-color: transparent var(--background-inverse, black) transparent transparent;
83
+ }
84
+ .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
85
+ top: 12px;
86
+ left: -5px;
87
+ border-width: 5px 5px 5px 0;
88
+ border-color: transparent var(--background-inverse, black) transparent transparent;
89
+ }
90
+ .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
91
+ bottom: 12px;
92
+ left: -5px;
93
+ border-width: 5px 5px 5px 0;
94
+ border-color: transparent var(--background-inverse, black) transparent transparent;
95
+ }
96
+
2
97
  :host {
3
98
  display: inline-flex;
4
99
  align-items: center;
@@ -13,7 +13,7 @@ export class XvTag {
13
13
  this.closeClick.emit(e);
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: '87520047c00d97194c91de7dac1caf125147c1b9', style: { color: this.color, background: this.bg }, class: `xv-tag ${this.disabled ? 'disabled' : ''} ${this.size}` }, h("div", { key: '166e1f781942507532ad010e704d4f5a8fdc7da1', class: "xv-tag_content" }, h("slot", { key: '14020588654dfa8b6ddd1294c904796536a9020c' })), this.closeable && (h("button", { key: '222a7bd11a30e4c12cc45164ae4f294d4c6d6524', onClick: this.closeHandler.bind(this), class: "xv-tag_close" }))));
16
+ return (h(Host, { key: '9cb94f4c7aa2266e5ee0ccdbfdfa46864950d20c', style: { color: this.color, background: this.bg }, class: `xv-tag ${this.disabled ? 'disabled' : ''} ${this.size}` }, h("div", { key: '425d8151ab21d436b11905018b60cf9fbb73bd4a', class: "xv-tag_content" }, h("slot", { key: '378c749949096c909478d7aae2cc07787134c62f' })), this.closeable && (h("button", { key: 'c00f9c254ef2e31965c3ae85874c71b354189e18', onClick: this.closeHandler.bind(this), class: "xv-tag_close" }))));
17
17
  }
18
18
  static get is() { return "xv-tag-v2"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -1,3 +1,98 @@
1
+ .xv-tooltip[role=tooltip] {
2
+ position: absolute;
3
+ background-color: var(--background-inverse, #333333);
4
+ color: var(--text-on-color);
5
+ padding: var(--spacing-03) var(--spacing-04);
6
+ border-radius: 3px;
7
+ font-size: var(--fz-sm);
8
+ z-index: 999;
9
+ min-width: min(150px, 90vw);
10
+ max-width: min(400px, 90vw);
11
+ }
12
+ .xv-tooltip[role=tooltip]::after {
13
+ content: "";
14
+ position: absolute;
15
+ width: 0;
16
+ height: 0;
17
+ border-style: solid;
18
+ }
19
+ .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
20
+ bottom: -5px;
21
+ left: 50%;
22
+ transform: translateX(-50%);
23
+ border-width: 5px 5px 0 5px;
24
+ border-color: var(--background-inverse, black) transparent transparent transparent;
25
+ }
26
+ .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
27
+ bottom: -5px;
28
+ left: 12px;
29
+ border-width: 5px 5px 0 5px;
30
+ border-color: var(--background-inverse, black) transparent transparent transparent;
31
+ }
32
+ .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
33
+ bottom: -5px;
34
+ right: 12px;
35
+ border-width: 5px 5px 0 5px;
36
+ border-color: var(--background-inverse, black) transparent transparent transparent;
37
+ }
38
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
39
+ top: -5px;
40
+ left: 50%;
41
+ transform: translateX(-50%);
42
+ border-width: 0 5px 5px 5px;
43
+ border-color: transparent transparent var(--background-inverse, black) transparent;
44
+ }
45
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
46
+ top: -5px;
47
+ left: 12px;
48
+ border-width: 0 5px 5px 5px;
49
+ border-color: transparent transparent var(--background-inverse, black) transparent;
50
+ }
51
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
52
+ top: -5px;
53
+ right: 12px;
54
+ border-width: 0 5px 5px 5px;
55
+ border-color: transparent transparent var(--background-inverse, black) transparent;
56
+ }
57
+ .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
58
+ top: 50%;
59
+ right: -5px;
60
+ transform: translateY(-50%);
61
+ border-width: 5px 0 5px 5px;
62
+ border-color: transparent transparent transparent var(--background-inverse, black);
63
+ }
64
+ .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
65
+ top: 12px;
66
+ right: -5px;
67
+ border-width: 5px 0 5px 5px;
68
+ border-color: transparent transparent transparent var(--background-inverse, black);
69
+ }
70
+ .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
71
+ bottom: 12px;
72
+ right: -5px;
73
+ border-width: 5px 0 5px 5px;
74
+ border-color: transparent transparent transparent var(--background-inverse, black);
75
+ }
76
+ .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
77
+ top: 50%;
78
+ left: -5px;
79
+ transform: translateY(-50%);
80
+ border-width: 5px 5px 5px 0;
81
+ border-color: transparent var(--background-inverse, black) transparent transparent;
82
+ }
83
+ .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
84
+ top: 12px;
85
+ left: -5px;
86
+ border-width: 5px 5px 5px 0;
87
+ border-color: transparent var(--background-inverse, black) transparent transparent;
88
+ }
89
+ .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
90
+ bottom: 12px;
91
+ left: -5px;
92
+ border-width: 5px 5px 5px 0;
93
+ border-color: transparent var(--background-inverse, black) transparent transparent;
94
+ }
95
+
1
96
  :host {
2
97
  display: inline-block;
3
98
  text-align: left;
@@ -141,4 +236,7 @@
141
236
 
142
237
  :host([block]) {
143
238
  display: block;
239
+ }
240
+ :host([block]) .control_input input[type=text] {
241
+ width: 100%;
144
242
  }
@@ -19,13 +19,13 @@ export class XvTextInput {
19
19
  };
20
20
  }
21
21
  render() {
22
- return (h(Host, { key: 'b9c4820d1f0ba4e6baf9cd405c42380577f5379d', class: { disabled: !!this.disabled } }, h("label", { key: 'e331f40fc28c74833276e75c8376270589a17279', class: "control" }, this.label && h("span", { key: '4d48b122402bd36b98495a9bfdf991512126049d', class: "control_label" }, this.label), h("div", { key: '7c4f26d5a943417b54500a54b993108a70a5ed83', class: {
22
+ return (h(Host, { key: '7a0e9e589aff2f41a3a0d887f7d6b7b89ff34ede', class: { disabled: !!this.disabled } }, h("label", { key: '6c59370778abcbe123497af3b113a51e640834d7', class: "control" }, this.label && h("span", { key: 'cf429799147f423f825bd0c4cc2977a6711717f6', class: "control_label" }, this.label), h("div", { key: 'ea0b6dad2c22ee59461176df65931bf19d004a7e', class: {
23
23
  'control_input': true,
24
24
  readonly: !!this.readonly,
25
25
  [this.size]: true,
26
26
  error: !!this.error,
27
27
  warning: !!this.warning,
28
- } }, h("input", { key: 'b6e5cf7ed95c5649b7c1aff16fe7668c2a05c71b', type: this.type, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, onInput: this.handleInput, name: this.name, value: this.value }), h("div", { key: '739c31f7939b0baaa3e8d49ec61b016005c427ad', class: "control_input__icons" }, this.loading && h("xv-loader-v2", { key: '8aaa989d7ad0fe3b9f86908c648fe2e01c551bc9', size: SIZE_VAR.XS }), !!this.error ? (h("span", { class: "status-icon error", "aria-hidden": "true" }, "!")) : !!this.warning ? (h("span", { class: "status-icon warning", "aria-hidden": "true" }, "\u26A0")) : null))), this.helper && h("p", { key: '7d613edeffa7c6d8e2a76bc69217347187a3b008', class: "message" }, this.helper), typeof this.error === 'string' ? (h("p", { class: "message error" }, this.error)) : typeof this.warning === 'string' ? (h("p", { class: "message warning" }, this.warning)) : null));
28
+ } }, h("input", { key: '1a3d07c3fb9abfc00b7652c342d0724f3cad4892', autocomplete: this.autocomplete, type: this.type, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, onInput: this.handleInput, name: this.name, value: this.value }), h("div", { key: 'dceafc8d5a1d1fa8a7a0cd8130246579432f3bc7', class: "control_input__icons" }, this.loading && h("xv-loader-v2", { key: '9791217db5882d2463454b5dca25e3bf4f0215c4', size: SIZE_VAR.XS }), !!this.error ? (h("span", { class: "status-icon error", "aria-hidden": "true" }, "!")) : !!this.warning ? (h("span", { class: "status-icon warning", "aria-hidden": "true" }, "\u26A0")) : null))), this.helper && h("p", { key: '22b59a179548e6690a1d97b2cc4bfce4bef1fc74', class: "message" }, this.helper), typeof this.error === 'string' ? (h("p", { class: "message error" }, this.error)) : typeof this.warning === 'string' ? (h("p", { class: "message warning" }, this.warning)) : null));
29
29
  }
30
30
  static get is() { return "xv-text-input-v2"; }
31
31
  static get encapsulation() { return "shadow"; }
@@ -139,6 +139,25 @@ export class XvTextInput {
139
139
  "reflect": false,
140
140
  "defaultValue": "''"
141
141
  },
142
+ "autocomplete": {
143
+ "type": "string",
144
+ "attribute": "autocomplete",
145
+ "mutable": false,
146
+ "complexType": {
147
+ "original": "string",
148
+ "resolved": "string",
149
+ "references": {}
150
+ },
151
+ "required": false,
152
+ "optional": true,
153
+ "docs": {
154
+ "tags": [],
155
+ "text": ""
156
+ },
157
+ "getter": false,
158
+ "setter": false,
159
+ "reflect": false
160
+ },
142
161
  "helper": {
143
162
  "type": "string",
144
163
  "attribute": "helper",
@@ -1 +1 @@
1
- {"version":3,"file":"xv-text-input.js","sourceRoot":"","sources":["../../../src/components/xv-text-input/xv-text-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;;;GAIG;AAOH,MAAM,OAAO,WAAW;IANxB;QAOU,SAAI,GAAkD,MAAM,CAAC;QAI5C,UAAK,GAAW,EAAE,CAAC;QAOpC,YAAO,GAAY,KAAK,CAAC;QAER,SAAI,GAAa,QAAQ,CAAC,EAAE,CAAC;QAI9C,gBAAW,GAAG,CAAC,CAAa,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAA;KA8CF;IA5CC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxC,8DAAO,KAAK,EAAC,SAAS;gBACnB,IAAI,CAAC,KAAK,IAAI,6DAAM,KAAK,EAAC,eAAe,IAAE,IAAI,CAAC,KAAK,CAAQ;gBAE9D,4DAAK,KAAK,EAAE;wBACV,eAAe,EAAE,IAAI;wBACrB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;wBACzB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;wBACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;wBACnB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;qBACxB;oBACC,8DACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,GACjB;oBAEF,4DAAK,KAAK,EAAC,sBAAsB;wBAC9B,IAAI,CAAC,OAAO,IAAI,qEAAc,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAI;wBACnD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACd,YAAM,KAAK,EAAC,mBAAmB,iBAAa,MAAM,QAAS,CAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACnB,YAAM,KAAK,EAAC,qBAAqB,iBAAa,MAAM,aAAS,CAC9D,CAAC,CAAC,CAAC,IAAI,CACJ,CACF,CACA;YAGP,IAAI,CAAC,MAAM,IAAI,0DAAG,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,MAAM,CAAK;YACnD,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAChC,SAAG,KAAK,EAAC,eAAe,IAAE,IAAI,CAAC,KAAK,CAAK,CAC1C,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CACrC,SAAG,KAAK,EAAC,iBAAiB,IAAE,IAAI,CAAC,OAAO,CAAK,CAC9C,CAAC,CAAC,CAAC,IAAI,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { AttachInternals, Component, h, Host, Prop, Event, EventEmitter } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n/**\n * xv-text-input — custom input\n * ti get data you can use default Input event\n * Angular - (input), React - (onInput), Pure - addEventListener('input', e => ...)\n */\n@Component({\n tag: 'xv-text-input-v2',\n styleUrl: 'xv-text-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class XvTextInput {\n @Prop() type: 'text' | 'email' | 'password' | 'url' | 'tel' = 'text';\n @Prop() label: string;\n @Prop({ reflect: true }) placeholder?: string;\n @Prop({ reflect: true }) name: string;\n @Prop({ mutable: true }) value: string = '';\n @Event({ eventName: 'valueChange' }) valueChange: EventEmitter<string>;\n @Prop() helper?: string;\n @Prop() error?: string | boolean;\n @Prop() warning?: string | boolean;\n @Prop() readonly?: boolean;\n @Prop() disabled?: boolean;\n @Prop() loading: boolean = false;\n @Prop() block?: boolean;\n @Prop({ reflect: true }) size: SIZE_VAR = SIZE_VAR.MD;\n\n @AttachInternals() internals: ElementInternals;\n\n private handleInput = (e: InputEvent) => {\n const target = e.target as HTMLInputElement;\n this.value = target.value;\n this.valueChange.emit(this.value);\n this.internals.setFormValue(target.value);\n }\n\n render() {\n return (\n <Host class={{ disabled: !!this.disabled }}>\n <label class=\"control\">\n {this.label && <span class=\"control_label\">{this.label}</span>}\n\n <div class={{\n 'control_input': true,\n readonly: !!this.readonly,\n [this.size]: true,\n error: !!this.error,\n warning: !!this.warning,\n }}>\n <input\n type={this.type}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n onInput={this.handleInput}\n name={this.name}\n value={this.value}\n />\n\n <div class=\"control_input__icons\">\n {this.loading && <xv-loader-v2 size={SIZE_VAR.XS} />}\n {!!this.error ? (\n <span class=\"status-icon error\" aria-hidden=\"true\">!</span>\n ) : !!this.warning ? (\n <span class=\"status-icon warning\" aria-hidden=\"true\">⚠</span>\n ) : null}\n </div>\n </div>\n </label>\n\n\n {this.helper && <p class=\"message\">{this.helper}</p>}\n {typeof this.error === 'string' ? (\n <p class=\"message error\">{this.error}</p>\n ) : typeof this.warning === 'string' ? (\n <p class=\"message warning\">{this.warning}</p>\n ) : null}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"xv-text-input.js","sourceRoot":"","sources":["../../../src/components/xv-text-input/xv-text-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, h, Host, Prop, Event, EventEmitter } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n/**\n * xv-text-input — custom input\n * ti get data you can use default Input event\n * Angular - (input), React - (onInput), Pure - addEventListener('input', e => ...)\n */\n@Component({\n tag: 'xv-text-input-v2',\n styleUrl: 'xv-text-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class XvTextInput {\n @Prop() type: 'text' | 'email' | 'password' | 'url' | 'tel' = 'text';\n @Prop() label: string;\n @Prop({ reflect: true }) placeholder?: string;\n @Prop({ reflect: true }) name: string;\n @Prop({ mutable: true }) value: string = '';\n @Event({ eventName: 'valueChange' }) valueChange: EventEmitter<string>;\n @Prop() autocomplete?: string;\n @Prop() helper?: string;\n @Prop() error?: string | boolean;\n @Prop() warning?: string | boolean;\n @Prop() readonly?: boolean;\n @Prop() disabled?: boolean;\n @Prop() loading: boolean = false;\n @Prop() block?: boolean;\n @Prop({ reflect: true }) size: SIZE_VAR = SIZE_VAR.MD;\n\n @AttachInternals() internals: ElementInternals;\n\n private handleInput = (e: InputEvent) => {\n const target = e.target as HTMLInputElement;\n this.value = target.value;\n this.valueChange.emit(this.value);\n this.internals.setFormValue(target.value);\n }\n\n render() {\n return (\n <Host class={{ disabled: !!this.disabled }}>\n <label class=\"control\">\n {this.label && <span class=\"control_label\">{this.label}</span>}\n\n <div class={{\n 'control_input': true,\n readonly: !!this.readonly,\n [this.size]: true,\n error: !!this.error,\n warning: !!this.warning,\n }}>\n <input\n autocomplete={this.autocomplete}\n type={this.type}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n onInput={this.handleInput}\n name={this.name}\n value={this.value}\n />\n\n <div class=\"control_input__icons\">\n {this.loading && <xv-loader-v2 size={SIZE_VAR.XS} />}\n {!!this.error ? (\n <span class=\"status-icon error\" aria-hidden=\"true\">!</span>\n ) : !!this.warning ? (\n <span class=\"status-icon warning\" aria-hidden=\"true\">⚠</span>\n ) : null}\n </div>\n </div>\n </label>\n\n\n {this.helper && <p class=\"message\">{this.helper}</p>}\n {typeof this.error === 'string' ? (\n <p class=\"message error\">{this.error}</p>\n ) : typeof this.warning === 'string' ? (\n <p class=\"message warning\">{this.warning}</p>\n ) : null}\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,254 @@
1
+ .xv-tooltip[role=tooltip] {
2
+ position: absolute;
3
+ background-color: var(--background-inverse, #333333);
4
+ color: var(--text-on-color);
5
+ padding: var(--spacing-03) var(--spacing-04);
6
+ border-radius: 3px;
7
+ font-size: var(--fz-sm);
8
+ z-index: 999;
9
+ min-width: min(150px, 90vw);
10
+ max-width: min(400px, 90vw);
11
+ }
12
+ .xv-tooltip[role=tooltip]::after {
13
+ content: "";
14
+ position: absolute;
15
+ width: 0;
16
+ height: 0;
17
+ border-style: solid;
18
+ }
19
+ .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
20
+ bottom: -5px;
21
+ left: 50%;
22
+ transform: translateX(-50%);
23
+ border-width: 5px 5px 0 5px;
24
+ border-color: var(--background-inverse, black) transparent transparent transparent;
25
+ }
26
+ .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
27
+ bottom: -5px;
28
+ left: 12px;
29
+ border-width: 5px 5px 0 5px;
30
+ border-color: var(--background-inverse, black) transparent transparent transparent;
31
+ }
32
+ .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
33
+ bottom: -5px;
34
+ right: 12px;
35
+ border-width: 5px 5px 0 5px;
36
+ border-color: var(--background-inverse, black) transparent transparent transparent;
37
+ }
38
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
39
+ top: -5px;
40
+ left: 50%;
41
+ transform: translateX(-50%);
42
+ border-width: 0 5px 5px 5px;
43
+ border-color: transparent transparent var(--background-inverse, black) transparent;
44
+ }
45
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
46
+ top: -5px;
47
+ left: 12px;
48
+ border-width: 0 5px 5px 5px;
49
+ border-color: transparent transparent var(--background-inverse, black) transparent;
50
+ }
51
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
52
+ top: -5px;
53
+ right: 12px;
54
+ border-width: 0 5px 5px 5px;
55
+ border-color: transparent transparent var(--background-inverse, black) transparent;
56
+ }
57
+ .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
58
+ top: 50%;
59
+ right: -5px;
60
+ transform: translateY(-50%);
61
+ border-width: 5px 0 5px 5px;
62
+ border-color: transparent transparent transparent var(--background-inverse, black);
63
+ }
64
+ .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
65
+ top: 12px;
66
+ right: -5px;
67
+ border-width: 5px 0 5px 5px;
68
+ border-color: transparent transparent transparent var(--background-inverse, black);
69
+ }
70
+ .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
71
+ bottom: 12px;
72
+ right: -5px;
73
+ border-width: 5px 0 5px 5px;
74
+ border-color: transparent transparent transparent var(--background-inverse, black);
75
+ }
76
+ .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
77
+ top: 50%;
78
+ left: -5px;
79
+ transform: translateY(-50%);
80
+ border-width: 5px 5px 5px 0;
81
+ border-color: transparent var(--background-inverse, black) transparent transparent;
82
+ }
83
+ .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
84
+ top: 12px;
85
+ left: -5px;
86
+ border-width: 5px 5px 5px 0;
87
+ border-color: transparent var(--background-inverse, black) transparent transparent;
88
+ }
89
+ .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
90
+ bottom: 12px;
91
+ left: -5px;
92
+ border-width: 5px 5px 5px 0;
93
+ border-color: transparent var(--background-inverse, black) transparent transparent;
94
+ }
95
+
96
+ :host {
97
+ display: inline-block;
98
+ text-align: left;
99
+ }
100
+ :host .control_label {
101
+ display: flex;
102
+ justify-content: space-between;
103
+ column-gap: var(--spacing-03);
104
+ margin: 0 0 var(--spacing-03);
105
+ color: var(--text-secondary, #515151);
106
+ font-family: var(--ff-body, Tahoma);
107
+ font-size: var(--fz-sm, 12px);
108
+ font-style: normal;
109
+ font-weight: 700;
110
+ line-height: var(--fz-md);
111
+ letter-spacing: 0.32px;
112
+ }
113
+ :host .control_label__count {
114
+ font-weight: 400;
115
+ }
116
+ :host .control_label [role=tooltip] {
117
+ margin-left: var(--spacing-03);
118
+ }
119
+ :host .control_input {
120
+ display: flex;
121
+ position: relative;
122
+ border: 1px solid var(--border-subtle-01);
123
+ font-size: var(--fz-md, 14px);
124
+ outline: 2px solid transparent;
125
+ background-color: transparent;
126
+ border-radius: 3px;
127
+ transition: 250ms ease-in-out border-color, 250ms ease-in-out outline-color;
128
+ }
129
+ :host .control_input:hover {
130
+ border-color: var(--border-subtle-selected-01);
131
+ }
132
+ :host .control_input:focus-within {
133
+ outline-color: var(--focus);
134
+ }
135
+ :host .control_input.error {
136
+ outline-color: var(--support-error);
137
+ }
138
+ :host .control_input.readonly {
139
+ border-radius: 0;
140
+ border-top-width: 0;
141
+ border-left-width: 0;
142
+ border-right-width: 0;
143
+ outline-color: transparent;
144
+ }
145
+ :host .control_input.error textarea, :host .control_input.warning textarea {
146
+ padding-inline-end: calc(var(--spacing-05, 16px) + 16px);
147
+ }
148
+ :host .control_input textarea {
149
+ flex: 1;
150
+ border: none;
151
+ outline: none;
152
+ margin: 0;
153
+ font-family: inherit;
154
+ background-color: transparent;
155
+ padding-block: var(--spacing-05);
156
+ padding-inline: var(--spacing-05);
157
+ box-sizing: border-box;
158
+ color: var(--text-primary);
159
+ min-width: 20px;
160
+ font-size: inherit;
161
+ font-style: normal;
162
+ font-weight: 400;
163
+ letter-spacing: 0.16px;
164
+ }
165
+ :host .control_input textarea.no-resize {
166
+ resize: none;
167
+ }
168
+ :host .control_input__icons {
169
+ position: absolute;
170
+ right: var(--spacing-05);
171
+ top: var(--spacing-05);
172
+ display: inline-flex;
173
+ align-items: stretch;
174
+ column-gap: 2px;
175
+ }
176
+ :host .control_input__icons .status-icon {
177
+ display: inline-flex;
178
+ align-items: center;
179
+ align-self: center;
180
+ font-size: 16px;
181
+ line-height: 1;
182
+ }
183
+ :host .control_input__icons .status-icon.error {
184
+ background-color: var(--support-error);
185
+ color: white;
186
+ width: 16px;
187
+ height: 16px;
188
+ border-radius: 8px;
189
+ font-size: 12px;
190
+ font-weight: bold;
191
+ align-items: center;
192
+ justify-content: center;
193
+ }
194
+ :host .control_input__icons .status-icon.warning {
195
+ color: var(--support-warning);
196
+ }
197
+ :host .message {
198
+ margin: var(--spacing-02) 0 0;
199
+ color: var(--text-helper, #646464);
200
+ font-size: var(--fz-sm, 12px);
201
+ font-style: normal;
202
+ font-weight: 400;
203
+ line-height: var(--fz-md, 16px);
204
+ letter-spacing: 0.32px;
205
+ }
206
+ :host .message.error {
207
+ color: var(--text-error);
208
+ }
209
+ :host .message.warning {
210
+ color: var(--text-secondary, #515151);
211
+ }
212
+
213
+ :host(.disabled) {
214
+ cursor: not-allowed;
215
+ }
216
+ :host(.disabled) .control_label,
217
+ :host(.disabled) .control_input textarea,
218
+ :host(.disabled) .control_input textarea::placeholder,
219
+ :host(.disabled) .message:not(.error) {
220
+ color: var(--text-disabled);
221
+ cursor: not-allowed;
222
+ }
223
+ :host(.disabled) .control_input__icons,
224
+ :host(.disabled) .message.error {
225
+ opacity: 0.5;
226
+ cursor: not-allowed;
227
+ }
228
+
229
+ :host([block]) {
230
+ display: block;
231
+ }
232
+ :host([block]) .control_input textarea {
233
+ width: 100%;
234
+ }
235
+
236
+ :host([size=xs]) .control_input textarea {
237
+ padding-block: var(--spacing-03);
238
+ font-size: 0.8em;
239
+ }
240
+
241
+ :host([size=sm]) .control_input textarea {
242
+ padding-block: var(--spacing-04);
243
+ font-size: 0.9em;
244
+ }
245
+
246
+ :host([size=lg]) .control_input textarea {
247
+ padding-block: var(--spacing-06);
248
+ font-size: 1.1em;
249
+ }
250
+
251
+ :host([size=xl]) .control_input textarea {
252
+ padding-block: var(--spacing-07);
253
+ font-size: 1.2em;
254
+ }