@aotearoan/neon 28.4.1 → 28.5.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 (54) hide show
  1. package/dist/components/feedback/loading-state-card/NeonLoadingStateCard.cjs.js +2 -0
  2. package/dist/components/feedback/loading-state-card/NeonLoadingStateCard.cjs.js.map +1 -0
  3. package/dist/components/feedback/loading-state-card/NeonLoadingStateCard.es.js +16 -0
  4. package/dist/components/feedback/loading-state-card/NeonLoadingStateCard.es.js.map +1 -0
  5. package/dist/components/feedback/loading-state-card/NeonLoadingStateCard.vue.cjs.js +2 -0
  6. package/dist/components/feedback/loading-state-card/NeonLoadingStateCard.vue.cjs.js.map +1 -0
  7. package/dist/components/feedback/loading-state-card/NeonLoadingStateCard.vue.es.js +48 -0
  8. package/dist/components/feedback/loading-state-card/NeonLoadingStateCard.vue.es.js.map +1 -0
  9. package/dist/components/feedback/skeleton-loader/NeonSkeletonLoader.cjs.js.map +1 -1
  10. package/dist/components/feedback/skeleton-loader/NeonSkeletonLoader.es.js.map +1 -1
  11. package/dist/components/feedback/splash-loader/NeonSplashLoader.cjs.js.map +1 -1
  12. package/dist/components/feedback/splash-loader/NeonSplashLoader.es.js.map +1 -1
  13. package/dist/components/layout/card-list/NeonCardList.cjs.js +1 -1
  14. package/dist/components/layout/card-list/NeonCardList.cjs.js.map +1 -1
  15. package/dist/components/layout/card-list/NeonCardList.es.js +43 -34
  16. package/dist/components/layout/card-list/NeonCardList.es.js.map +1 -1
  17. package/dist/components/layout/card-list/NeonCardList.vue.cjs.js +1 -1
  18. package/dist/components/layout/card-list/NeonCardList.vue.cjs.js.map +1 -1
  19. package/dist/components/layout/card-list/NeonCardList.vue.es.js +90 -64
  20. package/dist/components/layout/card-list/NeonCardList.vue.es.js.map +1 -1
  21. package/dist/components/layout/list-layout/NeonListLayout.cjs.js +1 -1
  22. package/dist/components/layout/list-layout/NeonListLayout.cjs.js.map +1 -1
  23. package/dist/components/layout/list-layout/NeonListLayout.es.js +32 -26
  24. package/dist/components/layout/list-layout/NeonListLayout.es.js.map +1 -1
  25. package/dist/components/layout/list-layout/NeonListLayout.vue.cjs.js +1 -1
  26. package/dist/components/layout/list-layout/NeonListLayout.vue.cjs.js.map +1 -1
  27. package/dist/components/layout/list-layout/NeonListLayout.vue.es.js +55 -52
  28. package/dist/components/layout/list-layout/NeonListLayout.vue.es.js.map +1 -1
  29. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.cjs.js +1 -1
  30. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.cjs.js.map +1 -1
  31. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.es.js +11 -10
  32. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.es.js.map +1 -1
  33. package/dist/neon.cjs.js +1 -1
  34. package/dist/neon.es.js +175 -173
  35. package/dist/neon.es.js.map +1 -1
  36. package/dist/src/components/feedback/loading-state-card/NeonLoadingStateCard.d.ts +48 -0
  37. package/dist/src/components/feedback/loading-state-card/NeonLoadingStateCard.vue.d.ts +2 -0
  38. package/dist/src/components/feedback/skeleton-loader/NeonSkeletonLoader.d.ts +2 -2
  39. package/dist/src/components/feedback/splash-loader/NeonSplashLoader.d.ts +1 -2
  40. package/dist/src/components/layout/card-list/NeonCardList.d.ts +94 -28
  41. package/dist/src/components/layout/list-layout/NeonListLayout.d.ts +291 -236
  42. package/dist/src/neon.d.ts +1 -0
  43. package/package.json +1 -1
  44. package/src/sass/components/_card-list.scss +4 -12
  45. package/src/sass/components/_loading-state-card.scss +48 -0
  46. package/src/sass/components/_skeleton-loader.scss +1 -0
  47. package/src/sass/components/components.scss +1 -0
  48. package/src/sass/core/_transitions.scss +3 -3
  49. package/src/sass/includes/_dependencies.scss +3 -2
  50. package/src/sass/palette.scss +2 -2
  51. package/src/sass/theme.scss +4 -0
  52. package/src/sass/variables-dark.scss +3 -3
  53. package/src/sass/variables-global.scss +9 -2
  54. package/src/sass/variables-light.scss +3 -3
