srcdev-nuxt-components 2.5.18 → 3.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 (87) hide show
  1. package/nuxt.config.ts +3 -1
  2. package/package.json +1 -1
  3. package/assets/styles/a11y/_utils.css +0 -20
  4. package/assets/styles/a11y/_variables.css +0 -8
  5. package/assets/styles/a11y/index.css +0 -2
  6. package/assets/styles/forms/index.css +0 -2
  7. package/assets/styles/forms/themes/_error.css +0 -77
  8. package/assets/styles/forms/themes/_ghost.css +0 -77
  9. package/assets/styles/forms/themes/_input-action.css +0 -20
  10. package/assets/styles/forms/themes/_primary.css +0 -82
  11. package/assets/styles/forms/themes/_secondary.css +0 -77
  12. package/assets/styles/forms/themes/_success.css +0 -77
  13. package/assets/styles/forms/themes/_tertiary.css +0 -77
  14. package/assets/styles/forms/themes/_warning.css +0 -77
  15. package/assets/styles/forms/themes/index.css +0 -8
  16. package/assets/styles/forms/variables/_sizes.css +0 -82
  17. package/assets/styles/forms/variables/_theme.css +0 -11
  18. package/assets/styles/forms/variables/index.css +0 -2
  19. package/assets/styles/main.css +0 -5
  20. package/assets/styles/typography/index.css +0 -2
  21. package/assets/styles/typography/utils/_font-classes.css +0 -160
  22. package/assets/styles/typography/utils/_weights.css +0 -69
  23. package/assets/styles/typography/utils/index.css +0 -2
  24. package/assets/styles/typography/variables/_colors.css +0 -14
  25. package/assets/styles/typography/variables/_reponsive-font-size.css +0 -10
  26. package/assets/styles/typography/variables/index.css +0 -2
  27. package/assets/styles/utils/_animations.css +0 -42
  28. package/assets/styles/utils/_canvasWidths.css +0 -18
  29. package/assets/styles/utils/_display.css +0 -7
  30. package/assets/styles/utils/_margin-helpers.css +0 -334
  31. package/assets/styles/utils/_padding-helpers.css +0 -308
  32. package/assets/styles/utils/_page.css +0 -24
  33. package/assets/styles/utils/_placement.css +0 -73
  34. package/assets/styles/utils/index.css +0 -7
  35. package/assets/styles/variables/colors/_blue.css +0 -15
  36. package/assets/styles/variables/colors/_gray.css +0 -16
  37. package/assets/styles/variables/colors/_green.css +0 -15
  38. package/assets/styles/variables/colors/_orange.css +0 -15
  39. package/assets/styles/variables/colors/_red.css +0 -15
  40. package/assets/styles/variables/colors/_yellow.css +0 -15
  41. package/assets/styles/variables/colors/colors.css +0 -6
  42. package/assets/styles/variables/components/_accordian.css +0 -7
  43. package/assets/styles/variables/components/_container-glow-core.css +0 -16
  44. package/assets/styles/variables/components/_display-dialog-core.css +0 -35
  45. package/assets/styles/variables/components/_tabs.css +0 -18
  46. package/assets/styles/variables/components/display-prompt-core/_scaffolding.css +0 -57
  47. package/assets/styles/variables/components/display-prompt-core/index.css +0 -2
  48. package/assets/styles/variables/components/display-prompt-core/themes/_error.css +0 -39
  49. package/assets/styles/variables/components/display-prompt-core/themes/_info.css +0 -39
  50. package/assets/styles/variables/components/display-prompt-core/themes/_success.css +0 -39
  51. package/assets/styles/variables/components/display-prompt-core/themes/_warning.css +0 -39
  52. package/assets/styles/variables/components/display-prompt-core/themes/index.css +0 -4
  53. package/assets/styles/variables/components/index.css +0 -5
  54. package/assets/styles/variables/index.css +0 -2
  55. package/components/animated-svg-text/AnimatedSvgText.vue +0 -87
  56. package/components/canvas-switcher/CanvasSwitcher.vue +0 -77
  57. package/components/clip-element/ClipElement.vue +0 -73
  58. package/components/clipped-panels/ClippedPanel.vue +0 -73
  59. package/components/deep-expanding-menu/DeepExpandingMenu.vue +0 -214
  60. package/components/deep-expanding-menu/DeepExpandingMenuOld.vue +0 -218
  61. package/components/display-banner/DisplayBanner.vue +0 -63
  62. package/components/display-details/DisplayDetailsCore.vue +0 -312
  63. package/components/functional/accordian/AccordianCore.vue +0 -138
  64. package/components/functional/display-dialog/DisplayDialogCore.vue +0 -244
  65. package/components/functional/display-dialog/variants/DisplayDialogConfirm.vue +0 -45
  66. package/components/functional/display-dialog/variants/DisplayDialogScrollableContent.vue +0 -49
  67. package/components/functional/pop-over/PopOver.vue +0 -88
  68. package/components/image-galleries/SliderGallery.vue +0 -778
  69. package/components/masonry-grid-ordered/MasonryGridOrdered.vue +0 -158
  70. package/components/presentation/container-glow/ContainerGlowCore.vue +0 -211
  71. package/components/presentation/display-grid/DisplayGridCore.vue +0 -22
  72. package/components/presentation/display-prompt/DisplayPromptCore.vue +0 -150
  73. package/components/presentation/display-prompt/variants/DisplayPromptError.vue +0 -53
  74. package/components/presentation/layout-grids/LayoutGridA.vue +0 -103
  75. package/components/presentation/layout-grids/LayoutGridB.vue +0 -132
  76. package/components/presentation/layout-row/LayoutRow.vue +0 -157
  77. package/components/presentation/masonry-grid/MasonryGrid.vue +0 -62
  78. package/components/presentation/masonry-grid-sorted/MasonryGridSorted.vue +0 -115
  79. package/components/presentation/tabs/TabsCore.vue +0 -308
  80. package/components/responsive-header/NavigationItems.vue +0 -164
  81. package/components/responsive-header/ResponsiveHeader.vue +0 -586
  82. package/components/rotating-carousel/RotatingCarouselImage.vue +0 -200
  83. package/composables/useDialogControls.ts +0 -23
  84. package/composables/useStyleClassPassthrough.ts +0 -35
  85. package/composables/useTabs.ts +0 -201
  86. package/types/gallery-data.ts +0 -13
  87. package/types/responsiveHeader.ts +0 -38
