@3squared/forge-ui-3 0.4.2 → 0.5.1

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.
@@ -8,31 +8,407 @@ declare function __VLS_template(): {
8
8
  before?(_: {}): any;
9
9
  after?(_: {}): any;
10
10
  };
11
- declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ForgeDatePickerProps>, {
12
- severity: string;
13
- selectionMode: string;
14
- dateFormat: string;
15
- showOtherMonths: boolean;
16
- showIcon: boolean;
17
- numberOfMonths: number;
18
- showButtonBar: boolean;
19
- view: string;
20
- autoZIndex: boolean;
21
- baseZIndex: number;
22
- appendTo: string;
23
- }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ForgeDatePickerProps>, {
24
- severity: string;
25
- selectionMode: string;
26
- dateFormat: string;
27
- showOtherMonths: boolean;
28
- showIcon: boolean;
29
- numberOfMonths: number;
30
- showButtonBar: boolean;
31
- view: string;
32
- autoZIndex: boolean;
33
- baseZIndex: number;
34
- appendTo: string;
35
- }>>>, {
11
+ declare const __VLS_component: import('vue').DefineComponent<{
12
+ modelValue: import('vue').PropType<Date | Date[] | (Date | null)[] | null | undefined>;
13
+ icon: {
14
+ type: import('vue').PropType<string>;
15
+ };
16
+ severity: {
17
+ type: import('vue').PropType<"secondary" | "info" | "success" | "warning" | "danger" | "primary" | "brand">;
18
+ default: string;
19
+ };
20
+ pt: {
21
+ type: import('vue').PropType<object | import('primevue/calendar').CalendarPassThroughOptions>;
22
+ };
23
+ ptOptions: {
24
+ type: import('vue').PropType<import('primevue/passthrough').PassThroughOptions>;
25
+ };
26
+ unstyled: {
27
+ type: import('vue').PropType<boolean>;
28
+ };
29
+ disabled: {
30
+ type: import('vue').PropType<boolean>;
31
+ };
32
+ id: {
33
+ type: import('vue').PropType<string>;
34
+ };
35
+ placeholder: {
36
+ type: import('vue').PropType<string>;
37
+ };
38
+ inline: {
39
+ type: import('vue').PropType<boolean>;
40
+ };
41
+ view: {
42
+ type: import('vue').PropType<"date" | "month" | "year">;
43
+ default: string;
44
+ };
45
+ invalid: {
46
+ type: import('vue').PropType<boolean>;
47
+ };
48
+ variant: {
49
+ type: import('vue').PropType<"outlined" | "filled">;
50
+ };
51
+ readonly: {
52
+ type: import('vue').PropType<boolean>;
53
+ };
54
+ inputId: {
55
+ type: import('vue').PropType<string>;
56
+ };
57
+ inputClass: {
58
+ type: import('vue').PropType<string | object>;
59
+ };
60
+ inputStyle: {
61
+ type: import('vue').PropType<object>;
62
+ };
63
+ ariaLabelledby: {
64
+ type: import('vue').PropType<string>;
65
+ };
66
+ ariaLabel: {
67
+ type: import('vue').PropType<string>;
68
+ };
69
+ inputProps: {
70
+ type: import('vue').PropType<import('vue').InputHTMLAttributes>;
71
+ };
72
+ selectionMode: {
73
+ type: import('vue').PropType<"single" | "multiple" | "range">;
74
+ default: string;
75
+ };
76
+ dateFormat: {
77
+ type: import('vue').PropType<string>;
78
+ default: string;
79
+ };
80
+ showOtherMonths: {
81
+ type: import('vue').PropType<boolean>;
82
+ default: boolean;
83
+ };
84
+ selectOtherMonths: {
85
+ type: import('vue').PropType<boolean>;
86
+ };
87
+ showIcon: {
88
+ type: import('vue').PropType<boolean>;
89
+ default: boolean;
90
+ };
91
+ iconDisplay: {
92
+ type: import('vue').PropType<"button" | "input">;
93
+ };
94
+ previousIcon: {
95
+ type: import('vue').PropType<string>;
96
+ };
97
+ nextIcon: {
98
+ type: import('vue').PropType<string>;
99
+ };
100
+ incrementIcon: {
101
+ type: import('vue').PropType<string>;
102
+ };
103
+ decrementIcon: {
104
+ type: import('vue').PropType<string>;
105
+ };
106
+ numberOfMonths: {
107
+ type: import('vue').PropType<number>;
108
+ default: number;
109
+ };
110
+ responsiveOptions: {
111
+ type: import('vue').PropType<import('primevue/calendar').CalendarResponsiveOptions[]>;
112
+ };
113
+ breakpoint: {
114
+ type: import('vue').PropType<string>;
115
+ };
116
+ touchUI: {
117
+ type: import('vue').PropType<boolean>;
118
+ };
119
+ monthNavigator: {
120
+ type: import('vue').PropType<boolean>;
121
+ };
122
+ yearNavigator: {
123
+ type: import('vue').PropType<boolean>;
124
+ };
125
+ yearRange: {
126
+ type: import('vue').PropType<string>;
127
+ };
128
+ minDate: {
129
+ type: import('vue').PropType<Date>;
130
+ };
131
+ maxDate: {
132
+ type: import('vue').PropType<Date>;
133
+ };
134
+ disabledDates: {
135
+ type: import('vue').PropType<Date[]>;
136
+ };
137
+ disabledDays: {
138
+ type: import('vue').PropType<number[]>;
139
+ };
140
+ maxDateCount: {
141
+ type: import('vue').PropType<number>;
142
+ };
143
+ showOnFocus: {
144
+ type: import('vue').PropType<boolean>;
145
+ };
146
+ autoZIndex: {
147
+ type: import('vue').PropType<boolean>;
148
+ default: boolean;
149
+ };
150
+ baseZIndex: {
151
+ type: import('vue').PropType<number>;
152
+ default: number;
153
+ };
154
+ showButtonBar: {
155
+ type: import('vue').PropType<boolean>;
156
+ default: boolean;
157
+ };
158
+ shortYearCutoff: {
159
+ type: import('vue').PropType<string>;
160
+ };
161
+ showTime: {
162
+ type: import('vue').PropType<boolean>;
163
+ };
164
+ timeOnly: {
165
+ type: import('vue').PropType<boolean>;
166
+ };
167
+ hourFormat: {
168
+ type: import('vue').PropType<"12" | "24">;
169
+ };
170
+ stepHour: {
171
+ type: import('vue').PropType<number>;
172
+ };
173
+ stepMinute: {
174
+ type: import('vue').PropType<number>;
175
+ };
176
+ stepSecond: {
177
+ type: import('vue').PropType<number>;
178
+ };
179
+ showSeconds: {
180
+ type: import('vue').PropType<boolean>;
181
+ };
182
+ hideOnDateTimeSelect: {
183
+ type: import('vue').PropType<boolean>;
184
+ };
185
+ hideOnRangeSelection: {
186
+ type: import('vue').PropType<boolean>;
187
+ };
188
+ timeSeparator: {
189
+ type: import('vue').PropType<string>;
190
+ };
191
+ showWeek: {
192
+ type: import('vue').PropType<boolean>;
193
+ };
194
+ manualInput: {
195
+ type: import('vue').PropType<boolean>;
196
+ default: boolean;
197
+ };
198
+ appendTo: {
199
+ type: import('vue').PropType<import('primevue/ts-helpers').HintedString<"body" | "self"> | HTMLElement>;
200
+ default: string;
201
+ };
202
+ panelStyle: {
203
+ type: import('vue').PropType<object>;
204
+ };
205
+ panelClass: {
206
+ type: import('vue').PropType<string | object>;
207
+ };
208
+ panelProps: {
209
+ type: import('vue').PropType<import('vue').HTMLAttributes>;
210
+ };
211
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
212
+ modelValue: import('vue').PropType<Date | Date[] | (Date | null)[] | null | undefined>;
213
+ icon: {
214
+ type: import('vue').PropType<string>;
215
+ };
216
+ severity: {
217
+ type: import('vue').PropType<"secondary" | "info" | "success" | "warning" | "danger" | "primary" | "brand">;
218
+ default: string;
219
+ };
220
+ pt: {
221
+ type: import('vue').PropType<object | import('primevue/calendar').CalendarPassThroughOptions>;
222
+ };
223
+ ptOptions: {
224
+ type: import('vue').PropType<import('primevue/passthrough').PassThroughOptions>;
225
+ };
226
+ unstyled: {
227
+ type: import('vue').PropType<boolean>;
228
+ };
229
+ disabled: {
230
+ type: import('vue').PropType<boolean>;
231
+ };
232
+ id: {
233
+ type: import('vue').PropType<string>;
234
+ };
235
+ placeholder: {
236
+ type: import('vue').PropType<string>;
237
+ };
238
+ inline: {
239
+ type: import('vue').PropType<boolean>;
240
+ };
241
+ view: {
242
+ type: import('vue').PropType<"date" | "month" | "year">;
243
+ default: string;
244
+ };
245
+ invalid: {
246
+ type: import('vue').PropType<boolean>;
247
+ };
248
+ variant: {
249
+ type: import('vue').PropType<"outlined" | "filled">;
250
+ };
251
+ readonly: {
252
+ type: import('vue').PropType<boolean>;
253
+ };
254
+ inputId: {
255
+ type: import('vue').PropType<string>;
256
+ };
257
+ inputClass: {
258
+ type: import('vue').PropType<string | object>;
259
+ };
260
+ inputStyle: {
261
+ type: import('vue').PropType<object>;
262
+ };
263
+ ariaLabelledby: {
264
+ type: import('vue').PropType<string>;
265
+ };
266
+ ariaLabel: {
267
+ type: import('vue').PropType<string>;
268
+ };
269
+ inputProps: {
270
+ type: import('vue').PropType<import('vue').InputHTMLAttributes>;
271
+ };
272
+ selectionMode: {
273
+ type: import('vue').PropType<"single" | "multiple" | "range">;
274
+ default: string;
275
+ };
276
+ dateFormat: {
277
+ type: import('vue').PropType<string>;
278
+ default: string;
279
+ };
280
+ showOtherMonths: {
281
+ type: import('vue').PropType<boolean>;
282
+ default: boolean;
283
+ };
284
+ selectOtherMonths: {
285
+ type: import('vue').PropType<boolean>;
286
+ };
287
+ showIcon: {
288
+ type: import('vue').PropType<boolean>;
289
+ default: boolean;
290
+ };
291
+ iconDisplay: {
292
+ type: import('vue').PropType<"button" | "input">;
293
+ };
294
+ previousIcon: {
295
+ type: import('vue').PropType<string>;
296
+ };
297
+ nextIcon: {
298
+ type: import('vue').PropType<string>;
299
+ };
300
+ incrementIcon: {
301
+ type: import('vue').PropType<string>;
302
+ };
303
+ decrementIcon: {
304
+ type: import('vue').PropType<string>;
305
+ };
306
+ numberOfMonths: {
307
+ type: import('vue').PropType<number>;
308
+ default: number;
309
+ };
310
+ responsiveOptions: {
311
+ type: import('vue').PropType<import('primevue/calendar').CalendarResponsiveOptions[]>;
312
+ };
313
+ breakpoint: {
314
+ type: import('vue').PropType<string>;
315
+ };
316
+ touchUI: {
317
+ type: import('vue').PropType<boolean>;
318
+ };
319
+ monthNavigator: {
320
+ type: import('vue').PropType<boolean>;
321
+ };
322
+ yearNavigator: {
323
+ type: import('vue').PropType<boolean>;
324
+ };
325
+ yearRange: {
326
+ type: import('vue').PropType<string>;
327
+ };
328
+ minDate: {
329
+ type: import('vue').PropType<Date>;
330
+ };
331
+ maxDate: {
332
+ type: import('vue').PropType<Date>;
333
+ };
334
+ disabledDates: {
335
+ type: import('vue').PropType<Date[]>;
336
+ };
337
+ disabledDays: {
338
+ type: import('vue').PropType<number[]>;
339
+ };
340
+ maxDateCount: {
341
+ type: import('vue').PropType<number>;
342
+ };
343
+ showOnFocus: {
344
+ type: import('vue').PropType<boolean>;
345
+ };
346
+ autoZIndex: {
347
+ type: import('vue').PropType<boolean>;
348
+ default: boolean;
349
+ };
350
+ baseZIndex: {
351
+ type: import('vue').PropType<number>;
352
+ default: number;
353
+ };
354
+ showButtonBar: {
355
+ type: import('vue').PropType<boolean>;
356
+ default: boolean;
357
+ };
358
+ shortYearCutoff: {
359
+ type: import('vue').PropType<string>;
360
+ };
361
+ showTime: {
362
+ type: import('vue').PropType<boolean>;
363
+ };
364
+ timeOnly: {
365
+ type: import('vue').PropType<boolean>;
366
+ };
367
+ hourFormat: {
368
+ type: import('vue').PropType<"12" | "24">;
369
+ };
370
+ stepHour: {
371
+ type: import('vue').PropType<number>;
372
+ };
373
+ stepMinute: {
374
+ type: import('vue').PropType<number>;
375
+ };
376
+ stepSecond: {
377
+ type: import('vue').PropType<number>;
378
+ };
379
+ showSeconds: {
380
+ type: import('vue').PropType<boolean>;
381
+ };
382
+ hideOnDateTimeSelect: {
383
+ type: import('vue').PropType<boolean>;
384
+ };
385
+ hideOnRangeSelection: {
386
+ type: import('vue').PropType<boolean>;
387
+ };
388
+ timeSeparator: {
389
+ type: import('vue').PropType<string>;
390
+ };
391
+ showWeek: {
392
+ type: import('vue').PropType<boolean>;
393
+ };
394
+ manualInput: {
395
+ type: import('vue').PropType<boolean>;
396
+ default: boolean;
397
+ };
398
+ appendTo: {
399
+ type: import('vue').PropType<import('primevue/ts-helpers').HintedString<"body" | "self"> | HTMLElement>;
400
+ default: string;
401
+ };
402
+ panelStyle: {
403
+ type: import('vue').PropType<object>;
404
+ };
405
+ panelClass: {
406
+ type: import('vue').PropType<string | object>;
407
+ };
408
+ panelProps: {
409
+ type: import('vue').PropType<import('vue').HTMLAttributes>;
410
+ };
411
+ }>>, {
36
412
  severity: "secondary" | "info" | "success" | "warning" | "danger" | "primary" | "brand";
37
413
  view: "date" | "month" | "year";
38
414
  selectionMode: "single" | "multiple" | "range";
@@ -43,27 +419,11 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<
43
419
  autoZIndex: boolean;
44
420
  baseZIndex: number;
45
421
  showButtonBar: boolean;
422
+ manualInput: boolean;
46
423
  appendTo: import('primevue/ts-helpers').HintedString<"body" | "self"> | HTMLElement;
47
424
  }, {}>;
48
425
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
49
426
  export default _default;
50
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
51
- type __VLS_TypePropsToRuntimeProps<T> = {
52
- [K in keyof T]-?: {} extends Pick<T, K> ? {
53
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
54
- } : {
55
- type: import('vue').PropType<T[K]>;
56
- required: true;
57
- };
58
- };
59
- type __VLS_WithDefaults<P, D> = {
60
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
61
- default: D[K];
62
- }> : P[K];
63
- };
64
- type __VLS_Prettify<T> = {
65
- [K in keyof T]: T[K];
66
- } & {};
67
427
  type __VLS_WithTemplateSlots<T, S> = T & {
68
428
  new (): {
69
429
  $slots: S;
@@ -1,40 +1,6 @@
1
- import { CalendarPassThroughMethodOptions } from 'primevue/calendar';
1
+ import { CalendarPassThroughOptions } from 'primevue/calendar';
2
2
 
3
3
  declare const _default: {
4
- calendar: {
5
- root: string;
6
- input: string;
7
- panel: ({ props }: CalendarPassThroughMethodOptions) => {
8
- class: (string | {
9
- 'shadow border-0 position-absolute': boolean;
10
- })[];
11
- };
12
- header: string;
13
- previousButton: string;
14
- nextButton: string;
15
- yearTitle: string;
16
- monthTitle: string;
17
- table: string;
18
- tableHeaderRow: string;
19
- weekday: string;
20
- monthPicker: string;
21
- month: string;
22
- yearPicker: string;
23
- year: string;
24
- timePicker: string;
25
- separatorContainer: string;
26
- separator: string;
27
- hourPicker: string;
28
- hour: string;
29
- minutePicker: string;
30
- minute: string;
31
- secondPicker: string;
32
- second: string;
33
- buttonbar: ({ props }: CalendarPassThroughMethodOptions) => {
34
- class: (string | {
35
- 'border-top': boolean;
36
- })[];
37
- };
38
- };
4
+ calendar: CalendarPassThroughOptions;
39
5
  };
40
6
  export default _default;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@3squared/forge-ui-3",
3
3
  "repository": "https://github.com/3Squared/ForgeUI-3",
4
4
  "description": "ForgeUI 3 is Vue 3 UI Library which combines a variety of popular packages to create a consistent UI for your application.",
5
- "version": "0.4.2",
5
+ "version": "0.5.1",
6
6
  "type": "module",
7
7
  "license": "MIT",
8
8
  "contributors": [
@@ -42,17 +42,17 @@
42
42
  "zod": "^3.22.4"
43
43
  },
44
44
  "devDependencies": {
45
- "@cypress/code-coverage": "3.12.39",
45
+ "@cypress/code-coverage": "3.12.41",
46
46
  "@vitejs/plugin-vue": "5.0.5",
47
47
  "@vitest/coverage-v8": "1.6.0",
48
48
  "@vitest/ui": "1.6.0",
49
- "cypress": "13.12.0",
49
+ "cypress": "13.13.0",
50
50
  "cypress-real-events": "1.13.0",
51
51
  "sass": "1.77.6",
52
- "typescript": "5.5.2",
52
+ "typescript": "5.5.3",
53
53
  "unplugin-vue-components": "0.27.2",
54
54
  "rollup-plugin-visualizer": "5.12.0",
55
- "vite": "5.3.2",
55
+ "vite": "5.3.3",
56
56
  "vite-bundle-visualizer": "1.2.1",
57
57
  "vite-plugin-istanbul": "6.0.2",
58
58
  "vitest": "1.6.0",
@@ -1,7 +1,11 @@
1
1
  @each $color, $value in $base-colors {
2
2
  .btn.btn-text-#{$color}{
3
3
  &:hover, &:active:focus {
4
- background-color: map-get($subtle-colors, '#{$color}-subtle');
4
+ @if ($color == 'brand') {
5
+ background-color: map-get($subtle-colors, '#{$color}-shade-1');
6
+ } @else {
7
+ background-color: map-get($subtle-colors, '#{$color}-subtle');
8
+ }
5
9
  }
6
10
  }
7
11
 
@@ -1,8 +1,55 @@
1
1
  .datepicker-panel {
2
- min-width: 350px;
3
- width: 350px
4
- }
2
+ min-width: 317px !important;
3
+ }
4
+
5
+ .p-datepicker-multiple-month {
6
+ max-width: 948px;
7
+ }
5
8
 
6
9
  .p-datepicker-trigger {
7
10
  display: none !important;
11
+ }
12
+
13
+ .datepicker-close-icon {
14
+ margin: 1.75rem;
15
+
16
+ &:hover {
17
+ color: map-get($theme-colors, 'danger') !important;
18
+ }
19
+ }
20
+
21
+ .datepicker-table {
22
+ border-collapse: separate;
23
+ border-spacing: 10px 12px;
24
+ margin: 6px;
25
+ }
26
+
27
+ @each $color, $value in $base-colors {
28
+ .date-#{$color} {
29
+ width: 32px;
30
+ height: 32px;
31
+ border-radius: 50%;
32
+
33
+ &.selected, &.selected:hover {
34
+ border-radius: 50%;
35
+ background-color: map-get($theme-colors, $color);
36
+ }
37
+
38
+ &:hover {
39
+ @if($color == 'brand') {
40
+ background-color: map-get($subtle-colors, '#{$color}-shade-1');
41
+ color: map-get($theme-colors, $color)
42
+ } @else {
43
+ background-color: map-get($subtle-colors, '#{$color}-subtle');
44
+ color: map-get($theme-colors, $color)
45
+ }
46
+
47
+ }
48
+ }
49
+ }
50
+
51
+ .date {
52
+
53
+
54
+
8
55
  }
@@ -135,7 +135,7 @@
135
135
  .multiselect__tags {
136
136
  min-height: 31px;
137
137
  display: block;
138
- padding: 3px 26px 0 3px;
138
+ padding: 3px 26px 3px 3px;
139
139
  border-radius: 5px;
140
140
  border: 1px solid $input-border-color;
141
141
  background: #fff;
@@ -242,7 +242,39 @@
242
242
 
243
243
  .multiselect__tag-icon:focus:after,
244
244
  .multiselect__tag-icon:hover:after {
245
- color: #ff0000;
245
+ color: map-get($theme-colors, 'danger') !important;
246
+ }
247
+
248
+ .multiselect__clear-icon {
249
+ cursor: pointer;
250
+ position: absolute;
251
+ right: 20px;
252
+ top: 1px;
253
+ bottom: 0;
254
+ font-weight: 400;
255
+ font-style: initial;
256
+ width: 22px;
257
+ text-align: center;
258
+ line-height: 21px;
259
+ transition: all 0.2s ease;
260
+ border-radius: 0;
261
+ z-index: 1;
262
+ }
263
+
264
+ .multiselect__clear-icon:after {
265
+ content: "×";
266
+ color: $gray-800;
267
+ font-size: 14px;
268
+ }
269
+
270
+ .multiselect__clear-icon:focus,
271
+ .multiselect__clear-icon:hover {
272
+ background: none;
273
+ }
274
+
275
+ .multiselect__clear-icon:focus:after,
276
+ .multiselect__clear-icon:hover:after {
277
+ color: map-get($theme-colors, 'danger') !important;
246
278
  }
247
279
  }
248
280
  }
@@ -0,0 +1,18 @@
1
+ @import 'components/_alert';
2
+ @import 'components/_badge';
3
+ @import 'components/_button';
4
+ @import 'components/_chips';
5
+ @import 'components/_datepicker';
6
+ @import 'components/_dialog';
7
+ @import 'components/_dropdown';
8
+ @import 'components/_file-uploader.scss';
9
+ @import 'components/_link.scss';
10
+ @import 'components/_loader';
11
+ @import 'components/_multiselect';
12
+ @import 'components/_multiselect-preview';
13
+ @import 'components/_stat-widget';
14
+ @import 'components/_stepper';
15
+ @import 'components/_table';
16
+ @import 'components/_tooltip';
17
+ @import 'components/_toast';
18
+ @import 'components/_tile';