@sneat/components 0.1.0

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 (82) hide show
  1. package/eslint.config.js +7 -0
  2. package/ng-package.json +7 -0
  3. package/package.json +15 -0
  4. package/project.json +38 -0
  5. package/src/assets/data/countries.json +1730 -0
  6. package/src/index.ts +14 -0
  7. package/src/lib/app-version/app-version.component.html +15 -0
  8. package/src/lib/app-version/app-version.component.spec.ts +25 -0
  9. package/src/lib/app-version/app-version.component.ts +17 -0
  10. package/src/lib/app-version/build-info.ts +8 -0
  11. package/src/lib/app-version/index.ts +2 -0
  12. package/src/lib/card-list/index.ts +1 -0
  13. package/src/lib/card-list/sneat-card-list.component.html +108 -0
  14. package/src/lib/card-list/sneat-card-list.component.spec.ts +131 -0
  15. package/src/lib/card-list/sneat-card-list.component.ts +125 -0
  16. package/src/lib/copyright/copyright.component.html +1 -0
  17. package/src/lib/copyright/copyright.component.spec.ts +24 -0
  18. package/src/lib/copyright/copyright.component.ts +7 -0
  19. package/src/lib/copyright/index.ts +1 -0
  20. package/src/lib/country-input/country-input.component.html +33 -0
  21. package/src/lib/country-input/country-input.component.spec.ts +84 -0
  22. package/src/lib/country-input/country-input.component.ts +76 -0
  23. package/src/lib/country-input/index.ts +1 -0
  24. package/src/lib/country-selector/countries-loader.service.spec.ts +149 -0
  25. package/src/lib/country-selector/countries-loader.service.ts +100 -0
  26. package/src/lib/country-selector/countries.ts +42 -0
  27. package/src/lib/country-selector/country-selector.component.html +24 -0
  28. package/src/lib/country-selector/country-selector.component.spec.ts +5 -0
  29. package/src/lib/country-selector/country-selector.component.ts +125 -0
  30. package/src/lib/country-selector/country-selector.service.spec.ts +23 -0
  31. package/src/lib/country-selector/country-selector.service.ts +11 -0
  32. package/src/lib/country-selector/index.ts +4 -0
  33. package/src/lib/date-input/date-input.component.html +39 -0
  34. package/src/lib/date-input/date-input.component.spec.ts +179 -0
  35. package/src/lib/date-input/date-input.component.ts +97 -0
  36. package/src/lib/date-input/date-modal.component.html +23 -0
  37. package/src/lib/date-input/date-modal.component.spec.ts +105 -0
  38. package/src/lib/date-input/date-modal.component.ts +67 -0
  39. package/src/lib/dialog-header/dialog-header.component.html +8 -0
  40. package/src/lib/dialog-header/dialog-header.component.spec.ts +67 -0
  41. package/src/lib/dialog-header/dialog-header.component.ts +26 -0
  42. package/src/lib/dialog-header/index.ts +1 -0
  43. package/src/lib/dismissable.ts +6 -0
  44. package/src/lib/error-card/index.ts +1 -0
  45. package/src/lib/error-card/sneat-error-card.component.html +20 -0
  46. package/src/lib/error-card/sneat-error-card.component.spec.ts +49 -0
  47. package/src/lib/error-card/sneat-error-card.component.ts +28 -0
  48. package/src/lib/filter-item/filter-item.component.html +19 -0
  49. package/src/lib/filter-item/filter-item.component.spec.ts +83 -0
  50. package/src/lib/filter-item/filter-item.component.ts +47 -0
  51. package/src/lib/filter-item/index.ts +1 -0
  52. package/src/lib/pipes/country-emoji.pipe.spec.ts +116 -0
  53. package/src/lib/pipes/country-emoji.pipe.ts +67 -0
  54. package/src/lib/pipes/decimal64p2.pipe.spec.ts +61 -0
  55. package/src/lib/pipes/decimal64p2.pipe.ts +35 -0
  56. package/src/lib/pipes/gender.pipes.spec.ts +84 -0
  57. package/src/lib/pipes/gender.pipes.ts +65 -0
  58. package/src/lib/pipes/index.ts +6 -0
  59. package/src/lib/pipes/long-month-name.pipe.spec.ts +36 -0
  60. package/src/lib/pipes/long-month-name.pipe.ts +35 -0
  61. package/src/lib/pipes/short-month-name.pipe.spec.ts +28 -0
  62. package/src/lib/pipes/short-month-name.pipe.ts +26 -0
  63. package/src/lib/pipes/team-emoji.pipe.spec.ts +27 -0
  64. package/src/lib/pipes/team-emoji.pipe.ts +26 -0
  65. package/src/lib/save-event.ts +5 -0
  66. package/src/lib/test-ide-bug.ts +24 -0
  67. package/src/lib/user-country/user-country.component.html +44 -0
  68. package/src/lib/user-country/user-country.component.spec.ts +136 -0
  69. package/src/lib/user-country/user-country.component.ts +172 -0
  70. package/src/lib/virtual-slider/odd-even-virtual-slider.ts +1 -0
  71. package/src/lib/virtual-slider/virtual-slider.scss +19 -0
  72. package/src/lib/virtual-slider/virtual-slider.ts +130 -0
  73. package/src/lib/webstorm-type-err-demo.component.ts +35 -0
  74. package/src/sneat-grid-layout.scss +37 -0
  75. package/src/sneat-styles.scss +258 -0
  76. package/src/test-setup.ts +3 -0
  77. package/src/theme/variables.scss +235 -0
  78. package/tsconfig.json +13 -0
  79. package/tsconfig.lib.json +19 -0
  80. package/tsconfig.lib.prod.json +7 -0
  81. package/tsconfig.spec.json +31 -0
  82. package/vite.config.mts +10 -0
