@ship-ui/core 0.13.28 → 0.13.30

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.
package/index.d.ts CHANGED
@@ -207,18 +207,15 @@ declare class ShipColorPickerComponent {
207
207
 
208
208
  declare class ShipDatepickerInputComponent {
209
209
  #private;
210
- inputWrapRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
211
210
  masking: _angular_core.InputSignal<string>;
212
211
  closed: _angular_core.OutputEmitterRef<Date | null>;
213
212
  _maskedDate: _angular_core.Signal<string | Date | null>;
214
213
  internalDate: _angular_core.WritableSignal<Date | null>;
215
214
  isOpen: _angular_core.ModelSignal<boolean>;
216
- styleClasses: _angular_core.WritableSignal<null>;
215
+ currentClass: _angular_core.Signal<string>;
217
216
  onDateChange(date: Date | null): void;
218
217
  open($event: MouseEvent): void;
219
218
  close(): void;
220
- ngOnInit(): void;
221
- ngOnDestroy(): void;
222
219
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipDatepickerInputComponent, never>;
223
220
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipDatepickerInputComponent, "sh-datepicker-input", never, { "masking": { "alias": "masking"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "isOpen": "isOpenChange"; }, never, ["label", "[prefix]", "[textPrefix]", "input", "[textSuffix]", "[suffix]"], true, never>;
224
221
  }
@@ -240,6 +237,8 @@ declare class ShipDatepickerComponent {
240
237
  opacity: string;
241
238
  } | null>;
242
239
  weekdays: _angular_core.Signal<string[]>;
240
+ currentClasses: _angular_core.Signal<string>;
241
+ someEffect: _angular_core.EffectRef;
243
242
  getLastVisibleMonth(): Date;
244
243
  getOffsetDate(monthOffset: number): Date;
245
244
  getMonthDates(monthOffset: number): Date[];
@@ -289,6 +288,11 @@ declare class ShipDividerComponent {
289
288
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipDividerComponent, "sh-divider", never, {}, {}, never, ["*"], true, never>;
290
289
  }
291
290
 
291
+ declare class ShipEventCardComponent {
292
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipEventCardComponent, never>;
293
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipEventCardComponent, "sh-event-card", never, {}, {}, never, ["*", "[actions]", "button"], true, never>;
294
+ }
295
+
292
296
  declare class ShipFileUploadComponent {
293
297
  _el: ElementRef<any>;
294
298
  inputRef: _angular_core.Signal<ElementRef<HTMLInputElement>>;
@@ -765,5 +769,5 @@ interface ShipConfig {
765
769
  sidenavType?: 'overlay' | 'simple';
766
770
  }
767
771
 
768
- export { GridSortableDirective, SHIP_CONFIG, ShipAlertComponent, ShipAlertContainerComponent, ShipAlertModule, ShipAlertService, ShipButtonComponent, ShipButtonGroupComponent, ShipCardComponent, ShipCheckboxComponent, ShipChipComponent, ShipColorPickerComponent, ShipDatepickerComponent, ShipDatepickerInputComponent, ShipDaterangeInputComponent, ShipDialogComponent, ShipDialogService, ShipDividerComponent, ShipFileDragDropDirective, ShipFileUploadComponent, ShipFormFieldComponent, ShipIconComponent, ShipListComponent, ShipMenuComponent, ShipPopoverComponent, ShipPreventWheelDirective, ShipProgressBarComponent, ShipRadioComponent, ShipRangeSliderComponent, ShipResizeDirective, ShipSelectComponent, ShipSidenavComponent, ShipSortDirective, ShipSortableComponent, ShipSortableDirective, ShipSpinnerComponent, ShipStepperComponent, ShipStickyColumnsDirective, ShipStickyRowsDirective, ShipTableComponent, ShipTabsComponent, ShipToggleCardComponent, ShipToggleComponent, ShipTooltipComponent, ShipTooltipDirective, ShipTooltipWrapper, ShipVirtualScrollComponent, moveIndex, watchHostClass };
772
+ export { GridSortableDirective, SHIP_CONFIG, ShipAlertComponent, ShipAlertContainerComponent, ShipAlertModule, ShipAlertService, ShipButtonComponent, ShipButtonGroupComponent, ShipCardComponent, ShipCheckboxComponent, ShipChipComponent, ShipColorPickerComponent, ShipDatepickerComponent, ShipDatepickerInputComponent, ShipDaterangeInputComponent, ShipDialogComponent, ShipDialogService, ShipDividerComponent, ShipEventCardComponent, ShipFileDragDropDirective, ShipFileUploadComponent, ShipFormFieldComponent, ShipIconComponent, ShipListComponent, ShipMenuComponent, ShipPopoverComponent, ShipPreventWheelDirective, ShipProgressBarComponent, ShipRadioComponent, ShipRangeSliderComponent, ShipResizeDirective, ShipSelectComponent, ShipSidenavComponent, ShipSortDirective, ShipSortableComponent, ShipSortableDirective, ShipSpinnerComponent, ShipStepperComponent, ShipStickyColumnsDirective, ShipStickyRowsDirective, ShipTableComponent, ShipTabsComponent, ShipToggleCardComponent, ShipToggleComponent, ShipTooltipComponent, ShipTooltipDirective, ShipTooltipWrapper, ShipVirtualScrollComponent, moveIndex, watchHostClass };
769
773
  export type { AfterDropResponse, ShipAlertItem, ShipAlertItemInternal, ShipAlertType, ShipDialogOptions, ShipDialogReturn, ShipDialogServiceOptions, ShipPopoverOptions, ShipProgressBarMode, ShipSidenavType };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ship-ui/core",
3
3
  "license": "MIT",
4
- "version": "0.13.28",
4
+ "version": "0.13.30",
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=19",
7
7
  "@angular/core": ">=19"
@@ -33,7 +33,6 @@ $shipButtonGroup: true !default;
33
33
  gap: p2r(8);
34
34
  position: relative;
35
35
  padding: var(--btng-p);
36
- transition: color 80ms linear;
37
36
  min-width: auto;
38
37
  cursor: pointer;
39
38
  outline: none;
@@ -47,6 +46,14 @@ $shipButtonGroup: true !default;
47
46
  color: var(--btng-c);
48
47
  font: var(--btng-f);
49
48
  border-left: 1px solid var(--btng-bc);
49
+ transition:
50
+ color 80ms linear,
51
+ transform 125ms linear;
52
+ transform: scale(1);
53
+
54
+ &:active {
55
+ transform: scale(0.96);
56
+ }
50
57
 
51
58
  &:first-child {
52
59
  border-left: 0;
@@ -46,7 +46,14 @@ $shipButtonShadow: false !default;
46
46
 
47
47
  background: var(--btn-bg);
48
48
  color: var(--btn-c);
49
- transition: background 75ms linear;
49
+ transition:
50
+ background 75ms linear,
51
+ transform 125ms linear;
52
+ transform: scale(1);
53
+
54
+ &:active {
55
+ transform: scale(0.98);
56
+ }
50
57
 
51
58
  sh-icon {
52
59
  color: var(--btn-ic);
@@ -60,15 +60,25 @@ $shipDatepicker: true !default;
60
60
  }
61
61
  }
62
62
 
63
+ sh-datepicker-input.sharp sh-datepicker,
64
+ sh-daterange-input.sharp sh-datepicker,
65
+ sh-datepicker.sharp {
66
+ --dp-sel-s: var(--shape-1);
67
+ --dp-ar: 1/0.8;
68
+ --dp-day-g: #{p2r(8 0)};
69
+ }
70
+
63
71
  sh-datepicker {
64
72
  --dp-sel-bg: var(--base-8);
65
73
  --dp-sel-bw: 0;
66
74
  --dp-sel-bc: transparent;
75
+ --dp-sel-s: 50%;
67
76
  --dp-sel-c: #fff;
68
77
  --dp-day-c: var(--base-8);
69
78
  --dp-day-g: #{p2r(4 0)};
70
79
  --dp-day-f: var(--paragraph-20);
71
80
  --dp-width: #{p2r(300)};
81
+ --dp-ar: 1/1;
72
82
 
73
83
  width: 100%;
74
84
  max-width: var(--dp-width);
@@ -101,14 +111,14 @@ $shipDatepicker: true !default;
101
111
  &.month-start,
102
112
  &.week-start,
103
113
  &.first {
104
- border-top-left-radius: 50%;
105
- border-bottom-left-radius: 50%;
114
+ border-top-left-radius: var(--dp-sel-s);
115
+ border-bottom-left-radius: var(--dp-sel-s);
106
116
  }
107
117
  &.month-end,
108
118
  &.week-end,
109
119
  &.last {
110
- border-top-right-radius: 50%;
111
- border-bottom-right-radius: 50%;
120
+ border-top-right-radius: var(--dp-sel-s);
121
+ border-bottom-right-radius: var(--dp-sel-s);
112
122
  }
113
123
 
114
124
  &.first,
@@ -158,7 +168,7 @@ $shipDatepicker: true !default;
158
168
  .month {
159
169
  display: grid;
160
170
  grid-template-columns: repeat(7, 1fr);
161
- grid-template-rows: 1fr 7fr;
171
+ grid-template-rows: 1fr 6fr;
162
172
  gap: var(--dp-day-g);
163
173
  align-items: flex-start;
164
174
 
@@ -187,7 +197,7 @@ $shipDatepicker: true !default;
187
197
  display: flex;
188
198
  align-items: center;
189
199
  justify-content: center;
190
- aspect-ratio: 1/1;
200
+ aspect-ratio: var(--dp-ar);
191
201
  cursor: pointer;
192
202
  position: relative;
193
203
  z-index: 1;
@@ -212,7 +222,7 @@ $shipDatepicker: true !default;
212
222
  transform 75ms linear,
213
223
  opacity 75ms linear;
214
224
  background: var(--dp-sel-bg);
215
- border-radius: 50%;
225
+ border-radius: var(--dp-sel-s);
216
226
  border: var(--dp-sel-bw) solid var(--dp-sel-bc);
217
227
  opacity: 0;
218
228
  box-sizing: border-box;
@@ -0,0 +1,208 @@
1
+ @use '../helpers.scss' as *;
2
+
3
+ $shipEventCard: true !default;
4
+
5
+ @if $shipEventCard == true {
6
+ sh-event-card {
7
+ --ec-c: var(--base-12);
8
+ --ec-bg: var(--base-1);
9
+ --ec-bc: var(--base-4);
10
+ --ec-s: var(--shape-2);
11
+
12
+ display: flex;
13
+ gap: p2r(8);
14
+ width: 100%;
15
+ padding: p2r(16);
16
+ border-radius: var(--ec-s);
17
+ background: var(--ec-bg);
18
+ border: 1px solid var(--ec-bc);
19
+ color: var(--ec-c);
20
+
21
+ .content {
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: p2r(4);
25
+ flex: 1;
26
+
27
+ > * {
28
+ color: var(--ec-c);
29
+ }
30
+
31
+ h1,
32
+ h2,
33
+ h3,
34
+ h4,
35
+ h5,
36
+ h6 {
37
+ font: var(--paragraph-20B);
38
+ }
39
+ }
40
+
41
+ .actions [actions],
42
+ .actions {
43
+ display: flex;
44
+ gap: p2r(8);
45
+ align-items: center;
46
+
47
+ [shButton] {
48
+ --btn-bs: none;
49
+ }
50
+ }
51
+
52
+ &:before {
53
+ content: '';
54
+ display: block;
55
+ border-radius: p2r(3);
56
+ width: p2r(6);
57
+ background: var(--ec-c);
58
+ }
59
+
60
+ &.dynamic {
61
+ --ec-bg: rgb(from var(--ec-c) r g b / 0.14);
62
+ color: var(--ec-c);
63
+ border: 0;
64
+
65
+ .content {
66
+ p {
67
+ --ec-pc: rgb(from var(--ec-c) r g b / 0.65);
68
+ color: var(--ec-pc);
69
+ }
70
+ }
71
+
72
+ sh-icon {
73
+ color: inherit;
74
+ }
75
+ }
76
+
77
+ &.primary {
78
+ --ec-c: var(--primary-8);
79
+ }
80
+
81
+ &.accent {
82
+ --ec-c: var(--accent-8);
83
+ }
84
+
85
+ &.warn {
86
+ --ec-c: var(--warn-8);
87
+ }
88
+
89
+ &.error {
90
+ --ec-c: var(--error-8);
91
+ }
92
+
93
+ &.success {
94
+ --ec-c: var(--success-8);
95
+ }
96
+
97
+ &.simple,
98
+ &.outlined {
99
+ --ec-c: var(--base-12);
100
+ --ec-bg: var(--base-2);
101
+
102
+ &.primary {
103
+ --ec-c: var(--primary-8);
104
+ --ec-bg: var(--primary-1);
105
+ --ec-bc: var(--primary-4);
106
+ }
107
+
108
+ &.accent {
109
+ --ec-c: var(--accent-8);
110
+ --ec-bg: var(--accent-1);
111
+ --ec-bc: var(--accent-4);
112
+ }
113
+
114
+ &.warn {
115
+ --ec-c: var(--warn-8);
116
+ --ec-bg: var(--warn-1);
117
+ --ec-bc: var(--warn-4);
118
+ }
119
+
120
+ &.error {
121
+ --ec-c: var(--error-8);
122
+ --ec-bg: var(--error-1);
123
+ --ec-bc: var(--error-4);
124
+ }
125
+
126
+ &.success {
127
+ --ec-c: var(--success-8);
128
+ --ec-bg: var(--success-1);
129
+ --ec-bc: var(--success-4);
130
+ }
131
+ }
132
+
133
+ &.simple,
134
+ &.simple.primary,
135
+ &.simple.accent,
136
+ &.simple.warn,
137
+ &.simple.error,
138
+ &.simple.success {
139
+ --ec-bc: var(--ec-bg);
140
+ }
141
+
142
+ &.flat {
143
+ --ec-c: #fff;
144
+ --ec-ic: #fff;
145
+ --ec-bg: var(--base-8);
146
+
147
+ border: 0;
148
+
149
+ &.primary {
150
+ --ec-c: var(--primary-c8);
151
+ --ec-bg: var(--primary-8);
152
+ }
153
+
154
+ &.accent {
155
+ --ec-c: var(--accent-c8);
156
+ --ec-bg: var(--accent-8);
157
+ }
158
+
159
+ &.warn {
160
+ --ec-c: var(--warn-c8);
161
+ --ec-bg: var(--warn-8);
162
+ }
163
+
164
+ &.error {
165
+ --ec-c: var(--error-c8);
166
+ --ec-bg: var(--error-8);
167
+ }
168
+
169
+ &.success {
170
+ --ec-c: var(--success-c8);
171
+ --ec-bg: var(--success-8);
172
+ }
173
+ }
174
+
175
+ &.raised {
176
+ --ec-c: #fff;
177
+ --ec-ic: #fff;
178
+ --ec-bg: var(--base-g6);
179
+
180
+ border: 0;
181
+
182
+ &.primary {
183
+ --ec-c: var(--primary-c8);
184
+ --ec-bg: var(--primary-g2);
185
+ }
186
+
187
+ &.accent {
188
+ --ec-c: var(--accent-c8);
189
+ --ec-bg: var(--accent-g2);
190
+ }
191
+
192
+ &.warn {
193
+ --ec-c: var(--warn-c8);
194
+ --ec-bg: var(--warn-g2);
195
+ }
196
+
197
+ &.error {
198
+ --ec-c: var(--error-c8);
199
+ --ec-bg: var(--error-g2);
200
+ }
201
+
202
+ &.success {
203
+ --ec-c: var(--success-c8);
204
+ --ec-bg: var(--success-g2);
205
+ }
206
+ }
207
+ }
208
+ }
@@ -49,6 +49,13 @@ $shipFormFieldShadow: false !default;
49
49
  position: relative;
50
50
  width: 100%;
51
51
 
52
+ transition: transform 125ms linear;
53
+ transform: scale(1);
54
+
55
+ &:active {
56
+ transform: scale(0.995);
57
+ }
58
+
52
59
  &[read-only],
53
60
  &[read-only='true'],
54
61
  &[readonly='true'],
@@ -52,6 +52,13 @@ $shipList: true !default;
52
52
  background-color: transparent;
53
53
  text-decoration: none;
54
54
 
55
+ transition: transform 125ms linear;
56
+ transform: scale(1);
57
+
58
+ &:active {
59
+ transform: scale(0.98);
60
+ }
61
+
55
62
  &:focus {
56
63
  outline: none;
57
64
  }
@@ -174,6 +174,12 @@ $shipMenu: true !default;
174
174
  border: 0;
175
175
  cursor: pointer;
176
176
  color: var(--base-12);
177
+ transition: transform 125ms linear;
178
+ transform: scale(1);
179
+
180
+ &:active {
181
+ transform: scale(0.98);
182
+ }
177
183
 
178
184
  &[disabled] {
179
185
  opacity: 0.3;
@@ -30,6 +30,13 @@ $shipTabs: true !default;
30
30
  cursor: pointer;
31
31
  position: relative;
32
32
 
33
+ transition: transform 125ms linear;
34
+ transform: scale(1);
35
+
36
+ &:active {
37
+ transform: scale(0.98);
38
+ }
39
+
33
40
  &:focus {
34
41
  outline: none;
35
42
  }
package/styles/index.scss CHANGED
@@ -22,6 +22,7 @@ $shipButton: true !default;
22
22
  $shipProgressBar: true !default;
23
23
  $shipCheckbox: true !default;
24
24
  $shipDatepicker: true !default;
25
+ $shipEventCard: true !default;
25
26
  $shipIcon: true !default;
26
27
  $shipMenu: true !default;
27
28
  $shipDivider: true !default;
@@ -69,6 +70,9 @@ $shipFileUpload: true !default;
69
70
  @use './components/ship-datepicker.component.scss' with (
70
71
  $shipDatepicker: $shipDatepicker
71
72
  );
73
+ @use './components/ship-event-card.component.scss' with (
74
+ $shipEventCard: $shipEventCard
75
+ );
72
76
  @use './components/ship-icon.component.scss' with (
73
77
  $shipIcon: $shipIcon
74
78
  );