@koobiq/components 17.0.0-beta.1 → 17.0.0-beta.2

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 (157) hide show
  1. package/autocomplete/autocomplete-trigger.directive.d.ts +7 -1
  2. package/button-toggle/_button-toggle-theme.scss +4 -0
  3. package/checkbox/checkbox.scss +0 -1
  4. package/code-block/_code-block-theme.scss +15 -9
  5. package/code-block/actionbar.component.scss +1 -1
  6. package/code-block/code-block.component.d.ts +3 -0
  7. package/code-block/code-block.scss +14 -4
  8. package/core/datetime/date-adapter.d.ts +1 -1
  9. package/core/datetime/date-formats.d.ts +1 -1
  10. package/core/formatters/date/formatter.d.ts +2 -2
  11. package/core/formatters/date/formatter.pipe.d.ts +1 -1
  12. package/core/locales/en-US.d.ts +25 -22
  13. package/core/locales/es-LA.d.ts +24 -27
  14. package/core/locales/fa-IR.d.ts +24 -28
  15. package/core/locales/formatters.d.ts +121 -0
  16. package/core/locales/index.d.ts +7 -0
  17. package/core/locales/locale-service.d.ts +146 -32
  18. package/core/locales/pt-BR.d.ts +24 -27
  19. package/core/locales/ru-RU.d.ts +25 -23
  20. package/core/locales/zh-CN.d.ts +25 -27
  21. package/core/styles/_koobiq-theme.scss +3 -1
  22. package/core/styles/_variables.scss +0 -9
  23. package/core/styles/common/_overlay.scss +4 -0
  24. package/core/styles/theming/_components-theming.scss +59 -21
  25. package/core/styles/theming/{_scrollbars-theme.scss → _scrollbar-theme.scss} +19 -3
  26. package/core/styles/typography/_typography.scss +3 -1
  27. package/core/utils/data-size/data-size.pipe.d.ts +1 -1
  28. package/ellipsis-center/ellipsis-center.directive.d.ts +3 -3
  29. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +14 -2
  30. package/esm2022/code-block/actionbar.component.mjs +2 -2
  31. package/esm2022/code-block/code-block.component.mjs +21 -5
  32. package/esm2022/core/datetime/date-adapter.mjs +2 -2
  33. package/esm2022/core/datetime/date-formats.mjs +1 -1
  34. package/esm2022/core/formatters/date/formatter.mjs +4 -4
  35. package/esm2022/core/formatters/date/formatter.pipe.mjs +1 -1
  36. package/esm2022/core/locales/en-US.mjs +25 -22
  37. package/esm2022/core/locales/es-LA.mjs +24 -29
  38. package/esm2022/core/locales/fa-IR.mjs +24 -28
  39. package/esm2022/core/locales/formatters.mjs +126 -0
  40. package/esm2022/core/locales/index.mjs +8 -1
  41. package/esm2022/core/locales/locale-service.mjs +9 -8
  42. package/esm2022/core/locales/pt-BR.mjs +24 -27
  43. package/esm2022/core/locales/ru-RU.mjs +25 -25
  44. package/esm2022/core/locales/zh-CN.mjs +25 -27
  45. package/esm2022/core/utils/data-size/data-size.pipe.mjs +3 -3
  46. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +13 -13
  47. package/esm2022/file-upload/multiple-file-upload.component.mjs +44 -23
  48. package/esm2022/file-upload/single-file-upload.component.mjs +36 -13
  49. package/esm2022/modal/modal.component.mjs +3 -6
  50. package/esm2022/modal/modal.type.mjs +1 -1
  51. package/esm2022/navbar/navbar-item.component.mjs +24 -68
  52. package/esm2022/navbar/navbar.component.mjs +4 -4
  53. package/esm2022/navbar/navbar.module.mjs +2 -6
  54. package/esm2022/navbar/vertical-navbar.component.mjs +3 -8
  55. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  56. package/esm2022/popover/popover.component.mjs +3 -3
  57. package/esm2022/scrollbar/index.mjs +2 -0
  58. package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +5 -0
  59. package/esm2022/scrollbar/public-api.mjs +5 -0
  60. package/esm2022/scrollbar/scrollbar.component.mjs +130 -0
  61. package/esm2022/scrollbar/scrollbar.directive.mjs +97 -0
  62. package/esm2022/scrollbar/scrollbar.module.mjs +20 -0
  63. package/esm2022/scrollbar/scrollbar.types.mjs +13 -0
  64. package/esm2022/select/select.component.mjs +22 -16
  65. package/esm2022/sidepanel/sidepanel-animations.mjs +5 -5
  66. package/esm2022/sidepanel/sidepanel-container.component.mjs +6 -6
  67. package/esm2022/sidepanel/sidepanel-directives.mjs +13 -13
  68. package/esm2022/tabs/tab-body.component.mjs +3 -3
  69. package/esm2022/tags/tag-input.mjs +28 -8
  70. package/esm2022/timezone/timezone-option.component.mjs +7 -6
  71. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  72. package/esm2022/timezone/timezone.utils.mjs +9 -4
  73. package/esm2022/timezone/utc-offset.pipe.mjs +3 -3
  74. package/esm2022/toast/toast-animations.mjs +3 -3
  75. package/esm2022/toast/toast-container.component.mjs +2 -2
  76. package/esm2022/toast/toast.component.mjs +4 -4
  77. package/esm2022/toast/toast.service.mjs +13 -5
  78. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  79. package/esm2022/tree-select/tree-select.component.mjs +7 -5
  80. package/fesm2022/koobiq-components-autocomplete.mjs +13 -1
  81. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-code-block.mjs +22 -6
  83. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-core.mjs +276 -161
  85. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-ellipsis-center.mjs +12 -12
  87. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-file-upload.mjs +76 -35
  89. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-modal.mjs +2 -5
  91. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-navbar.mjs +29 -91
  93. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-popover.mjs +4 -4
  95. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-scrollbar.mjs +256 -0
  97. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -0
  98. package/fesm2022/koobiq-components-select.mjs +18 -12
  99. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-sidepanel.mjs +20 -20
  101. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-tabs.mjs +2 -2
  103. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-tags.mjs +26 -7
  105. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-timezone.mjs +20 -15
  107. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-toast.mjs +17 -9
  109. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  111. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-tree-select.mjs +6 -4
  113. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  114. package/file-upload/multiple-file-upload.component.d.ts +12 -4
  115. package/file-upload/single-file-upload.component.d.ts +10 -4
  116. package/loader-overlay/loader-overlay.scss +2 -2
  117. package/modal/modal.component.d.ts +1 -2
  118. package/modal/modal.scss +0 -5
  119. package/modal/modal.type.d.ts +0 -1
  120. package/navbar/_navbar-item_horizontal.scss +97 -0
  121. package/navbar/_navbar-item_vertical.scss +98 -0
  122. package/navbar/_navbar-theme.scss +57 -60
  123. package/navbar/navbar-brand.scss +76 -16
  124. package/navbar/navbar-divider.scss +13 -4
  125. package/navbar/navbar-item.component.d.ts +1 -15
  126. package/navbar/navbar-item.scss +39 -90
  127. package/navbar/navbar.module.d.ts +1 -1
  128. package/navbar/navbar.scss +13 -1
  129. package/navbar/vertical-navbar.scss +7 -14
  130. package/package.json +22 -14
  131. package/popover/popover.scss +4 -9
  132. package/prebuilt-themes/dark-theme.css +1 -1
  133. package/prebuilt-themes/light-theme.css +1 -1
  134. package/scrollbar/_scrollbar-component-theme.scss +52 -0
  135. package/scrollbar/index.d.ts +1 -0
  136. package/scrollbar/public-api.d.ts +4 -0
  137. package/scrollbar/scrollbar.component.d.ts +33 -0
  138. package/scrollbar/scrollbar.component.scss +559 -0
  139. package/scrollbar/scrollbar.directive.d.ts +47 -0
  140. package/scrollbar/scrollbar.module.d.ts +8 -0
  141. package/scrollbar/scrollbar.types.d.ts +32 -0
  142. package/select/select.component.d.ts +4 -3
  143. package/sidepanel/sidepanel-animations.d.ts +2 -2
  144. package/sidepanel/sidepanel-directives.d.ts +5 -5
  145. package/tags/tag-input.d.ts +9 -4
  146. package/timezone/_timezone-option-theme.scss +8 -0
  147. package/timezone/timezone-option.component.scss +4 -0
  148. package/timezone/timezone-select.component.scss +13 -0
  149. package/timezone/timezone.utils.d.ts +4 -0
  150. package/timezone/utc-offset.pipe.d.ts +3 -1
  151. package/toast/toast-animations.d.ts +1 -1
  152. package/toast/toast-container.component.scss +1 -9
  153. package/toast/toast.component.scss +0 -4
  154. package/toast/toast.service.d.ts +5 -3
  155. package/tooltip/tooltip.scss +0 -3
  156. package/esm2022/navbar/vertical-navbar.animation.mjs +0 -10
  157. package/navbar/vertical-navbar.animation.d.ts +0 -2
