@onetype/framework 2.0.53 → 2.0.55

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 (150) hide show
  1. package/addons/float/popup/css/popup.css +2 -2
  2. package/addons/render/directives/front/functions/process.js +3 -1
  3. package/addons/render/directives/front/items/self/160-slot.js +9 -1
  4. package/addons/render/editor/addon.js +13 -0
  5. package/addons/render/editor/functions/block/add.js +57 -0
  6. package/addons/render/editor/functions/block/delete.js +32 -0
  7. package/addons/render/editor/functions/block/find.js +30 -0
  8. package/addons/render/editor/functions/render/block.js +114 -0
  9. package/addons/render/editor/functions/render/blocks.js +31 -0
  10. package/addons/render/editor/items/elements/editor.js +69 -0
  11. package/addons/render/editor/items/self/paragraph.js +21 -0
  12. package/addons/render/editor/styles/editor.css +252 -0
  13. package/addons/render/elements/front/functions/types/colors/badge.js +19 -0
  14. package/addons/render/elements/front/functions/types/colors/status.js +24 -0
  15. package/addons/render/elements/front/functions/types/escape.js +8 -0
  16. package/addons/render/elements/front/functions/types/format/currency.js +16 -0
  17. package/addons/render/elements/front/functions/types/format/date.js +16 -0
  18. package/addons/render/elements/front/functions/types/format/number.js +24 -0
  19. package/addons/render/elements/front/functions/types/format/timeago.js +43 -0
  20. package/addons/render/elements/front/functions/types/render/avatar.js +10 -0
  21. package/addons/render/elements/front/functions/types/render/badge.js +17 -0
  22. package/addons/render/elements/front/functions/types/render/boolean.js +8 -0
  23. package/addons/render/elements/front/functions/types/render/chip.js +6 -0
  24. package/addons/render/elements/front/functions/types/render/currency.js +7 -0
  25. package/addons/render/elements/front/functions/types/render/date.js +6 -0
  26. package/addons/render/elements/front/functions/types/render/description.js +12 -0
  27. package/addons/render/elements/front/functions/types/render/group.js +11 -0
  28. package/addons/render/elements/front/functions/types/render/icon.js +8 -0
  29. package/addons/render/elements/front/functions/types/render/image.js +9 -0
  30. package/addons/render/elements/front/functions/types/render/link.js +8 -0
  31. package/addons/render/elements/front/functions/types/render/media.js +16 -0
  32. package/addons/render/elements/front/functions/types/render/metric.js +13 -0
  33. package/addons/render/elements/front/functions/types/render/number.js +6 -0
  34. package/addons/render/elements/front/functions/types/render/progress.js +13 -0
  35. package/addons/render/elements/front/functions/types/render/status.js +12 -0
  36. package/addons/render/elements/front/functions/types/render/tag.js +6 -0
  37. package/addons/render/elements/front/functions/types/render/tags.js +11 -0
  38. package/addons/render/elements/front/functions/types/render/text.js +8 -0
  39. package/addons/render/elements/front/functions/types/render/timeago.js +6 -0
  40. package/addons/render/elements/front/functions/types/render.js +16 -0
  41. package/addons/render/elements/front/items/directives/element.js +8 -3
  42. package/addons/render/elements/front/items/self/cards/info/info.css +499 -0
  43. package/addons/render/elements/front/items/self/cards/info/info.js +224 -0
  44. package/addons/render/elements/front/items/self/cards/item/item.css +614 -0
  45. package/addons/render/elements/front/items/self/cards/item/item.js +200 -0
  46. package/addons/render/elements/front/items/self/cards/pricing/pricing.css +318 -46
  47. package/addons/render/elements/front/items/self/cards/pricing/pricing.js +81 -30
  48. package/addons/render/elements/front/items/self/cards/profile/profile.css +446 -0
  49. package/addons/render/elements/front/items/self/cards/profile/profile.js +186 -0
  50. package/addons/render/elements/front/items/self/cards/share/share.css +445 -0
  51. package/addons/render/elements/front/items/self/cards/share/share.js +316 -0
  52. package/addons/render/elements/front/items/self/cards/stat/stat.css +356 -0
  53. package/addons/render/elements/front/items/self/cards/stat/stat.js +146 -0
  54. package/addons/render/elements/front/items/self/charts/bar/bar.css +263 -0
  55. package/addons/render/elements/front/items/self/charts/bar/bar.js +156 -0
  56. package/addons/render/elements/front/items/self/charts/donut/donut.css +222 -0
  57. package/addons/render/elements/front/items/self/charts/donut/donut.js +164 -0
  58. package/addons/render/elements/front/items/self/charts/line/line.css +229 -0
  59. package/addons/render/elements/front/items/self/charts/line/line.js +249 -0
  60. package/addons/render/elements/front/items/self/charts/sparkline/sparkline.css +102 -0
  61. package/addons/render/elements/front/items/self/charts/sparkline/sparkline.js +164 -0
  62. package/addons/render/elements/front/items/self/core/builder/builder.css +71 -116
  63. package/addons/render/elements/front/items/self/core/builder/builder.js +212 -127
  64. package/addons/render/elements/front/items/self/core/repeater/repeater.css +338 -71
  65. package/addons/render/elements/front/items/self/core/repeater/repeater.js +191 -44
  66. package/addons/render/elements/front/items/self/data/filters/filters.css +541 -0
  67. package/addons/render/elements/front/items/self/data/filters/filters.js +504 -0
  68. package/addons/render/elements/front/items/self/data/table/table.css +588 -0
  69. package/addons/render/elements/front/items/self/data/table/table.js +589 -0
  70. package/addons/render/elements/front/items/self/form/button/button.css +430 -103
  71. package/addons/render/elements/front/items/self/form/button/button.js +109 -101
  72. package/addons/render/elements/front/items/self/form/checkbox/checkbox.css +356 -39
  73. package/addons/render/elements/front/items/self/form/checkbox/checkbox.js +109 -75
  74. package/addons/render/elements/front/items/self/form/color/color.css +255 -61
  75. package/addons/render/elements/front/items/self/form/color/color.js +135 -41
  76. package/addons/render/elements/front/items/self/form/date/date.css +289 -38
  77. package/addons/render/elements/front/items/self/form/date/date.js +108 -24
  78. package/addons/render/elements/front/items/self/form/editor/editor.css +447 -0
  79. package/addons/render/elements/front/items/self/form/editor/editor.js +794 -0
  80. package/addons/render/elements/front/items/self/form/field/field.css +160 -29
  81. package/addons/render/elements/front/items/self/form/field/field.js +36 -16
  82. package/addons/render/elements/front/items/self/form/input/input.css +272 -32
  83. package/addons/render/elements/front/items/self/form/input/input.js +324 -124
  84. package/addons/render/elements/front/items/self/form/radio/radio.css +310 -45
  85. package/addons/render/elements/front/items/self/form/radio/radio.js +99 -80
  86. package/addons/render/elements/front/items/self/form/rating/rating.css +234 -57
  87. package/addons/render/elements/front/items/self/form/rating/rating.js +216 -86
  88. package/addons/render/elements/front/items/self/form/section/section.css +247 -32
  89. package/addons/render/elements/front/items/self/form/section/section.js +53 -16
  90. package/addons/render/elements/front/items/self/form/select/select.css +362 -64
  91. package/addons/render/elements/front/items/self/form/select/select.js +156 -30
  92. package/addons/render/elements/front/items/self/form/slider/slider.css +331 -123
  93. package/addons/render/elements/front/items/self/form/slider/slider.js +124 -26
  94. package/addons/render/elements/front/items/self/form/tags/tags.css +328 -53
  95. package/addons/render/elements/front/items/self/form/tags/tags.js +155 -28
  96. package/addons/render/elements/front/items/self/form/textarea/textarea.css +128 -27
  97. package/addons/render/elements/front/items/self/form/textarea/textarea.js +172 -113
  98. package/addons/render/elements/front/items/self/form/toggle/toggle.css +239 -39
  99. package/addons/render/elements/front/items/self/form/toggle/toggle.js +32 -17
  100. package/addons/render/elements/front/items/self/form/transfer/transfer.css +377 -0
  101. package/addons/render/elements/front/items/self/form/transfer/transfer.js +453 -0
  102. package/addons/render/elements/front/items/self/form/upload/upload.css +408 -0
  103. package/addons/render/elements/front/items/self/form/upload/upload.js +469 -0
  104. package/addons/render/elements/front/items/self/global/accordion/accordion.css +377 -0
  105. package/addons/render/elements/front/items/self/global/accordion/accordion.js +135 -0
  106. package/addons/render/elements/front/items/self/global/code/code.css +207 -44
  107. package/addons/render/elements/front/items/self/global/code/code.js +327 -19
  108. package/addons/render/elements/front/items/self/global/gallery/gallery.css +521 -0
  109. package/addons/render/elements/front/items/self/global/gallery/gallery.js +291 -0
  110. package/addons/render/elements/front/items/self/global/heading/heading.css +151 -49
  111. package/addons/render/elements/front/items/self/global/heading/heading.js +30 -15
  112. package/addons/render/elements/front/items/self/global/markdown/markdown.css +284 -135
  113. package/addons/render/elements/front/items/self/global/markdown/markdown.js +35 -5
  114. package/addons/render/elements/front/items/self/global/menu/menu.css +311 -56
  115. package/addons/render/elements/front/items/self/global/menu/menu.js +95 -47
  116. package/addons/render/elements/front/items/self/global/notice/notice.css +263 -23
  117. package/addons/render/elements/front/items/self/global/notice/notice.js +51 -11
  118. package/addons/render/elements/front/items/self/global/parameters/parameters.css +276 -33
  119. package/addons/render/elements/front/items/self/global/parameters/parameters.js +86 -16
  120. package/addons/render/elements/front/items/self/global/tags/tags.css +215 -29
  121. package/addons/render/elements/front/items/self/global/tags/tags.js +91 -17
  122. package/addons/render/elements/front/items/self/navigation/dock/dock.css +221 -0
  123. package/addons/render/elements/front/items/self/navigation/dock/dock.js +134 -0
  124. package/addons/render/elements/front/items/self/navigation/footer/footer.css +356 -0
  125. package/addons/render/elements/front/items/self/navigation/footer/footer.js +219 -0
  126. package/addons/render/elements/front/items/self/navigation/navbar/navbar.css +736 -76
  127. package/addons/render/elements/front/items/self/navigation/navbar/navbar.js +437 -29
  128. package/addons/render/elements/front/items/self/navigation/sidebar/sidebar.css +327 -196
  129. package/addons/render/elements/front/items/self/navigation/sidebar/sidebar.js +115 -62
  130. package/addons/render/elements/front/items/self/navigation/steps/steps.css +345 -0
  131. package/addons/render/elements/front/items/self/navigation/steps/steps.js +113 -0
  132. package/addons/render/elements/front/items/self/navigation/tabs/tabs.css +362 -33
  133. package/addons/render/elements/front/items/self/navigation/tabs/tabs.js +62 -19
  134. package/addons/render/elements/front/items/self/status/code/code.css +83 -12
  135. package/addons/render/elements/front/items/self/status/code/code.js +15 -4
  136. package/addons/render/elements/front/items/self/status/empty/empty.css +95 -15
  137. package/addons/render/elements/front/items/self/status/empty/empty.js +17 -12
  138. package/addons/render/elements/front/items/self/status/error/error.css +99 -14
  139. package/addons/render/elements/front/items/self/status/error/error.js +21 -11
  140. package/addons/render/elements/front/items/self/status/loading/loading.css +85 -14
  141. package/addons/render/elements/front/items/self/status/loading/loading.js +5 -6
  142. package/addons/render/elements/front/styles/types.css +363 -0
  143. package/instructions.txt +28 -0
  144. package/lib/load.js +1 -0
  145. package/lib/styles/reset.css +89 -76
  146. package/package.json +1 -1
  147. package/addons/render/elements/front/items/self/form/editor-markdown/editor-markdown.css +0 -410
  148. package/addons/render/elements/front/items/self/form/editor-markdown/editor-markdown.js +0 -191
  149. package/addons/render/elements/front/items/self/global/faq/faq.css +0 -98
  150. package/addons/render/elements/front/items/self/global/faq/faq.js +0 -56
