fokus-styles 2.4.0 → 2.6.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/dist/css/components.css +561 -83
- package/dist/css/components.min.css +1 -1
- package/dist/css/fokus-components.css +561 -83
- package/dist/css/fokus-components.min.css +1 -1
- package/dist/css/fokus-rtl.css +697 -83
- package/dist/css/fokus-rtl.min.css +1 -1
- package/dist/css/fokus-utilities.css +136 -0
- package/dist/css/fokus-utilities.min.css +1 -1
- package/dist/css/fokus.css +996 -258
- package/dist/css/fokus.min.css +1 -1
- package/dist/css/forms.css +300 -176
- package/dist/css/forms.min.css +1 -1
- package/dist/css/helpers.css +136 -0
- package/dist/css/helpers.min.css +1 -1
- package/dist/js/fokus.js +270 -25
- package/dist/js/fokus.min.js +18 -18
- package/package.json +17 -15
- package/packages/fokus-components/scss/components/_alerts.scss +128 -6
- package/packages/fokus-components/scss/components/_badges.scss +26 -10
- package/packages/fokus-components/scss/components/_index.scss +1 -0
- package/packages/fokus-components/scss/components/_popover.scss +131 -21
- package/packages/fokus-components/scss/components/_responsive.scss +23 -0
- package/packages/fokus-components/scss/components/_tag.scss +37 -14
- package/packages/fokus-components/scss/components/_toasts.scss +156 -11
- package/packages/fokus-components/scss/components/_tooltips.scss +70 -18
- package/packages/fokus-components/scss/forms/_check-radio-switch.scss +313 -215
- package/packages/fokus-components/scss/forms/_forms.scss +16 -0
- package/packages/fokus-js/js/carousel.d.ts +4 -0
- package/packages/fokus-js/js/carousel.js +8 -0
- package/packages/fokus-js/js/core/positioning.js +18 -9
- package/packages/fokus-js/js/dropdown.d.ts +4 -0
- package/packages/fokus-js/js/dropdown.js +7 -0
- package/packages/fokus-js/js/popover.js +26 -1
- package/packages/fokus-js/js/tabs.d.ts +3 -0
- package/packages/fokus-js/js/tabs.js +5 -0
- package/packages/fokus-js/js/tag.js +17 -0
- package/packages/fokus-js/js/toast.js +77 -3
- package/packages/fokus-js/js/tooltip.d.ts +8 -1
- package/packages/fokus-js/js/tooltip.js +106 -13
- package/packages/fokus-utilities/scss/utilities/_api.scss +48 -0
- package/CHANGELOG.md +0 -910
- package/dist/css/components.css.map +0 -1
- package/dist/css/components.min.css.map +0 -1
- package/dist/css/fokus-components.css.map +0 -1
- package/dist/css/fokus-components.min.css.map +0 -1
- package/dist/css/fokus-core.css.map +0 -1
- package/dist/css/fokus-core.min.css.map +0 -1
- package/dist/css/fokus-dark.css.map +0 -1
- package/dist/css/fokus-dark.min.css.map +0 -1
- package/dist/css/fokus-rtl.css.map +0 -1
- package/dist/css/fokus-rtl.min.css.map +0 -1
- package/dist/css/fokus-utilities.css.map +0 -1
- package/dist/css/fokus-utilities.min.css.map +0 -1
- package/dist/css/fokus.css.map +0 -1
- package/dist/css/fokus.min.css.map +0 -1
- package/dist/css/fonts.css.map +0 -1
- package/dist/css/fonts.min.css.map +0 -1
- package/dist/css/forms.css.map +0 -1
- package/dist/css/forms.min.css.map +0 -1
- package/dist/css/helpers.css.map +0 -1
- package/dist/css/helpers.min.css.map +0 -1
- package/dist/css/layout.css.map +0 -1
- package/dist/css/layout.min.css.map +0 -1
- package/dist/js/fokus.js.map +0 -7
- package/dist/js/fokus.min.js.map +0 -7
- package/docs/README.md +0 -86
- package/docs/comparison.md +0 -124
- package/docs/components/accordion.md +0 -104
- package/docs/components/alert-dialog.md +0 -99
- package/docs/components/alert.md +0 -59
- package/docs/components/avatar.md +0 -13
- package/docs/components/badge.md +0 -82
- package/docs/components/breadcrumb.md +0 -93
- package/docs/components/button-group.md +0 -13
- package/docs/components/button.md +0 -98
- package/docs/components/card.md +0 -111
- package/docs/components/carousel.md +0 -167
- package/docs/components/checkbox.md +0 -97
- package/docs/components/close-button.md +0 -13
- package/docs/components/code.md +0 -13
- package/docs/components/collapse.md +0 -78
- package/docs/components/combobox.md +0 -123
- package/docs/components/command-palette.md +0 -131
- package/docs/components/datatable.md +0 -173
- package/docs/components/datepicker.md +0 -137
- package/docs/components/divider.md +0 -57
- package/docs/components/dropdown.md +0 -103
- package/docs/components/empty-state.md +0 -65
- package/docs/components/file-upload-advanced.md +0 -116
- package/docs/components/file-upload.md +0 -93
- package/docs/components/icon-link.md +0 -13
- package/docs/components/input-group.md +0 -73
- package/docs/components/input.md +0 -90
- package/docs/components/list-group.md +0 -13
- package/docs/components/modal.md +0 -120
- package/docs/components/navbar.md +0 -74
- package/docs/components/nested-menu.md +0 -90
- package/docs/components/notification-center.md +0 -116
- package/docs/components/offcanvas.md +0 -102
- package/docs/components/pagination.md +0 -145
- package/docs/components/placeholder.md +0 -13
- package/docs/components/popover.md +0 -105
- package/docs/components/progress.md +0 -126
- package/docs/components/radio.md +0 -70
- package/docs/components/range.md +0 -83
- package/docs/components/rating.md +0 -91
- package/docs/components/ratio.md +0 -13
- package/docs/components/scrollspy.md +0 -13
- package/docs/components/segmented-control.md +0 -82
- package/docs/components/select.md +0 -89
- package/docs/components/skeleton.md +0 -70
- package/docs/components/stepper.md +0 -107
- package/docs/components/switch.md +0 -75
- package/docs/components/table.md +0 -90
- package/docs/components/tabs.md +0 -104
- package/docs/components/tag.md +0 -129
- package/docs/components/tile.md +0 -112
- package/docs/components/timeline.md +0 -78
- package/docs/components/toast.md +0 -95
- package/docs/components/tooltip.md +0 -77
- package/docs/components/tree-view.md +0 -118
- package/docs/contributing/contributing.md +0 -18
- package/docs/getting-started/installation.md +0 -70
- package/docs/getting-started/usage.md +0 -105
- package/docs/guides/accessibility.md +0 -102
- package/docs/guides/charts.md +0 -73
- package/docs/guides/dark-mode.md +0 -90
- package/docs/guides/icons.md +0 -99
- package/docs/guides/javascript-api.md +0 -9
- package/docs/guides/layout-advanced.md +0 -118
- package/docs/guides/migration-clarus-to-fokus.md +0 -48
- package/docs/guides/migration-external.md +0 -123
- package/docs/guides/migration-v1.md +0 -63
- package/docs/guides/print.md +0 -30
- package/docs/guides/rtl-and-system-preferences.md +0 -28
- package/docs/guides/theming.md +0 -140
- package/docs/guides/utility-api.md +0 -9
- package/docs/prompts/prompt-plan.md +0 -45
- package/docs/reference/accessibility-matrix.md +0 -77
- package/docs/reference/browser-support.md +0 -75
- package/docs/reference/contrast-report.md +0 -50
- package/docs/reference/definitions.md +0 -864
- package/docs/reference/design-tokens.md +0 -194
- package/docs/reference/scss-architecture.md +0 -227
- package/docs/reference/size-baseline.json +0 -34
- package/docs/reference/stability.md +0 -89
- package/docs/showcase.md +0 -25
- package/mockup/README.md +0 -41
- package/mockup/assets/carousel-planning.png +0 -0
- package/mockup/assets/carousel-workspace.png +0 -0
- package/mockup/assets/example-theme.css +0 -8
- package/mockup/assets/example-theme.js +0 -11
- package/mockup/assets/showcase-contracts.js +0 -84
- package/mockup/assets/showcase.css +0 -91
- package/mockup/assets/showcase.js +0 -724
- package/mockup/content-data.html +0 -9
- package/mockup/examples/accordion-tabs-toast.html +0 -149
- package/mockup/examples/alert-dialog.html +0 -84
- package/mockup/examples/alerts.html +0 -41
- package/mockup/examples/badges-alerts.html +0 -77
- package/mockup/examples/buttons.html +0 -58
- package/mockup/examples/cards.html +0 -132
- package/mockup/examples/carousel.html +0 -126
- package/mockup/examples/charts.html +0 -102
- package/mockup/examples/check-radio-switch.html +0 -144
- package/mockup/examples/collapse.html +0 -69
- package/mockup/examples/combobox.html +0 -60
- package/mockup/examples/command-palette.html +0 -64
- package/mockup/examples/datatable.html +0 -113
- package/mockup/examples/datepicker.html +0 -62
- package/mockup/examples/divider.html +0 -45
- package/mockup/examples/dropdown-tooltip.html +0 -77
- package/mockup/examples/empty-state.html +0 -56
- package/mockup/examples/file-drop.html +0 -74
- package/mockup/examples/file-upload-advanced.html +0 -68
- package/mockup/examples/forms-advanced.html +0 -77
- package/mockup/examples/hover-card.html +0 -86
- package/mockup/examples/icons.html +0 -157
- package/mockup/examples/input-group.html +0 -74
- package/mockup/examples/js-foundation.html +0 -215
- package/mockup/examples/layout.html +0 -134
- package/mockup/examples/modal-select.html +0 -127
- package/mockup/examples/nested-menu.html +0 -73
- package/mockup/examples/notification-center.html +0 -86
- package/mockup/examples/offcanvas-popover.html +0 -133
- package/mockup/examples/pagination-breadcrumbs.html +0 -92
- package/mockup/examples/range.html +0 -69
- package/mockup/examples/rating.html +0 -103
- package/mockup/examples/segmented-control.html +0 -96
- package/mockup/examples/skeletons.html +0 -82
- package/mockup/examples/spinner-progress.html +0 -130
- package/mockup/examples/stepper.html +0 -119
- package/mockup/examples/tables-navbar.html +0 -89
- package/mockup/examples/tag.html +0 -105
- package/mockup/examples/theming.html +0 -68
- package/mockup/examples/tile.html +0 -107
- package/mockup/examples/timeline.html +0 -108
- package/mockup/examples/tree-view.html +0 -68
- package/mockup/feedback-actions.html +0 -9
- package/mockup/forms.html +0 -13
- package/mockup/foundations.html +0 -7
- package/mockup/kitchen-sink.html +0 -696
- package/mockup/navigation-disclosure.html +0 -11
- package/mockup/overlays-commands.html +0 -12
- package/mockup/templates/README.md +0 -20
- package/mockup/templates/admin.html +0 -334
- package/mockup/templates/auth.html +0 -234
- package/mockup/templates/dashboard.html +0 -442
- package/mockup/templates/landing.html +0 -397
- package/packages/fokus-icons/package.json +0 -46
- package/scripts/migrate-fokus-map.json +0 -1366
- package/scripts/migrate-fokus.mjs +0 -97
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Mockup - Carousel</title>
|
|
7
|
-
|
|
8
|
-
<!-- STYLES IMPORT -->
|
|
9
|
-
<link rel="stylesheet" href="../../dist/css/fonts.css">
|
|
10
|
-
<link rel="stylesheet" href="../../dist/css/components.css">
|
|
11
|
-
<link rel="stylesheet" href="../../dist/css/helpers.css">
|
|
12
|
-
<style>
|
|
13
|
-
.theme-panel {
|
|
14
|
-
padding: 24px;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
html[data-theme="dark"] .theme-panel {
|
|
18
|
-
color: var(--fs-color-text);
|
|
19
|
-
background-color: var(--fs-color-surface);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.fs-carousel {
|
|
23
|
-
max-width: 560px;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.slide {
|
|
27
|
-
display: flex;
|
|
28
|
-
align-items: center;
|
|
29
|
-
justify-content: center;
|
|
30
|
-
height: 240px;
|
|
31
|
-
color: #fff;
|
|
32
|
-
font-size: 2rem;
|
|
33
|
-
font-weight: 600;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.slide-1 { background: linear-gradient(135deg, #312e81, #4f46e5 54%, #818cf8); }
|
|
37
|
-
.slide-2 { background: linear-gradient(135deg, #047857, #1bc559 54%, #6ee7b7); }
|
|
38
|
-
.slide-3 { background: linear-gradient(135deg, #991b1b, #dc263e 54%, #fda4af); }
|
|
39
|
-
</style>
|
|
40
|
-
<link rel="stylesheet" href="../assets/example-theme.css">
|
|
41
|
-
<script src="../assets/example-theme.js"></script>
|
|
42
|
-
</head>
|
|
43
|
-
<body>
|
|
44
|
-
|
|
45
|
-
<div class="theme-panel">
|
|
46
|
-
<h2 class="fs-u-fs-lg fs-u-fw-medium">Claro — slide (padrão)</h2>
|
|
47
|
-
|
|
48
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mt-3 fs-u-mb-2">Conteúdo de produto com áreas seguras para controles e indicadores</p>
|
|
49
|
-
<div class="fs-carousel" data-fs="carousel" id="carousel-slide" aria-label="Destaques de produto">
|
|
50
|
-
<div class="fs-carousel-inner">
|
|
51
|
-
<div class="fs-carousel-item is-active">
|
|
52
|
-
<div class="slide slide-1"></div>
|
|
53
|
-
<div class="fs-carousel-caption"><h3 class="fs-u-fs-lg fs-u-fw-semibold">Fluxos mais claros</h3><p>Centralize tarefas recorrentes em uma experiência previsível.</p><a class="fs-btn" href="#">Conhecer recursos</a></div>
|
|
54
|
-
</div>
|
|
55
|
-
<div class="fs-carousel-item">
|
|
56
|
-
<div class="slide slide-2"></div>
|
|
57
|
-
<div class="fs-carousel-caption"><h3 class="fs-u-fs-lg fs-u-fw-semibold">Decisões compartilhadas</h3><p>Organize atualizações, responsáveis e próximos passos.</p><a class="fs-btn" href="#">Convidar equipe</a></div>
|
|
58
|
-
</div>
|
|
59
|
-
<div class="fs-carousel-item">
|
|
60
|
-
<div class="slide slide-3"></div>
|
|
61
|
-
<div class="fs-carousel-caption"><h3 class="fs-u-fs-lg fs-u-fw-semibold">Visibilidade para o time</h3><p>Transforme acompanhamento em ação com contexto suficiente.</p><a class="fs-btn" href="#">Abrir indicadores</a></div>
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
<button class="fs-carousel-control-prev" type="button" aria-label="Anterior"></button>
|
|
65
|
-
<button class="fs-carousel-control-next" type="button" aria-label="Próximo"></button>
|
|
66
|
-
<ol class="fs-carousel-indicators">
|
|
67
|
-
<li><button type="button" aria-label="Ir para o slide 1"></button></li>
|
|
68
|
-
<li><button type="button" aria-label="Ir para o slide 2"></button></li>
|
|
69
|
-
<li><button type="button" aria-label="Ir para o slide 3"></button></li>
|
|
70
|
-
</ol>
|
|
71
|
-
</div>
|
|
72
|
-
|
|
73
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mt-4 fs-u-mb-2">Autoplay sem mídia, com contador, progresso e arraste desativado</p>
|
|
74
|
-
<div class="fs-carousel fs-carousel-no-media fs-carousel-hide-indicators-two" data-fs="carousel" data-autoplay="true" data-interval="3000" data-drag="false" id="carousel-slide-autoplay" aria-label="Atualizações automáticas">
|
|
75
|
-
<div class="fs-carousel-inner">
|
|
76
|
-
<div class="fs-carousel-item is-active"><div class="fs-carousel-media-placeholder"><h3 class="fs-u-fs-lg fs-u-fw-semibold">Resumo semanal</h3><p>Atualizações importantes podem aparecer como painel de conteúdo, sem exigir imagem de fundo.</p><a class="fs-btn fs-btn-primary" href="#">Ver relatório</a></div></div>
|
|
77
|
-
<div class="fs-carousel-item"><div class="fs-carousel-media-placeholder"><h3 class="fs-u-fs-lg fs-u-fw-semibold">Próximo passo</h3><p>Use este formato quando o slide tiver ações interativas e não fizer sentido arrastá-lo.</p><a class="fs-btn fs-btn-primary" href="#">Revisar pendências</a></div></div>
|
|
78
|
-
</div>
|
|
79
|
-
<button class="fs-carousel-control-prev" type="button" aria-label="Anterior"></button>
|
|
80
|
-
<button class="fs-carousel-control-next" type="button" aria-label="Próximo"></button>
|
|
81
|
-
<button class="fs-carousel-control-toggle" type="button" data-fs-carousel-toggle></button>
|
|
82
|
-
<span class="fs-carousel-counter" data-fs-carousel-counter aria-hidden="true"></span>
|
|
83
|
-
<div class="fs-carousel-progress" data-fs-carousel-progress aria-hidden="true"><span></span></div>
|
|
84
|
-
</div>
|
|
85
|
-
|
|
86
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mt-4 fs-u-mb-2">Variante fade com legenda empilhada abaixo da mídia</p>
|
|
87
|
-
<div class="fs-carousel fs-carousel-fade fs-carousel-caption-stacked" data-fs="carousel" data-autoplay="true" data-interval="3000" id="carousel-fade" aria-label="Destaques em transição suave">
|
|
88
|
-
<div class="fs-carousel-inner">
|
|
89
|
-
<div class="fs-carousel-item is-active"><div class="slide slide-1">Fade 1</div><div class="fs-carousel-caption"><h3 class="fs-u-fs-lg fs-u-fw-semibold">Transição sem distração</h3><p>A legenda abaixo da mídia mantém textos longos completamente fora da área visual do slide.</p></div></div>
|
|
90
|
-
<div class="fs-carousel-item"><div class="slide slide-2">Fade 2</div><div class="fs-carousel-caption"><h3 class="fs-u-fs-lg fs-u-fw-semibold">Contexto sempre legível</h3><p>Esta variação é adequada quando a mídia não pode receber sobreposição.</p></div></div>
|
|
91
|
-
<div class="fs-carousel-item"><div class="slide slide-3">Fade 3</div><div class="fs-carousel-caption"><h3 class="fs-u-fs-lg fs-u-fw-semibold">Mesmo comportamento</h3><p>Teclado, autoplay e controles continuam disponíveis sem mudança de API.</p></div></div>
|
|
92
|
-
</div>
|
|
93
|
-
<button class="fs-carousel-control-prev" type="button" aria-label="Anterior"></button>
|
|
94
|
-
<button class="fs-carousel-control-next" type="button" aria-label="Próximo"></button>
|
|
95
|
-
<button class="fs-carousel-control-toggle" type="button" data-fs-carousel-toggle></button>
|
|
96
|
-
<ol class="fs-carousel-indicators">
|
|
97
|
-
<li><button type="button" aria-label="Ir para o slide 1"></button></li>
|
|
98
|
-
<li><button type="button" aria-label="Ir para o slide 2"></button></li>
|
|
99
|
-
<li><button type="button" aria-label="Ir para o slide 3"></button></li>
|
|
100
|
-
</ol>
|
|
101
|
-
</div>
|
|
102
|
-
|
|
103
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mt-4 fs-u-mb-2">Imagem de fundo com legenda lateral responsiva</p>
|
|
104
|
-
<div class="fs-carousel fs-carousel-caption-side" data-fs="carousel" data-autoplay="true" data-interval="5000" id="carousel-image" aria-label="Histórias da equipe">
|
|
105
|
-
<div class="fs-carousel-inner">
|
|
106
|
-
<div class="fs-carousel-item is-active">
|
|
107
|
-
<div class="fs-carousel-media" aria-hidden="true" style="background-image: url('../assets/carousel-workspace.png'); background-position: center;"></div>
|
|
108
|
-
<div class="fs-carousel-caption fs-carousel-caption-start"><h3 class="fs-u-fs-lg fs-u-fw-semibold">Legenda à esquerda</h3><p>Quando o assunto da foto estiver à direita, a legenda pode ocupar o lado oposto sem competir com a narrativa visual.</p><a class="fs-btn" href="#">Ler história</a></div>
|
|
109
|
-
</div>
|
|
110
|
-
<div class="fs-carousel-item">
|
|
111
|
-
<div class="fs-carousel-media" aria-hidden="true" style="background-image: url('../assets/carousel-planning.png'); background-position: center;"></div>
|
|
112
|
-
<div class="fs-carousel-caption"><h3 class="fs-u-fs-lg fs-u-fw-semibold">Legenda à direita</h3><p>Em outra composição, o conteúdo visual fica à esquerda e a mesma legenda lateral equilibra leitura e imagem.</p><a class="fs-btn" href="#">Ver iniciativas</a></div>
|
|
113
|
-
</div>
|
|
114
|
-
</div>
|
|
115
|
-
<button class="fs-carousel-control-prev" type="button" aria-label="Anterior"></button>
|
|
116
|
-
<button class="fs-carousel-control-next" type="button" aria-label="Próximo"></button>
|
|
117
|
-
<button class="fs-carousel-control-toggle" type="button" data-fs-carousel-toggle></button>
|
|
118
|
-
<span class="fs-carousel-counter" data-fs-carousel-counter aria-hidden="true"></span>
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
<script src="../../dist/js/fokus.js"></script>
|
|
125
|
-
</body>
|
|
126
|
-
</html>
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Mockup - Charts (tokens)</title>
|
|
7
|
-
|
|
8
|
-
<!-- STYLES IMPORT -->
|
|
9
|
-
<link rel="stylesheet" href="../../dist/css/fonts.css">
|
|
10
|
-
<link rel="stylesheet" href="../../dist/css/components.css">
|
|
11
|
-
<link rel="stylesheet" href="../../dist/css/helpers.css">
|
|
12
|
-
<style>
|
|
13
|
-
.theme-panel {
|
|
14
|
-
padding: 24px;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
html[data-theme="dark"] .theme-panel {
|
|
18
|
-
color: var(--fs-color-text);
|
|
19
|
-
background-color: var(--fs-color-surface);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.chart-swatches {
|
|
23
|
-
display: flex;
|
|
24
|
-
gap: 8px;
|
|
25
|
-
flex-wrap: wrap;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.chart-swatch {
|
|
29
|
-
width: 64px;
|
|
30
|
-
height: 64px;
|
|
31
|
-
border-radius: var(--fs-radius-md);
|
|
32
|
-
display: flex;
|
|
33
|
-
align-items: flex-end;
|
|
34
|
-
padding: 4px;
|
|
35
|
-
font-size: 10px;
|
|
36
|
-
color: #fff;
|
|
37
|
-
text-shadow: 0 1px 1px rgb(0 0 0 / 40%);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.chart-demo {
|
|
41
|
-
display: flex;
|
|
42
|
-
align-items: flex-end;
|
|
43
|
-
gap: 8px;
|
|
44
|
-
height: 120px;
|
|
45
|
-
border-bottom: 2px solid var(--fs-chart-axis);
|
|
46
|
-
padding: 0 8px;
|
|
47
|
-
margin-top: 12px;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.chart-demo-bar {
|
|
51
|
-
width: 32px;
|
|
52
|
-
border-radius: 4px 4px 0 0;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.chart-demo-tooltip {
|
|
56
|
-
background-color: var(--fs-chart-tooltip-bg);
|
|
57
|
-
color: var(--fs-chart-tooltip-text);
|
|
58
|
-
padding: 4px 8px;
|
|
59
|
-
border-radius: var(--fs-radius-sm);
|
|
60
|
-
font-size: 12px;
|
|
61
|
-
display: inline-block;
|
|
62
|
-
margin-top: 12px;
|
|
63
|
-
}
|
|
64
|
-
</style>
|
|
65
|
-
<link rel="stylesheet" href="../assets/example-theme.css">
|
|
66
|
-
<script src="../assets/example-theme.js"></script>
|
|
67
|
-
</head>
|
|
68
|
-
<body>
|
|
69
|
-
|
|
70
|
-
<!--
|
|
71
|
-
Não é um wrapper de biblioteca de gráficos (docs/guides/charts.md) — só
|
|
72
|
-
os tokens --fs-chart-* que qualquer lib pode consumir via
|
|
73
|
-
getComputedStyle. Este mockup só visualiza os tokens (swatches + barras
|
|
74
|
-
de CSS puro), sem carregar nenhuma lib de terceiro.
|
|
75
|
-
-->
|
|
76
|
-
|
|
77
|
-
<div class="theme-panel">
|
|
78
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mt-3 fs-u-mb-2">Séries (--fs-chart-series-1..6)</p>
|
|
79
|
-
<div class="chart-swatches">
|
|
80
|
-
<div class="chart-swatch" style="background-color: var(--fs-chart-series-1);">1</div>
|
|
81
|
-
<div class="chart-swatch" style="background-color: var(--fs-chart-series-2);">2</div>
|
|
82
|
-
<div class="chart-swatch" style="background-color: var(--fs-chart-series-3);">3</div>
|
|
83
|
-
<div class="chart-swatch" style="background-color: var(--fs-chart-series-4);">4</div>
|
|
84
|
-
<div class="chart-swatch" style="background-color: var(--fs-chart-series-5);">5</div>
|
|
85
|
-
<div class="chart-swatch" style="background-color: var(--fs-chart-series-6);">6</div>
|
|
86
|
-
</div>
|
|
87
|
-
|
|
88
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mt-3 fs-u-mb-1">Barras de exemplo (grid/axis)</p>
|
|
89
|
-
<div class="chart-demo">
|
|
90
|
-
<div class="chart-demo-bar" style="height: 40%; background-color: var(--fs-chart-series-1);"></div>
|
|
91
|
-
<div class="chart-demo-bar" style="height: 70%; background-color: var(--fs-chart-series-2);"></div>
|
|
92
|
-
<div class="chart-demo-bar" style="height: 55%; background-color: var(--fs-chart-series-3);"></div>
|
|
93
|
-
</div>
|
|
94
|
-
|
|
95
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mt-3 fs-u-mb-1">Tooltip (--fs-chart-tooltip-bg/text)</p>
|
|
96
|
-
<span class="chart-demo-tooltip">Jan: 120</span>
|
|
97
|
-
</div>
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
</body>
|
|
102
|
-
</html>
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Mockup - Checkbox / Radio / Switch</title>
|
|
7
|
-
|
|
8
|
-
<!-- STYLES IMPORT -->
|
|
9
|
-
<link rel="stylesheet" href="../../dist/css/fonts.css">
|
|
10
|
-
<link rel="stylesheet" href="../../dist/css/forms.css">
|
|
11
|
-
<link rel="stylesheet" href="../../dist/css/helpers.css">
|
|
12
|
-
<style>
|
|
13
|
-
.theme-panel {
|
|
14
|
-
display: flex;
|
|
15
|
-
flex-direction: column;
|
|
16
|
-
gap: 16px;
|
|
17
|
-
padding: 24px;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
html[data-theme="dark"] .theme-panel {
|
|
21
|
-
color: var(--fs-color-text);
|
|
22
|
-
background-color: var(--fs-color-surface);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.control-row {
|
|
26
|
-
display: flex;
|
|
27
|
-
flex-wrap: wrap;
|
|
28
|
-
align-items: center;
|
|
29
|
-
gap: 20px;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.fs-check-invalid-demo {
|
|
33
|
-
display: grid;
|
|
34
|
-
gap: 4px;
|
|
35
|
-
}
|
|
36
|
-
</style>
|
|
37
|
-
<link rel="stylesheet" href="../assets/example-theme.css">
|
|
38
|
-
<script src="../assets/example-theme.js"></script>
|
|
39
|
-
</head>
|
|
40
|
-
<body>
|
|
41
|
-
|
|
42
|
-
<div class="theme-panel">
|
|
43
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mb-0">Checkbox — estados</p>
|
|
44
|
-
<div class="control-row">
|
|
45
|
-
<div class="fs-check">
|
|
46
|
-
<input type="checkbox" class="fs-check-input" id="check-unchecked">
|
|
47
|
-
<label for="check-unchecked" class="fs-check-label">Não marcado</label>
|
|
48
|
-
</div>
|
|
49
|
-
<div class="fs-check">
|
|
50
|
-
<input type="checkbox" class="fs-check-input" id="check-checked" checked>
|
|
51
|
-
<label for="check-checked" class="fs-check-label">Marcado</label>
|
|
52
|
-
</div>
|
|
53
|
-
<div class="fs-check">
|
|
54
|
-
<input type="checkbox" class="fs-check-input" id="check-indeterminate">
|
|
55
|
-
<label for="check-indeterminate" class="fs-check-label">Indeterminado</label>
|
|
56
|
-
</div>
|
|
57
|
-
<div class="fs-check">
|
|
58
|
-
<input type="checkbox" class="fs-check-input" id="check-disabled" disabled>
|
|
59
|
-
<label for="check-disabled" class="fs-check-label">Desabilitado</label>
|
|
60
|
-
</div>
|
|
61
|
-
<div class="fs-check">
|
|
62
|
-
<input type="checkbox" class="fs-check-input" id="check-disabled-checked" checked disabled>
|
|
63
|
-
<label for="check-disabled-checked" class="fs-check-label">Desabilitado + marcado</label>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mt-3 fs-u-mb-0">Checkbox — validação e tamanhos</p>
|
|
68
|
-
<div class="control-row">
|
|
69
|
-
<div class="fs-check fs-check-invalid-demo">
|
|
70
|
-
<input type="checkbox" class="fs-check-input is-invalid" id="check-invalid">
|
|
71
|
-
<label for="check-invalid" class="fs-check-label">Inválido</label>
|
|
72
|
-
<div class="fs-invalid-feedback">Selecione esta opção para continuar.</div>
|
|
73
|
-
</div>
|
|
74
|
-
<div class="fs-check fs-check-sm">
|
|
75
|
-
<input type="checkbox" class="fs-check-input" id="check-sm" checked>
|
|
76
|
-
<label for="check-sm" class="fs-check-label">sm</label>
|
|
77
|
-
</div>
|
|
78
|
-
<div class="fs-check">
|
|
79
|
-
<input type="checkbox" class="fs-check-input" id="check-md" checked>
|
|
80
|
-
<label for="check-md" class="fs-check-label">md (padrão)</label>
|
|
81
|
-
</div>
|
|
82
|
-
<div class="fs-check fs-check-lg">
|
|
83
|
-
<input type="checkbox" class="fs-check-input" id="check-lg" checked>
|
|
84
|
-
<label for="check-lg" class="fs-check-label">lg</label>
|
|
85
|
-
</div>
|
|
86
|
-
</div>
|
|
87
|
-
|
|
88
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mt-3 fs-u-mb-0">Radio — estados e tamanhos</p>
|
|
89
|
-
<div class="control-row">
|
|
90
|
-
<div class="fs-radio">
|
|
91
|
-
<input type="radio" name="radio-claro" class="fs-radio-input" id="radio-1" checked>
|
|
92
|
-
<label for="radio-1" class="fs-radio-label">Opção 1</label>
|
|
93
|
-
</div>
|
|
94
|
-
<div class="fs-radio">
|
|
95
|
-
<input type="radio" name="radio-claro" class="fs-radio-input" id="radio-2">
|
|
96
|
-
<label for="radio-2" class="fs-radio-label">Opção 2</label>
|
|
97
|
-
</div>
|
|
98
|
-
<div class="fs-radio">
|
|
99
|
-
<input type="radio" name="radio-claro-disabled" class="fs-radio-input" id="radio-disabled" disabled>
|
|
100
|
-
<label for="radio-disabled" class="fs-radio-label">Desabilitado</label>
|
|
101
|
-
</div>
|
|
102
|
-
<div class="fs-radio fs-radio-sm">
|
|
103
|
-
<input type="radio" name="radio-sm" class="fs-radio-input" id="radio-sm" checked>
|
|
104
|
-
<label for="radio-sm" class="fs-radio-label">sm</label>
|
|
105
|
-
</div>
|
|
106
|
-
<div class="fs-radio fs-radio-lg">
|
|
107
|
-
<input type="radio" name="radio-lg" class="fs-radio-input" id="radio-lg" checked>
|
|
108
|
-
<label for="radio-lg" class="fs-radio-label">lg</label>
|
|
109
|
-
</div>
|
|
110
|
-
</div>
|
|
111
|
-
|
|
112
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mt-3 fs-u-mb-0">Switch — estados e tamanhos (knob retangular arredondado)</p>
|
|
113
|
-
<div class="control-row">
|
|
114
|
-
<div class="fs-switch">
|
|
115
|
-
<input type="checkbox" class="fs-switch-input" id="switch-off">
|
|
116
|
-
<label for="switch-off" class="fs-switch-label">Desligado</label>
|
|
117
|
-
</div>
|
|
118
|
-
<div class="fs-switch">
|
|
119
|
-
<input type="checkbox" class="fs-switch-input" id="switch-on" checked>
|
|
120
|
-
<label for="switch-on" class="fs-switch-label">Ligado</label>
|
|
121
|
-
</div>
|
|
122
|
-
<div class="fs-switch">
|
|
123
|
-
<input type="checkbox" class="fs-switch-input" id="switch-disabled" disabled>
|
|
124
|
-
<label for="switch-disabled" class="fs-switch-label">Desabilitado</label>
|
|
125
|
-
</div>
|
|
126
|
-
<div class="fs-switch fs-switch-sm">
|
|
127
|
-
<input type="checkbox" class="fs-switch-input" id="switch-sm" checked>
|
|
128
|
-
<label for="switch-sm" class="fs-switch-label">sm</label>
|
|
129
|
-
</div>
|
|
130
|
-
<div class="fs-switch fs-switch-lg">
|
|
131
|
-
<input type="checkbox" class="fs-switch-input" id="switch-lg" checked>
|
|
132
|
-
<label for="switch-lg" class="fs-switch-label">lg</label>
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
</div>
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
<script src="../../dist/js/fokus.js"></script>
|
|
140
|
-
<script>
|
|
141
|
-
document.getElementById("check-indeterminate").indeterminate = true;
|
|
142
|
-
</script>
|
|
143
|
-
</body>
|
|
144
|
-
</html>
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Mockup - Collapse</title>
|
|
7
|
-
|
|
8
|
-
<!-- STYLES IMPORT -->
|
|
9
|
-
<link rel="stylesheet" href="../../dist/css/fonts.css">
|
|
10
|
-
<link rel="stylesheet" href="../../dist/css/components.css">
|
|
11
|
-
<link rel="stylesheet" href="../../dist/css/helpers.css">
|
|
12
|
-
<style>
|
|
13
|
-
.theme-panel {
|
|
14
|
-
padding: 24px;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
html[data-theme="dark"] .theme-panel {
|
|
18
|
-
color: var(--fs-color-text);
|
|
19
|
-
background-color: var(--fs-color-surface);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
section {
|
|
23
|
-
max-width: 420px;
|
|
24
|
-
margin-bottom: 24px;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.collapse-body {
|
|
28
|
-
padding: 12px 16px;
|
|
29
|
-
margin-top: 8px;
|
|
30
|
-
background-color: var(--fs-color-subtle);
|
|
31
|
-
border-radius: var(--fs-radius-sm);
|
|
32
|
-
}
|
|
33
|
-
</style>
|
|
34
|
-
<link rel="stylesheet" href="../assets/example-theme.css">
|
|
35
|
-
<script src="../assets/example-theme.js"></script>
|
|
36
|
-
</head>
|
|
37
|
-
<body>
|
|
38
|
-
|
|
39
|
-
<div class="theme-panel">
|
|
40
|
-
<section>
|
|
41
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mb-2">Seção expansível independente (fechada por padrão)</p>
|
|
42
|
-
<button type="button" class="fs-btn" data-fs="collapse" data-fs-target="#collapse-detalhes">
|
|
43
|
-
Ver detalhes
|
|
44
|
-
</button>
|
|
45
|
-
<div class="fs-collapse" id="collapse-detalhes">
|
|
46
|
-
<div class="collapse-body">
|
|
47
|
-
Conteúdo adicional, revelado/ocultado via <code class="fs-u-font-mono">FokusStyles.Collapse</code>,
|
|
48
|
-
reaproveitando <code class="fs-u-font-mono">collapse()</code>/<code class="fs-u-font-mono">expand()</code>
|
|
49
|
-
de <code class="fs-u-font-mono">js/core/transition.js</code> (mesma infraestrutura do Accordion).
|
|
50
|
-
</div>
|
|
51
|
-
</div>
|
|
52
|
-
</section>
|
|
53
|
-
|
|
54
|
-
<section>
|
|
55
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mb-2">Iniciando aberto (aria-expanded="true")</p>
|
|
56
|
-
<button type="button" class="fs-btn" data-fs="collapse" data-fs-target="#collapse-aberto" aria-expanded="true">
|
|
57
|
-
Ocultar termos
|
|
58
|
-
</button>
|
|
59
|
-
<div class="fs-collapse" id="collapse-aberto">
|
|
60
|
-
<div class="collapse-body">Este painel começa visível porque o gatilho já tem <code class="fs-u-font-mono">aria-expanded="true"</code>.</div>
|
|
61
|
-
</div>
|
|
62
|
-
</section>
|
|
63
|
-
</div>
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
<script src="../../dist/js/fokus.js"></script>
|
|
68
|
-
</body>
|
|
69
|
-
</html>
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Mockup - Combobox</title>
|
|
7
|
-
|
|
8
|
-
<!-- STYLES IMPORT -->
|
|
9
|
-
<link rel="stylesheet" href="../../dist/css/fonts.css">
|
|
10
|
-
<link rel="stylesheet" href="../../dist/css/components.css">
|
|
11
|
-
<link rel="stylesheet" href="../../dist/css/forms.css">
|
|
12
|
-
<link rel="stylesheet" href="../../dist/css/helpers.css">
|
|
13
|
-
<style>
|
|
14
|
-
.theme-panel {
|
|
15
|
-
padding: 24px;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
html[data-theme="dark"] .theme-panel {
|
|
19
|
-
color: var(--fs-color-text);
|
|
20
|
-
background-color: var(--fs-color-surface);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
section {
|
|
24
|
-
max-width: 320px;
|
|
25
|
-
margin-bottom: 24px;
|
|
26
|
-
}
|
|
27
|
-
</style>
|
|
28
|
-
<link rel="stylesheet" href="../assets/example-theme.css">
|
|
29
|
-
<script src="../assets/example-theme.js"></script>
|
|
30
|
-
</head>
|
|
31
|
-
<body>
|
|
32
|
-
|
|
33
|
-
<div class="theme-panel">
|
|
34
|
-
<section>
|
|
35
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mb-1">Combobox — digite pra filtrar (ex.: "css")</p>
|
|
36
|
-
<label for="combobox-claro" class="fs-form-label">Framework CSS favorito</label>
|
|
37
|
-
<div class="fs-combobox">
|
|
38
|
-
<input type="text" class="fs-form-control" id="combobox-claro" data-fs="combobox" data-fs-target="#combobox-claro-listbox" placeholder="Buscar framework…">
|
|
39
|
-
</div>
|
|
40
|
-
<ul class="fs-dropdown-menu fs-combobox-listbox" id="combobox-claro-listbox">
|
|
41
|
-
<li class="fs-dropdown-item" data-value="bootstrap">Bootstrap</li>
|
|
42
|
-
<li class="fs-dropdown-item" data-value="tailwind">Tailwind CSS</li>
|
|
43
|
-
<li class="fs-dropdown-item" data-value="bulma">Bulma</li>
|
|
44
|
-
<li class="fs-dropdown-item" data-value="foundation">Foundation</li>
|
|
45
|
-
<li class="fs-dropdown-item" data-value="uikit">UIkit</li>
|
|
46
|
-
<li class="fs-dropdown-item" data-value="cirrus">Cirrus</li>
|
|
47
|
-
<li class="fs-dropdown-item" data-value="fokus">Fokus Styles</li>
|
|
48
|
-
<li class="fs-dropdown-item is-disabled" data-value="descontinuado">Framework descontinuado</li>
|
|
49
|
-
<li class="fs-dropdown-item is-disabled" data-fs-empty hidden>Nenhum resultado encontrado.</li>
|
|
50
|
-
</ul>
|
|
51
|
-
</section>
|
|
52
|
-
</div>
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<!-- SCRIPTS IMPORT -->
|
|
57
|
-
<script src="../../dist/js/fokus.js"></script>
|
|
58
|
-
|
|
59
|
-
</body>
|
|
60
|
-
</html>
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Mockup - Command Palette</title>
|
|
7
|
-
|
|
8
|
-
<!-- STYLES IMPORT -->
|
|
9
|
-
<link rel="stylesheet" href="../../dist/css/fonts.css">
|
|
10
|
-
<link rel="stylesheet" href="../../dist/css/components.css">
|
|
11
|
-
<link rel="stylesheet" href="../../dist/css/forms.css">
|
|
12
|
-
<link rel="stylesheet" href="../../dist/css/helpers.css">
|
|
13
|
-
<style>
|
|
14
|
-
.theme-panel {
|
|
15
|
-
padding: 24px;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
html[data-theme="dark"] .theme-panel {
|
|
19
|
-
color: var(--fs-color-text);
|
|
20
|
-
background-color: var(--fs-color-surface);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
section {
|
|
24
|
-
max-width: 320px;
|
|
25
|
-
margin-bottom: 24px;
|
|
26
|
-
}
|
|
27
|
-
</style>
|
|
28
|
-
<link rel="stylesheet" href="../assets/example-theme.css">
|
|
29
|
-
<script src="../assets/example-theme.js"></script>
|
|
30
|
-
</head>
|
|
31
|
-
<body>
|
|
32
|
-
|
|
33
|
-
<div class="theme-panel">
|
|
34
|
-
<section>
|
|
35
|
-
<p class="fs-u-fs-sm fs-u-fw-medium fs-u-mb-1">Command Palette — clique ou pressione Ctrl+K / Cmd+K</p>
|
|
36
|
-
<button type="button" class="fs-btn fs-btn-primary" data-fs="command-palette" data-fs-target="#paleta-claro" data-fs-shortcut="mod+k">
|
|
37
|
-
Comandos (Ctrl+K)
|
|
38
|
-
</button>
|
|
39
|
-
|
|
40
|
-
<div class="fs-command-palette" id="paleta-claro">
|
|
41
|
-
<div class="fs-command-palette-dialog">
|
|
42
|
-
<input type="text" class="fs-command-palette-input" placeholder="Digite um comando…">
|
|
43
|
-
<ul class="fs-command-palette-list">
|
|
44
|
-
<li class="fs-dropdown-header">Arquivo</li>
|
|
45
|
-
<li class="fs-dropdown-item" data-value="new-file">Novo arquivo</li>
|
|
46
|
-
<li class="fs-dropdown-item" data-value="open-file">Abrir arquivo…</li>
|
|
47
|
-
<li class="fs-dropdown-header">Ver</li>
|
|
48
|
-
<li class="fs-dropdown-item" data-value="toggle-theme">Alternar tema claro/escuro</li>
|
|
49
|
-
<li class="fs-dropdown-item" data-value="open-settings">Abrir configurações</li>
|
|
50
|
-
<li class="fs-dropdown-item is-disabled" data-value="disabled">Comando indisponível</li>
|
|
51
|
-
<li class="fs-dropdown-item is-disabled" data-fs-empty hidden>Nenhum comando encontrado.</li>
|
|
52
|
-
</ul>
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</section>
|
|
56
|
-
</div>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
<!-- SCRIPTS IMPORT -->
|
|
61
|
-
<script src="../../dist/js/fokus.js"></script>
|
|
62
|
-
|
|
63
|
-
</body>
|
|
64
|
-
</html>
|