@documental-xyz/core 0.1.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 (114) hide show
  1. package/README.md +424 -0
  2. package/integration.ts +113 -0
  3. package/package.json +83 -0
  4. package/src/admin/admin.astro +29 -0
  5. package/src/assets/scripts/App.js +70 -0
  6. package/src/assets/scripts/EnteringAnimations.js +34 -0
  7. package/src/assets/scripts/MapBoxHandler.js +680 -0
  8. package/src/assets/scripts/ScrollProgressionBar.js +24 -0
  9. package/src/assets/scripts/utils/ScrollObserver.js +166 -0
  10. package/src/assets/styles/config/_breakpoints.scss +37 -0
  11. package/src/assets/styles/config/_colors.scss +8 -0
  12. package/src/assets/styles/config/_config.scss +5 -0
  13. package/src/assets/styles/config/_functions.scss +90 -0
  14. package/src/assets/styles/config/_grrr.configs.scss +7 -0
  15. package/src/assets/styles/config/_mixins.scss +207 -0
  16. package/src/assets/styles/config/_type.scss +175 -0
  17. package/src/assets/styles/config/_vars.scss +16 -0
  18. package/src/assets/styles/globals/_content.scss +47 -0
  19. package/src/assets/styles/globals/_grrr.scss +18 -0
  20. package/src/assets/styles/globals/_html.scss +25 -0
  21. package/src/assets/styles/globals/_lists.scss +19 -0
  22. package/src/assets/styles/globals/_map-anchors.scss +32 -0
  23. package/src/assets/styles/globals/_reset.scss +240 -0
  24. package/src/assets/styles/globals/_reveal-animations.scss +104 -0
  25. package/src/assets/styles/globals/_root.scss +6 -0
  26. package/src/assets/styles/globals/_scroll-progression-bar.scss +8 -0
  27. package/src/assets/styles/main.scss +17 -0
  28. package/src/assets/styles/utils/.gitkeep +0 -0
  29. package/src/assets/styles/utils/grrr/_grrr.scss +433 -0
  30. package/src/assets/styles/utils/list-styles/_list-styles.scss +190 -0
  31. package/src/components/AnimationToggle.astro +19 -0
  32. package/src/components/BigNumbers.astro +83 -0
  33. package/src/components/Button.astro +49 -0
  34. package/src/components/Caption.astro +15 -0
  35. package/src/components/Card.astro +68 -0
  36. package/src/components/Cards.astro +66 -0
  37. package/src/components/CardsCall.astro +125 -0
  38. package/src/components/ChartBar.astro +217 -0
  39. package/src/components/ChartPercentage.astro +137 -0
  40. package/src/components/Column.astro +54 -0
  41. package/src/components/ColumnSticky.astro +129 -0
  42. package/src/components/Columns.astro +139 -0
  43. package/src/components/Compare.astro +266 -0
  44. package/src/components/Cta.astro +242 -0
  45. package/src/components/Gallery.astro +594 -0
  46. package/src/components/Group.astro +140 -0
  47. package/src/components/HtmlEmbed.astro +98 -0
  48. package/src/components/ImageBlock.astro +134 -0
  49. package/src/components/InnerColumns.astro +54 -0
  50. package/src/components/LogosGroup.astro +102 -0
  51. package/src/components/Map.astro +321 -0
  52. package/src/components/MapBox.astro +96 -0
  53. package/src/components/MapView.astro +30 -0
  54. package/src/components/Menu.astro +278 -0
  55. package/src/components/Pullquote.astro +46 -0
  56. package/src/components/Slider.astro +223 -0
  57. package/src/components/Spacer.astro +25 -0
  58. package/src/components/Text.astro +173 -0
  59. package/src/components/TextPlaceholder.astro +98 -0
  60. package/src/components/Timeline.astro +73 -0
  61. package/src/components/TimelineBullet.astro +67 -0
  62. package/src/components/VideoEmbed.astro +99 -0
  63. package/src/content/loader.ts +29 -0
  64. package/src/content/pages/alter-ameacada.md +80 -0
  65. package/src/content/pages/expulsions.md +1447 -0
  66. package/src/content/pages/home.md +346 -0
  67. package/src/content/pages/nhanderekoa-studio-autonoma.md +3113 -0
  68. package/src/content/pages/nhanderekoa-terra-ind/303/255gena-jaragu/303/241.md +3806 -0
  69. package/src/content/pages/nova-landing-page.md +546 -0
  70. package/src/content/pages/territ/303/263rios-de-exce/303/247/303/243o.md +2199 -0
  71. package/src/content/pages/teste-alter-do-chao.md +955 -0
  72. package/src/content/pages/teste-layout.md +1484 -0
  73. package/src/content/pages/thiago.md +93 -0
  74. package/src/content/schema/blog.ts +11 -0
  75. package/src/content/schema/geostorys.ts +13 -0
  76. package/src/content/schema/index.ts +3 -0
  77. package/src/content/schema/pages.ts +494 -0
  78. package/src/content.config.ts +49 -0
  79. package/src/env.d.ts +1 -0
  80. package/src/integration/override-aliases.ts +67 -0
  81. package/src/layouts/components/ButtonLayout.astro +8 -0
  82. package/src/layouts/components/CardLayout.astro +8 -0
  83. package/src/layouts/components/CardsCallLayout.astro +26 -0
  84. package/src/layouts/components/CardsLayout.astro +14 -0
  85. package/src/layouts/components/ChartBarLayout.astro +21 -0
  86. package/src/layouts/components/ChartPercentageLayout.astro +17 -0
  87. package/src/layouts/components/ColumnLayout.astro +11 -0
  88. package/src/layouts/components/ColumnStickyLayout.astro +10 -0
  89. package/src/layouts/components/ColumnsLayout.astro +13 -0
  90. package/src/layouts/components/CompareLayout.astro +22 -0
  91. package/src/layouts/components/CtaLayout.astro +91 -0
  92. package/src/layouts/components/GalleryLayout.astro +24 -0
  93. package/src/layouts/components/GroupLayout.astro +53 -0
  94. package/src/layouts/components/HtmlEmbedLayout.astro +18 -0
  95. package/src/layouts/components/ImageBlockLayout.astro +20 -0
  96. package/src/layouts/components/InnerColumnsLayout.astro +14 -0
  97. package/src/layouts/components/LogosGroupLayout.astro +22 -0
  98. package/src/layouts/components/MapLayout.astro +41 -0
  99. package/src/layouts/components/MapViewLayout.astro +8 -0
  100. package/src/layouts/components/MapboxLayout.astro +248 -0
  101. package/src/layouts/components/PullquoteLayout.astro +13 -0
  102. package/src/layouts/components/SliderLayout.astro +18 -0
  103. package/src/layouts/components/SpacerLayout.astro +8 -0
  104. package/src/layouts/components/TextLayout.astro +17 -0
  105. package/src/layouts/components/TextPlaceholderLayout.astro +7 -0
  106. package/src/layouts/components/TimelineBulletLayout.astro +14 -0
  107. package/src/layouts/components/TimelineLayout.astro +10 -0
  108. package/src/layouts/components/VideoEmbedLayout.astro +28 -0
  109. package/src/layouts/pages/Layout.astro +90 -0
  110. package/src/layouts/pages/PageLayout.astro +200 -0
  111. package/src/lib/collections.ts +1 -0
  112. package/src/routes/[slug].astro +17 -0
  113. package/src/routes/index.astro +5 -0
  114. package/src/vite/yaml-merge-plugin.ts +234 -0