@@ -10,14 +10,19 @@
10
10
 
11
11
  .e-15ce864f > .holder
12
12
  {
13
+ position: relative;
13
14
  display: flex;
14
15
  flex-direction: column;
15
- position: relative;
16
16
  width: 100%;
17
- border-radius: var(--ot-radius-m);
18
17
  border: 1px solid transparent;
18
+ border-radius: var(--ot-radius-m);
19
19
  background: transparent;
20
- transition: background 0.15s ease, border-color 0.15s ease;
20
+ transition: background 0.2s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.2s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.2s cubic-bezier(0.22, 1, 0.36, 1);
21
+ }
22
+
23
+ .e-15ce864f > .holder.open
24
+ {
25
+ box-shadow: 0 0 0 3px var(--ot-brand-opacity);
21
26
  }
22
27
 
23
28
  /* Trigger */
@@ -27,6 +32,7 @@
27
32
  display: flex;
28
33
  align-items: center;
29
34
  gap: var(--ot-spacing-s);
35
+ height: var(--ot-height-m);
30
36
  padding: 0 var(--ot-spacing-m);
31
37
  cursor: pointer;
32
38
  user-select: none;
@@ -34,83 +40,166 @@
34
40
 
35
41
  .e-15ce864f > .holder > .trigger > .icon
