srcdev-nuxt-components 5.0.2 → 6.0.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 (75) hide show
  1. package/README.md +1 -9
  2. package/nuxt.config.ts +5 -2
  3. package/package.json +11 -12
  4. package/assets/styles/extends-layer/srcdev-components/display-prompt-core/index.css +0 -70
  5. package/assets/styles/extends-layer/srcdev-components/index.css +0 -2
  6. package/assets/styles/extends-layer/srcdev-components/themes/_error.css +0 -15
  7. package/assets/styles/extends-layer/srcdev-components/themes/_info.css +0 -15
  8. package/assets/styles/extends-layer/srcdev-components/themes/_success.css +0 -15
  9. package/assets/styles/extends-layer/srcdev-components/themes/_warning.css +0 -15
  10. package/assets/styles/extends-layer/srcdev-components/themes/index.css +0 -4
  11. package/assets/styles/main.css +0 -2
  12. package/assets/styles/setup/_head.css +0 -5
  13. package/assets/styles/setup/a11y/_utils.css +0 -20
  14. package/assets/styles/setup/a11y/_variables.css +0 -10
  15. package/assets/styles/setup/a11y/index.css +0 -2
  16. package/assets/styles/setup/index.css +0 -5
  17. package/assets/styles/setup/typography/index.css +0 -2
  18. package/assets/styles/setup/typography/utility-classes/_generic-font-classes.css +0 -192
  19. package/assets/styles/setup/typography/utility-classes/_generic-font-variation-settings.css +0 -29
  20. package/assets/styles/setup/typography/utility-classes/_generic-font-weights.css +0 -41
  21. package/assets/styles/setup/typography/utility-classes/index.css +0 -3
  22. package/assets/styles/setup/typography/vars/_reponsive-font-sizes.css +0 -10
  23. package/assets/styles/setup/typography/vars/index.css +0 -1
  24. package/assets/styles/setup/utility-classes/_margin-helpers.css +0 -334
  25. package/assets/styles/setup/utility-classes/_padding-helpers.css +0 -308
  26. package/assets/styles/setup/utility-classes/_page.css +0 -50
  27. package/assets/styles/setup/utility-classes/index.css +0 -3
  28. package/assets/styles/setup/variables/colors/_blue.css +0 -15
  29. package/assets/styles/setup/variables/colors/_gray.css +0 -16
  30. package/assets/styles/setup/variables/colors/_green.css +0 -15
  31. package/assets/styles/setup/variables/colors/_orange.css +0 -15
  32. package/assets/styles/setup/variables/colors/_red.css +0 -15
  33. package/assets/styles/setup/variables/colors/_yellow.css +0 -15
  34. package/assets/styles/setup/variables/colors/index.css +0 -6
  35. package/assets/styles/setup/variables/index.css +0 -1
  36. package/components/accordian/AccordianCore.vue +0 -46
  37. package/components/animated-svg-text/AnimatedSvgText.vue +0 -87
  38. package/components/canvas-switcher/CanvasSwitcher.vue +0 -77
  39. package/components/carousel-basic/CarouselBasic.vue +0 -291
  40. package/components/carousel-basic/CarouselFlip.vue +0 -461
  41. package/components/carousel-basic/CarouselInfinite.vue +0 -325
  42. package/components/clip-element/ClipElement.vue +0 -73
  43. package/components/clipped-panels/ClippedPanel.vue +0 -73
  44. package/components/container-glow/ContainerGlowCore.vue +0 -211
  45. package/components/content-grid/ContentGrid.vue +0 -85
  46. package/components/deep-expanding-menu/DeepExpandingMenu.vue +0 -214
  47. package/components/deep-expanding-menu/DeepExpandingMenuOld.vue +0 -218
  48. package/components/display-banner/DisplayBanner.vue +0 -63
  49. package/components/display-details/DisplayDetailsCore.vue +0 -301
  50. package/components/display-dialog/DisplayDialogCore.vue +0 -255
  51. package/components/display-dialog/variants/DisplayDialogConfirm.vue +0 -45
  52. package/components/display-dialog/variants/DisplayDialogScrollableContent.vue +0 -49
  53. package/components/display-grid/DisplayGridCore.vue +0 -22
  54. package/components/display-prompt/DisplayPromptCore.vue +0 -187
  55. package/components/display-prompt/variants/DisplayPromptError.vue +0 -53
  56. package/components/expanding-panel/ExpandingPanel.vue +0 -124
  57. package/components/image-galleries/SliderGallery.vue +0 -784
  58. package/components/layout-grids/LayoutGridA.vue +0 -103
  59. package/components/layout-grids/LayoutGridB.vue +0 -132
  60. package/components/layout-row/LayoutRow.vue +0 -165
  61. package/components/masonry-grid/MasonryGrid.vue +0 -62
  62. package/components/masonry-grid-ordered/MasonryGridOrdered.vue +0 -158
  63. package/components/masonry-grid-sorted/MasonryGridSorted.vue +0 -115
  64. package/components/pop-over/PopOver.vue +0 -88
  65. package/components/responsive-header/NavigationItems.vue +0 -169
  66. package/components/responsive-header/ResponsiveHeader.vue +0 -686
  67. package/components/rotating-carousel/RotatingCarouselImage.vue +0 -200
  68. package/components/skip-links/SkipLinks.vue +0 -92
  69. package/components/tabs/TabsCore.vue +0 -277
  70. package/composables/useDialogControls.ts +0 -44
  71. package/composables/useStyleClassPassthrough.ts +0 -35
  72. package/composables/useTabs.ts +0 -201
  73. package/types/gallery-data.ts +0 -13
  74. package/types/responsiveHeader.ts +0 -38
  75. package/types/types.carousel-basic.ts +0 -19
