@consumidor-positivo/aurora 1.2.0 → 1.3.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.
- package/README.md +59 -3
- package/astro/AdBox/index.astro +28 -0
- package/astro/Alert/index.astro +257 -0
- package/astro/BadgeInfo/index.astro +55 -0
- package/astro/BadgeState/index.astro +79 -0
- package/astro/Button/index.astro +11 -3
- package/astro/Card/Container/index.astro +44 -0
- package/astro/Card/Emphasis/index.astro +39 -0
- package/astro/Card/Image/index.astro +26 -0
- package/astro/Card/Root/index.astro +53 -0
- package/astro/Card/Tag/index.astro +26 -0
- package/astro/Chip/index.astro +48 -0
- package/astro/ChipBanner/index.astro +160 -0
- package/astro/Container/index.astro +16 -0
- package/astro/Divider/index.astro +27 -0
- package/astro/Image/index.astro +26 -0
- package/astro/LazyImage/index.astro +55 -0
- package/astro/LinkButton/index.astro +54 -0
- package/astro/Logo/ac/BadgeFullWhite.astro +20 -0
- package/astro/Logo/ac/BadgeWhite.astro +23 -0
- package/astro/Logo/ac/BadgeWhiteStroke.astro +27 -0
- package/astro/Logo/ac/BadgeWhiteStrokeDefault.astro +28 -0
- package/astro/Logo/ac/Badget.astro +24 -0
- package/astro/Logo/ac/Primary.astro +28 -0
- package/astro/Logo/ac/PrimaryFillWhite.astro +28 -0
- package/astro/Logo/ac/PrimaryFullWhite.astro +20 -0
- package/astro/Logo/ac/PrimaryNegative.astro +20 -0
- package/astro/Logo/ac/PrimaryWhite.astro +20 -0
- package/astro/Logo/ac/TertiaryWhite.astro +72 -0
- package/astro/Logo/cp/BadgeWhiteStroke.astro +10 -0
- package/astro/Logo/cp/Badget.astro +14 -0
- package/astro/Logo/cp/PrimaryFillWhite.astro +63 -0
- package/astro/Logo/cp/PrimaryFullWhite.astro +27 -0
- package/astro/Logo/cp/PrimaryLogoWhite.astro +67 -0
- package/astro/Logo/cp/PrimaryNegative.astro +27 -0
- package/astro/Logo/cp/PrimaryWhite.astro +27 -0
- package/astro/Modal/index.astro +213 -0
- package/astro/NotificationsBar/Link/index.astro +70 -0
- package/astro/NotificationsBar/List/index.astro +38 -0
- package/astro/NotificationsBar/index.astro +24 -0
- package/astro/PartnerBanner/index.astro +52 -0
- package/astro/ProfileNav/index.astro +34 -0
- package/astro/ProgressBar/index.astro +70 -0
- package/astro/Skeleton/index.astro +50 -0
- package/astro/SpecialButton/index.astro +331 -0
- package/astro/Spinner/index.astro +75 -0
- package/astro/SubHeader/index.astro +57 -0
- package/astro/Switch/Card/index.astro +69 -0
- package/astro/Switch/Pure/index.astro +47 -0
- package/astro/Tooltip/index.astro +38 -0
- package/astro/form/Checkbox/Field/index.astro +68 -0
- package/astro/form/Checkbox/Group/index.astro +79 -0
- package/astro/form/Datepicker/Calendar/index.astro +53 -0
- package/astro/form/Datepicker/CalendarHeader/index.astro +57 -0
- package/astro/form/Datepicker/Segment/index.astro +53 -0
- package/astro/form/Datepicker/index.astro +756 -0
- package/astro/form/EmailField/index.astro +237 -0
- package/astro/form/Field/ErrorMessage/index.astro +20 -0
- package/astro/form/Field/Input/index.astro +15 -0
- package/astro/form/Field/InputHolder/index.astro +28 -0
- package/astro/form/Field/Label/index.astro +80 -0
- package/astro/form/Field/Message/index.astro +29 -0
- package/astro/form/Field/Root/index.astro +37 -0
- package/astro/form/Field/TextArea/index.astro +69 -0
- package/astro/form/InputField/index.astro +96 -0
- package/astro/form/PasswordField/index.astro +123 -0
- package/astro/form/Radio/Field/index.astro +52 -0
- package/astro/form/Radio/Group/index.astro +78 -0
- package/astro/form/SelectField/index.astro +561 -0
- package/astro/form/TextareaField/index.astro +81 -0
- package/astro/form/TokenField/index.astro +211 -0
- package/astro/tokens/package.json +6 -0
- package/dist/{tokens-C4ypB4bY.js → astro/tokens/index.es.js} +101 -101
- package/dist/astro/tokens/index.es.js.map +1 -0
- package/dist/components/Alert/index.es.js +1 -1
- package/dist/components/BadgeInfo/index.es.js +1 -1
- package/dist/components/BadgeState/index.es.js +1 -1
- package/dist/components/Image/index.es.js +1 -1
- package/dist/components/Spinner/index.es.js +1 -1
- package/dist/components/form/Checkbox/Field/index.es.js +1 -1
- package/dist/components/form/Datepicker/Calendar/index.es.js +2 -2
- package/dist/components/form/Datepicker/CalendarHeader/index.es.js +2 -2
- package/dist/components/form/Datepicker/PortalHolder/index.es.js +1 -1
- package/dist/components/form/Datepicker/Segment/index.es.js +1 -1
- package/dist/components/form/Datepicker/index.es.js +3 -3
- package/dist/components/form/Field/Label/index.es.js +1 -1
- package/dist/components/form/SelectField/index.es.js +1 -1
- package/dist/{index-BcC9liUl.js → index-Bkl5OBIY.js} +3 -3
- package/dist/{index-BcC9liUl.js.map → index-Bkl5OBIY.js.map} +1 -1
- package/dist/{index-CFYmtkje.js → index-CZfMkAoF.js} +2 -2
- package/dist/{index-CFYmtkje.js.map → index-CZfMkAoF.js.map} +1 -1
- package/dist/{index-CeClo_WS.js → index-Cw1KtRQr.js} +2 -2
- package/dist/{index-CeClo_WS.js.map → index-Cw1KtRQr.js.map} +1 -1
- package/dist/main.es.js +101 -101
- package/package.json +7 -1
- package/dist/tokens-C4ypB4bY.js.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
import '../../../dist/components/Card/styles.css'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Same props as React, minus `ref`. Sizes are inline `style`, written like React
|
|
7
|
+
* writes them (an unset size comes out as `undefinedpx`, which the browser
|
|
8
|
+
* drops), so a `style` passed here is ignored. Every HTML attribute is forwarded.
|
|
9
|
+
*/
|
|
10
|
+
export type Props = Omit<HTMLAttributes<'div'>, 'color' | 'style'> & {
|
|
11
|
+
border?: boolean
|
|
12
|
+
color?: 'primary' | 'secondary'
|
|
13
|
+
/** Width in px. */
|
|
14
|
+
width?: number
|
|
15
|
+
/** Height in px. */
|
|
16
|
+
height?: number
|
|
17
|
+
/** Max width in px. */
|
|
18
|
+
maxWidth?: number
|
|
19
|
+
/** Max height in px. */
|
|
20
|
+
maxHeight?: number
|
|
21
|
+
paddingLess?: boolean
|
|
22
|
+
hoverShadow?: boolean
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const {
|
|
26
|
+
border = true,
|
|
27
|
+
color = 'primary',
|
|
28
|
+
width,
|
|
29
|
+
height,
|
|
30
|
+
maxWidth,
|
|
31
|
+
maxHeight,
|
|
32
|
+
paddingLess = false,
|
|
33
|
+
hoverShadow = false,
|
|
34
|
+
class: className,
|
|
35
|
+
...rest
|
|
36
|
+
} = Astro.props
|
|
37
|
+
|
|
38
|
+
const style = `width:${width}px;height:${height}px;max-width:${maxWidth}px;max-height:${maxHeight}px`
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
<div
|
|
42
|
+
class:list={[
|
|
43
|
+
'au-card__root',
|
|
44
|
+
!border && 'au-card__root--border-none',
|
|
45
|
+
color === 'secondary' && 'au-card__root--color-secondary',
|
|
46
|
+
hoverShadow && 'au-card__root--with-hover-shadow',
|
|
47
|
+
paddingLess && 'au-card__root--paddingless',
|
|
48
|
+
className,
|
|
49
|
+
]}
|
|
50
|
+
{...rest}
|
|
51
|
+
style={style}>
|
|
52
|
+
<slot />
|
|
53
|
+
</div>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
import '../../../dist/components/Card/styles.css'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Same props as React. The React `icon` prop is the `icon` slot and the label
|
|
7
|
+
* is the default slot. Every HTML attribute is forwarded to the root `div`.
|
|
8
|
+
*/
|
|
9
|
+
export type Props = Omit<HTMLAttributes<'div'>, 'color'> & {
|
|
10
|
+
color?: 'primary' | 'secondary'
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const { color = 'primary', class: className, ...rest } = Astro.props
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<div
|
|
17
|
+
class:list={[
|
|
18
|
+
'au-card__tag',
|
|
19
|
+
color === 'primary' && 'au-card__tag--primary',
|
|
20
|
+
color === 'secondary' && 'au-card__tag--secondary',
|
|
21
|
+
className,
|
|
22
|
+
]}
|
|
23
|
+
{...rest}>
|
|
24
|
+
<span aria-hidden="true"><slot name="icon" /></span>
|
|
25
|
+
<span><slot /></span>
|
|
26
|
+
</div>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
import Button from '../Button/index.astro'
|
|
4
|
+
import IconChevronDown from '../icons/default/IconChevronDown.astro'
|
|
5
|
+
import '../../dist/components/Chip/styles.css'
|
|
6
|
+
|
|
7
|
+
type ButtonAttributes = Omit<HTMLAttributes<'button'>, 'type' | 'disabled' | 'color'>
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Built on the Astro `Button`, like React builds on `Button`. The React `icon`
|
|
11
|
+
* prop is the `icon` slot (ignored on `variant="order"`, which always shows the
|
|
12
|
+
* chevron). No `onClick`: every HTML attribute is forwarded to the `<button>`,
|
|
13
|
+
* so hook the app on an `id` or `data-*`.
|
|
14
|
+
*/
|
|
15
|
+
export type Props = ButtonAttributes & {
|
|
16
|
+
isActive: boolean
|
|
17
|
+
isDisabled?: boolean
|
|
18
|
+
label: string
|
|
19
|
+
variant?: 'filter' | 'order'
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const {
|
|
23
|
+
isActive,
|
|
24
|
+
isDisabled = false,
|
|
25
|
+
label,
|
|
26
|
+
variant = 'filter',
|
|
27
|
+
class: className,
|
|
28
|
+
...rest
|
|
29
|
+
} = Astro.props
|
|
30
|
+
|
|
31
|
+
const isOrder = variant === 'order'
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
<Button
|
|
35
|
+
class:list={[
|
|
36
|
+
'au-chip',
|
|
37
|
+
`au-chip--variant-${variant}`,
|
|
38
|
+
isActive && 'au-chip--active',
|
|
39
|
+
isDisabled && 'au-chip--disabled',
|
|
40
|
+
className,
|
|
41
|
+
]}
|
|
42
|
+
type="outlined"
|
|
43
|
+
disabled={isDisabled}
|
|
44
|
+
{...rest}>
|
|
45
|
+
{!isOrder && <slot name="icon" />}
|
|
46
|
+
{label}
|
|
47
|
+
{isOrder && <IconChevronDown />}
|
|
48
|
+
</Button>
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
import Text from '../Text/index.astro'
|
|
4
|
+
import IconPlay from '../icons/default/IconPlay.astro'
|
|
5
|
+
import '../../dist/components/ChipBanner/styles.css'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The React version takes `onClick` and `onComplete`. Astro has no callback
|
|
9
|
+
* props: the controller emits `au:chipbannertoggle` (`detail: { isPlaying }`)
|
|
10
|
+
* on every click and `au:chipbannercomplete` when a non-looping ring finishes.
|
|
11
|
+
* `ariaLabel` is the plain `aria-label` attribute (a custom one stays fixed; the
|
|
12
|
+
* default swaps with the state) and `className` the plain `class`. Every HTML
|
|
13
|
+
* attribute is forwarded to the `<button>`.
|
|
14
|
+
*/
|
|
15
|
+
export type Props = Omit<HTMLAttributes<'button'>, 'type'> & {
|
|
16
|
+
/** Initial state: 'pause' starts playing (shows the pause control). */
|
|
17
|
+
type?: 'play' | 'pause'
|
|
18
|
+
/** Duration of one ring sweep. Without it there is no ring. */
|
|
19
|
+
timeInSeconds?: number
|
|
20
|
+
/** Restarts the ring forever instead of stopping after one sweep. */
|
|
21
|
+
loop?: boolean
|
|
22
|
+
negative?: boolean
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const {
|
|
26
|
+
type = 'pause',
|
|
27
|
+
timeInSeconds,
|
|
28
|
+
loop = false,
|
|
29
|
+
negative = false,
|
|
30
|
+
'aria-label': ariaLabel,
|
|
31
|
+
class: className,
|
|
32
|
+
...rest
|
|
33
|
+
} = Astro.props
|
|
34
|
+
|
|
35
|
+
const PAUSE_SVG = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
36
|
+
<path d="M5.99995 2.66653C6.36793 2.66667 6.66622 2.96496 6.66636 3.33294V12.6665C6.66636 13.0346 6.36802 13.3328 5.99995 13.3329C5.63176 13.3329 5.33276 13.0347 5.33276 12.6665V3.33294C5.3329 2.96487 5.63185 2.66653 5.99995 2.66653Z" fill="currentColor"/>
|
|
37
|
+
<path d="M9.99995 2.66653C10.3679 2.66667 10.6662 2.96496 10.6664 3.33294V12.6665C10.6664 13.0346 10.368 13.3328 9.99995 13.3329C9.63176 13.3329 9.33276 13.0347 9.33276 12.6665V3.33294C9.3329 2.96487 9.63185 2.66653 9.99995 2.66653Z" fill="currentColor"/>
|
|
38
|
+
</svg>`
|
|
39
|
+
|
|
40
|
+
const isPlaying = type === 'pause'
|
|
41
|
+
const hasTimer = typeof timeInSeconds === 'number' && timeInSeconds > 0
|
|
42
|
+
const label = isPlaying ? 'Pausar' : 'Reproduzir'
|
|
43
|
+
const defaultAriaLabel = isPlaying ? 'Pausar reprodução' : 'Reproduzir conteúdo'
|
|
44
|
+
|
|
45
|
+
// React swaps the icons. Only the active one is rendered; the other rides in
|
|
46
|
+
// the `<template>` (with the controller settings), which the controller reads
|
|
47
|
+
// and removes. The pause svg is inlined from ./pause.svg because only `.astro`
|
|
48
|
+
// files are published, so a `?raw` import would not resolve in the consumer.
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
<button
|
|
52
|
+
type="button"
|
|
53
|
+
class:list={['au-chip-banner', negative && 'au-chip-banner--negative', className]}
|
|
54
|
+
aria-pressed={isPlaying ? 'true' : 'false'}
|
|
55
|
+
aria-label={ariaLabel ?? defaultAriaLabel}
|
|
56
|
+
data-element="au-chip-banner"
|
|
57
|
+
{...rest}>
|
|
58
|
+
<span class="au-chip-banner__icon" aria-hidden="true">
|
|
59
|
+
{isPlaying ? <span class="au-chip-banner__pause" set:html={PAUSE_SVG} /> : <IconPlay />}
|
|
60
|
+
{
|
|
61
|
+
hasTimer && (
|
|
62
|
+
<svg
|
|
63
|
+
class="au-chip-banner__ring"
|
|
64
|
+
viewBox="0 0 24 24"
|
|
65
|
+
aria-hidden="true"
|
|
66
|
+
style={`visibility: ${isPlaying ? 'visible' : 'hidden'}`}>
|
|
67
|
+
<circle
|
|
68
|
+
class="au-chip-banner__ring-progress"
|
|
69
|
+
cx="12"
|
|
70
|
+
cy="12"
|
|
71
|
+
r="10"
|
|
72
|
+
fill="none"
|
|
73
|
+
style={{
|
|
74
|
+
'animation-duration': `${timeInSeconds}s`,
|
|
75
|
+
'animation-iteration-count': loop ? 'infinite' : 1,
|
|
76
|
+
'animation-play-state': isPlaying ? 'running' : 'paused',
|
|
77
|
+
}}
|
|
78
|
+
/>
|
|
79
|
+
</svg>
|
|
80
|
+
)
|
|
81
|
+
}
|
|
82
|
+
</span>
|
|
83
|
+
<Text as="span" variant="body-medium" class="au-chip-banner__label">
|
|
84
|
+
{label}
|
|
85
|
+
</Text>
|
|
86
|
+
<template
|
|
87
|
+
data-au-chip-banner
|
|
88
|
+
data-loop={loop ? 'true' : undefined}
|
|
89
|
+
data-custom-label={ariaLabel ? 'true' : undefined}>
|
|
90
|
+
{isPlaying ? <IconPlay /> : <span class="au-chip-banner__pause" set:html={PAUSE_SVG} />}
|
|
91
|
+
</template>
|
|
92
|
+
</button>
|
|
93
|
+
|
|
94
|
+
<script>
|
|
95
|
+
import { elementController } from '@consumidor-positivo/aurora/astro/runtime'
|
|
96
|
+
|
|
97
|
+
const PROGRESS_CLASS = 'au-chip-banner__ring-progress'
|
|
98
|
+
const LABELS = { playing: 'Pausar', paused: 'Reproduzir' }
|
|
99
|
+
const ARIA_LABELS = {
|
|
100
|
+
playing: 'Pausar reprodução',
|
|
101
|
+
paused: 'Reproduzir conteúdo',
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
elementController('au-chip-banner', ({ root, query, on, emit }) => {
|
|
105
|
+
const template = query<HTMLTemplateElement>(':scope > template[data-au-chip-banner]')
|
|
106
|
+
const iconBox = query<HTMLElement>(':scope > .au-chip-banner__icon')
|
|
107
|
+
const ring = query<SVGSVGElement>(':scope > .au-chip-banner__icon > .au-chip-banner__ring')
|
|
108
|
+
const label = query<HTMLElement>(':scope > .au-chip-banner__label')
|
|
109
|
+
const isLoop = template?.dataset.loop === 'true'
|
|
110
|
+
const hasCustomLabel = template?.dataset.customLabel === 'true'
|
|
111
|
+
|
|
112
|
+
const current = iconBox?.firstElementChild ?? null
|
|
113
|
+
const other = template?.content.firstElementChild ?? null
|
|
114
|
+
const startsPlaying = root.getAttribute('aria-pressed') === 'true'
|
|
115
|
+
const pause = startsPlaying ? current : other
|
|
116
|
+
const play = startsPlaying ? other : current
|
|
117
|
+
template?.remove()
|
|
118
|
+
|
|
119
|
+
const progress = () => ring?.querySelector<SVGCircleElement>(`.${PROGRESS_CLASS}`) ?? null
|
|
120
|
+
|
|
121
|
+
function setPlaying(isPlaying: boolean) {
|
|
122
|
+
const state = isPlaying ? 'playing' : 'paused'
|
|
123
|
+
root.setAttribute('aria-pressed', String(isPlaying))
|
|
124
|
+
if (!hasCustomLabel) root.setAttribute('aria-label', ARIA_LABELS[state])
|
|
125
|
+
if (label) label.textContent = LABELS[state]
|
|
126
|
+
|
|
127
|
+
const show = isPlaying ? pause : play
|
|
128
|
+
const hide = isPlaying ? play : pause
|
|
129
|
+
if (iconBox && show && hide && hide.isConnected) {
|
|
130
|
+
hide.replaceWith(show)
|
|
131
|
+
}
|
|
132
|
+
if (ring) ring.style.visibility = isPlaying ? 'visible' : 'hidden'
|
|
133
|
+
|
|
134
|
+
const circle = progress()
|
|
135
|
+
if (circle) circle.style.animationPlayState = isPlaying ? 'running' : 'paused'
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Replacing the circle restarts its animation from 0, which is what the
|
|
139
|
+
// React key bump does. Pausing only freezes it.
|
|
140
|
+
function resetRing() {
|
|
141
|
+
const circle = progress()
|
|
142
|
+
if (!circle) return
|
|
143
|
+
circle.replaceWith(circle.cloneNode(true))
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
on('click', () => {
|
|
147
|
+
const isPlaying = root.getAttribute('aria-pressed') !== 'true'
|
|
148
|
+
setPlaying(isPlaying)
|
|
149
|
+
emit('au:chipbannertoggle', { isPlaying })
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
on('animationend', (event) => {
|
|
153
|
+
const target = event.target as Element | null
|
|
154
|
+
if (!target?.classList.contains(PROGRESS_CLASS) || isLoop) return
|
|
155
|
+
setPlaying(false)
|
|
156
|
+
resetRing()
|
|
157
|
+
emit('au:chipbannercomplete')
|
|
158
|
+
})
|
|
159
|
+
})
|
|
160
|
+
</script>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
import '../../dist/components/Container/styles.css'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The React `customClass` prop is the plain `class` attribute here; every
|
|
7
|
+
* other HTML attribute is forwarded to the `div`.
|
|
8
|
+
*/
|
|
9
|
+
export type Props = HTMLAttributes<'div'>
|
|
10
|
+
|
|
11
|
+
const { class: className, ...rest } = Astro.props
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<div class:list={['au-container', className]} {...rest}>
|
|
15
|
+
<slot />
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
import '../../dist/components/Divider/styles.css'
|
|
4
|
+
|
|
5
|
+
/** Same props as React; every HTML attribute is forwarded to the `<hr>`. */
|
|
6
|
+
export type Props = HTMLAttributes<'hr'> & {
|
|
7
|
+
borderWidth?: 1 | 2
|
|
8
|
+
state?: 'visible' | 'invisible'
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const {
|
|
12
|
+
borderWidth = 1,
|
|
13
|
+
state = 'visible',
|
|
14
|
+
class: className,
|
|
15
|
+
...rest
|
|
16
|
+
} = Astro.props
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<hr
|
|
20
|
+
class:list={[
|
|
21
|
+
'au-divider',
|
|
22
|
+
borderWidth && `au-divider--width-${borderWidth}`,
|
|
23
|
+
state === 'invisible' && 'au-divider--invisible',
|
|
24
|
+
className,
|
|
25
|
+
]}
|
|
26
|
+
{...rest}
|
|
27
|
+
/>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
import { BREAKPOINT_LG, BREAKPOINT_MD } from '@consumidor-positivo/aurora/astro/tokens'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Same props and output as React: every `<img>` attribute goes to the
|
|
7
|
+
* `<img>`, and both `<source>` are always rendered (without `srcset` when the
|
|
8
|
+
* matching prop is missing, as React does).
|
|
9
|
+
*/
|
|
10
|
+
export type Props = HTMLAttributes<'img'> & {
|
|
11
|
+
/** Image used up to BREAKPOINT_MD (600px). */
|
|
12
|
+
srcMob?: string
|
|
13
|
+
/** Image used up to BREAKPOINT_LG (1024px). */
|
|
14
|
+
srcTablet?: string
|
|
15
|
+
/** Fallback `src` of the `<img>`. */
|
|
16
|
+
srcDesk?: string
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const { srcMob, srcTablet, srcDesk, ...rest } = Astro.props
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
<picture>
|
|
23
|
+
<source media={`(max-width: ${BREAKPOINT_MD})`} srcset={srcMob} />
|
|
24
|
+
<source media={`(max-width: ${BREAKPOINT_LG})`} srcset={srcTablet} />
|
|
25
|
+
<img src={srcDesk} {...rest} />
|
|
26
|
+
</picture>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Same output as React. With `lazy` (the default) the `<img>` ships without
|
|
6
|
+
* `src`, like the React version before the image is seen: the controller keeps
|
|
7
|
+
* the URL and sets `src` when an IntersectionObserver (same options as React's
|
|
8
|
+
* `useLazyImage`) reports the image as intersecting. No `onClick`: HTML
|
|
9
|
+
* attributes are forwarded.
|
|
10
|
+
*/
|
|
11
|
+
export type Props = Omit<HTMLAttributes<'img'>, 'src' | 'draggable'> & {
|
|
12
|
+
src: string
|
|
13
|
+
lazy?: boolean
|
|
14
|
+
draggable?: boolean
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const { lazy = true, src, draggable = false, ...rest } = Astro.props
|
|
18
|
+
const draggableValue = draggable ? 'true' : 'false'
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
{
|
|
22
|
+
lazy ? (
|
|
23
|
+
<img
|
|
24
|
+
data-element="au-lazy-image"
|
|
25
|
+
data-au-lazy-src={src}
|
|
26
|
+
loading="lazy"
|
|
27
|
+
draggable={draggableValue}
|
|
28
|
+
{...rest}
|
|
29
|
+
/>
|
|
30
|
+
) : (
|
|
31
|
+
<img src={src} draggable={draggableValue} {...rest} />
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
<script>
|
|
36
|
+
import { elementController } from '@consumidor-positivo/aurora/astro/runtime'
|
|
37
|
+
|
|
38
|
+
// Mirrors `useLazyImage` (lib/components/LazyImage/hooks.ts): no `src` until
|
|
39
|
+
// the observer (default options) sees the image, then observe no more.
|
|
40
|
+
elementController('au-lazy-image', ({ root }) => {
|
|
41
|
+
const src = root.dataset.auLazySrc
|
|
42
|
+
root.removeAttribute('data-au-lazy-src')
|
|
43
|
+
if (src === undefined) return
|
|
44
|
+
|
|
45
|
+
const observer = new IntersectionObserver((entries) => {
|
|
46
|
+
entries.forEach((entry) => {
|
|
47
|
+
if (!entry.isIntersecting) return
|
|
48
|
+
root.setAttribute('src', src)
|
|
49
|
+
observer.unobserve(root)
|
|
50
|
+
})
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
observer.observe(root)
|
|
54
|
+
})
|
|
55
|
+
</script>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
import '../../dist/components/LinkButton/styles.css'
|
|
4
|
+
|
|
5
|
+
type AnchorProps = Pick<HTMLAttributes<'a'>, 'href' | 'target'>
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The React `iconLeft` / `iconRight` props are the `icon-left` / `icon-right`
|
|
9
|
+
* slots, and the label is the default slot (falls back to "Link"). No
|
|
10
|
+
* `onClick`: every HTML attribute is forwarded, so hook the app on an `id` or
|
|
11
|
+
* `data-*`.
|
|
12
|
+
*/
|
|
13
|
+
export type Props = Omit<HTMLAttributes<'button'>, 'disabled' | 'type'> &
|
|
14
|
+
AnchorProps & {
|
|
15
|
+
as?: 'a' | 'button'
|
|
16
|
+
/**
|
|
17
|
+
* Token size (Figma: Link Button, Size). small = 14px text / 16px icons,
|
|
18
|
+
* medium = 16px / 20px, large = 20px / 20px.
|
|
19
|
+
*/
|
|
20
|
+
size?: 'small' | 'medium' | 'large'
|
|
21
|
+
disabled?: boolean
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const {
|
|
25
|
+
as = 'button',
|
|
26
|
+
href,
|
|
27
|
+
target,
|
|
28
|
+
size = 'medium',
|
|
29
|
+
disabled = false,
|
|
30
|
+
class: className,
|
|
31
|
+
...rest
|
|
32
|
+
} = Astro.props
|
|
33
|
+
|
|
34
|
+
const isAnchor = as === 'a'
|
|
35
|
+
const Tag = isAnchor ? 'a' : 'button'
|
|
36
|
+
const hasLeft = Astro.slots.has('icon-left')
|
|
37
|
+
const hasRight = Astro.slots.has('icon-right')
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
<Tag
|
|
41
|
+
class:list={[
|
|
42
|
+
'au-link-button',
|
|
43
|
+
`au-link-button--size-${size}`,
|
|
44
|
+
disabled && 'au-link-button--disabled',
|
|
45
|
+
className,
|
|
46
|
+
]}
|
|
47
|
+
href={isAnchor ? href : undefined}
|
|
48
|
+
target={isAnchor ? target : undefined}
|
|
49
|
+
type={isAnchor ? undefined : 'button'}
|
|
50
|
+
disabled={!isAnchor && disabled ? true : undefined}
|
|
51
|
+
{...rest}>
|
|
52
|
+
{/* No whitespace around the label: React renders none, and it would show up in the text. */}
|
|
53
|
+
{hasLeft && <span class="au-link-button__icon" aria-hidden="true"><slot name="icon-left" /></span>}<slot>Link</slot>{hasRight && <span class="au-link-button__icon" aria-hidden="true"><slot name="icon-right" /></span>}
|
|
54
|
+
</Tag>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
import Logo from '../index.astro'
|
|
3
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
4
|
+
|
|
5
|
+
export type Props = HTMLAttributes<'div'>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<Logo label="Acordo Certo" {...Astro.props}>
|
|
9
|
+
<svg
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
width="42"
|
|
12
|
+
height="32"
|
|
13
|
+
viewBox="0 0 42 32"
|
|
14
|
+
fill="none">
|
|
15
|
+
<path
|
|
16
|
+
d="M39.2064 2.79501C37.4096 0.991636 35.0183 0 32.4695 0C29.9208 0 27.5294 0.991636 25.7326 2.79501L18.7072 9.85054L16.3595 7.49431C14.5234 5.65145 12.0796 4.63787 9.47836 4.63787C6.87716 4.63787 4.66504 5.57685 2.90759 7.27492C1.05832 9.06952 0.022214 11.4828 0.000355074 14.0672C-0.0215038 16.6516 0.966517 19.0824 2.78955 20.9121L10.4008 28.5512C12.6173 30.7758 15.5682 32 18.7116 32C21.8549 32 24.8058 30.7758 27.0223 28.5512L39.2108 16.3181C41.012 14.5104 42 12.1102 42 9.55656C42 7.00288 41.0076 4.60277 39.2108 2.7994L39.2064 2.79501ZM26.9174 26.1643L25.7807 27.3051C21.8811 31.219 15.5333 31.219 11.638 27.3051L4.02676 19.666C2.54036 18.1741 1.73158 16.1909 1.74907 14.0804C1.76655 11.9698 2.6103 9.99973 4.12731 8.53421C5.60497 7.09941 7.5373 6.38859 9.48274 6.38859C11.4282 6.38859 13.5747 7.174 15.1267 8.73166L17.658 11.2722L14.9693 13.9707C14.9475 13.997 14.9256 14.0189 14.9037 14.0452C14.8688 14.0803 14.8338 14.1198 14.7988 14.1549C14.7682 14.19 14.742 14.2208 14.7114 14.2559C14.6851 14.2866 14.6589 14.3173 14.6327 14.348C14.6108 14.3743 14.589 14.405 14.5671 14.4314C14.5365 14.4709 14.5059 14.5104 14.4753 14.5498C14.4622 14.5674 14.4491 14.5893 14.436 14.6069C14.401 14.6595 14.366 14.7078 14.331 14.7605C14.331 14.7692 14.3223 14.7736 14.3179 14.7824C13.7933 15.5897 13.5091 16.5287 13.5091 17.516C13.5091 18.6743 13.8982 19.7713 14.6152 20.6576C14.6196 20.662 14.6239 20.6708 14.6283 20.6752C14.6677 20.7234 14.707 20.7717 14.7507 20.8156C14.7682 20.8331 14.7813 20.8507 14.7944 20.8682C14.8294 20.9033 14.86 20.9384 14.895 20.9735C14.9169 20.9999 14.9431 21.0262 14.9649 21.0481L14.9781 21.0613L14.9912 21.0745C15.9355 22.0222 17.1858 22.54 18.5192 22.54C18.8427 22.54 19.1575 22.5093 19.4679 22.4522C20.3947 22.2723 21.2516 21.8335 21.951 21.171C22.6155 20.5084 23.4986 20.1399 24.4386 20.1399C25.0463 20.1399 25.6364 20.2934 26.1611 20.5962C26.2004 20.6181 26.2398 20.6445 26.2791 20.6664C26.5108 20.8068 26.725 20.9735 26.9217 21.171C27.0048 21.2544 27.0791 21.3421 27.1535 21.4343C27.3065 21.6229 27.442 21.8204 27.5513 22.0354C27.8092 22.5356 27.9491 23.1016 27.9491 23.6676C27.9491 24.611 27.5819 25.4973 26.9217 26.1643H26.9174ZM37.9692 15.0764L29.4399 23.6369C29.4399 23.593 29.4399 23.5448 29.4355 23.5009C29.4355 23.4526 29.4355 23.4044 29.4311 23.3561C29.4311 23.3034 29.4224 23.2508 29.418 23.1981C29.4137 23.1499 29.4093 23.106 29.4049 23.0577C29.4005 23.0051 29.3874 22.9524 29.3831 22.8954C29.3743 22.8515 29.3699 22.8032 29.3612 22.7594C29.3525 22.7067 29.3393 22.6497 29.3262 22.597C29.3175 22.5531 29.3087 22.5093 29.3 22.4654C29.2869 22.4083 29.2694 22.3557 29.2519 22.2986C29.2388 22.2592 29.23 22.2153 29.2169 22.1758C29.1994 22.1187 29.1776 22.0573 29.1557 22.0003C29.1426 21.9652 29.1339 21.9257 29.1208 21.8906C29.0945 21.8204 29.0639 21.7546 29.0377 21.6844C29.0289 21.6624 29.0202 21.6361 29.0071 21.6141C28.9677 21.522 28.924 21.4343 28.8759 21.3421C28.7273 21.0525 28.5437 20.7805 28.3382 20.5216C28.2245 20.3812 28.1065 20.2408 27.9753 20.1091C27.6431 19.7757 27.2759 19.4992 26.8868 19.2842C26.1479 18.863 25.2998 18.6392 24.4342 18.6392C23.1402 18.6392 21.9248 19.1263 20.9936 20.0126C20.9499 20.0521 20.9062 20.0916 20.8625 20.1311C20.8188 20.1706 20.7794 20.2101 20.7357 20.2452C20.692 20.2803 20.6483 20.311 20.6045 20.3417C20.5564 20.3768 20.5084 20.4163 20.4603 20.4514C20.4165 20.4821 20.3685 20.5084 20.3204 20.5348C20.2679 20.5655 20.2198 20.6006 20.1674 20.6269C20.1149 20.6532 20.0668 20.6752 20.0143 20.7015C19.9619 20.7234 19.9138 20.7541 19.8613 20.7761C19.8089 20.798 19.752 20.8156 19.6996 20.8331C19.6471 20.8507 19.5947 20.8726 19.5422 20.8902C19.481 20.9077 19.4154 20.9209 19.3498 20.9384C19.3017 20.9516 19.258 20.9648 19.2099 20.9735C19.1269 20.9911 19.0394 20.9999 18.952 21.013C18.9258 21.013 18.8995 21.0218 18.8689 21.0262C18.7553 21.0394 18.6372 21.0437 18.5236 21.0437C18.4099 21.0437 18.2919 21.0394 18.1738 21.0262C17.3694 20.9472 16.6262 20.5962 16.0448 20.0126L16.0185 19.9863C16.0185 19.9863 16.0098 19.9775 16.0054 19.9731C15.9267 19.8898 15.848 19.8064 15.7781 19.723C15.765 19.7055 15.7562 19.6923 15.7431 19.6748C15.6819 19.5958 15.6251 19.5212 15.5682 19.4378C15.5682 19.4334 15.5639 19.429 15.5595 19.4247C14.93 18.4593 14.825 17.2483 15.2447 16.1996C15.2447 16.1996 15.2447 16.1909 15.2447 16.1865C15.2797 16.0987 15.3191 16.0154 15.3628 15.932C15.3715 15.9101 15.3803 15.8881 15.3934 15.8706C15.4284 15.8047 15.4677 15.7389 15.507 15.6731C15.5289 15.638 15.5464 15.6029 15.5682 15.5678C15.6032 15.5152 15.6426 15.4669 15.6775 15.4186C15.7081 15.3747 15.7431 15.3265 15.7781 15.2826C15.8174 15.2343 15.8655 15.1861 15.9092 15.1378C15.9442 15.0983 15.9748 15.0588 16.0142 15.0237L17.6099 13.4222L19.7564 11.2678L26.9655 4.03236C29.9995 0.991636 34.9308 0.987248 37.9648 4.03236C39.4338 5.50665 40.2425 7.46798 40.2425 9.55217C40.2425 11.6364 39.4338 13.5977 37.9648 15.072L37.9692 15.0764Z"
|
|
17
|
+
fill="white"
|
|
18
|
+
/>
|
|
19
|
+
</svg>
|
|
20
|
+
</Logo>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
import Logo from '../index.astro'
|
|
3
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
4
|
+
|
|
5
|
+
export type Props = HTMLAttributes<'div'>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<Logo label="Acordo Certo" {...Astro.props}>
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
<svg
|
|
13
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
14
|
+
width="42"
|
|
15
|
+
height="32"
|
|
16
|
+
viewBox="0 0 42 32"
|
|
17
|
+
fill="none">
|
|
18
|
+
<path
|
|
19
|
+
d="M39.2108 2.79463C37.414 0.991498 35.0226 0 32.4739 0C29.9251 0 27.5337 0.991498 25.7369 2.79463L18.7116 9.84918L16.3639 7.49327C14.5277 5.65066 12.0839 4.63722 9.4827 4.63722C6.8815 4.63722 4.66937 5.57608 2.91192 7.27391C1.05829 9.06826 0.022214 11.4812 0.000355092 14.0696C-0.0215038 16.6537 0.966465 19.0842 2.78949 20.9137L10.4008 28.5517C12.6173 30.776 15.5683 32 18.7116 32C21.8549 32 24.8058 30.776 27.0223 28.5517L39.2108 16.3203C41.0119 14.5127 42 12.113 42 9.55966C42 7.00633 41.0076 4.60654 39.2108 2.80341V2.79463ZM26.9217 26.1607L25.7851 27.3014C21.8854 31.2147 15.5376 31.2147 11.6423 27.3014L4.03112 19.6633C2.54471 18.1716 1.73595 16.1886 1.75344 14.0784C1.77093 11.9682 2.61465 9.99834 4.13166 8.53303C5.60932 7.09842 7.54164 6.38769 9.48708 6.38769C11.4325 6.38769 13.579 7.17304 15.131 8.73048L17.6623 11.2706L14.9737 13.9687C14.9518 13.9951 14.9299 14.017 14.908 14.0433C14.8731 14.0784 14.8381 14.1179 14.8031 14.153C14.7725 14.1881 14.7463 14.2188 14.7157 14.2539C14.6895 14.2846 14.6633 14.3153 14.637 14.346C14.6152 14.3724 14.5933 14.4031 14.5714 14.4294C14.5408 14.4689 14.5102 14.5084 14.4796 14.5479C14.4665 14.5654 14.4534 14.5874 14.4403 14.6049C14.4054 14.6576 14.3704 14.7058 14.3354 14.7584C14.3354 14.7672 14.3267 14.7716 14.3223 14.7804C13.7977 15.5876 13.5135 16.5265 13.5135 17.5136C13.5135 18.6718 13.9026 19.7686 14.6195 20.6548C14.6239 20.6592 14.6283 20.668 14.6327 20.6723C14.672 20.7206 14.7114 20.7688 14.7551 20.8127C14.7726 20.8303 14.7856 20.8478 14.7987 20.8654C14.8293 20.9005 14.8643 20.9355 14.8993 20.9706C14.9211 20.997 14.9474 21.0233 14.9693 21.0452L14.9824 21.0584L14.9956 21.0716C15.9399 22.0192 17.1901 22.5369 18.5235 22.5369C18.847 22.5369 19.1618 22.5062 19.4722 22.4492C20.3991 22.2693 21.2559 21.8306 21.9554 21.1681C22.6199 20.5056 23.503 20.1371 24.4429 20.1371C25.0506 20.1371 25.6407 20.2906 26.1653 20.5934C26.2047 20.6153 26.244 20.6416 26.2834 20.6636C26.5151 20.804 26.7293 20.9707 26.926 21.1681C27.0091 21.2515 27.0834 21.3392 27.1577 21.4313C27.3108 21.62 27.4464 21.8174 27.5556 22.0324C27.8136 22.5325 27.9534 23.0984 27.9534 23.6644C27.9534 24.6076 27.5862 25.4939 26.926 26.1607H26.9217Z"
|
|
20
|
+
fill="white"
|
|
21
|
+
/>
|
|
22
|
+
</svg>
|
|
23
|
+
</Logo>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
import Logo from '../index.astro'
|
|
3
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
4
|
+
|
|
5
|
+
export type Props = HTMLAttributes<'div'>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<Logo label="Acordo Certo" {...Astro.props}>
|
|
9
|
+
<svg
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
width="21"
|
|
12
|
+
height="16"
|
|
13
|
+
fill="none">
|
|
14
|
+
<path
|
|
15
|
+
fill="#fff"
|
|
16
|
+
d="M16.082 0a4.676 4.676 0 0 0-3.336 1.384l-3.48 3.494L8.105 3.71a4.778 4.778 0 0 0-3.408-1.414c-1.288 0-2.384.464-3.254 1.305A4.705 4.705 0 0 0 0 6.968a4.709 4.709 0 0 0 1.381 3.39l3.77 3.782a5.77 5.77 0 0 0 4.116 1.708 5.77 5.77 0 0 0 4.116-1.708l6.036-6.058A4.71 4.71 0 0 0 20.8 4.734a4.71 4.71 0 0 0-1.381-3.346A4.677 4.677 0 0 0 16.082.004V0Z"
|
|
17
|
+
/>
|
|
18
|
+
<path
|
|
19
|
+
fill="#02BEDF"
|
|
20
|
+
d="M4.697 3.163c-.963 0-1.918.352-2.652 1.063A3.851 3.851 0 0 0 .867 6.972a3.844 3.844 0 0 0 1.128 2.766l3.77 3.783a4.946 4.946 0 0 0 7.004 0l.563-.565c.329-.33.508-.77.508-1.237a1.747 1.747 0 0 0-.827-1.486l-.058-.035a1.735 1.735 0 0 0-2.085.285 2.467 2.467 0 0 1-1.7.678c-.66 0-1.28-.258-1.747-.726l-.006-.006-.007-.007-.034-.037a1.11 1.11 0 0 1-.072-.078c-.02-.024-.041-.046-.06-.07l-.007-.008a2.46 2.46 0 0 1-.548-1.556c0-.489.14-.954.4-1.353l.007-.011.052-.076c.007-.009.013-.02.02-.028l.045-.06.033-.04.039-.046.043-.05c.017-.02.035-.037.052-.054l.032-.035 1.332-1.338L7.49 4.324a3.945 3.945 0 0 0-2.795-1.16"
|
|
21
|
+
/>
|
|
22
|
+
<path
|
|
23
|
+
fill="#0048DB"
|
|
24
|
+
d="M18.804 7.463a3.848 3.848 0 0 0 1.128-2.733c0-1.032-.4-2.003-1.128-2.733a3.847 3.847 0 0 0-5.447 0L9.787 5.58 8.724 6.646l-.79.793c-.018.018-.035.04-.052.057-.022.024-.046.048-.065.072-.018.021-.033.043-.05.067-.018.024-.037.048-.054.074-.011.017-.02.035-.03.052-.02.033-.04.063-.057.098l-.015.03a1.33 1.33 0 0 0-.059.126v.007a1.744 1.744 0 0 0 .16 1.603c.027.041.057.078.087.117l.018.024a1.21 1.21 0 0 0 .119.13l.013.014a1.71 1.71 0 0 0 1.398.502c.013 0 .028-.005.041-.007.044-.004.087-.01.128-.02.024-.004.046-.01.07-.017l.095-.024c.026-.008.052-.02.078-.028.026-.009.054-.017.08-.028.026-.011.05-.024.076-.037.026-.013.051-.024.075-.037.026-.013.05-.03.076-.046.024-.013.048-.026.07-.041a.894.894 0 0 0 .07-.054c.023-.018.044-.03.066-.048l.063-.057c.021-.02.045-.039.064-.058a2.459 2.459 0 0 1 1.704-.68c.43 0 .85.11 1.215.32a2.468 2.468 0 0 1 .985 1.018c.024.043.043.09.065.135.004.01.009.024.015.035a1.896 1.896 0 0 1 .059.156l.03.087c.007.02.01.041.017.06l.024.083a18.765 18.765 0 0 0 .03.146c.005.022.007.046.011.067.005.026.009.052.011.08l.007.07c.002.026.006.052.006.078 0 .024 0 .048.002.072l.002.067 4.224-4.239-.002-.002Z"
|
|
25
|
+
/>
|
|
26
|
+
</svg>
|
|
27
|
+
</Logo>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
import Logo from '../index.astro'
|
|
3
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
4
|
+
|
|
5
|
+
export type Props = HTMLAttributes<'div'>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<Logo label="Acordo Certo" {...Astro.props}>
|
|
9
|
+
<svg
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
width="38"
|
|
12
|
+
height="30"
|
|
13
|
+
viewBox="0 0 38 30"
|
|
14
|
+
fill="none">
|
|
15
|
+
<path
|
|
16
|
+
d="M29.3811 0.5C27.0751 0.5 24.9115 1.39855 23.2858 3.03263L16.9295 9.42582L14.8054 7.29078C13.1441 5.62091 10.9331 4.70248 8.57959 4.70248C6.22612 4.70248 4.22467 5.55332 2.63459 7.09198C0.957497 8.71811 0.0200983 10.9048 0.000321273 13.2506C-0.0194558 15.5924 0.874421 17.7951 2.52383 19.453L9.41026 26.375C11.4157 28.3907 14.0856 29.5 16.9295 29.5C19.7735 29.5 22.4434 28.3907 24.4488 26.375L35.4764 15.2902C37.106 13.6522 38 11.4774 38 9.16344C38 6.84949 37.1021 4.67467 35.4764 3.04059C33.8507 1.4065 31.6871 0.50796 29.3811 0.50796V0.5Z"
|
|
17
|
+
fill="white"
|
|
18
|
+
/>
|
|
19
|
+
<path
|
|
20
|
+
d="M8.57939 6.28857C6.81923 6.28857 5.07489 6.93267 3.734 8.23278C2.36543 9.56072 1.60206 11.3459 1.58228 13.2583C1.56646 15.1707 2.2982 16.9678 3.64304 18.3196L10.5294 25.2416C14.0576 28.7881 19.7969 28.7881 23.3252 25.2416L24.3536 24.2079C24.9548 23.6035 25.2831 22.8004 25.2831 21.9456C25.2831 21.4327 25.1605 20.9198 24.9232 20.4666C24.8243 20.2717 24.7017 20.0888 24.5633 19.9219C24.496 19.8384 24.4288 19.7589 24.3536 19.6833C24.1756 19.5044 23.9818 19.3533 23.7722 19.2261C23.7366 19.2022 23.701 19.1823 23.6654 19.1625C23.1907 18.8921 22.6567 18.749 22.1069 18.749C21.2565 18.749 20.4575 19.083 19.8563 19.6833C19.2234 20.2837 18.4482 20.6813 17.6096 20.8443C17.3288 20.896 17.044 20.9238 16.7513 20.9238C15.5449 20.9238 14.4137 20.4507 13.5593 19.5959L13.5474 19.5839L13.5355 19.572C13.5118 19.5481 13.4921 19.5243 13.4723 19.5044C13.4406 19.4726 13.409 19.4408 13.3813 19.409C13.3655 19.3931 13.3536 19.3772 13.3417 19.3613C13.3061 19.3175 13.2666 19.2778 13.231 19.234C13.227 19.2301 13.223 19.2221 13.2191 19.2181C12.5704 18.415 12.2183 17.4211 12.2183 16.3714C12.2183 15.4769 12.4755 14.626 12.9501 13.8944C12.9541 13.8865 12.9581 13.8825 12.962 13.8746C12.9937 13.8269 13.0253 13.7831 13.0569 13.7354C13.0688 13.7195 13.0807 13.6996 13.0926 13.6837C13.1203 13.648 13.1479 13.6122 13.1756 13.5764C13.1954 13.5525 13.2151 13.5247 13.2349 13.5008C13.2586 13.473 13.2824 13.4452 13.3061 13.4173C13.3338 13.3855 13.3576 13.3577 13.3853 13.3259C13.4169 13.2901 13.4486 13.2583 13.4802 13.2265C13.5 13.2066 13.5197 13.1828 13.5395 13.1629L15.972 10.7137L13.6819 8.41173C12.2778 7.00029 10.4186 6.28857 8.57543 6.28857"
|
|
21
|
+
fill="#02BEDF"
|
|
22
|
+
/>
|
|
23
|
+
<path
|
|
24
|
+
d="M34.3506 14.1572C35.6796 12.8213 36.4113 11.0441 36.4113 9.15557C36.4113 7.26703 35.6796 5.48978 34.3506 4.15389C31.6055 1.39463 27.1437 1.39861 24.3987 4.15389L17.8762 10.7101L15.9341 12.6623L14.4904 14.1135C14.4587 14.1453 14.4271 14.185 14.3954 14.2168C14.3559 14.2606 14.3125 14.3043 14.2769 14.348C14.2452 14.3878 14.2174 14.4276 14.1858 14.4713C14.1541 14.515 14.1185 14.5588 14.0869 14.6065C14.0671 14.6383 14.0513 14.6701 14.0316 14.7019C13.996 14.7615 13.9604 14.8172 13.9287 14.8808C13.9169 14.9007 13.9129 14.9166 13.901 14.9365C13.8615 15.012 13.8259 15.0876 13.7942 15.1671C13.7942 15.1671 13.7942 15.1751 13.7942 15.179C13.4145 16.1293 13.5095 17.2266 14.0791 18.1013C14.0791 18.1053 14.0829 18.1092 14.0869 18.1132C14.1344 18.1887 14.1898 18.2563 14.2452 18.3279C14.257 18.3438 14.265 18.3557 14.2769 18.3716C14.3401 18.4511 14.4073 18.5267 14.4824 18.5983C14.4824 18.5983 14.4904 18.6062 14.4943 18.6102L14.5181 18.634C15.0402 19.1628 15.7166 19.4809 16.4444 19.5525C16.5473 19.5644 16.654 19.5684 16.7608 19.5684C16.8676 19.5684 16.9704 19.5644 17.0733 19.5525C17.097 19.5525 17.1247 19.5445 17.1484 19.5406C17.2275 19.5326 17.3066 19.5206 17.3818 19.5047C17.4253 19.4968 17.4649 19.4849 17.5084 19.4729C17.5677 19.457 17.6231 19.4451 17.6824 19.4292C17.7299 19.4133 17.7774 19.3934 17.8248 19.3775C17.8723 19.3616 17.9237 19.3457 17.9711 19.3258C18.0186 19.306 18.0622 19.2821 18.1096 19.2582C18.1571 19.2344 18.2045 19.2145 18.248 19.1907C18.2955 19.1668 18.339 19.135 18.3865 19.1071C18.43 19.0833 18.4735 19.0595 18.5131 19.0316C18.5605 18.9998 18.6 18.968 18.6435 18.9322C18.6831 18.9004 18.7227 18.8766 18.7622 18.8448C18.8018 18.813 18.8374 18.7772 18.877 18.7414C18.9165 18.7056 18.96 18.6698 18.9956 18.634C19.8381 17.8309 20.9416 17.3896 22.1085 17.3896C22.8917 17.3896 23.6591 17.5923 24.3275 17.974C24.6796 18.1688 25.0118 18.4233 25.3124 18.7215C25.4311 18.8408 25.5379 18.9641 25.6407 19.0953C25.8267 19.3259 25.9888 19.5724 26.1273 19.8387C26.1708 19.9183 26.2063 20.0018 26.2458 20.0852C26.2538 20.1051 26.2617 20.129 26.2736 20.1489C26.3012 20.2125 26.325 20.2721 26.3487 20.3357C26.3606 20.3675 26.3724 20.4033 26.3804 20.4351C26.4001 20.4868 26.416 20.5385 26.4358 20.5942C26.4477 20.6299 26.4555 20.6697 26.4674 20.7055C26.4832 20.7571 26.4951 20.8049 26.5109 20.8565C26.5188 20.8963 26.5268 20.9361 26.5347 20.9758C26.5465 21.0235 26.5583 21.0752 26.5663 21.1229C26.5742 21.1627 26.5781 21.2064 26.586 21.2462C26.594 21.2939 26.6019 21.3416 26.6058 21.3933C26.6098 21.437 26.6138 21.4768 26.6177 21.5205C26.6217 21.5682 26.6296 21.6159 26.6296 21.6637C26.6296 21.7074 26.6296 21.7511 26.6336 21.7948C26.6336 21.8346 26.6375 21.8784 26.6375 21.9181L34.3544 14.1612L34.3506 14.1572Z"
|
|
25
|
+
fill="#0048DB"
|
|
26
|
+
/>
|
|
27
|
+
</svg>
|
|
28
|
+
</Logo>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
import Logo from '../index.astro'
|
|
3
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
4
|
+
|
|
5
|
+
export type Props = HTMLAttributes<'div'>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<Logo label="Acordo Certo" {...Astro.props}>
|
|
9
|
+
<svg
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
width="40"
|
|
12
|
+
height="29"
|
|
13
|
+
fill="none"
|
|
14
|
+
viewBox="0 0 40 29">
|
|
15
|
+
<path
|
|
16
|
+
fill="#02BEDF"
|
|
17
|
+
d="M8.0347 4.7217c-2.021 0-4.024.7235-5.5637 2.184C.8995 8.3974.023 10.4028.0003 12.551c-.0182 2.1483.822 4.167 2.3662 5.6856l7.9074 7.7757c4.0513 3.9839 10.6414 3.9839 14.6927 0l1.1809-1.1612c.6903-.6788 1.0672-1.5811 1.0672-2.5413 0-.5761-.1407-1.1523-.4132-1.6614a3.3063 3.3063 0 0 0-.4133-.6119c-.0772-.0938-.1544-.1831-.2407-.268a3.4817 3.4817 0 0 0-.6677-.5136c-.0408-.0268-.0817-.0491-.1226-.0715a3.669 3.669 0 0 0-1.7896-.4645c-.9764 0-1.8939.3752-2.5842 1.0496a5.2128 5.2128 0 0 1-2.5797 1.3041 5.5357 5.5357 0 0 1-.9856.0894c-1.3852 0-2.6842-.5315-3.6652-1.4918l-.0137-.0133-.0136-.0134c-.0273-.0268-.0499-.0537-.0726-.076a2.221 2.221 0 0 1-.1045-.1072.4603.4603 0 0 1-.0454-.0536c-.0409-.0491-.0864-.0937-.1272-.1429-.0046-.0044-.0091-.0134-.0137-.0178-.7448-.9022-1.1491-2.0188-1.1491-3.1979 0-1.0049.2953-1.9607.8403-2.7825.0046-.0089.0091-.0133.0137-.0223.0363-.0536.0726-.1027.109-.1563.0136-.0179.0272-.0402.0409-.0581l.0953-.1205c.0227-.0268.0454-.0581.0681-.0849l.0817-.0938c.0318-.0357.0592-.067.091-.1027.0363-.0402.0726-.0759.109-.1117.0227-.0223.0453-.0491.068-.0714l2.7932-2.7513-2.6296-2.586c-1.6123-1.5855-3.7471-2.385-5.8635-2.385"
|
|
18
|
+
/>
|
|
19
|
+
<path
|
|
20
|
+
fill="#0048DB"
|
|
21
|
+
d="M37.634 13.5601c1.526-1.5006 2.3662-3.497 2.3662-5.6185S39.16 3.8236 37.634 2.323c-3.152-3.0996-8.2753-3.0951-11.4273 0L18.7173 9.688l-2.23 2.1929-1.6578 1.6302c-.0363.0357-.0727.0804-.109.1161-.0454.0492-.0953.0983-.1362.1474-.0363.0447-.0682.0894-.1045.1385-.0364.0491-.0772.0982-.1136.1518-.0227.0357-.0408.0715-.0635.1072-.0409.067-.0818.1295-.1181.201-.0136.0223-.0182.0402-.0318.0625a2.701 2.701 0 0 0-.1227.2591v.0133c-.436 1.0675-.3269 2.3002.3271 3.2828 0 .0044.0045.0089.009.0133.0545.0849.1182.1608.1818.2412.0136.0179.0227.0313.0363.0491.0727.0894.1498.1743.2361.2547l.0136.0133.0273.0268c.5995.594 1.3762.9513 2.2119 1.0317.1181.0134.2406.0179.3633.0179.1226 0 .2407-.0045.3588-.0179.0272 0 .0591-.0089.0864-.0133a2.5849 2.5849 0 0 0 .2679-.0403c.0499-.0089.0954-.0223.1453-.0357.0682-.0179.1317-.0312.1999-.0491.0545-.0179.109-.0402.1635-.0581.0545-.0178.1135-.0357.168-.058.0545-.0224.1045-.0492.159-.076.0545-.0268.1089-.0491.1589-.0759.0545-.0268.1045-.0625.159-.0938.05-.0268.1-.0536.1454-.0848a1.8732 1.8732 0 0 0 .1498-.1117c.0454-.0357.0908-.0625.1363-.0982.0454-.0358.0863-.076.1317-.1162.0454-.0402.0954-.0804.1363-.1206.9674-.9021 2.2345-1.3979 3.5743-1.3979.8993 0 1.7804.2278 2.548.6565.4042.2189.7857.5047 1.1309.8397.1363.134.2589.2725.377.4198.2135.2591.3997.536.5586.8352.05.0894.0909.1831.1363.2769.0091.0224.0181.0491.0317.0715.0318.0714.059.1384.0863.2099.0136.0357.0273.0759.0364.1117.0227.058.0409.116.0636.1786.0136.0402.0226.0848.0363.125.0181.0581.0318.1117.05.1698l.0273.134c.0136.0536.0271.1116.0362.1652.0091.0447.0137.0938.0227.1384.0091.0536.0182.1072.0228.1653.0045.0491.0091.0938.0136.1429.0046.0536.0137.1072.0137.1608 0 .0492 0 .0983.0045.1474 0 .0447.0045.0938.0045.1385l8.8611-8.7137-.0045-.0045Z"
|
|
22
|
+
/>
|
|
23
|
+
</svg>
|
|
24
|
+
</Logo>
|