36
42
  {
37
- font-size: var(--ot-size-m);
38
- color: var(--ot-text-2);
39
43
  flex-shrink: 0;
44
+ font-size: 18px;
45
+ color: var(--ot-text-3);
46
+ transition: color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
47
+ }
48
+
49
+ .e-15ce864f > .holder.open > .trigger > .icon
50
+ {
51
+ color: var(--ot-text-1);
40
52
  }
41
53
 
42
54
  .e-15ce864f > .holder > .trigger > .selected
43
55
  {
56
+ flex: 1;
57
+ min-width: 0;
58
+ font-family: var(--ot-font-primary);
44
59
  font-size: var(--ot-size-m);
60
+ font-weight: 500;
45
61
  color: var(--ot-text-1);
46
- flex: 1;
62
+ white-space: nowrap;
63
+ overflow: hidden;
64
+ text-overflow: ellipsis;
47
65
  }
48
66
 
49
67
  .e-15ce864f > .holder > .trigger > .placeholder
50
68
  {
51
- font-size: var(--ot-size-m);
52
- color: var(--ot-text-2);
53
69
  flex: 1;
70
+ min-width: 0;
71
+ font-family: var(--ot-font-primary);
72
+ font-size: var(--ot-size-m);
73
+ color: var(--ot-text-3);
74
+ white-space: nowrap;
75
+ overflow: hidden;
76
+ text-overflow: ellipsis;
77
+ }
78
+
79
+ .e-15ce864f > .holder > .trigger > .action
80
+ {
81
+ display: inline-flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ flex-shrink: 0;
85
+ width: 22px;
86
+ height: 22px;
87
+ padding: 0;
88
+ margin-left: auto;
89
+ border: none;
90
+ background: transparent;
91
+ border-radius: var(--ot-radius-s);
92
+ color: var(--ot-text-3);
93
+ cursor: pointer;
94
+ outline: none;
95
+ transition: background 0.2s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
96
+ }
97
+
98
+ .e-15ce864f > .holder > .trigger > .action:hover
99
+ {
100
+ background: var(--ot-bg-2-hover);
101
+ color: var(--ot-text-1);
102
+ }
103
+
104
+ .e-15ce864f > .holder > .trigger > .action > i
105
+ {
106
+ font-size: 14px;
54
107
  }