@@ -1,132 +0,0 @@
1
- <template>
2
- <div class="layout-grid-b" :class="[elementClasses]">
3
- <section class="top-row">
4
- <div class="top-row-slot-1">
5
- <div class="top-row-slot-1-inner">
6
- <div v-for="key in topRowSlot1ItemCount" class="panel">
7
- <slot :name="`top-row-slot1-${key}-content`"></slot>
8
- </div>
9
- </div>
10
- </div>
11
-
12
- <div class="top-row-slot-2">
13
- <div class="panel">
14
- <slot name="top-row-slot-2"></slot>
15
- </div>
16
- </div>
17
- <div class="top-row-slot-3">
18
- <div class="panel">
19
- <slot name="top-row-slot-3"></slot>
20
- </div>
21
- </div>
22
- </section>
23
-
24
- <section class="bottom-row">
25
- <div v-for="key in bottomRowItemCount" class="panel">
26
- <slot :name="`bottom-row-${key}-content`"></slot>
27
- </div>
28
- </section>
29
- </div>
30
- </template>
31
-
32
- <script setup lang="ts">
33
- const props = defineProps({
34
- topRowSlot1ItemCount: {
35
- type: Number as PropType<number>,
36
- default: 6,
37
- },
38
- bottomRowItemCount: {
39
- type: Number as PropType<number>,
40
- default: 4,
41
- },
42
- styleClassPassthrough: {
43
- type: Array as PropType<string[]>,
44
- default: () => [],
45
- },
46
- });
47
-
48
- const { elementClasses, resetElementClasses } = useStyleClassPassthrough(props.styleClassPassthrough);
49
-
50
- watch(
51
- () => props.styleClassPassthrough,
52
- () => {
53
- resetElementClasses(props.styleClassPassthrough);
54
- }
55
- );
56
- </script>
57
-
58
- <style lang="css">
59
- .layout-grid-b {
60
- --_border-color: light-dark(hsl(0, 29%, 3%), hsl(0, 0%, 92%));
61
- --_color: light-dark(hsl(0, 29%, 3%), hsl(0, 0%, 92%));
62
- --_gap: 12px;
63
-
64
- .panel {
65
- border: 1px solid var(--_border-color);
66
- border-radius: 12px;
67
- padding: 12px;
68
- height: auto;
69
- }
70
-
71
- container-type: inline-size;
72
- display: grid;
73
- grid-template-columns: 1fr;
74
- gap: var(--_gap);
75
- width: 100%;
76
- margin-inline: auto;
77
-
78
- .top-row {
79
- display: grid;
80
- gap: var(--_gap);
81
- width: 100%;
82
-
83
- grid-template-columns: 1fr;
84
- grid-template-areas:
85
- 'slot1'
86
- 'slot2'
87
- 'slot3';
88
-
89
- @container (min-width: 1024px) {
90
- grid-template-columns: 1fr minmax(460px, 33%);
91
- grid-template-areas:
92
- 'slot1 slot2'
93
- 'slot3 slot2';
94
- }
95
- }
96
-
97
- .top-row-slot-1 {
98
- grid-area: slot1;
99
- container-type: inline-size;
100
-
101
- .top-row-slot-1-inner {
102
- display: grid;
103
- grid-template-columns: repeat(2, 1fr);
104
-
105
- gap: var(--_gap);
106
-
107
- @container (min-width: 680px) {
108
- grid-template-columns: repeat(3, 1fr);
109
- }
110
-
111
- .panel {
112
- display: grid;
113
- }
114
- }
115
- }
116
-
117
- .top-row-slot-2 {
118
- grid-area: slot2;
119
- display: grid;
120
- }
121
- .top-row-slot-3 {
122
- grid-area: slot3;
123
- display: grid;
124
- }
125
-
126
- .bottom-row {
127
- display: grid;
128
- grid-template-columns: repeat(2, 1fr);
129
- gap: var(--_gap);
130
- }
131
- }
132
- </style>
@@ -1,157 +0,0 @@
1
- <template>
2
- <div class="layout-row" :class="elementClasses">
3
- <component :is="tag" :data-testid="dataTestid" class="layout-row-inner" :class="variant">
4
- <div>
5
- <slot name="default"></slot>
6
- </div>
7
- </component>
8
- </div>
9
- </template>
10
-
11
- <script lang="ts">
12
- const TAGS_ALLOWED = <string[]>['div', 'section', 'article', 'aside', 'header', 'footer', 'main', 'nav', 'ul', 'ol'];
13
-
14
- const VARIANT_CLASSES = <string[]>[
15
- 'full',
16
- 'full-start',
17
- 'full-end',
18
- 'popout',
19
- 'popout-start',
20
- 'popout-end',
21
- 'content',
22
- 'content-start',
23
- 'content-end',
24
- 'inset-content',
25
- 'inset-content-start',
26
- 'inset-content-end',
27
- 'full-width',
28
- 'full-content',
29
- 'full-content-nopad',
30
- 'full-content',
31
- ];
32
- </script>
33
-
34
- <script setup lang="ts">
35
- const props = defineProps({
36
- dataTestid: {
37
- type: String,
38
- default: 'layout-row',
39
- },
40
- tag: {
41
- type: String,
42
- default: 'div',
43
- validator(value: string) {
44
- return TAGS_ALLOWED.includes(value);
45
- },
46
- },
47
- variant: {
48
- type: String,
49
- required: true,
50
- validator(value: string) {
51
- return VARIANT_CLASSES.includes(value);
52
- },
53
- },
54
- styleClassPassthrough: {
55
- type: Array as PropType<string[]>,
56
- default: () => [],
57
- },
58
- });
59
-
60
- const { elementClasses } = useStyleClassPassthrough(props.styleClassPassthrough);
61
- </script>
62
-
63
- <style lang="css">
64
- /*
65
- * Page Layout by https://layout-breakouts-builder.vercel.app
66
- **/
67
- .layout-row > *,
68
- .full-width > * {
69
- grid-column: content;
70
- }
71
- .layout-row,
72
- .full-width {
73
- --minimum-content-padding: 1rem;
74
-
75
- /** TRACK WIDTHS **/
76
- --full-max-width: 1fr;
77
- --popout-max-width: 1400px;
78
- --content-max-width: 1060px;
79
- --inset-content-max-width: 840px;
80
-
81
- /** TRACK SIZES **/
82
- --full: minmax(var(--minimum-content-padding), 1fr);
83
- --popout: minmax(0, calc((var(--popout-max-width) - var(--content-max-width)) * 0.5));
84
- --content: minmax(0, calc((var(--content-max-width) - var(--inset-content-max-width)) * 0.5));
85
- --inset-content: min(var(--inset-content-max-width), 100% - var(--minimum-content-padding) * 2);
86
-
87
- display: grid;
88
- grid-template-columns:
89
- [full-start]
90
- var(--full)
91
- [popout-start]
92
- var(--popout)
93
- [content-start]
94
- var(--content)
95
- [inset-content-start]
96
- var(--inset-content)
97
- [inset-content-end]
98
- var(--content)
99
- [content-end]
100
- var(--popout)
101
- [popout-end]
102
- var(--full)
103
- [full-end];
104
- }
105
-
106
- /** CLASSES **/
107
- .full {
108
- grid-column: full;
109
- }
110
- .full-start {
111
- grid-column-start: full-start;
112
- }
113
- .full-end {
114
- grid-column-end: full-end;
115
- }
116
-
117
- .popout {
118
- grid-column: popout;
119
- }
120
- .popout-start {
121
- grid-column-start: popout-start;
122
- }
123
- .popout-end {
124
- grid-column-end: popout-end;
125
- }
126
-
127
- .content {
128
- grid-column: content;
129
- }
130
- .content-start {
131
- grid-column-start: content-start;
132
- }
133
- .content-end {
134
- grid-column-end: content-end;
135
- }
136
-
137
- .inset-content {
138
- grid-column: inset-content;
139
- }
140
- .inset-content-start {
141
- grid-column-start: inset-content-start;
142
- }
143
- .inset-content-end {
144
- grid-column-end: inset-content-end;
145
- }
146
-
147
- .full-width {
148
- grid-column: full;
149
- }
150
- .full-content,
151
- .full-content-nopad {
152
- grid-column: full;
153
- }
154
- .full-content {
155
- padding-inline: var(--minimum-content-padding);
156
- }
157
- </style>
@@ -1,62 +0,0 @@
1
- <template>
2
- <div class="masonry-grid-wrapper" :class="[elementClasses]" :style="`--_masonry-grid-gap: ${gap}${unit}; --_item-min-width: ${itemMinWidth}px`">
3
- <template v-for="item in gridData" :key="item.id">
4
- <div class="masonry-grid-item">
5
- <slot :name="item.id"></slot>
6
- </div>
7
- </template>
8
- </div>
9
- </template>
10
-
11
- <script setup lang="ts">
12
- const props = defineProps({
13
- gridData: {
14
- type: Object,
15
- default: {},
16
- },
17
- itemMinWidth: {
18
- type: Number,
19
- default: 300,
20
- },
21
- gap: {
22
- type: Number,
23
- default: 1.2,
24
- },
25
- unit: {
26
- type: String,
27
- default: 'rem',
28
- },
29
- styleClassPassthrough: {
30
- type: Array as PropType<string[]>,
31
- default: () => [],
32
- },
33
- });
34
-
35
- const { elementClasses, resetElementClasses } = useStyleClassPassthrough(props.styleClassPassthrough);
36
-
37
- const gridData = toRef(() => props.gridData);
38
-
39
- watch(
40
- () => props.styleClassPassthrough,
41
- () => {
42
- resetElementClasses(props.styleClassPassthrough);
43
- }
44
- );
45
- </script>
46
-
47
- <style lang="css">
48
- .masonry-grid-wrapper {
49
- --_border-color: light-dark(hsl(0, 29%, 3%), hsl(0, 0%, 92%));
50
- --_color: light-dark(hsl(0, 29%, 3%), hsl(0, 0%, 92%));
51
-
52
- columns: var(--_item-min-width);
53
- gap: 12px;
54
-
55
- .masonry-grid-item {
56
- break-inside: avoid;
57
- outline: 0.1rem solid var(--_border-color);
58
- padding: 1.2rem;
59
- margin-block-end: var(--_masonry-grid-gap);
60
- }
61
- }
62
- </style>
@@ -1,115 +0,0 @@
1
- <template>
2
- <div class="masonry-grid-wrapper" :class="[elementClasses]" :style="`--_masonry-grid-gap: ${gap}${unit}; --_item-min-width: ${itemMinWidth}px`" ref="gridWrapper">
3
- <template v-for="item in rearrangedItems" :key="item.id">
4
- <div class="masonry-grid-item">
5
- <slot :name="item.id"></slot>
6
- </div>
7
- </template>
8
- </div>
9
- </template>
10
-
11
- <script setup lang="ts">
12
- import { useResizeObserver } from '@vueuse/core';
13
-
14
- const props = defineProps({
15
- gridData: {
16
- type: Array as PropType<any[]>,
17
- default: () => [],
18
- },
19
- itemMinWidth: {
20
- type: Number,
21
- default: 300,
22
- },
23
- gap: {
24
- type: Number,
25
- default: 1.2,
26
- },
27
- unit: {
28
- type: String,
29
- default: 'rem',
30
- },
31
- styleClassPassthrough: {
32
- type: Array as PropType<string[]>,
33
- default: () => [],
34
- },
35
- });
36
-
37
- const { elementClasses, resetElementClasses } = useStyleClassPassthrough(props.styleClassPassthrough);
38
-
39
- const gridData = toRef(() => props.gridData);
40
-
41
- const gridWrapper = ref<HTMLDivElement>();
42
-
43
- const getColumnCountWithinGridWrapper = () => {
44
- return gridWrapper.value ? Math.floor(gridWrapper.value.clientWidth / props.itemMinWidth) : 0;
45
- };
46
-
47
- // const columns = ref(4);
48
- const columns = computed(() => {
49
- return gridWrapper.value ? Math.floor(gridWrapper.value.clientWidth / props.itemMinWidth) : 0;
50
- });
51
-
52
- const rearrangeArray = (items: any[], columns: number): any[] => {
53
- const rows = Math.ceil(items.length / columns);
54
- const rearrangedArray = [];
55
-
56
- for (let col = 0; col < columns; col++) {
57
- for (let row = 0; row < rows; row++) {
58
- const index = row * columns + col;
59
- if (index < items.length) {
60
- rearrangedArray.push(items[index]);
61
- }
62
- }
63
- }
64
-
65
- return rearrangedArray;
66
- };
67
-
68
- const rearrangedItems = computed(() => rearrangeArray(props.gridData, columns.value));
69
- // const rearrangedItems = computed(() => {
70
- // const rows = Math.ceil(props.gridData.length / columns.value);
71
- // const rearrangedArray = [];
72
-
73
- // for (let col = 0; col < columns.value; col++) {
74
- // for (let row = 0; row < rows; row++) {
75
- // const index = row * columns.value + col;
76
- // if (index < props.gridData.length) {
77
- // rearrangedArray.push(props.gridData[index]);
78
- // }
79
- // }
80
- // }
81
-
82
- // return rearrangedArray;
83
- // });
84
-
85
- watch(
86
- () => props.styleClassPassthrough,
87
- () => {
88
- resetElementClasses(props.styleClassPassthrough);
89
- }
90
- );
91
-
92
- // onMounted(() => {
93
- // console.log(getColumnCountWithinGridWrapper());
94
- // });
95
-
96
- // useResizeObserver(gridWrapper, () => {
97
- // console.log(getColumnCountWithinGridWrapper());
98
- // });
99
- </script>
100
-
101
- <style lang="css">
102
- .masonry-grid-wrapper {
103
- --_border-color: light-dark(hsl(0, 29%, 3%), hsl(0, 0%, 92%));
104
-
105
- columns: var(--_item-min-width);
106
- gap: var(--_masonry-grid-gap);
107
-
108
- .masonry-grid-item {
109
- break-inside: avoid;
110
- outline: 0.1rem solid var(--_border-color);
111
- padding: 1.2rem;
112
- margin-block-end: var(--_masonry-grid-gap);
113
- }
114
- }
115
- </style>