@@ -0,0 +1,52 @@
1
+ @use 'sass:map';
2
+
3
+ @mixin kbq-scrollbar-component-theme($theme) {
4
+ $scrollbar: map.get(map.get($theme, components), scrollbar);
5
+
6
+ .kbq-scrollbar-component {
7
+ .os-scrollbar {
8
+ .os-scrollbar-handle {
9
+ &::before {
10
+ border-color: map.get($scrollbar, default);
11
+ background-color: map.get($scrollbar, default);
12
+ }
13
+
14
+ &:hover {
15
+ &::before {
16
+ border-color: map.get($scrollbar, hover);
17
+ background-color: map.get($scrollbar, hover);
18
+ }
19
+ }
20
+
21
+ &:active {
22
+ &::before {
23
+ border-color: map.get($scrollbar, active);
24
+ background-color: map.get($scrollbar, active);
25
+ }
26
+ }
27
+ }
28
+
29
+ /* stylelint-disable no-descending-specificity */
30
+ .os-scrollbar-track, .os-scrollbar-handle {
31
+ $track: map.get($scrollbar, track);
32
+ $default: map.get($track, default);
33
+
34
+ border-style: solid;
35
+ border-color: $default !important;
36
+ background-color: $default;
37
+
38
+ &:hover {
39
+ $hover: map.get($track, hover);
40
+ border-color: $hover;
41
+ background: $hover;
42
+ }
43
+
44
+ &:active {
45
+ $active: map.get($track, active);
46
+ border-color: $active;
47
+ background: $active;
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
@@ -0,0 +1 @@
1
+ export * from './public-api';
@@ -0,0 +1,4 @@
1
+ export * from './scrollbar.module';
2
+ export * from './scrollbar.component';
3
+ export * from './scrollbar.directive';
4
+ export * from './scrollbar.types';
@@ -0,0 +1,33 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
2
+ import { KbqScrollbarEvents, KbqScrollbarOptions, KbqScrollbarTarget } from './scrollbar.types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class KbqScrollbar implements AfterViewInit, OnDestroy {
5
+ private ngZone;
6
+ private targetElement;
7
+ /** Element that is being overflowed */
8
+ contentElement: ElementRef<HTMLDivElement>;
9
+ private kbqScrollbarDirective?;
10
+ /** Elements scrollbar applied on */
11
+ initializationTarget?: KbqScrollbarTarget;
12
+ /** Scrollbar behavior customization object */
13
+ options: KbqScrollbarOptions;
14
+ events: KbqScrollbarEvents;
15
+ /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */
16
+ defer?: boolean | IdleRequestOptions;
17
+ onInitialize: EventEmitter<[instance: import("overlayscrollbars").OverlayScrollbars]>;
18
+ /** Event triggered when options or event listeners updated */
19
+ onUpdate: EventEmitter<[instance: import("overlayscrollbars").OverlayScrollbars, onUpdatedArgs: import("overlayscrollbars").OnUpdatedEventListenerArgs]>;
20
+ /** Event triggered when scrollbar instance destroyed */
21
+ onDestroy: EventEmitter<[instance: import("overlayscrollbars").OverlayScrollbars, canceled: boolean]>;
22
+ onScroll: EventEmitter<[instance: import("overlayscrollbars").OverlayScrollbars, event: Event]>;
23
+ get element(): HTMLElement;
24
+ constructor(ngZone: NgZone, targetElement: ElementRef<HTMLElement>);
25
+ ngAfterViewInit(): void;
26
+ ngOnDestroy(): void;
27
+ /** Wrapper function for native scroll */
28
+ scrollTo(options?: ScrollToOptions): void;
29
+ mergeEvents(): KbqScrollbarEvents;
30
+ private dispatchEventIfHasObservers;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqScrollbar, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqScrollbar, "kbq-scrollbar, [kbq-scrollbar]", ["kbqScrollbar"], { "initializationTarget": { "alias": "initializationTarget"; "required": false; }; "options": { "alias": "options"; "required": false; }; "events": { "alias": "events"; "required": false; }; "defer": { "alias": "defer"; "required": false; }; }, { "onInitialize": "onInitialize"; "onUpdate": "onUpdate"; "onDestroy": "onDestroy"; "onScroll": "onScroll"; }, never, ["*"], false, never>;
33
+ }
@@ -0,0 +1,559 @@
1
+ @use 'sass:meta';
2
+ @use 'sass:map';
3
+
4
+ @use '../core/styles/tokens';
5
+
6
+ $tokens: meta.module-variables(tokens) !default;
7
+
8
+ /* stylelint-disable no-descending-specificity */
9
+ .kbq-scrollbar-component {
10
+ $scrollbar-size-thumb-width: var(--kbq-scrollbar-size-thumb-width, map.get($tokens, scrollbar-size-thumb-width));
11
+ $padding-vertical: var(
12
+ --kbq-scrollbar-size-track-padding-vertical,
13
+ map.get($tokens, scrollbar-size-track-padding-vertical)
14
+ );
15
+ $padding-horizontal: var(
16
+ --kbq-scrollbar-size-track-padding-horizontal,
17
+ map.get($tokens, scrollbar-size-track-padding-horizontal)
18
+ );
19
+ $kbq-scrollbar-track-width: var(
20
+ --kbq-scrollbar-size-track-dimension,
21
+ map.get($tokens, scrollbar-size-track-dimension)
22
+ );
23
+ $thumb-min-height: var(--kbq-scrollbar-size-thumb-min-size, map.get($tokens, scrollbar-size-thumb-min-size));
24
+ $border-width: calc(($kbq-scrollbar-track-width - $scrollbar-size-thumb-width) / 4);
25
+
26
+ .os-scrollbar-vertical {
27
+ padding: $padding-vertical $padding-horizontal;
28
+ bottom: $kbq-scrollbar-track-width;
29
+ width: $kbq-scrollbar-track-width;
30
+
31
+ .os-scrollbar-handle {
32
+ transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s;
33
+ border: $padding-horizontal solid;
34
+ width: 100%;
35
+ min-height: $thumb-min-height;
36
+ }
37
+
38
+ &:hover .os-scrollbar-handle,
39
+ &:active .os-scrollbar-handle {
40
+ width: 100%;
41
+ }
42
+ }
43
+
44
+ .os-scrollbar-horizontal {
45
+ padding: $padding-horizontal $padding-vertical;
46
+ right: $kbq-scrollbar-track-width;
47
+ height: $kbq-scrollbar-track-width;
48
+
49
+ .os-scrollbar-handle {
50
+ transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s;
51
+ border: $padding-horizontal solid;
52
+ height: 100%;
53
+ min-width: $thumb-min-height;
54
+ }
55
+
56
+ &:hover .os-scrollbar-handle,
57
+ &:active .os-scrollbar-handle {
58
+ height: 100%;
59
+ }
60
+ }
61
+
62
+ .os-scrollbar {
63
+ .os-scrollbar-handle, .os-scrollbar-handle::before, .os-scrollbar-track {
64
+ box-sizing: border-box;
65
+ border-radius: var(
66
+ --kbq-scrollbar-size-thumb-inset-border-radius,
67
+ map.get($tokens, scrollbar-size-thumb-border-radius)
68
+ );
69
+ }
70
+
71
+ .os-scrollbar-track {
72
+ border-width: $border-width !important;
73
+ transition: opacity 0.15s, background-color 0.15s, border-color 0.15s;
74
+ }
75
+ }
76
+ }
77
+
78
+
79
+ // core
80
+ .os-size-observer,
81
+ .os-size-observer-listener {
82
+ scroll-behavior: auto !important;
83
+ direction: inherit;
84
+ pointer-events: none;
85
+ overflow: hidden;
86
+ visibility: hidden;
87
+ box-sizing: border-box;
88
+ }
89
+
90
+ .os-size-observer,
91
+ .os-size-observer-listener,
92
+ .os-size-observer-listener-item,
93
+ .os-size-observer-listener-item-final {
94
+ writing-mode: horizontal-tb;
95
+ position: absolute;
96
+ left: 0;
97
+ top: 0;
98
+ }
99
+
100
+ .os-size-observer {
101
+ z-index: -1;
102
+ contain: strict;
103
+ display: flex;
104
+ flex-direction: row;
105
+ flex-wrap: nowrap;
106
+ padding: inherit;
107
+ border: inherit;
108
+ box-sizing: inherit;
109
+ margin: -133px;
110
+ top: 0;
111
+ right: 0;
112
+ bottom: 0;
113
+ left: 0;
114
+ transform: scale(0.1);
115
+ }
116
+
117
+ .os-size-observer::before {
118
+ content: "";
119
+ flex: none;
120
+ box-sizing: inherit;
121
+ padding: 10px;
122
+ width: 10px;
123
+ height: 10px;
124
+ }
125
+
126
+ .os-size-observer-appear {
127
+ animation: os-size-observer-appear-animation 1ms forwards;
128
+ }
129
+
130
+ .os-size-observer-listener {
131
+ box-sizing: border-box;
132
+ position: relative;
133
+ flex: auto;
134
+ padding: inherit;
135
+ border: inherit;
136
+ margin: -133px;
137
+ transform: scale(calc(1 / 0.1));
138
+ }
139
+
140
+ .os-size-observer-listener.ltr {
141
+ margin-right: -266px;
142
+ margin-left: 0;
143
+ }
144
+
145
+ .os-size-observer-listener.rtl {
146
+ margin-left: -266px;
147
+ margin-right: 0;
148
+ }
149
+
150
+ .os-size-observer-listener:empty::before {
151
+ content: "";
152
+ width: 100%;
153
+ height: 100%;
154
+ }
155
+
156
+ .os-size-observer-listener:empty::before, .os-size-observer-listener > .os-size-observer-listener-item {
157
+ display: block;
158
+ position: relative;
159
+ padding: inherit;
160
+ border: inherit;
161
+ box-sizing: content-box;
162
+ flex: auto;
163
+ }
164
+
165
+ .os-size-observer-listener-scroll {
166
+ box-sizing: border-box;
167
+ display: flex;
168
+ }
169
+
170
+ .os-size-observer-listener-item {
171
+ right: 0;
172
+ bottom: 0;
173
+ overflow: hidden;
174
+ direction: ltr;
175
+ flex: none;
176
+ }
177
+
178
+ .os-size-observer-listener-item-final {
179
+ transition: none;
180
+ }
181
+
182
+ @keyframes os-size-observer-appear-animation {
183
+ from {
184
+ cursor: auto;
185
+ }
186
+
187
+ to {
188
+ cursor: none;
189
+ }
190
+ }
191
+
192
+ .os-trinsic-observer {
193
+ flex: none;
194
+ box-sizing: border-box;
195
+ position: relative;
196
+ max-width: 0;
197
+ max-height: 1px;
198
+ padding: 0;
199
+ margin: 0;
200
+ border: none;
201
+ overflow: hidden;
202
+ z-index: -1;
203
+ height: 0;
204
+ top: calc(100% + 1px);
205
+ contain: strict;
206
+ }
207
+
208
+ .os-trinsic-observer:not(:empty) {
209
+ height: calc(100% + 1px);
210
+ top: -1px;
211
+ }
212
+
213
+ .os-trinsic-observer:not(:empty) > .os-size-observer {
214
+ width: 1000%;
215
+ height: 1000%;
216
+ min-height: 1px;
217
+ min-width: 1px;
218
+ }
219
+
220
+ /**
221
+ * environment setup
222
+ */
223
+ .os-environment {
224
+ scroll-behavior: auto !important;
225
+ position: fixed;
226
+ opacity: 0;
227
+ visibility: hidden;
228
+ overflow: scroll;
229
+ height: 200px;
230
+ width: 200px;
231
+ z-index: -1;
232
+ }
233
+
234
+ .os-environment div {
235
+ width: 200%;
236
+ height: 200%;
237
+ margin: 10px 0;
238
+ }
239
+
240
+ .os-environment.os-environment-flexbox-glue {
241
+ display: flex;
242
+ flex-direction: row;
243
+ flex-wrap: nowrap;
244
+ height: auto;
245
+ width: auto;
246
+ min-height: 200px;
247
+ min-width: 200px;
248
+ }
249
+
250
+ .os-environment.os-environment-flexbox-glue div {
251
+ flex: auto;
252
+ width: auto;
253
+ height: auto;
254
+ max-height: 100%;
255
+ max-width: 100%;
256
+ margin: 0;
257
+ }
258
+
259
+ .os-environment.os-environment-flexbox-glue-max {
260
+ max-height: 200px;
261
+ }
262
+
263
+ .os-environment.os-environment-flexbox-glue-max div {
264
+ overflow: visible;
265
+ }
266
+
267
+ .os-environment.os-environment-flexbox-glue-max div::before {
268
+ content: "";
269
+ display: block;
270
+ height: 999px;
271
+ width: 999px;
272
+ }
273
+
274
+ /**
275
+ * hide native scrollbars
276
+ */
277
+ .os-environment,
278
+ [data-overlayscrollbars-viewport] {
279
+ -ms-overflow-style: scrollbar !important;
280
+ }
281
+
282
+ [data-overlayscrollbars-initialize],
283
+ [data-overlayscrollbars~=scrollbarHidden],
284
+ [data-overlayscrollbars-viewport~=scrollbarHidden],
285
+ .os-environment-scrollbar-hidden {
286
+ scrollbar-width: none !important;
287
+ }
288
+
289
+ [data-overlayscrollbars-initialize]::-webkit-scrollbar,
290
+ [data-overlayscrollbars-initialize]::-webkit-scrollbar-corner,
291
+ [data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar,
292
+ [data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner,
293
+ [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,
294
+ [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,
295
+ .os-environment-scrollbar-hidden::-webkit-scrollbar,
296
+ .os-environment-scrollbar-hidden::-webkit-scrollbar-corner {
297
+ -webkit-appearance: none !important;
298
+ appearance: none !important;
299
+ display: none !important;
300
+ width: 0 !important;
301
+ height: 0 !important;
302
+ }
303
+
304
+ /**
305
+ * elements wont suddenly crop after initialization is done
306
+ */
307
+ [data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body) {
308
+ overflow: auto;
309
+ }
310
+
311
+ /**
312
+ * applied to body
313
+ */
314
+ html[data-overlayscrollbars] {
315
+ box-sizing: border-box;
316
+ margin: 0;
317
+ }
318
+
319
+ html[data-overlayscrollbars~=body],
320
+ html[data-overlayscrollbars~=body] > body {
321
+ width: 100%;
322
+ height: 100%;
323
+ }
324
+
325
+ html[data-overlayscrollbars~=viewport] > body {
326
+ overflow: visible;
327
+ }
328
+
329
+ /**
330
+ * structure setup
331
+ */
332
+ [data-overlayscrollbars~=host],
333
+ [data-overlayscrollbars-padding] {
334
+ display: flex;
335
+ align-items: stretch !important;
336
+ flex-direction: row !important;
337
+ flex-wrap: nowrap !important;
338
+ }
339
+
340
+ [data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before {
341
+ content: "";
342
+ position: absolute;
343
+ pointer-events: none;
344
+ z-index: -1;
345
+ min-width: 1px;
346
+ min-height: 1px;
347
+ width: 0;
348
+ height: 0;
349
+ }
350
+
351
+ [data-overlayscrollbars-padding],
352
+ [data-overlayscrollbars-viewport] {
353
+ box-sizing: inherit;
354
+ position: relative;
355
+ flex: auto !important;
356
+ height: auto;
357
+ width: 100%;
358
+ min-width: 0;
359
+ padding: 0;
360
+ margin: 0;
361
+ border: none;
362
+ z-index: 0;
363
+ overflow: hidden;
364
+ }
365
+
366
+ [data-overlayscrollbars~=host],
367
+ [data-overlayscrollbars~=viewport] {
368
+ position: relative;
369
+ overflow: hidden;
370
+ }
371
+
372
+ [data-overlayscrollbars~=overflowVisible],
373
+ [data-overlayscrollbars-padding~=overflowVisible],
374
+ [data-overlayscrollbars-viewport~=overflowVisible] {
375
+ overflow: visible;
376
+ }
377
+
378
+ [data-overlayscrollbars-overflow-x=hidden] {
379
+ overflow-x: hidden;
380
+ overflow-y: hidden;
381
+ }
382
+
383
+ [data-overlayscrollbars-overflow-x=scroll] {
384
+ overflow-x: scroll;
385
+ }
386
+
387
+ [data-overlayscrollbars-overflow-y=scroll] {
388
+ overflow-y: scroll;
389
+ }
390
+
391
+ [data-overlayscrollbars~=scrollbarPressed],
392
+ [data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport] {
393
+ scroll-behavior: auto !important;
394
+ }
395
+
396
+ [data-overlayscrollbars-content] {
397
+ box-sizing: inherit;
398
+ }
399
+
400
+ /**
401
+ * Display contents to bridge any flickering during deferred initialization.
402
+ */
403
+ [data-overlayscrollbars-contents]:not(
404
+ [data-overlayscrollbars-padding]
405
+ ):not(
406
+ [data-overlayscrollbars-viewport]
407
+ ):not(
408
+ [data-overlayscrollbars-content]
409
+ ) {
410
+ display: contents;
411
+ }
412
+
413
+ /**
414
+ * optional & experimental grid mode
415
+ */
416
+ [data-overlayscrollbars-grid],
417
+ [data-overlayscrollbars-grid] [data-overlayscrollbars-padding] {
418
+ display: grid;
419
+ grid-template: 1fr/1fr;
420
+ }
421
+
422
+ [data-overlayscrollbars-grid] > [data-overlayscrollbars-padding],
423
+ [data-overlayscrollbars-grid] > [data-overlayscrollbars-viewport],
424
+ [data-overlayscrollbars-grid] > [data-overlayscrollbars-padding] > [data-overlayscrollbars-viewport] {
425
+ height: auto !important;
426
+ width: auto !important;
427
+ }
428
+
429
+ .os-scrollbar {
430
+ box-sizing: border-box;
431
+ contain: size layout;
432
+ contain: size layout style;
433
+ transition: opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;
434
+ pointer-events: none;
435
+ position: absolute;
436
+ opacity: 0;
437
+ visibility: hidden;
438
+ }
439
+
440
+ body > .os-scrollbar {
441
+ position: fixed;
442
+ z-index: 99999;
443
+ }
444
+
445
+ .os-scrollbar-transitionless {
446
+ transition: none;
447
+ }
448
+
449
+ .os-scrollbar-track {
450
+ position: relative;
451
+ direction: ltr !important;
452
+ padding: 0 !important;
453
+ border: none !important;
454
+ }
455
+
456
+ .os-scrollbar-handle {
457
+ position: absolute;
458
+ }
459
+
460
+ .os-scrollbar-track,
461
+ .os-scrollbar-handle {
462
+ pointer-events: none;
463
+ width: 100%;
464
+ height: 100%;
465
+ }
466
+
467
+ .os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,
468
+ .os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle {
469
+ pointer-events: auto;
470
+ touch-action: none;
471
+ }
472
+
473
+ .os-scrollbar-horizontal {
474
+ bottom: 0;
475
+ left: 0;
476
+ }
477
+
478
+ .os-scrollbar-vertical {
479
+ top: 0;
480
+ right: 0;
481
+ }
482
+
483
+ .os-scrollbar-rtl.os-scrollbar-horizontal {
484
+ right: 0;
485
+ }
486
+
487
+ .os-scrollbar-rtl.os-scrollbar-vertical {
488
+ right: auto;
489
+ left: 0;
490
+ }
491
+
492
+ .os-scrollbar-visible {
493
+ opacity: 1;
494
+ visibility: visible;
495
+ }
496
+
497
+ .os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden {
498
+ opacity: 0;
499
+ visibility: hidden;
500
+ }
501
+
502
+ .os-scrollbar-interaction.os-scrollbar-visible {
503
+ opacity: 1;
504
+ visibility: visible;
505
+ }
506
+
507
+ .os-scrollbar-unusable,
508
+ .os-scrollbar-unusable *,
509
+ .os-scrollbar-wheel,
510
+ .os-scrollbar-wheel * {
511
+ pointer-events: none !important;
512
+ }
513
+
514
+ .os-scrollbar-unusable .os-scrollbar-handle {
515
+ opacity: 0 !important;
516
+ transition: none !important;
517
+ }
518
+
519
+ .os-scrollbar-horizontal .os-scrollbar-handle {
520
+ bottom: 0;
521
+ }
522
+
523
+ .os-scrollbar-vertical .os-scrollbar-handle {
524
+ right: 0;
525
+ }
526
+
527
+ .os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle {
528
+ right: auto;
529
+ left: 0;
530
+ }
531
+
532
+ .os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,
533
+ .os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl {
534
+ left: 0;
535
+ right: 0;
536
+ }
537
+
538
+ .os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,
539
+ .os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl {
540
+ top: 0;
541
+ bottom: 0;
542
+ }
543
+
544
+ .os-scrollbar .os-scrollbar-handle:before {
545
+ content: "";
546
+ position: absolute;
547
+ left: 0;
548
+ right: 0;
549
+ top: 0;
550
+ bottom: 0;
551
+ display: block;
552
+ }
553
+
554
+ /* NONE THEME: */
555
+ [data-overlayscrollbars~=updating] > .os-scrollbar,
556
+ .os-theme-none.os-scrollbar {
557
+ display: none !important;
558
+ }
559
+
@@ -0,0 +1,47 @@
1
+ import { NgZone, OnDestroy } from '@angular/core';
2
+ import { KbqScrollbarEvents, KbqScrollbarOptions, KbqScrollbarTarget } from './scrollbar.types';
3
+ import { OverlayScrollbars } from 'overlayscrollbars';
4
+ import * as i0 from "@angular/core";
5
+ export declare class KbqScrollbarDirective implements OnDestroy {
6
+ private ngZone;
7
+ private scrollbarConfig?;
8
+ private requestDefer;
9
+ private cancelDefer;
10
+ private _options;
11
+ set options(value: KbqScrollbarOptions);
12
+ /** Scrollbar behavior customization object */
13
+ get options(): KbqScrollbarOptions | undefined;
14
+ private _events?;
15
+ set events(value: KbqScrollbarEvents);
16
+ get events(): KbqScrollbarEvents | undefined;
17
+ /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */
18
+ defer?: boolean | IdleRequestOptions;
19
+ scrollbarInstance?: OverlayScrollbars;
20
+ constructor(ngZone: NgZone, scrollbarConfig?: {
21
+ paddingAbsolute?: boolean | undefined;
22
+ showNativeOverlaidScrollbars?: boolean | undefined;
23
+ update?: {
24
+ elementEvents?: [elementSelector: string, eventNames: string][] | null | undefined;
25
+ debounce?: number | [timeout: number, maxWait: number] | null | undefined;
26
+ attributes?: string[] | null | undefined;
27
+ ignoreMutation?: ((mutation: MutationRecord) => any) | null | undefined;
28
+ } | undefined;
29
+ overflow?: {
30
+ x?: import("overlayscrollbars").OverflowBehavior | undefined;
31
+ y?: import("overlayscrollbars").OverflowBehavior | undefined;
32
+ } | undefined;
33
+ scrollbars?: {
34
+ theme?: string | null | undefined;
35
+ visibility?: import("overlayscrollbars").ScrollbarsVisibilityBehavior | undefined;
36
+ autoHide?: import("overlayscrollbars").ScrollbarsAutoHideBehavior | undefined;
37
+ autoHideDelay?: number | undefined;
38
+ dragScroll?: boolean | undefined;
39
+ clickScroll?: boolean | undefined;
40
+ pointers?: string[] | null | undefined;
41
+ } | undefined;
42
+ } | undefined);
43
+ initialize(target: KbqScrollbarTarget): void;
44
+ ngOnDestroy(): void;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqScrollbarDirective, never>;
46
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqScrollbarDirective, "[kbqScrollbar]", never, { "options": { "alias": "options"; "required": false; }; "events": { "alias": "events"; "required": false; }; "defer": { "alias": "defer"; "required": false; }; }, {}, never, never, false, never>;
47
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./scrollbar.component";
3
+ import * as i2 from "./scrollbar.directive";
4
+ export declare class KbqScrollbarModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqScrollbarModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqScrollbarModule, [typeof i1.KbqScrollbar, typeof i2.KbqScrollbarDirective], never, [typeof i1.KbqScrollbar, typeof i2.KbqScrollbarDirective]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<KbqScrollbarModule>;
8
+ }