55
108
 
56
109
  .e-15ce864f > .holder > .trigger > .arrow
57
110
  {
58
- font-size: var(--ot-size-l);
59
- color: var(--ot-text-2);
60
111
  flex-shrink: 0;
112
+ font-size: 20px;
113
+ color: var(--ot-text-3);
61
114
  margin-left: auto;
115
+ transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
116
+ }
117
+
118
+ .e-15ce864f > .holder > .trigger > .action + .arrow
119
+ {
120
+ margin-left: 0;
121
+ }
122
+
123
+ .e-15ce864f > .holder.open > .trigger > .arrow
124
+ {
125
+ transform: rotate(180deg);
126
+ color: var(--ot-brand);
62
127
  }
63
128
 
64
129
  /* Dropdown */
65
130
 
66
131
  .e-15ce864f > .holder > .dropdown
67
132
  {
68
- position: fixed;
69
- background: var(--ot-bg-3);
70
- border: 1px solid var(--ot-bg-3-border);
133
+ position: absolute;
134
+ top: calc(100% + var(--ot-spacing-x));
135
+ left: 0;
136
+ right: 0;
137
+ display: flex;
138
+ flex-direction: column;
139
+ background: var(--ot-bg-1);
140
+ border: 1px solid var(--ot-bg-2-border);
71
141
  border-radius: var(--ot-radius-m);
72
- z-index: 1000;
142
+ box-shadow: 0 10px 32px -12px rgba(20, 20, 30, 0.14);
143
+ z-index: 100;
73
144
  overflow: hidden;
145
+ animation: e-15ce864f-drop 0.2s cubic-bezier(0.22, 1, 0.36, 1);
146
+ }
147
+
148
+ @keyframes e-15ce864f-drop
149
+ {
150
+ from { opacity: 0; transform: translateY(-4px); }
151
+ to { opacity: 1; transform: translateY(0); }
74
152
  }