@@ -0,0 +1,258 @@
1
+ @use 'sass:meta';
2
+
3
+ /*
4
+ * App Global CSS
5
+ * ----------------------------------------------------------------------------
6
+ * Put style rules here that you want to apply globally. These styles are for
7
+ * the entire app and not just one component. Additionally, this file can be
8
+ * used as an entry point to import other CSS/Sass files to be included in the
9
+ * output CSS.
10
+ * For more information on global stylesheets, visit the documentation:
11
+ * https://ionicframework.com/docs/layout/global-stylesheets
12
+ */
13
+
14
+ ///* Core CSS required for Ionic components to work properly */
15
+ //@import '~@ionic/angular/css/core.css';
16
+ //
17
+ ///* Basic CSS for apps built with Ionic */
18
+ //@import '~@ionic/angular/css/normalize.css';
19
+ //@import '~@ionic/angular/css/structure.css';
20
+ //@import '~@ionic/angular/css/typography.css';
21
+ //@import '~@ionic/angular/css/display.css';
22
+ //
23
+ ///* Optional CSS utils that can be commented out */
24
+ //@import '~@ionic/angular/css/padding.css';
25
+ //@import '~@ionic/angular/css/float-elements.css';
26
+ //@import '~@ionic/angular/css/text-alignment.css';
27
+ //@import '~@ionic/angular/css/text-transformation.css';
28
+ //@import '~@ionic/angular/css/flex-utils.css';
29
+
30
+ @include meta.load-css('sneat-grid-layout');
31
+ @include meta.load-css('theme/variables.scss');
32
+
33
+ //noinspection CssUnknownTarget
34
+ @include meta.load-css('lib/virtual-slider/virtual-slider.scss');
35
+
36
+ // https://ionicframework.com/docs/theming/colors
37
+ :root {
38
+ --ion-color-divider: #f0f7ff;
39
+ --ion-color-divider-rgb: 240, 247, 255;
40
+ --ion-color-divider-contrast: #000000;
41
+ --ion-color-divider-contrast-rgb: 0, 0, 0;
42
+ --ion-color-divider-shade: #d3d9e0;
43
+ --ion-color-divider-tint: #f2f8ff;
44
+ }
45
+
46
+ .ion-color-divider {
47
+ --ion-color-base: var(--ion-color-divider);
48
+ --ion-color-base-rgb: var(--ion-color-divider-rgb);
49
+ --ion-color-contrast: var(--ion-color-divider-contrast);
50
+ --ion-color-contrast-rgb: var(--ion-color-divider-contrast-rgb);
51
+ --ion-color-shade: var(--ion-color-divider-shade);
52
+ --ion-color-tint: var(--ion-color-divider-tint);
53
+ }
54
+ .cardy {
55
+ //--ion-background-color: #fcfcfc;
56
+ }
57
+
58
+ .cardy ion-card {
59
+ --ion-background-color: #ffffff;
60
+ background-color: #ffffff;
61
+ }
62
+
63
+ .sneat-tiny-start-padding {
64
+ --padding-start: 0.25em;
65
+ }
66
+
67
+ .sneat-small-start-padding {
68
+ --padding-start: 0.5em;
69
+ }
70
+
71
+ .sneat-small-end-padding {
72
+ --inner-padding-end: 0.5em;
73
+ }
74
+
75
+ .sneat-tiny-end-padding {
76
+ --inner-padding-end: 0.25em;
77
+ }
78
+
79
+ .sneat-no-end-padding-margin {
80
+ --inner-padding-end: 0;
81
+ --margin-end: 0;
82
+ }
83
+
84
+ .sneat-no-end-padding {
85
+ --inner-padding-end: 0;
86
+ }
87
+
88
+ .sneat-small-end-margin {
89
+ margin-right: 0.5em;
90
+ }
91
+
92
+ .sneat-tiny-end-margin {
93
+ margin-right: 0.25em;
94
+ }
95
+
96
+ ion-buttons.sneat-no-horizontal-margins ion-button {
97
+ margin-right: 0;
98
+ margin-left: 0;
99
+ }
100
+
101
+ .sneat-no-end-margin {
102
+ margin-right: 0;
103
+ }
104
+
105
+ .sneat-no-bottom-margin {
106
+ margin-bottom: 0;
107
+ --margin-bottom: 0;
108
+ }
109
+
110
+ .sneat-no-bottom-padding {
111
+ padding-bottom: 0;
112
+ --padding-bottom: 0;
113
+ }
114
+
115
+ ion-item.sneat-no-bottom-border {
116
+ --border-width: 0;
117
+ --inner-border-width: 0;
118
+ }
119
+
120
+ ion-modal.auto-height {
121
+ --height: auto;
122
+
123
+ //.modal-wrapper {
124
+ //width: 90vw;
125
+
126
+ .ion-page {
127
+ position: relative;
128
+ contain: content;
129
+ max-height: 90vh;
130
+
131
+ .modal-content {
132
+ overflow: auto;
133
+ }
134
+ }
135
+
136
+ //}
137
+ }
138
+
139
+ @media screen and (max-width: 766px) {
140
+ // 768=PAL @ https://en.wikipedia.org/wiki/Computer_display_standard
141
+ .sneat-hide-if-width-less-766 {
142
+ display: none;
143
+ }
144
+ .sneat-hide-if-width-less-766 {
145
+ font-size: smaller;
146
+ }
147
+ .sneat-hide-if-width-less-766 {
148
+ font-size: small;
149
+ }
150
+ }
151
+
152
+ @media screen and (max-width: 530px) {
153
+ // 640=VGA @ https://en.wikipedia.org/wiki/Computer_display_standard
154
+ .sneat-hide-if-width-less-638 {
155
+ display: none;
156
+ }
157
+ .sneat-smaller-if-width-less-638 {
158
+ font-size: smaller;
159
+ }
160
+ .sneat-small-if-width-less-638 {
161
+ font-size: small;
162
+ }
163
+ }
164
+
165
+ @media screen and (max-width: 530px) {
166
+ .sneat-hide-if-width-less-530 {
167
+ display: none;
168
+ }
169
+ .sneat-smaller-if-width-less-530 {
170
+ font-size: smaller;
171
+ }
172
+ .sneat-small-if-width-less-530 {
173
+ font-size: small;
174
+ }
175
+ }
176
+
177
+ @media screen and (max-width: 420px) {
178
+ .sneat-hide-if-width-less-420 {
179
+ display: none;
180
+ }
181
+ .sneat-smaller-if-width-less-420 {
182
+ font-size: smaller;
183
+ }
184
+ .sneat-small-if-width-less-420 {
185
+ font-size: small;
186
+ }
187
+ }
188
+
189
+ @media screen and (min-width: 321px) {
190
+ .sneat-hide-if-width-greater-320 {
191
+ display: none;
192
+ }
193
+ }
194
+
195
+ @media screen and (max-width: 320px) {
196
+ .sneat-hide-if-width-less-320 {
197
+ display: none;
198
+ }
199
+ .sneat-smaller-if-width-less-320 {
200
+ font-size: smaller;
201
+ }
202
+ .sneat-small-if-width-less-320 {
203
+ font-size: small;
204
+ }
205
+ }
206
+
207
+ @media screen and (max-width: 240px) {
208
+ .sneat-hide-if-width-less-240 {
209
+ display: none;
210
+ }
211
+ .sneat-smaller-if-width-less-240 {
212
+ font-size: smaller;
213
+ }
214
+ .sneat-small-if-width-less-240 {
215
+ font-size: small;
216
+ }
217
+ }
218
+
219
+ ion-popover {
220
+ --min-width: 350px; // 350px is <ion-datetime> width TODO: This sucks!!!
221
+ }
222
+
223
+ ion-item.ion-item-no-border {
224
+ --inner-border-width: 0;
225
+ --border-width: 0;
226
+ }
227
+
228
+ .sneat-label-color-medium .label-text {
229
+ //color: #92949c;
230
+ color: var(--ion-color-medium);
231
+ }
232
+
233
+ .ion-input.sneat-input-padding-top {
234
+ padding-top: 10px;
235
+ }
236
+
237
+ .canceled {
238
+ text-decoration: line-through;
239
+ }
240
+
241
+ .deleting-list-item {
242
+ text-decoration: line-through;
243
+ }
244
+
245
+ .no-border-for-last-child {
246
+ :last-child {
247
+ --border-style: none !important;
248
+ }
249
+ }
250
+
251
+ .sneat-badges {
252
+ ion-badge {
253
+ font-weight: normal;
254
+ margin-left: 0.25em;
255
+ padding-left: 0.5em;
256
+ padding-right: 0.5em;
257
+ }
258
+ }
@@ -0,0 +1,3 @@
1
+ import { setupTestEnvironment } from '@sneat/core/testing';
2
+
3
+ setupTestEnvironment();
@@ -0,0 +1,235 @@
1
+ // Ionic Variables and Theming. For more info, please see:
2
+ // http://ionicframework.com/docs/theming/
3
+
4
+ /** Ionic CSS Variables **/
5
+ :root {
6
+ /** primary **/
7
+ --ion-color-primary: #3880ff;
8
+ --ion-color-primary-rgb: 56, 128, 255;
9
+ --ion-color-primary-contrast: #ffffff;
10
+ --ion-color-primary-contrast-rgb: 255, 255, 255;
11
+ --ion-color-primary-shade: #3171e0;
12
+ --ion-color-primary-tint: #4c8dff;
13
+
14
+ /** secondary **/
15
+ --ion-color-secondary: #3dc2ff;
16
+ --ion-color-secondary-rgb: 61, 194, 255;
17
+ --ion-color-secondary-contrast: #ffffff;
18
+ --ion-color-secondary-contrast-rgb: 255, 255, 255;
19
+ --ion-color-secondary-shade: #36abe0;
20
+ --ion-color-secondary-tint: #50c8ff;
21
+
22
+ /** tertiary **/
23
+ --ion-color-tertiary: #5260ff;
24
+ --ion-color-tertiary-rgb: 82, 96, 255;
25
+ --ion-color-tertiary-contrast: #ffffff;
26
+ --ion-color-tertiary-contrast-rgb: 255, 255, 255;
27
+ --ion-color-tertiary-shade: #4854e0;
28
+ --ion-color-tertiary-tint: #6370ff;
29
+
30
+ /** success **/
31
+ --ion-color-success: #2dd36f;
32
+ --ion-color-success-rgb: 45, 211, 111;
33
+ --ion-color-success-contrast: #ffffff;
34
+ --ion-color-success-contrast-rgb: 255, 255, 255;
35
+ --ion-color-success-shade: #28ba62;
36
+ --ion-color-success-tint: #42d77d;
37
+
38
+ /** warning **/
39
+ --ion-color-warning: #ffc409;
40
+ --ion-color-warning-rgb: 255, 196, 9;
41
+ --ion-color-warning-contrast: #000000;
42
+ --ion-color-warning-contrast-rgb: 0, 0, 0;
43
+ --ion-color-warning-shade: #e0ac08;
44
+ --ion-color-warning-tint: #ffca22;
45
+
46
+ /** danger **/
47
+ --ion-color-danger: #eb445a;
48
+ --ion-color-danger-rgb: 235, 68, 90;
49
+ --ion-color-danger-contrast: #ffffff;
50
+ --ion-color-danger-contrast-rgb: 255, 255, 255;
51
+ --ion-color-danger-shade: #cf3c4f;
52
+ --ion-color-danger-tint: #ed576b;
53
+
54
+ /** dark **/
55
+ --ion-color-dark: #222428;
56
+ --ion-color-dark-rgb: 34, 36, 40;
57
+ --ion-color-dark-contrast: #ffffff;
58
+ --ion-color-dark-contrast-rgb: 255, 255, 255;
59
+ --ion-color-dark-shade: #1e2023;
60
+ --ion-color-dark-tint: #383a3e;
61
+
62
+ /** medium **/
63
+ --ion-color-medium: #92949c;
64
+ --ion-color-medium-rgb: 146, 148, 156;
65
+ --ion-color-medium-contrast: #ffffff;
66
+ --ion-color-medium-contrast-rgb: 255, 255, 255;
67
+ --ion-color-medium-shade: #808289;
68
+ --ion-color-medium-tint: #9d9fa6;
69
+
70
+ /** light **/
71
+ --ion-color-light: #f4f5f8;
72
+ --ion-color-light-rgb: 244, 245, 248;
73
+ --ion-color-light-contrast: #000000;
74
+ --ion-color-light-contrast-rgb: 0, 0, 0;
75
+ --ion-color-light-shade: #d7d8da;
76
+ --ion-color-light-tint: #f5f6f9;
77
+ }
78
+
79
+ //@media (prefers-color-scheme: dark) {
80
+ // /*
81
+ // * Dark Colors
82
+ // * -------------------------------------------
83
+ // */
84
+ //
85
+ // body {
86
+ // --ion-color-primary: #428cff;
87
+ // --ion-color-primary-rgb: 66, 140, 255;
88
+ // --ion-color-primary-contrast: #ffffff;
89
+ // --ion-color-primary-contrast-rgb: 255, 255, 255;
90
+ // --ion-color-primary-shade: #3a7be0;
91
+ // --ion-color-primary-tint: #5598ff;
92
+ //
93
+ // --ion-color-secondary: #50c8ff;
94
+ // --ion-color-secondary-rgb: 80, 200, 255;
95
+ // --ion-color-secondary-contrast: #ffffff;
96
+ // --ion-color-secondary-contrast-rgb: 255, 255, 255;
97
+ // --ion-color-secondary-shade: #46b0e0;
98
+ // --ion-color-secondary-tint: #62ceff;
99
+ //
100
+ // --ion-color-tertiary: #6a64ff;
101
+ // --ion-color-tertiary-rgb: 106, 100, 255;
102
+ // --ion-color-tertiary-contrast: #ffffff;
103
+ // --ion-color-tertiary-contrast-rgb: 255, 255, 255;
104
+ // --ion-color-tertiary-shade: #5d58e0;
105
+ // --ion-color-tertiary-tint: #7974ff;
106
+ //
107
+ // --ion-color-success: #2fdf75;
108
+ // --ion-color-success-rgb: 47, 223, 117;
109
+ // --ion-color-success-contrast: #000000;
110
+ // --ion-color-success-contrast-rgb: 0, 0, 0;
111
+ // --ion-color-success-shade: #29c467;
112
+ // --ion-color-success-tint: #44e283;
113
+ //
114
+ // --ion-color-warning: #ffd534;
115
+ // --ion-color-warning-rgb: 255, 213, 52;
116
+ // --ion-color-warning-contrast: #000000;
117
+ // --ion-color-warning-contrast-rgb: 0, 0, 0;
118
+ // --ion-color-warning-shade: #e0bb2e;
119
+ // --ion-color-warning-tint: #ffd948;
120
+ //
121
+ // --ion-color-danger: #ff4961;
122
+ // --ion-color-danger-rgb: 255, 73, 97;
123
+ // --ion-color-danger-contrast: #ffffff;
124
+ // --ion-color-danger-contrast-rgb: 255, 255, 255;
125
+ // --ion-color-danger-shade: #e04055;
126
+ // --ion-color-danger-tint: #ff5b71;
127
+ //
128
+ // --ion-color-dark: #f4f5f8;
129
+ // --ion-color-dark-rgb: 244, 245, 248;
130
+ // --ion-color-dark-contrast: #000000;
131
+ // --ion-color-dark-contrast-rgb: 0, 0, 0;
132
+ // --ion-color-dark-shade: #d7d8da;
133
+ // --ion-color-dark-tint: #f5f6f9;
134
+ //
135
+ // --ion-color-medium: #989aa2;
136
+ // --ion-color-medium-rgb: 152, 154, 162;
137
+ // --ion-color-medium-contrast: #000000;
138
+ // --ion-color-medium-contrast-rgb: 0, 0, 0;
139
+ // --ion-color-medium-shade: #86888f;
140
+ // --ion-color-medium-tint: #a2a4ab;
141
+ //
142
+ // --ion-color-light: #222428;
143
+ // --ion-color-light-rgb: 34, 36, 40;
144
+ // --ion-color-light-contrast: #ffffff;
145
+ // --ion-color-light-contrast-rgb: 255, 255, 255;
146
+ // --ion-color-light-shade: #1e2023;
147
+ // --ion-color-light-tint: #383a3e;
148
+ // }
149
+ //
150
+ // /*
151
+ // * iOS Dark Theme
152
+ // * -------------------------------------------
153
+ // */
154
+ //
155
+ // .ios body {
156
+ // --ion-background-color: #000000;
157
+ // --ion-background-color-rgb: 0, 0, 0;
158
+ //
159
+ // --ion-text-color: #ffffff;
160
+ // --ion-text-color-rgb: 255, 255, 255;
161
+ //
162
+ // --ion-color-step-50: #0d0d0d;
163
+ // --ion-color-step-100: #1a1a1a;
164
+ // --ion-color-step-150: #262626;
165
+ // --ion-color-step-200: #333333;
166
+ // --ion-color-step-250: #404040;
167
+ // --ion-color-step-300: #4d4d4d;
168
+ // --ion-color-step-350: #595959;
169
+ // --ion-color-step-400: #666666;
170
+ // --ion-color-step-450: #737373;
171
+ // --ion-color-step-500: #808080;
172
+ // --ion-color-step-550: #8c8c8c;
173
+ // --ion-color-step-600: #999999;
174
+ // --ion-color-step-650: #a6a6a6;
175
+ // --ion-color-step-700: #b3b3b3;
176
+ // --ion-color-step-750: #bfbfbf;
177
+ // --ion-color-step-800: #cccccc;
178
+ // --ion-color-step-850: #d9d9d9;
179
+ // --ion-color-step-900: #e6e6e6;
180
+ // --ion-color-step-950: #f2f2f2;
181
+ //
182
+ // --ion-item-background: #000000;
183
+ //
184
+ // --ion-card-background: #1c1c1d;
185
+ // }
186
+ //
187
+ // .ios ion-modal {
188
+ // --ion-background-color: var(--ion-color-step-100);
189
+ // --ion-toolbar-background: var(--ion-color-step-150);
190
+ // --ion-toolbar-border-color: var(--ion-color-step-250);
191
+ // }
192
+ //
193
+ // /*
194
+ // * Material Design Dark Theme
195
+ // * -------------------------------------------
196
+ // */
197
+ //
198
+ // .md body {
199
+ // --ion-background-color: #121212;
200
+ // --ion-background-color-rgb: 18, 18, 18;
201
+ //
202
+ // --ion-text-color: #ffffff;
203
+ // --ion-text-color-rgb: 255, 255, 255;
204
+ //
205
+ // --ion-border-color: #222222;
206
+ //
207
+ // --ion-color-step-50: #1e1e1e;
208
+ // --ion-color-step-100: #2a2a2a;
209
+ // --ion-color-step-150: #363636;
210
+ // --ion-color-step-200: #414141;
211
+ // --ion-color-step-250: #4d4d4d;
212
+ // --ion-color-step-300: #595959;
213
+ // --ion-color-step-350: #656565;
214
+ // --ion-color-step-400: #717171;
215
+ // --ion-color-step-450: #7d7d7d;
216
+ // --ion-color-step-500: #898989;
217
+ // --ion-color-step-550: #949494;
218
+ // --ion-color-step-600: #a0a0a0;
219
+ // --ion-color-step-650: #acacac;
220
+ // --ion-color-step-700: #b8b8b8;
221
+ // --ion-color-step-750: #c4c4c4;
222
+ // --ion-color-step-800: #d0d0d0;
223
+ // --ion-color-step-850: #dbdbdb;
224
+ // --ion-color-step-900: #e7e7e7;
225
+ // --ion-color-step-950: #f3f3f3;
226
+ //
227
+ // --ion-item-background: #1e1e1e;
228
+ //
229
+ // --ion-toolbar-background: #1f1f1f;
230
+ //
231
+ // --ion-tab-bar-background: #1f1f1f;
232
+ //
233
+ // --ion-card-background: #1e1e1e;
234
+ // }
235
+ //}
package/tsconfig.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "../../tsconfig.angular.json",
3
+ "files": [],
4
+ "include": [],
5
+ "references": [
6
+ {
7
+ "path": "./tsconfig.lib.json"
8
+ },
9
+ {
10
+ "path": "./tsconfig.spec.json"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "extends": "../../tsconfig.lib.base.json",
3
+ "exclude": [
4
+ "vite.config.ts",
5
+ "vite.config.mts",
6
+ "vitest.config.ts",
7
+ "vitest.config.mts",
8
+ "src/**/*.test.ts",
9
+ "src/**/*.spec.ts",
10
+ "src/**/*.test.tsx",
11
+ "src/**/*.spec.tsx",
12
+ "src/**/*.test.js",
13
+ "src/**/*.spec.js",
14
+ "src/**/*.test.jsx",
15
+ "src/**/*.spec.jsx",
16
+ "src/test-setup.ts",
17
+ "src/lib/testing/**/*"
18
+ ]
19
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "./tsconfig.lib.json",
3
+ "compilerOptions": {
4
+ "declarationMap": false
5
+ },
6
+ "angularCompilerOptions": {}
7
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "types": [
6
+ "vitest/globals",
7
+ "vitest/importMeta",
8
+ "vite/client",
9
+ "node",
10
+ "vitest"
11
+ ]
12
+ },
13
+ "include": [
14
+ "vite.config.ts",
15
+ "vite.config.mts",
16
+ "vitest.config.ts",
17
+ "vitest.config.mts",
18
+ "src/**/*.test.ts",
19
+ "src/**/*.spec.ts",
20
+ "src/**/*.test.tsx",
21
+ "src/**/*.spec.tsx",
22
+ "src/**/*.test.js",
23
+ "src/**/*.spec.js",
24
+ "src/**/*.test.jsx",
25
+ "src/**/*.spec.jsx",
26
+ "src/**/*.d.ts"
27
+ ],
28
+ "files": [
29
+ "src/test-setup.ts"
30
+ ]
31
+ }
@@ -0,0 +1,10 @@
1
+ /// <reference types='vitest' />
2
+ import { defineConfig } from 'vitest/config';
3
+ import { createBaseViteConfig } from '../../vite.config.base';
4
+
5
+ export default defineConfig(() =>
6
+ createBaseViteConfig({
7
+ dirname: __dirname,
8
+ name: 'components',
9
+ }),
10
+ );