@@ -0,0 +1,140 @@
1
+ ---
2
+ //overlay deve ser: dark ou none
3
+
4
+ const { imgBg, videoBg, txtColor, bgColor, overlay } = Astro.props;
5
+
6
+ // imgBg e videoBg recebem a url direta (deve ser possível apenas um dos dois)
7
+ // overlay recebe booleano
8
+
9
+ const imgBgVar = imgBg && `url(${imgBg})`;
10
+ ---
11
+
12
+ <section
13
+ class:list={[
14
+ "group",
15
+ `group--overlay-${overlay}`,
16
+ imgBg && `group--has-bg-image`,
17
+ ]}
18
+ >
19
+ {
20
+ (imgBg || videoBg) && (
21
+ <div class="group__bg">
22
+ {videoBg && (
23
+ <video autoplay muted loop>
24
+ <source src={videoBg} />
25
+ </video>
26
+ )}
27
+ </div>
28
+ )
29
+ }
30
+ <div class="group__content">
31
+ <slot />
32
+ </div>
33
+ </section>
34
+
35
+ <style lang="scss" define:vars={{ "clr-txt": txtColor, "clr-bg": bgColor, "img-bg": imgBgVar }}>
36
+ @use "../assets/styles/config/config" as *;
37
+
38
+ .group {
39
+ $self: &;
40
+ width: 100%;
41
+ position: relative;
42
+ color: var(--clr-txt);
43
+ background-color: var(--clr-bg);
44
+ z-index: 100;
45
+
46
+ &:has(.gallery-modal[aria-hidden="false"]) {
47
+ position: relative;
48
+ z-index: 99999;
49
+ }
50
+
51
+ @include media-break-down(l) {
52
+ z-index: 4;
53
+ position: relative;
54
+ }
55
+
56
+ &__bg {
57
+ position: absolute;
58
+ inset: 0;
59
+ width: 100%;
60
+
61
+ color: var(--clr-bg);
62
+
63
+ &::after {
64
+ mix-blend-mode: color;
65
+ }
66
+
67
+ &::before {
68
+ color: #4d4d4d;
69
+ opacity: 0.8;
70
+ }
71
+
72
+ #{$self}--overlay-none & {
73
+ &::after,
74
+ &::before {
75
+ display: none;
76
+ }
77
+ }
78
+
79
+ #{$self}--overlay-dark & {
80
+ color: var(--clr-black);
81
+
82
+ &::after {
83
+ opacity: 0.5;
84
+ mix-blend-mode: unset;
85
+ }
86
+
87
+ &::before {
88
+ display: none;
89
+ }
90
+ }
91
+
92
+ #{$self}--has-bg-image & {
93
+ height: 100%;
94
+ background-image: var(--img-bg);
95
+ background-size: cover;
96
+
97
+ @include media-break-up(l) {
98
+ background-attachment: fixed;
99
+ }
100
+
101
+ }
102
+
103
+ &::after,
104
+ &::before {
105
+ content: "";
106
+ display: block;
107
+ position: absolute;
108
+ top: 0;
109
+ left: 0;
110
+ width: 100%;
111
+ height: 100%;
112
+ background-color: currentColor;
113
+ }
114
+
115
+ img {
116
+ width: 100%;
117
+ height: 100%;
118
+ object-fit: cover;
119
+ }
120
+
121
+ video {
122
+ width: 100%;
123
+ height: 100vh;
124
+ position: sticky;
125
+ top: 0;
126
+ object-fit: cover;
127
+ }
128
+ }
129
+
130
+ &__content {
131
+ position: relative;
132
+ z-index: 3;
133
+
134
+ &:has(> *:not(.spacer):not(.column):not(.columns):not(.column-sticky):first-child:last-child) {
135
+ padding-block: var(--mt-m);
136
+ }
137
+
138
+ }
139
+ }
140
+ </style>
@@ -0,0 +1,98 @@
1
+ ---
2
+ import Caption from "./Caption.astro";
3
+
4
+ const { wide } = Astro.props;
5
+ //wide recebe booleano
6
+
7
+ const hasCaption = Astro.slots.has("caption");
8
+ ---
9
+
10
+ <figure class:list={["html-embed", { "html-embed--wide": wide }]}>
11
+ <div class="reveal--fadeInUp">
12
+ <slot />
13
+ {
14
+ hasCaption && (
15
+ <figcaption>
16
+ <Caption><slot name="caption" /></Caption>
17
+ </figcaption>
18
+ )
19
+ }
20
+ </div>
21
+ </figure>
22
+
23
+ <style lang="scss">
24
+ @use "../assets/styles/config/config" as *;
25
+ @use "../assets/styles/utils/grrr/grrr" as *;
26
+
27
+ .html-embed {
28
+ position: relative;
29
+
30
+ &:not(:first-child),
31
+ :global(+ *:not(.column)),
32
+ :global(.animation-disabled:not(:first-child) >) & {
33
+ margin-top: var(--mt-m);
34
+ }
35
+
36
+ :global(.group__content >) & > div,
37
+ :global(.group__content > .animation-disabled >) & > div {
38
+ @extend %grrr--board;
39
+
40
+ :global(> div) {
41
+ grid-column: content;
42
+ }
43
+
44
+ figcaption {
45
+ grid-column: content;
46
+
47
+ @include media-break-up(x) {
48
+ grid-column: board-start 2/board-end 11;
49
+ }
50
+ }
51
+ }
52
+
53
+ :global(.group__content >) &--wide div,
54
+ :global(.group__content > .animation-disabled >) &--wide div {
55
+ :global(> div) {
56
+ grid-column: full;
57
+ }
58
+ }
59
+
60
+ :global(iframe) {
61
+ width: 100%;
62
+ height: auto;
63
+ display: block;
64
+ aspect-ratio: 16 / 9;
65
+ }
66
+
67
+ &__caption {
68
+ @include type('b-s');
69
+ display: block;
70
+ margin-top: 20px;
71
+ }
72
+ }
73
+
74
+ :global(.column .html-embed--wide) {
75
+ width: grrr-cols-size(10);
76
+ transform: translateX(calc(-1 * grrr-cols-size(2, 1)));
77
+
78
+ @include media-break-down(xl) {
79
+ transform: translateX(calc(-1 * ((100vw - 657px) / 2) + grrr-cols-size(1, 1) + var(--atnl-margin)));
80
+ }
81
+
82
+ @include media-break-down(l) {
83
+ width: calc(100% + var(--atnl-margin) * 2);
84
+ transform: translateX(calc(-1 * var(--atnl-margin)));
85
+ }
86
+
87
+ @include media-break-down(m) {
88
+ :global(.caption) {
89
+ padding-inline: var(--atnl-margin);
90
+ }
91
+ }
92
+
93
+ &,
94
+ :global(+ *) {
95
+ margin-top: var(--mt-l);
96
+ }
97
+ }
98
+ </style>
@@ -0,0 +1,134 @@
1
+ ---
2
+ import Caption from "./Caption.astro";
3
+ import { Image } from 'astro:assets';
4
+
5
+ const { src, wide } = Astro.props;
6
+ // src recebe a url direta da imagem
7
+ // wide recebe booleano
8
+
9
+ const hasCaption = Astro.slots.has("default");
10
+ ---
11
+
12
+ <figure class:list={["image", { "image--wide": wide }]}>
13
+ <div class="reveal--fadeInUp">
14
+ <Image src={src} alt="" width="100%" height="100%"/>
15
+ {
16
+ hasCaption && (
17
+ <figcaption>
18
+ <Caption><slot /></Caption>
19
+ </figcaption>
20
+ )
21
+ }
22
+ </div>
23
+ </figure>
24
+
25
+ <style lang="scss">
26
+ @use "../assets/styles/config/config" as *;
27
+ @use "../assets/styles/utils/grrr/grrr" as *;
28
+
29
+ .image {
30
+ width: 100%;
31
+
32
+ &:not(:first-child),
33
+ :global(+ *:not(.column)),
34
+ :global(.animation-disabled:not(:first-child) >) & {
35
+ margin-top: var(--mt-m);
36
+ }
37
+
38
+
39
+ :global(.group__content >) & > div,
40
+ :global(.group__content > .animation-disabled >) & > div {
41
+ @extend %grrr--board;
42
+
43
+ img {
44
+ grid-column: content;
45
+ }
46
+
47
+ figcaption {
48
+ grid-column: content;
49
+
50
+ @include media-break-up(x) {
51
+ grid-column: board-start 2/board-end 11;
52
+ }
53
+ }
54
+ }
55
+
56
+ :global(.group__content >) &--wide div,
57
+ :global(.group__content > .animation-disabled >) &--wide div {
58
+ img {
59
+ grid-column: full;
60
+ }
61
+ }
62
+
63
+ &--wide {
64
+ @include media-break-down(m) {
65
+ width: calc(100% + var(--atnl-margin) * 2);
66
+ transform: translateX(calc(-1 * var(--atnl-margin)));
67
+ padding-inline: 0;
68
+
69
+ :global(.caption) {
70
+ padding-inline: var(--atnl-margin);
71
+ }
72
+ }
73
+ }
74
+ }
75
+
76
+ :global(.columns:not(.columns--33-66) .columns__column-2 .image--wide) {
77
+ :global(img) {
78
+ @include media-break-up(m) {
79
+ width: calc(100% + var(--atnl-margin));
80
+ }
81
+
82
+ @include media-break-up(x) {
83
+ width: calc(100% + grrr-cols-size(1, 1) + var(--atnl-margin));
84
+ }
85
+ }
86
+ }
87
+
88
+ :global(.columns__column-1 .image--wide > div) {
89
+ @include media-break-up(m) {
90
+ display: flex;
91
+ flex-wrap: wrap;
92
+ justify-content: flex-end;
93
+ }
94
+ }
95
+
96
+ :global(.columns .image--wide img) {
97
+ @include media-break-up(m) {
98
+ width: calc(100% + var(--atnl-margin));
99
+ }
100
+
101
+ @include media-break-up(x) {
102
+ width: calc(100% + grrr-cols-size(1, 1) + var(--atnl-margin));
103
+ }
104
+ }
105
+
106
+ :global(.column .image--wide) {
107
+ display: flex;
108
+ flex-direction: column;
109
+ align-items: center;
110
+
111
+ &:not(:first-child),
112
+ :global(+ *:not(.column)),
113
+ :global(.animation-disabled >) & {
114
+ margin-top: var(--mt-l);
115
+ }
116
+
117
+ :global(> div) {
118
+ // @include media-break-down(m) {
119
+ // width: calc(100% + var(--atnl-margin) * 2);
120
+ // }
121
+
122
+ @include media-break-up(m) {
123
+ width: grrr-cols-size(12);
124
+ }
125
+
126
+ @include media-break-up(x) {
127
+ width: grrr-cols-size(10);
128
+ }
129
+ }
130
+ }
131
+
132
+
133
+
134
+ </style>
@@ -0,0 +1,54 @@
1
+ ---
2
+
3
+ ---
4
+
5
+ <div class="inner-columns">
6
+ <div class="inner-columns__holder">
7
+ <div class="inner-columns__column">
8
+ <slot name="column-1" />
9
+ </div>
10
+ <div class="inner-columns__column">
11
+ <slot name="column-2" />
12
+ </div>
13
+ </div>
14
+ </div>
15
+
16
+ <style lang="scss">
17
+ @use "../assets/styles/config/config" as *;
18
+ @use "../assets/styles/utils/grrr/grrr" as *;
19
+
20
+ .inner-columns {
21
+ :global(+ *) {
22
+ margin-top: var(--mt-s);
23
+ }
24
+
25
+ &:not(:first-child) &__holder {
26
+ margin-top: var(--mt-s);
27
+ }
28
+
29
+ &__holder {
30
+ display: flex;
31
+ gap: var(--atnl-gutter);
32
+
33
+ @include media-break-down(m) {
34
+ flex-direction: column;
35
+ gap: var(--mt-s);
36
+ }
37
+
38
+
39
+ }
40
+
41
+ &__column {
42
+ flex-basis: 50%;
43
+ }
44
+
45
+ :global(.columns) & {
46
+ &__holder {
47
+ @include media-grrr-between(7, 10) {
48
+ flex-direction: column;
49
+ gap: var(--mt-s);
50
+ }
51
+ }
52
+ }
53
+ }
54
+ </style>
@@ -0,0 +1,102 @@
1
+ ---
2
+ import { Image } from "astro:assets";
3
+ const { title, logos } = Astro.props
4
+ ---
5
+ <div class="logos-group reveal--fadeInUp">
6
+ <div class="logos-group__holder">
7
+ <span class="logos-group__title">{title}</span>
8
+ <div class="logos-group__logos">
9
+ {
10
+ logos && logos.map(logo => (
11
+ //logo.image
12
+ //logo.link
13
+ //logo.link
14
+ // logo.url
15
+ // logo.target
16
+ // logo.title
17
+ <div class="logos-group__logo">
18
+ {logo.link && <a href={logo.link?.url} target={logo.link?.target} title={logo.link?.title}></a>}
19
+ {logo.image && <Image src={logo.image} alt={logo?.link?.title} width="100%" height="100%"/>}
20
+ </div>
21
+ ))
22
+ }
23
+ </div>
24
+ </div>
25
+ </div>
26
+
27
+ <style lang="scss">
28
+ @use "../assets/styles/config/config" as *;
29
+ @use "../assets/styles/utils/grrr/grrr" as *;
30
+ @use "../assets/styles/globals/grrr" as *;
31
+
32
+ .logos-group {
33
+ $self: &;
34
+
35
+ &:not(:first-child),
36
+ & :global(+ *:not(.column)),
37
+ :global(.animation-disabled:not(:first-child) >) & {
38
+ margin-top: var(--mt-m);
39
+ }
40
+
41
+ :global(.group__content) > & {
42
+ @extend %grrr--board;
43
+ }
44
+
45
+ &__holder {
46
+ :global(.group__content) > #{$self} & {
47
+ grid-column: board-start 2 / board-end 11;
48
+
49
+ @include media-break-down(x) {
50
+ grid-column: board-start 1 / board-end 12;
51
+ }
52
+
53
+ @include media-break-down(m) {
54
+ grid-column: board-full;
55
+ }
56
+ }
57
+ }
58
+
59
+ &__title {
60
+ @include type("h-m");
61
+ display: block;
62
+ margin-bottom: 10px;
63
+ }
64
+
65
+ &__logos {
66
+ grid-column: board-start 2 / board-end 11;
67
+ display: grid;
68
+ grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
69
+ gap: var(--atnl-gutter);
70
+
71
+ @include media-break-up(m) {
72
+ grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
73
+ }
74
+ }
75
+
76
+ &__logo {
77
+ width: 100%;
78
+ aspect-ratio: 1 / 1;
79
+ position: relative;
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+
84
+ img {
85
+ width: auto;
86
+ height: auto;
87
+ max-width: 100%;
88
+ max-height: 100%;
89
+ object-fit: contain;
90
+ pointer-events: none;
91
+ }
92
+
93
+ a {
94
+ width: 100%;
95
+ height: 100%;
96
+ position: absolute;
97
+ top: 0;
98
+ left: 0;
99
+ }
100
+ }
101
+ }
102
+ </style>