75
153
 
76
154
  /* Search */
77
155
 
78
156
  .e-15ce864f > .holder > .dropdown > .search
79
157
  {
80
- padding: var(--ot-spacing-s);
81
- border-bottom: 1px solid var(--ot-bg-3-border);
158
+ display: flex;
159
+ align-items: center;
160
+ gap: var(--ot-spacing-s);
161
+ padding: 0 var(--ot-spacing-m);
162
+ height: var(--ot-height-m);
163
+ border-bottom: 1px solid var(--ot-bg-2-border);
164
+ }
165
+
166
+ .e-15ce864f > .holder > .dropdown > .search > i
167
+ {
168
+ flex-shrink: 0;
169
+ font-size: 18px;
170
+ color: var(--ot-text-3);
82
171
  }
83
172
 
84
173
  .e-15ce864f > .holder > .dropdown > .search > input
85
174
  {
175
+ flex: 1;
176
+ min-width: 0;
86
177
  width: 100%;
87
- padding: var(--ot-spacing-x) var(--ot-spacing-s);
88
- border: 1px solid var(--ot-bg-4-border);
89
- border-radius: var(--ot-radius-s);
90
- background: var(--ot-bg-4);
178
+ padding: 0;
179
+ background: transparent;
180
+ border: none;
181
+ outline: none;
91
182
  color: var(--ot-text-1);
183
+ font-family: var(--ot-font-primary);
92
184
  font-size: var(--ot-size-m);
93
- font-family: inherit;
94
- outline: none;
185
+ font-weight: 500;
95
186
  }
96
187
 
97
188
  .e-15ce864f > .holder > .dropdown > .search > input::placeholder
98
189
  {
99
- color: var(--ot-text-2);
100
- }
101
-
102
- .e-15ce864f > .holder > .dropdown > .search > input:focus
103
- {
104
- border-color: var(--ot-brand);
190
+ color: var(--ot-text-3);
191
+ font-weight: 400;
105
192
  }
106
193
 
107
194
  /* List */
108
195
 
109
196
  .e-15ce864f > .holder > .dropdown > .list
110
197
  {
111
- max-height: 200px;
198
+ display: flex;
199
+ flex-direction: column;
200
+ padding: var(--ot-spacing-x);
201
+ max-height: 280px;
112
202
  overflow-y: auto;
113
- padding: var(--ot-spacing-x) 0;
114
203
  }
115
204
 
116
205
  /* Option */
@@ -120,67 +209,276 @@
120
209
  display: flex;
121
210
  align-items: center;
122
211
  gap: var(--ot-spacing-s);
212
+ width: 100%;
123
213
  padding: var(--ot-spacing-s) var(--ot-spacing-m);
214
+ background: transparent;
215
+ border: none;
216
+ border-radius: var(--ot-radius-s);
217
+ font-family: var(--ot-font-primary);
124
218
  font-size: var(--ot-size-m);
219
+ font-weight: 500;
125
220
  color: var(--ot-text-1);
221
+ text-align: left;
126
222
  cursor: pointer;
127
- transition: background 0.15s ease;
223
+ outline: none;
224
+ transition: background 0.15s cubic-bezier(0.22, 1, 0.36, 1), color 0.15s cubic-bezier(0.22, 1, 0.36, 1);
128
225
  }