package/README.md CHANGED
@@ -10,14 +10,6 @@ Althought this repo is public and feel free to do what you wish with it, this ha
10
10
  npm install --save nuxt-compnents
11
11
  ```
12
12
 
13
- ## Additional required packages
14
-
15
- ```bash
16
- npm install --save @oddbird/css-anchor-positioning
17
- ```
18
-
19
- Then add the dependency to the property `extends` in `nuxt.config`:
20
-
21
13
  ```ts
22
14
  defineNuxtConfig({
23
15
  extends: 'nuxt-compnents',
@@ -55,7 +47,7 @@ The setup layer provides the foundational styles and utilities:
55
47
  #### Typography (`/typography`)
56
48
 
57
49
  - **Responsive Font Sizes** - Fluid typography using clamp() functions:
58
- - `--step-5` to `--step--2` providing 8 responsive font size steps
50
+ - `--step-8` to `--step-1` providing 8 responsive font size steps
59
51
  - **Utility Classes** - Pre-built typography classes:
60
52
  - `.heading-1` through `.heading-5` - Semantic heading styles
61
53
  - Generic font weight and variation settings
package/nuxt.config.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  // https://nuxt.com/docs/api/configuration/nuxt-config
2
2
  export default defineNuxtConfig({
3
3
  devtools: { enabled: true },
4
- css: ['modern-normalize', './assets/styles/main.css'],
4
+ css: ['modern-normalize', './app/assets/styles/main.css'],
5
5
  modules: ['@nuxt/icon', '@nuxt/image'],
6
6
  app: {
7
7
  head: {
@@ -11,6 +11,9 @@ export default defineNuxtConfig({
11
11
  },
12
12
  titleTemplate: '%s - Nuxt Components Layer',
13
13
  meta: [{ charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }],
14
+ bodyAttrs: {
15
+ class: 'srcdev-components-extended',
16
+ },
14
17
  },
15
18
  pageTransition: {
16
19
  name: 'page',
@@ -30,7 +33,7 @@ export default defineNuxtConfig({
30
33
  vue: {
31
34
  runtimeCompiler: true,
32
35
  },
33
- compatibilityDate: '2024-07-13',
36
+ compatibilityDate: '2024-11-01',
34
37
  typescript: {
35
38
  includeWorkspace: true,
36
39
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "srcdev-nuxt-components",
3
3
  "type": "module",
4
- "version": "5.0.2",
4
+ "version": "6.0.0",
5
5
  "main": "nuxt.config.ts",
6
6
  "scripts": {
7
7
  "clean": "rm -rf .nuxt && rm -rf .output && rm -rf .playground/.nuxt && rm -rf .playground/.output",
@@ -25,18 +25,17 @@
25
25
  "types/"
26
26
  ],
27
27
  "devDependencies": {
28
- "@iconify-json/akar-icons": "1.2.2",
29
- "@iconify-json/bitcoin-icons": "1.2.2",
30
- "@nuxt/eslint-config": "1.5.2",
31
- "@nuxt/icon": "1.15.0",
32
- "@nuxt/image": "1.10.0",
33
- "@oddbird/css-anchor-positioning": "0.6.1",
34
- "@vueuse/core": "13.5.0",
28
+ "@iconify-json/akar-icons": "1.2.7",
29
+ "@iconify-json/bitcoin-icons": "1.2.4",
30
+ "@nuxt/eslint-config": "1.8.0",
31
+ "@nuxt/icon": "2.0.0",
32
+ "@nuxt/image": "1.11.0",
33
+ "@vueuse/core": "13.6.0",
35
34
  "eslint": "9.31.0",
36
- "happy-dom": "16.8.1",
37
- "nuxt": "3.17.6",
38
- "release-it": "18.1.2",
39
- "typescript": "5.8.3"
35
+ "happy-dom": "18.0.1",
36
+ "nuxt": "4.0.3",
37
+ "release-it": "19.0.4",
38
+ "typescript": "5.9.2"
40
39
  },
41
40
  "dependencies": {
42
41
  "focus-trap-vue": "4.0.3",
@@ -1,70 +0,0 @@
1
- .display-prompt-core {
2
- .display-prompt-wrapper {
3
- background-color: var(--component-theme-10);
4
- border: 1px solid var(--component-theme-8);
5
- border-inline-start: 8px solid var(--component-theme-8);
6
- border-radius: 4px;
7
- border-start-start-radius: 8px;
8
- border-end-start-radius: 8px;
9
-
10
- .display-prompt-inner {
11
- align-items: center;
12
- gap: 12px;
13
- padding-block: 1rem;
14
- padding-inline: 1.5rem;
15
-
16
- .display-prompt-icon {
17
- .icon {
18
- color: var(--component-theme-8);
19
- font-size: 3rem;
20
- font-style: normal;
21
- font-weight: normal;
22
- }
23
- }
24
-
25
- .display-prompt-content {
26
- gap: 1rem;
27
- margin: 0;
28
- padding: 0.2rem;
29
-
30
- .title {
31
- font-size: var(--step-2);
32
- font-weight: bold;
33
- line-height: 1.3;
34
- color: var(--component-theme-8);
35
- margin: 0;
36
- padding: 0;
37
- }
38
-
39
- .text {
40
- font-size: var(--step-2);
41
- font-weight: normal;
42
- line-height: 1.3;
43
- color: var(--component-theme-8);
44
- margin: 0;
45
- padding: 0;
46
- }
47
- }
48
- .display-prompt-action {
49
- background-color: transparent;
50
- align-items: center;
51
- margin: 1rem;
52
- padding: 0.5rem;
53
- border: 0.1rem solid var(--component-theme-8);
54
- border-radius: 50%;
55
- outline: 1px solid var(--component-theme-3);
56
-
57
- &:hover {
58
- cursor: pointer;
59
- }
60
-
61
- .icon {
62
- color: var(--component-theme-8);
63
- font-size: var(--step-2);
64
- border: 1px solid green;
65
- padding: 1rem;
66
- }
67
- }
68
- }
69
- }
70
- }
@@ -1,2 +0,0 @@
1
- @import './themes';
2
- @import './display-prompt-core';
@@ -1,15 +0,0 @@
1
- [data-prompt-theme='error'] {
2
- --component-theme-0: var(--red-0);
3
- --component-theme-1: var(--red-1);
4
- --component-theme-2: var(--red-2);
5
- --component-theme-3: var(--red-3);
6
- --component-theme-4: var(--red-4);
7
- --component-theme-5: var(--red-5);
8
- --component-theme-6: var(--red-6);
9
- --component-theme-7: var(--red-7);
10
- --component-theme-8: var(--red-8);
11
- --component-theme-9: var(--red-9);
12
- --component-theme-10: var(--red-10);
13
- --component-theme-11: var(--red-11);
14
- --component-theme-12: var(--red-12);
15
- }
@@ -1,15 +0,0 @@
1
- [data-prompt-theme='info'] {
2
- --component-theme-0: var(--blue-0);
3
- --component-theme-1: var(--blue-1);
4
- --component-theme-2: var(--blue-2);
5
- --component-theme-3: var(--blue-3);
6
- --component-theme-4: var(--blue-4);
7
- --component-theme-5: var(--blue-5);
8
- --component-theme-6: var(--blue-6);
9
- --component-theme-7: var(--blue-7);
10
- --component-theme-8: var(--blue-8);
11
- --component-theme-9: var(--blue-9);
12
- --component-theme-10: var(--blue-10);
13
- --component-theme-11: var(--blue-11);
14
- --component-theme-12: var(--blue-12);
15
- }
@@ -1,15 +0,0 @@
1
- [data-prompt-theme='success'] {
2
- --component-theme-0: var(--green-0);
3
- --component-theme-1: var(--green-1);
4
- --component-theme-2: var(--green-2);
5
- --component-theme-3: var(--green-3);
6
- --component-theme-4: var(--green-4);
7
- --component-theme-5: var(--green-5);
8
- --component-theme-6: var(--green-6);
9
- --component-theme-7: var(--green-7);
10
- --component-theme-8: var(--green-8);
11
- --component-theme-9: var(--green-9);
12
- --component-theme-10: var(--green-10);
13
- --component-theme-11: var(--green-11);
14
- --component-theme-12: var(--green-12);
15
- }
@@ -1,15 +0,0 @@
1
- [data-prompt-theme='warning'] {
2
- --component-theme-0: var(--orange-0);
3
- --component-theme-1: var(--orange-1);
4
- --component-theme-2: var(--orange-2);
5
- --component-theme-3: var(--orange-3);
6
- --component-theme-4: var(--orange-4);
7
- --component-theme-5: var(--orange-5);
8
- --component-theme-6: var(--orange-6);
9
- --component-theme-7: var(--orange-7);
10
- --component-theme-8: var(--orange-8);
11
- --component-theme-9: var(--orange-9);
12
- --component-theme-10: var(--orange-10);
13
- --component-theme-11: var(--orange-11);
14
- --component-theme-12: var(--orange-12);
15
- }
@@ -1,4 +0,0 @@
1
- @import './_error';
2
- @import './_success';
3
- @import './_warning';
4
- @import './_info';
@@ -1,2 +0,0 @@
1
- @import './setup/';
2
- @import './extends-layer/srcdev-components/';
@@ -1,5 +0,0 @@
1
- :root {
2
- --font-size: 1.6rem;
3
- --line-height: calc((var(--font-size) * 2) - 1rem);
4
- --font-family: futura-pt, Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
5
- }
@@ -1,20 +0,0 @@
1
- .sr-only {
2
- border-width: 0;
3
- clip: rect(1px, 0.1rem, 0.1rem, 0.1rem);
4
- clip-path: inset(50%);
5
- height: 0.1rem;
6
- overflow: hidden;
7
- position: absolute;
8
- white-space: nowrap;
9
- width: 0.1rem;
10
- }
11
- /* .sr-only {
12
- position: absolute;
13
- width: 0.1rem;
14
- height: 0.1rem;
15
- padding: 0;
16
- margin: -0.1rem;
17
- overflow: hidden;
18
- clip: rect(0, 0, 0, 0);
19
- white-space: nowrap;
20
- } */
@@ -1,10 +0,0 @@
1
- :root {
2
- --focus-box-shadow-colour-off: transparent;
3
- --focus-box-shadow-colour-on: light-dark(var(--blue-12), var(--gray-0));
4
- --form-focus-box-shadow: 0 0 0 0.3rem;
5
-
6
- --box-shadow-off: 0 0 0 0.3rem transparent;
7
- --box-shadow-on: 0 0 0 0.3rem light-dark(var(--blue-12), var(--gray-0));
8
-
9
- --focus-visible-box-shadow: 0 0 0 0.3rem light-dark(var(--blue-12), var(--gray-0));
10
- }
@@ -1,2 +0,0 @@
1
- @import './_variables.css';
2
- @import './_utils.css';
@@ -1,5 +0,0 @@
1
- @import './utility-classes/';
2
- @import './a11y/';
3
- @import './variables/';
4
- @import './typography/';
5
- @import './_head.css';
@@ -1,2 +0,0 @@
1
- @import './utility-classes/';
2
- @import './vars/';
@@ -1,192 +0,0 @@
1
- :root {
2
- .heading-1 {
3
- font-size: var(--step-5);
4
- font-weight: bold;
5
- line-height: 1.3;
6
- }
7
-
8
- .heading-2 {
9
- font-size: var(--step-4);
10
- font-weight: bold;
11
- line-height: 1.3;
12
- }
13
-
14
- .heading-3 {
15
- font-size: var(--step-3);
16
- font-weight: bold;
17
- line-height: 1.3;
18
- }
19
-
20
- .heading-4 {
21
- font-size: var(--step-2);
22
- font-weight: bold;
23
- line-height: 1.3;
24
- }
25
-
26
- .heading-5 {
27
- font-size: var(--step-1);
28
- font-weight: bold;
29
- line-height: 1.3;
30
- }
31
-
32
- .heading-6 {
33
- font-size: var(--step-0);
34
- font-weight: bold;
35
- line-height: 1.3;
36
- }
37
-
38
- /* Body text */
39
-
40
- .body-large {
41
- font-size: var(--step-3);
42
- font-weight: normal;
43
- line-height: 1.5;
44
- }
45
-
46
- .body-medium {
47
- font-size: var(--step-2);
48
- font-weight: normal;
49
- line-height: 1.5;
50
- }
51
-
52
- .body-normal {
53
- font-size: var(--step-1);
54
- font-weight: normal;
55
- line-height: 1.5;
56
- }
57
-
58
- .body-small {
59
- font-size: var(--step--0);
60
- font-weight: normal;
61
- line-height: 1.5;
62
- }
63
-
64
- .body-xsmall {
65
- font-size: var(--step--1);
66
- font-weight: normal;
67
- line-height: 1.5;
68
- }
69
-
70
- .body-large-semibold {
71
- font-size: var(--step-3);
72
- font-weight: 500;
73
- line-height: 1.5;
74
- }
75
-
76
- .body-medium-semibold {
77
- font-size: var(--step-2);
78
- font-weight: 500;
79
- line-height: 1.5;
80
- }
81
-
82
- .body-normal-semibold {
83
- font-size: var(--step-1);
84
- font-weight: 500;
85
- line-height: 1.5;
86
- }
87
-
88
- .body-small-semibold {
89
- font-size: var(--step-0);
90
- font-weight: 500;
91
- line-height: 1.5;
92
- }
93
-
94
- .body-xsmall-semibold {
95
- font-size: var(--step--1);
96
- font-weight: 500;
97
- line-height: 1.5;
98
- }
99
-
100
- .body-large-bold {
101
- font-size: var(--step-3);
102
- font-weight: bold;
103
- line-height: 1.5;
104
- }
105
-
106
- .body-medium-bold {
107
- font-size: var(--step-2);
108
- font-weight: bold;
109
- line-height: 1.5;
110
- }
111
-
112
- .body-normal-bold {
113
- font-size: var(--step-1);
114
- font-weight: bold;
115
- line-height: 1.5;
116
- }
117
-
118
- .body-small-bold {
119
- font-size: var(--step-0);
120
- font-weight: bold;
121
- line-height: 1.5;
122
- }
123
-
124
- .body-xsmall-bold {
125
- font-size: var(--step--1);
126
- font-weight: bold;
127
- line-height: 1.5;
128
- }
129
-
130
- /* Links */
131
-
132
- .link-large {
133
- color: var(--theme-link-default);
134
- font-size: var(--step-3);
135
- font-weight: 600;
136
- line-height: 1.5;
137
- text-decoration: underline;
138
-
139
- &:visited {
140
- color: var(--theme-link-default);
141
- }
142
- }
143
-
144
- .link-medium {
145
- color: var(--theme-link-default);
146
- font-size: var(--step-2);
147
- font-weight: 600;
148
- line-height: 1.5;
149
- text-decoration: underline;
150
-
151
- &:visited {
152
- color: var(--theme-link-default);
153
- }
154
- }
155
-
156
- .link-normal {
157
- color: var(--theme-link-default);
158
- font-size: var(--step-1);
159
- font-weight: 600;
160
- line-height: 1.5;
161
- text-decoration: underline;
162
-
163
- &:visited,
164
- &:active {
165
- color: var(--theme-link-default);
166
- }
167
- }
168
-
169
- .link-small {
170
- color: var(--theme-link-default);
171
- font-size: var(--step-0);
172
- font-weight: 600;
173
- line-height: 1.5;
174
- text-decoration: underline;
175
-
176
- &:visited {
177
- color: var(--theme-link-default);
178
- }
179
- }
180
-
181
- .link-xsmall {
182
- color: var(--theme-link-default);
183
- font-size: var(--step--1);
184
- font-weight: 600;
185
- line-height: 1.5;
186
- text-decoration: underline;
187
-
188
- &:visited {
189
- color: var(--theme-link-default);
190
- }
191
- }
192
- }
@@ -1,29 +0,0 @@
1
- :root {
2
- .fvs-wght-100 {
3
- font-variation-settings: 'wght' 100;
4
- }
5
- .fvs-wght-200 {
6
- font-variation-settings: 'wght' 200;
7
- }
8
- .fvs-wght-300 {
9
- font-variation-settings: 'wght' 300;
10
- }
11
- .fvs-wght-400 {
12
- font-variation-settings: 'wght' 400;
13
- }
14
- .fvs-wght-500 {
15
- font-variation-settings: 'wght' 500;
16
- }
17
- .fvs-wght-600 {
18
- font-variation-settings: 'wght' 600;
19
- }
20
- .fvs-wght-700 {
21
- font-variation-settings: 'wght' 700;
22
- }
23
- .fvs-wght-800 {
24
- font-variation-settings: 'wght' 800;
25
- }
26
- .fvs-wght-900 {
27
- font-variation-settings: 'wght' 900;
28
- }
29
- }
@@ -1,41 +0,0 @@
1
- :root {
2
- /* By numeric step */
3
- .wght-100 {
4
- font-weight: 100;
5
- }
6
- .wght-200 {
7
- font-weight: 200;
8
- }
9
- .wght-300 {
10
- font-weight: 300;
11
- }
12
- .wght-400 {
13
- font-weight: 400;
14
- }
15
- .wght-500 {
16
- font-weight: 500;
17
- }
18
- .wght-600 {
19
- font-weight: 600;
20
- }
21
- .wght-700 {
22
- font-weight: 700;
23
- }
24
- .wght-800 {
25
- font-weight: 800;
26
- }
27
- .wght-900 {
28
- font-weight: 900;
29
- }
30
-
31
- /* By named weight */
32
- .light {
33
- font-weight: light;
34
- }
35
- .normal {
36
- font-weight: normal;
37
- }
38
- .bold {
39
- font-weight: bold;
40
- }
41
- }
@@ -1,3 +0,0 @@
1
- @import './_generic-font-classes.css';
2
- @import './_generic-font-weights.css';
3
- @import './_generic-font-variation-settings.css';
@@ -1,10 +0,0 @@
1
- :root {
2
- --step-5: clamp(2.7994rem, 2.4462rem + 1.7658vw, 3.8147rem);
3
- --step-4: clamp(2.3328rem, 2.0827rem + 1.2504vw, 3.0518rem);
4
- --step-3: clamp(1.944rem, 1.771rem + 0.8651vw, 2.4414rem);
5
- --step-2: clamp(1.62rem, 1.5041rem + 0.5793vw, 1.9531rem);
6
- --step-1: clamp(1.35rem, 1.2761rem + 0.3696vw, 1.5625rem);
7
- --step-0: clamp(1.125rem, 1.0815rem + 0.2174vw, 1.25rem);
8
- --step--1: clamp(0.9375rem, 0.9158rem + 0.1087vw, 1rem);
9
- --step--2: clamp(0.7813rem, 0.7747rem + 0.0326vw, 0.8rem);
10
- }
@@ -1 +0,0 @@
1
- @import './_reponsive-font-sizes.css';