@@ -44,6 +44,7 @@ export { default as NeonLinearProgress } from './components/feedback/linear-prog
44
44
  export { default as NeonLink } from './components/navigation/link/NeonLink.vue';
45
45
  export { default as NeonList } from './components/user-input/list/NeonList.vue';
46
46
  export { default as NeonListLayout } from './components/layout/list-layout/NeonListLayout.vue';
47
+ export { default as NeonLoadingStateCard } from './components/feedback/loading-state-card/NeonLoadingStateCard.vue';
47
48
  export { default as NeonMenu } from './components/navigation/menu/NeonMenu.vue';
48
49
  export { default as NeonMobileMenu } from './components/navigation/mobile-menu/NeonMobileMenu.vue';
49
50
  export { default as NeonModal } from './components/layout/modal/NeonModal.vue';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aotearoan/neon",
3
3
  "description": "Neon is a lightweight design library of Vue 3 components with minimal dependencies.",
4
- "version": "28.4.1",
4
+ "version": "28.5.0",
5
5
  "main": "./dist/neon.cjs.js",
6
6
  "module": "./dist/neon.es.js",
7
7
  "types": "./dist/src/neon.d.ts",
@@ -1,12 +1,13 @@
1
1
  @use '../includes/palettes';
2
2
  @use '../includes/responsive';
3
+ @use '../includes/scrollbars';
3
4
 