129
226
 
130
- .e-15ce864f > .holder > .dropdown > .list > .option:hover
227
+ .e-15ce864f > .holder > .dropdown > .list > .option > .icon
131
228
  {
132
- background: var(--ot-bg-3-hover);
229
+ flex-shrink: 0;
230
+ font-size: 18px;
231
+ color: var(--ot-text-3);
232
+ transition: color 0.15s cubic-bezier(0.22, 1, 0.36, 1);
133
233
  }
134
234
 
135
- .e-15ce864f > .holder > .dropdown > .list > .option.active
235
+ .e-15ce864f > .holder > .dropdown > .list > .option > .text
136
236
  {
137
- color: var(--ot-brand);
237
+ display: flex;
238
+ flex-direction: column;
239
+ gap: 2px;
240
+ min-width: 0;
241
+ flex: 1;
138
242
  }
139
243
 
140
- .e-15ce864f > .holder > .dropdown > .list > .option > .icon
244
+ .e-15ce864f > .holder > .dropdown > .list > .option > .text > .label
245
+ {
246
+ white-space: nowrap;
247
+ overflow: hidden;
248
+ text-overflow: ellipsis;
249
+ }
250
+
251
+ .e-15ce864f > .holder > .dropdown > .list > .option > .text > .description
252
+ {
253
+ font-size: 11.5px;
254
+ font-weight: 400;
255
+ color: var(--ot-text-3);
256
+ white-space: nowrap;
257
+ overflow: hidden;
258
+ text-overflow: ellipsis;
259
+ }
260
+
261
+ .e-15ce864f > .holder > .dropdown > .list > .option > .check
141
262
  {
142
- font-size: var(--ot-size-m);
143
- color: var(--ot-text-2);
144
263
  flex-shrink: 0;
264
+ margin-left: auto;
265
+ font-size: 18px;
266
+ color: var(--ot-brand);
145
267
  }
146
268
 
147
- .e-15ce864f > .holder > .dropdown > .list > .option.active > .icon
269
+ .e-15ce864f > .holder > .dropdown > .list > .option:hover:not(.disabled),
270
+ .e-15ce864f > .holder > .dropdown > .list > .option.active:not(.disabled)
148
271
  {
272
+ background: var(--ot-brand-opacity);
149
273
  color: var(--ot-brand);
150
274
  }
151
275
 
152
- /* Background variants */
276
+ .e-15ce864f > .holder > .dropdown > .list > .option:hover:not(.disabled) > .icon,
277
+ .e-15ce864f > .holder > .dropdown > .list > .option.active:not(.disabled) > .icon
278
+ {
279
+ color: var(--ot-brand);
280
+ }
153
281
 
154
- .e-15ce864f > .holder.bg-1 { background: var(--ot-bg-1); }
155
- .e-15ce864f > .holder.bg-1:hover { background: var(--ot-bg-1-hover); }
156
- .e-15ce864f > .holder.bg-1.border { border-color: var(--ot-bg-1-border); }
157
- .e-15ce864f > .holder.bg-2 { background: var(--ot-bg-2); }
158
- .e-15ce864f > .holder.bg-2:hover { background: var(--ot-bg-2-hover); }
159
- .e-15ce864f > .holder.bg-2.border { border-color: var(--ot-bg-2-border); }
160
- .e-15ce864f > .holder.bg-3 { background: var(--ot-bg-3); }
161
- .e-15ce864f > .holder.bg-3:hover { background: var(--ot-bg-3-hover); }
162
- .e-15ce864f > .holder.bg-3.border { border-color: var(--ot-bg-3-border); }
163
- .e-15ce864f > .holder.bg-4 { background: var(--ot-bg-4); }
164
- .e-15ce864f > .holder.bg-4:hover { background: var(--ot-bg-4-hover); }
165
- .e-15ce864f > .holder.bg-4.border { border-color: var(--ot-bg-4-border); }
282
+ .e-15ce864f > .holder > .dropdown > .list > .option.selected
283
+ {
284
+ color: var(--ot-brand);
285
+ }
166
286
 
167
- /* Transparent variant */
287
+ .e-15ce864f > .holder > .dropdown > .list > .option.selected > .icon
288
+ {
289
+ color: var(--ot-brand);
290
+ }
291
+
292
+ .e-15ce864f > .holder > .dropdown > .list > .option.disabled
293
+ {
294
+ opacity: 0.4;
295
+ cursor: not-allowed;
296
+ }
297
+
298
+ /* Empty */
299
+
300
+ .e-15ce864f > .holder > .dropdown > .list > .empty
301
+ {
302
+ padding: var(--ot-spacing-m);
303
+ text-align: center;
304
+ font-size: var(--ot-size-s);
305
+ color: var(--ot-text-3);
306
+ font-family: var(--ot-font-primary);
307
+ }
308
+
309
+ /* Disabled */
310
+
311
+ .e-15ce864f > .holder.disabled
312
+ {
313
+ cursor: not-allowed;
314
+ opacity: 0.55;
315
+ }
316
+
317
+ .e-15ce864f > .holder.disabled > .trigger
318
+ {
319
+ cursor: not-allowed;
320
+ }
321
+
322
+ /* ===== BACKGROUND VARIANTS ===== */
323
+
324
+ .e-15ce864f > .holder.bg-1
325
+ {
326
+ background: var(--ot-bg-1);
327
+ }
328
+ .e-15ce864f > .holder.bg-1:hover:not(.open):not(.disabled)
329
+ {
330
+ background: var(--ot-bg-1-hover);
331
+ }
332
+ .e-15ce864f > .holder.bg-1 > .dropdown
333
+ {
334
+ background: var(--ot-bg-1);
335
+ border-color: var(--ot-bg-1-border);
336
+ }
337
+ .e-15ce864f > .holder.bg-1 > .dropdown > .search
338
+ {
339
+ border-bottom-color: var(--ot-bg-1-border);
340
+ }
341
+ .e-15ce864f > .holder.bg-1 > .trigger > .action:hover
342
+ {
343
+ background: var(--ot-bg-1-hover);
344
+ }
345
+
346
+ .e-15ce864f > .holder.bg-2
347
+ {
348
+ background: var(--ot-bg-2);
349
+ }
350
+ .e-15ce864f > .holder.bg-2:hover:not(.open):not(.disabled)
351
+ {
352
+ background: var(--ot-bg-2-hover);
353
+ }
354
+ .e-15ce864f > .holder.bg-2 > .dropdown
355
+ {
356
+ background: var(--ot-bg-2);
357
+ border-color: var(--ot-bg-2-border);
358
+ }
359
+ .e-15ce864f > .holder.bg-2 > .dropdown > .search
360
+ {
361
+ border-bottom-color: var(--ot-bg-2-border);
362
+ }
363
+ .e-15ce864f > .holder.bg-2 > .trigger > .action:hover
364
+ {
365
+ background: var(--ot-bg-2-hover);
366
+ }
367
+
368
+ .e-15ce864f > .holder.bg-3
369
+ {
370
+ background: var(--ot-bg-3);
371
+ }
372
+ .e-15ce864f > .holder.bg-3:hover:not(.open):not(.disabled)
373
+ {
374
+ background: var(--ot-bg-3-hover);
375
+ }
376
+ .e-15ce864f > .holder.bg-3 > .dropdown
377
+ {
378
+ background: var(--ot-bg-3);
379
+ border-color: var(--ot-bg-3-border);
380
+ }
381
+ .e-15ce864f > .holder.bg-3 > .dropdown > .search
382
+ {
383
+ border-bottom-color: var(--ot-bg-3-border);
384
+ }
385
+ .e-15ce864f > .holder.bg-3 > .trigger > .action:hover
386
+ {
387
+ background: var(--ot-bg-3-hover);
388
+ }
168
389
 