4
5
  @mixin card-list {
5
6
  .neon-card-list {
6
7
  &__results-end {
7
8
  align-self: center;
8
9
  user-select: none;
9
- margin-top: 16rem;
10
+ margin-top: var(--neon-space-16);
10
11
  font-size: var(--neon-font-size-s);
11
12
  color: var(--neon-color-low-contrast);
12
13
  }
@@ -42,19 +43,10 @@
42
43
  }
43
44
 
44
45
  &__cards {
46
+ @include scrollbars.scrollbars;
47
+ overflow-y: auto;
45
48
  border-top: var(--neon-border);
46
49
  position: relative;
47
-
48
- .neon-splash-loader {
49
- position: absolute;
50
- width: 100%;
51
- height: 100%;
52
- top: 0;
53
- left: 0;
54
- right: 0;
55
- bottom: 0;
56
- z-index: var(--neon-z-index-above);
57
- }
58
50
  }
59
51
 
60
52
  .neon-card-list__card {
@@ -0,0 +1,48 @@
1
+ @use '../includes/responsive';
2
+
3
+ @mixin loading-state-card {
4
+ .neon-loading-state-card {
5
+ .neon-loading-state-card__thumbnail {
6
+ --neon-border-radius-skeleton-loader: var(--neon-border-radius-loading-state-card-thumbnail);
7
+ --neon-height-skeleton-loader: 48rem;
8
+ min-width: 48rem;
9
+ width: 48rem;
10
+ }
11
+
12
+ .neon-loading-state-card__main-content {
13
+ gap: var(--neon-space-8);
14
+ width: 50%;
15
+ height: 48rem;
16
+ }
17
+
18
+ .neon-loading-state-card__main-content-item {
19
+ --neon-height-skeleton-loader: 22rem;
20
+ width: 50%;
21
+ }
22
+
23
+ .neon-loading-state-card__additional-content {
24
+ --neon-height-skeleton-loader: 20rem;
25
+ width: 25%;
26
+ height: 20rem;
27
+ justify-content: center;
28
+ margin-left: auto;
29
+ }
30
+
31
+ @include responsive.responsive(mobile-large) {
32
+ gap: var(--neon-space-16);
33
+
34
+ .neon-loading-state-card__main-content {
35
+ width: 50%;
36
+ }
37
+
38
+ .neon-loading-state-card__main-content-item {
39
+ width: 100%;
40
+ }
41
+
42
+ .neon-loading-state-card__additional-content {
43
+ margin-left: 0;
44
+ width: 50%;
45
+ }
46
+ }
47
+ }
48
+ }
@@ -17,6 +17,7 @@
17
17
  flex: 1 1 auto;
18
18
  width: var(--neon-width-skeleton-loader);
19
19
  max-width: var(--neon-width-skeleton-loader);
20
+ height: var(--neon-height-skeleton-loader);
20
21
  min-height: var(--neon-height-skeleton-loader);
21
22
  border-radius: var(--neon-border-radius-skeleton-loader);
22
23
  position: relative;
@@ -68,3 +68,4 @@
68
68
  @forward './filter-bar';
69
69
  @forward './empty-state';
70
70
  @forward './list-layout';
71
+ @forward './loading-state-card';
@@ -2,7 +2,7 @@
2
2
  .neon-fade-transition {
3
3
  &-enter-active,
4
4
  &-leave-active {
5
- transition: opacity ease-in-out var(--neon-animation-speed-fast);
5
+ transition: opacity ease-in-out var(--neon-animation-speed-fast) var(--neon-animation-speed-fast) allow-discrete;
6
6
  }
7
7
 
8
8
  &-enter-from,
@@ -13,11 +13,11 @@
13
13
 
14
14
  .neon-splash-transition {
15
15
  &-enter-active {
16
- transition: opacity ease-in-out var(--neon-animation-speed-fast);
16
+ transition: opacity ease-in-out var(--neon-animation-speed-fast) var(--neon-animation-speed-fast) allow-discrete;
17
17
  }
18
18
 
19
19
  &-leave-active {
20
- transition: opacity ease-in-out var(--neon-animation-speed-slowest);
20
+ transition: opacity ease-in-out var(--neon-animation-speed-slowest) var(--neon-animation-speed-fast) allow-discrete;
21
21
  }
22
22
 
23
23
  &-enter-from,
@@ -127,7 +127,7 @@
127
127
  NeonField: [],
128
128
  NeonStack: [],
129
129
  NeonInline: [],
130
- NeonCardList: [NeonSelectableCard, NeonSwitch, NeonIcon, NeonButton, NeonExpansionIndicator, NeonIcon, NeonLink, NeonCard, NeonCardHeader, NeonCardBody, NeonInline, NeonStack, NeonPagination],
130
+ NeonCardList: [NeonSelectableCard, NeonSwitch, NeonIcon, NeonButton, NeonExpansionIndicator, NeonIcon, NeonLink, NeonCard, NeonCardHeader, NeonCardBody, NeonInline, NeonStack, NeonPagination, NeonLoadingStateCard, NeonSkeletonLoader],
131
131
  NeonImageCarousel: [NeonButton, NeonLink],
132
132
  NeonSwiper: [],
133
133
  NeonMobileMenu: [NeonIcon, NeonLink],
@@ -142,7 +142,8 @@
142
142
  NeonSearchFilter: [NeonButton, NeonInput, NeonLink, NeonStack, NeonSwitch, NeonExpansionIndicator, NeonIcon, NeonLink, NeonFieldGroup, NeonDropdown, NeonBadge],
143
143
  NeonFilterBar: [NeonInline, NeonSwiper],
144
144
  NeonEmptyState: [NeonButton, NeonIcon, NeonInline, NeonStack, NeonExpansionIndicator, NeonLink],
145
- NeonListLayout: [NeonBreadcrumbs, NeonButton, NeonCard, NeonCardBody, NeonCardHeader, NeonCardList, NeonEmptyState, NeonExpansionIndicator, NeonHeader, NeonIcon, NeonInline, NeonLink, NeonNote, NeonPagination, NeonSelectableCard, NeonStack, NeonSwiper, NeonSwitch],
145
+ NeonListLayout: [NeonBreadcrumbs, NeonButton, NeonCard, NeonCardBody, NeonCardHeader, NeonCardList, NeonEmptyState, NeonExpansionIndicator, NeonHeader, NeonIcon, NeonInline, NeonLink, NeonNote, NeonPagination, NeonSelectableCard, NeonSwiper, NeonSwitch],
146
+ NeonLoadingStateCard: [NeonInline, NeonStack, NeonSkeletonLoader],
146
147
  );
147
148
 
148
149
  $neon-flattened-components: [];
@@ -9,10 +9,10 @@
9
9
  --neon-rgb-text-primary-dark: 248, 248, 248;
10
10
  --neon-rgb-text-secondary-dark: 221, 221, 221;
11
11
  --neon-rgb-text-tertiary-dark: 166, 166, 166;
12
- --neon-rgb-disabled-background-dark: 55, 55, 55;
12
+ --neon-rgb-disabled-background-dark: 16, 16, 16;
13
13
  --neon-rgb-disabled-border-dark: 65, 65, 65;
14
14
  --neon-rgb-disabled-text-dark: 80, 80, 80;
15
- --neon-rgb-disabled-background-light: 240, 240, 240;
15
+ --neon-rgb-disabled-background-light: 248, 248, 248;
16
16
  --neon-rgb-disabled-border-light: 220, 220, 220;
17
17
  --neon-rgb-disabled-text-light: 200, 200, 200;
18
18
  --neon-rgb-low-contrast-l5: 221, 221, 221;
@@ -320,4 +320,8 @@ $neon-components: null !default;
320
320
  @if index($neon-flattened-components, NeonListLayout) {
321
321
  @include components.list-layout;
322
322
  }
323
+
324
+ @if index($neon-flattened-components, NeonLoadingStateCard) {
325
+ @include components.loading-state-card;
326
+ }
323
327
  }
@@ -1141,17 +1141,17 @@
1141
1141
  * @component NeonSkeletonLoader
1142
1142
  * 1st loading color.
1143
1143
  */
1144
- --neon-color-loading-1: rgb(64, 64, 64);
1144
+ --neon-color-loading-1: rgb(16, 16, 16);
1145
1145
  /**
1146
1146
  * @component NeonSkeletonLoader
1147
1147
  * 2nd loading color.
1148
1148
  */
1149
- --neon-color-loading-2: rgb(82, 82, 82);
1149
+ --neon-color-loading-2: rgb(24, 24, 24);
1150
1150
  /**
1151
1151
  * @component NeonSkeletonLoader
1152
1152
  * 3rd loading color.
1153
1153
  */
1154
- --neon-color-loading-3: rgba(82, 82, 82, 0.5);
1154
+ --neon-color-loading-3: rgba(24, 24, 24, 0.5);
1155
1155
 
1156
1156
 
1157
1157
  /* scrollbars */
@@ -1197,7 +1197,7 @@
1197
1197
  * @component NeonSkeletonLoader
1198
1198
  * Skeleton loader border radius
1199
1199
  */
1200
- --neon-border-radius-skeleton-loader: 0rem;
1200
+ --neon-border-radius-skeleton-loader: 2rem;
1201
1201
  /**
1202
1202
  * @component NeonSkeletonLoader
1203
1203
  * Skeleton loader width
@@ -1212,7 +1212,7 @@
1212
1212
  * @component NeonSkeletonLoader
1213
1213
  * Skeleton loader gap between items
1214
1214
  */
1215
- --neon-gap-skeleton-loader: 5rem;
1215
+ --neon-gap-skeleton-loader: var(--neon-space-4);
1216
1216
 
1217
1217
  /* expansion panel */
1218
1218
  /**
@@ -1403,4 +1403,11 @@
1403
1403
  * Max width of the empty state content
1404
1404
  */
1405
1405
  --neon-max-width-empty-state: 416rem;
1406
+
1407
+ /* Loading state card */
1408
+ /**
1409
+ * @component NeonLoadingStateCard,NeonCardList
1410
+ * Border radius on the thumbnail placeholder in the loading state card. Set to 50% for a circular thumbnail.
1411
+ */
1412
+ --neon-border-radius-loading-state-card-thumbnail: var(--neon-border-radius-skeleton-loader);
1406
1413
  }
@@ -1141,17 +1141,17 @@
1141
1141
  * @component NeonSkeletonLoader
1142
1142
  * 1st loading color.
1143
1143
  */
1144
- --neon-color-loading-1: rgb(226, 226, 226);
1144
+ --neon-color-loading-1: rgb(240, 240, 240);
1145
1145
  /**
1146
1146
  * @component NeonSkeletonLoader
1147
1147
  * 2nd loading color.
1148
1148
  */
1149
- --neon-color-loading-2: rgb(212, 212, 212);
1149
+ --neon-color-loading-2: rgb(232, 232, 232);
1150
1150
  /**
1151
1151
  * @component NeonSkeletonLoader
1152
1152
  * 3rd loading color.
1153
1153
  */
1154
- --neon-color-loading-3: rgba(212, 212, 212, 0.5);
1154
+ --neon-color-loading-3: rgba(232, 232, 232, 0.5);
1155
1155
 
1156
1156
 
1157
1157
  /* scrollbars */