169
- .e-15ce864f > .holder.transparent { background: transparent; }
390
+ .e-15ce864f > .holder.bg-4
391
+ {
392
+ background: var(--ot-bg-4);
393
+ }
394
+ .e-15ce864f > .holder.bg-4:hover:not(.open):not(.disabled)
395
+ {
396
+ background: var(--ot-bg-4-hover);
397
+ }
398
+ .e-15ce864f > .holder.bg-4 > .dropdown
399
+ {
400
+ background: var(--ot-bg-4);
401
+ border-color: var(--ot-bg-4-border);
402
+ }
403
+ .e-15ce864f > .holder.bg-4 > .dropdown > .search
404
+ {
405
+ border-bottom-color: var(--ot-bg-4-border);
406
+ }
407
+ .e-15ce864f > .holder.bg-4 > .trigger > .action:hover
408
+ {
409
+ background: var(--ot-bg-4-hover);
410
+ }
411
+
412
+ /* Transparent */
413
+
414
+ .e-15ce864f > .holder.transparent
415
+ {
416
+ background: transparent;
417
+ }
170
418
 
171
- /* Border variant */
419
+ /* Border variant — per bg */
172
420
 
173
- .e-15ce864f > .holder.border { border: 1px solid var(--ot-bg-2-border); }
421
+ .e-15ce864f > .holder.border { border-color: var(--ot-bg-2-border); }
422
+ .e-15ce864f > .holder.bg-1.border { border-color: var(--ot-bg-1-border); }
423
+ .e-15ce864f > .holder.bg-2.border { border-color: var(--ot-bg-2-border); }
424
+ .e-15ce864f > .holder.bg-3.border { border-color: var(--ot-bg-3-border); }
425
+ .e-15ce864f > .holder.bg-4.border { border-color: var(--ot-bg-4-border); }
174
426
 
175
- /* Size variants */
427
+ /* ===== SIZE VARIANTS ===== */
176
428
 
177
- .e-15ce864f > .holder.size-s > .trigger { height: var(--ot-height-s); padding: 0 var(--ot-spacing-s); }
429
+ .e-15ce864f > .holder.size-s > .trigger
430
+ {
431
+ height: var(--ot-height-s);
432
+ padding: 0 var(--ot-spacing-s);
433
+ }
434
+ .e-15ce864f > .holder.size-s > .trigger > .icon
435
+ {
436
+ font-size: 15px;
437
+ }
178
438
  .e-15ce864f > .holder.size-s > .trigger > .selected,
179
- .e-15ce864f > .holder.size-s > .trigger > .placeholder { font-size: var(--ot-size-s); }
180
- .e-15ce864f > .holder.size-s > .trigger > .arrow { font-size: var(--ot-size-m); }
439
+ .e-15ce864f > .holder.size-s > .trigger > .placeholder
440
+ {
441
+ font-size: var(--ot-size-s);
442
+ }
443
+ .e-15ce864f > .holder.size-s > .trigger > .arrow
444
+ {
445
+ font-size: 17px;
446
+ }
447
+ .e-15ce864f > .holder.size-s > .trigger > .action
448
+ {
449
+ width: 18px;
450
+ height: 18px;
451
+ }
452
+ .e-15ce864f > .holder.size-s > .trigger > .action > i
453
+ {
454
+ font-size: 13px;
455
+ }
181
456
 
182
- .e-15ce864f > .holder.size-m > .trigger { height: var(--ot-height-m); }
457
+ .e-15ce864f > .holder.size-m > .trigger
458
+ {
459
+ height: var(--ot-height-m);
460
+ padding: 0 var(--ot-spacing-m);
461
+ }
183
462
 
184
- .e-15ce864f > .holder.size-l > .trigger { height: var(--ot-height-l); padding: 0 var(--ot-spacing-l); }
185
- .e-15ce864f > .holder.size-l > .trigger > .selected,
186
- .e-15ce864f > .holder.size-l > .trigger > .placeholder { font-size: var(--ot-size-m); }
463
+ .e-15ce864f > .holder.size-l > .trigger
464
+ {
465
+ height: var(--ot-height-l);
466
+ padding: 0 var(--ot-spacing-l);
467
+ }
468
+ .e-15ce864f > .holder.size-l > .trigger > .icon
469
+ {
470
+ font-size: 20px;
471
+ }
472
+ .e-15ce864f > .holder.size-l > .trigger > .arrow
473
+ {
474
+ font-size: 22px;
475
+ }
476
+ .e-15ce864f > .holder.size-l > .trigger > .action
477
+ {
478
+ width: 26px;
479
+ height: 26px;
480
+ }
481
+ .e-15ce864f > .holder.size-l > .trigger > .action > i
482
+ {
483
+ font-size: 16px;
484
+ }