zenite-ui 1.0.4 → 1.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.
- package/README.md +28 -16
- package/css/zenite.min.css +1 -0
- package/js/zenite.min.js +1 -0
- package/package.json +19 -15
- package/js/zenite.js +0 -170
- package/zenite-ui/accordion.css +0 -77
- package/zenite-ui/alert.css +0 -13
- package/zenite-ui/avatar.css +0 -16
- package/zenite-ui/badge.css +0 -22
- package/zenite-ui/button.css +0 -53
- package/zenite-ui/calendar.css +0 -111
- package/zenite-ui/card.css +0 -33
- package/zenite-ui/carousel.css +0 -56
- package/zenite-ui/column.css +0 -41
- package/zenite-ui/combobox.css +0 -168
- package/zenite-ui/form.css +0 -169
- package/zenite-ui/media.css +0 -18
- package/zenite-ui/modal.css +0 -80
- package/zenite-ui/nav.css +0 -57
- package/zenite-ui/pagination.css +0 -50
- package/zenite-ui/progress.css +0 -24
- package/zenite-ui/sidebar.css +0 -84
- package/zenite-ui/skeleton.css +0 -56
- package/zenite-ui/switch.css +0 -28
- package/zenite-ui/table.css +0 -49
- package/zenite-ui/tabs.css +0 -32
- package/zenite-ui/tooltip.css +0 -29
- package/zenite-ui/typography.css +0 -164
- package/zenite-ui/utility.css +0 -14
- package/zenite-ui/variable.css +0 -124
- package/zenite-ui/zenite.css +0 -25
package/README.md
CHANGED
|
@@ -7,41 +7,53 @@ O Zênite UI é um framework front-end moderno, leve e responsivo, focado na sim
|
|
|
7
7
|
## 1. Diferenciais
|
|
8
8
|
- Leveza: Sem dependências externas pesadas, focado em performance.
|
|
9
9
|
- Responsividade: Design totalmente adaptável para qualquer dispositivo.
|
|
10
|
-
- Modularidade: Estrutura organizada para importação direta ou via
|
|
10
|
+
- Modularidade: Estrutura organizada para importação direta via CDN ou via gerenciadores de pacotes.
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
## 2. Instalação
|
|
14
|
+
## 2. Instalação e Utilização
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Pode utilizar o Zênite UI de duas formas, dependendo da arquitetura do seu projeto:
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
### Opção A: Importação direta via CDN (Mais rápida)
|
|
19
|
+
Ideal para projetos estáticos ou sem processo de *build*. Não é necessária a instalação de pacotes locais. Adicione as referências abaixo diretamente no seu arquivo HTML:
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
**CSS (Adicione dentro da tag <head>):**
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
<link href="https://cdn.jsdelivr.net/npm/zenite-ui@1.0.4/zenite-ui/zenite.min.css" rel="stylesheet">
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
Adicione as referências diretamente no seu arquivo HTML apontando para a pasta node_modules:
|
|
25
|
+
**JavaScript (Adicione antes do fechamento da tag <body>):**
|
|
26
26
|
|
|
27
|
-
<
|
|
28
|
-
|
|
27
|
+
<script src="https://cdn.jsdelivr.net/npm/zenite-ui@1.0.4/js/zenite.min.js"></script>
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### Opção B: Instalação via NPM (Para Bundlers e Projetos Modernos)
|
|
31
|
+
Ideal se estiver a utilizar ferramentas como Webpack, Vite, React, etc. Execute o comando abaixo no seu terminal:
|
|
29
32
|
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
npm install zenite-ui
|
|
34
|
+
|
|
35
|
+
**Importação via Bundlers:**
|
|
36
|
+
Nos seus arquivos principais (ex: `main.js` ou `index.js`), importe o CSS e o JS:
|
|
32
37
|
|
|
33
38
|
import 'zenite-ui/zenite-ui/zenite.css';
|
|
34
39
|
import 'zenite-ui';
|
|
35
40
|
|
|
41
|
+
**Importação em HTML usando node_modules local:**
|
|
42
|
+
Se instalou via NPM mas ainda usa HTML estático:
|
|
43
|
+
|
|
44
|
+
<link rel="stylesheet" href="./node_modules/zenite-ui/zenite-ui/zenite.css">
|
|
45
|
+
<script src="./node_modules/zenite-ui/js/zenite.js"></script>
|
|
46
|
+
|
|
36
47
|
---
|
|
37
48
|
|
|
38
|
-
##
|
|
39
|
-
O framework é composto por diversos módulos para facilitar a manutenção:
|
|
40
|
-
- Layout: Grid, Colunas e classes utilitárias.
|
|
49
|
+
## 3. Estrutura do Projeto
|
|
50
|
+
O framework é composto por diversos módulos para facilitar a manutenção e o desenvolvimento:
|
|
51
|
+
- Layout: Grid responsivo, Colunas e classes utilitárias.
|
|
41
52
|
- Componentes: Buttons, Cards, Modals, Navbars, entre outros.
|
|
42
53
|
- Formulários: Inputs estilizados, Checkboxes e Switches.
|
|
43
54
|
|
|
44
55
|
---
|
|
45
56
|
|
|
46
|
-
##
|
|
57
|
+
## 4. Licença
|
|
47
58
|
Este projeto está sob a licença MIT. Desenvolvido por Zênite Tecnologia.
|
|
59
|
+
https://www.npmjs.com/package/zenite-ui
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
details{background-color:var(--zf-background-secondary);border:1px solid rgba(212,175,55,.2);border-radius:8px;margin-bottom:1rem;padding:0 1.5rem;transition:border-color .3s ease;overflow:hidden}details:hover{border-color:#d4af3780}summary{font-weight:600;color:var(--zf-text-light);cursor:pointer;padding:1.5rem 0;outline:none;list-style:none;display:flex;justify-content:space-between;align-items:center}summary:after{content:"\25bc";color:var(--zf-accent);font-size:.8em;transition:transform .3s ease}details[open] summary:after{transform:rotate(180deg)}details[open] summary{border-bottom:1px solid rgba(212,175,55,.2);margin-bottom:1rem}details p{padding-bottom:.5rem}details[open]{animation:expandirCaixa 1.8s cubic-bezier(.25,1,.5,1) forwards}@keyframes expandirCaixa{0%{max-height:75px}to{max-height:500px}}details[open] summary~*{animation:revelarTexto .3s ease-in-out forwards}@keyframes revelarTexto{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;background-color:var(--zf-background-secondary);color:var(--zf-text-light);border-left:4px solid var(--zf-text-main);display:flex;align-items:center}.alert-success{border-left-color:#28a745;background-color:#28a7451a}.alert-error{border-left-color:#dc3545;background-color:#dc35451a}.alert-warning{border-left-color:#ffc107;background-color:#ffc1071a}.avatar{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background-color:var(--zf-background-secondary);color:var(--zf-text-light);font-weight:700;object-fit:cover;border:2px solid var(--zf-accent)}.avatar-sm{width:32px;height:32px;font-size:.8rem}.avatar-lg{width:64px;height:64px;font-size:1.5rem}.badge{display:inline-block;padding:.25em .85em;font-size:.75em;font-weight:700;text-transform:uppercase;border-radius:9999px;background-color:transparent;color:var(--zf-text-main);border:1px solid var(--zf-text-main);letter-spacing:.05em;line-height:1.5;text-align:center;white-space:nowrap}.badge.badge-accent{background-color:#d4af371a;color:var(--zf-accent);border-color:var(--zf-accent)}.button{display:inline-block;font-family:inherit;font-weight:600;font-size:1rem;line-height:1.5;text-align:center;text-decoration:none;cursor:pointer;padding:.75rem 2rem;border-radius:9999px;border:2px solid transparent;transition:all .3s ease;background-color:var(--zf-accent);color:var(--zf-background-primary)}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.button:active:not(:disabled){transform:translateY(0)}.button.button-outline{background-color:transparent;border-color:var(--zf-accent);color:var(--zf-accent)}.button.button-outline:hover:not(:disabled){background-color:var(--zf-accent);color:var(--zf-background-primary)}.button:disabled,.button[disabled]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.button-group{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.5rem}.calendar{background-color:var(--zf-background-secondary);border:1px solid rgba(212,175,55,.2);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;width:100%;max-width:380px;transition:border-color .3s ease,box-shadow .3s ease}.calendar:hover{border-color:var(--zf-accent);box-shadow:0 8px 24px #020d2acc}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-header h3{margin:0;color:var(--zf-text-light);font-size:1.2rem;font-weight:700}.calendar-btn{background:transparent;border:1px solid rgba(212,175,55,.3);color:var(--zf-text-main);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-weight:700}.calendar-btn:hover{background-color:var(--zf-accent);color:var(--zf-background-primary);border-color:var(--zf-accent)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;text-align:center}.calendar-day-name{font-weight:700;font-size:.8rem;color:var(--zf-accent);text-transform:uppercase;margin-bottom:.5rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.95rem;color:var(--zf-text-main);cursor:pointer;transition:all .2s ease;border:1px solid transparent}.calendar-day:hover:not(.empty){background-color:#d4af371a;color:var(--zf-text-light);border-color:#d4af374d}.calendar-day.active{background-color:var(--zf-accent);color:var(--zf-background-primary);font-weight:700;box-shadow:0 4px 10px #d4af374d}.calendar-day.empty{cursor:default;opacity:.3}[data-theme=light] .calendar{border-color:#0a1f44!important}[data-theme=light] .calendar-day.active{color:#fff!important}.card{background-color:transparent;border:none;border-radius:0;padding:1rem 0;margin-bottom:1.5rem;display:flex;flex-direction:column;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;height:100%;position:relative;z-index:1}.card>h1:first-child,.card>h2:first-child,.card>h3:first-child{margin-top:0}.card>*:last-child{margin-bottom:0}@media(min-width:600px){.card{background-color:var(--zf-background-secondary);border:1px solid rgba(212,175,55,.2);border-radius:8px;padding:1.5rem}.card:hover,.card:focus-within{transform:translateY(-4px);border-color:var(--zf-accent);box-shadow:0 8px 24px #020d2acc;z-index:50}}.auth-card{width:100%;max-width:450px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;justify-content:center;min-height:100vh;background-color:transparent;border:none;box-shadow:none;z-index:1}@media(min-width:600px){.auth-card{min-height:auto;margin-top:10vh;margin-bottom:10vh;background-color:var(--zf-background-secondary);border:1px solid rgba(212,175,55,.2);border-radius:8px;box-shadow:0 10px 30px #020d2a80;padding:3rem 2.5rem}}.carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1.5rem;padding-bottom:1.5rem;margin-bottom:1.5rem;scrollbar-width:thin;scrollbar-color:var(--zf-accent) var(--zf-background-secondary)}.carousel::-webkit-scrollbar{height:8px}.carousel::-webkit-scrollbar-track{background:var(--zf-background-secondary);border-radius:4px}.carousel::-webkit-scrollbar-thumb{background:var(--zf-accent);border-radius:4px}.carousel-item{flex:0 0 100%;scroll-snap-align:center;border-radius:8px;overflow:hidden;position:relative}.carousel-item img{width:100%;height:100%;object-fit:cover;display:block}.carousel-cards .carousel-item{flex:0 0 calc(100% - 3rem)}@media(min-width:768px){.carousel-cards .carousel-item{flex:0 0 calc(50% - .75rem)}}@media(min-width:1024px){.carousel-cards .carousel-item{flex:0 0 calc(33.333% - 1rem)}}.container{width:100%;max-width:var(--zf-container-width);margin:0 auto;padding:0 1rem}.row{display:flex;flex-wrap:wrap;gap:var(--zf-column-gap);margin-bottom:var(--zf-column-gap)}.column{flex:1 1 0;min-width:0}.column-1{flex:0 0 calc(8.333% - (var(--zf-column-gap) * 11 / 12))}.column-2{flex:0 0 calc(16.666% - (var(--zf-column-gap) * 10 / 12))}.column-3{flex:0 0 calc(25% - (var(--zf-column-gap) * 9 / 12))}.column-4{flex:0 0 calc(33.333% - (var(--zf-column-gap) * 8 / 12))}.column-5{flex:0 0 calc(41.666% - (var(--zf-column-gap) * 7 / 12))}.column-6{flex:0 0 calc(50% - (var(--zf-column-gap) * 6 / 12))}.column-7{flex:0 0 calc(58.333% - (var(--zf-column-gap) * 5 / 12))}.column-8{flex:0 0 calc(66.666% - (var(--zf-column-gap) * 4 / 12))}.column-9{flex:0 0 calc(75% - (var(--zf-column-gap) * 3 / 12))}.column-10{flex:0 0 calc(83.333% - (var(--zf-column-gap) * 2 / 12))}.column-11{flex:0 0 calc(91.666% - (var(--zf-column-gap) * 1 / 12))}.column-12{flex:0 0 100%}@media(max-width:768px){.column,[class^=column-]{flex:0 0 100%}}.zf-combobox{position:relative;width:100%;margin-bottom:1.5rem;z-index:10}.zf-combobox.active{z-index:999}.zf-combobox-input{width:100%;padding:.75rem 3.5rem .75rem 1rem;margin-bottom:0!important;background-color:var(--zf-background-secondary);border:1px solid rgba(212,175,55,.3);color:var(--zf-text-light);border-radius:8px;font-family:inherit;font-size:1rem;outline:none;transition:all .3s ease;cursor:text}.zf-combobox-input:focus{border-color:var(--zf-accent);box-shadow:0 0 0 3px #d4af3726}.zf-combobox:after{content:"\25bc";position:absolute;top:50%;right:1.25rem;transform:translateY(-50%);color:var(--zf-accent);font-size:.8em;pointer-events:none;transition:transform .3s ease}.zf-combobox.active:after{transform:translateY(-50%) rotate(180deg)}.zf-combobox-clear{position:absolute;top:50%;right:2.25rem;transform:translateY(-50%);color:var(--zf-text-main);font-size:1.4rem;font-weight:700;cursor:pointer;line-height:1;padding:.2rem;z-index:2;opacity:0;visibility:hidden;transition:all .2s ease}.zf-combobox-clear:hover{color:var(--zf-accent)}.zf-combobox.has-value .zf-combobox-clear{opacity:1;visibility:visible}.zf-combobox-list{position:absolute;top:calc(100% + 5px);left:0;width:100%;max-height:250px;overflow-y:auto;background-color:var(--zf-background-secondary);border:1px solid var(--zf-accent);border-radius:8px;box-shadow:0 8px 24px #020d2ae6;z-index:1000;list-style:none;padding:.5rem 0;margin:0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease}.zf-combobox.active .zf-combobox-list{opacity:1;visibility:visible;transform:translateY(0)}.zf-combobox-item{padding:.75rem 1.5rem;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(212,175,55,.1)}.zf-combobox-item:last-child{border-bottom:none}.zf-cb-left{display:flex;flex-direction:column}.zf-cb-name{font-weight:700;color:var(--zf-text-light);font-size:1.05rem;transition:color .2s ease}.zf-cb-cpf{font-family:Consolas,Monaco,Andale Mono,monospace;font-size:.85rem;color:var(--zf-text-main);opacity:.8;margin-top:.2rem}.zf-cb-info{font-size:.8rem;background-color:#d4af371a;color:var(--zf-accent);padding:.2rem .6rem;border-radius:9999px;border:1px solid var(--zf-accent);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.zf-combobox-item:hover,.zf-combobox-item.highlighted{background-color:#d4af371a}.zf-combobox-item:hover .zf-cb-name,.zf-combobox-item.highlighted .zf-cb-name{color:var(--zf-accent)}.zf-combobox-list::-webkit-scrollbar{width:8px}.zf-combobox-list::-webkit-scrollbar-track{background:var(--zf-background-secondary);border-radius:4px}.zf-combobox-list::-webkit-scrollbar-thumb{background:var(--zf-accent);border-radius:4px}label{display:block;margin-bottom:.5rem;color:var(--zf-text-light);font-weight:500}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],textarea,select{width:100%;padding:.75rem 1rem;margin-bottom:1.5rem;background-color:var(--zf-background-secondary);border:1px solid rgba(212,175,55,.3);color:var(--zf-text-light);border-radius:8px;font-family:inherit;font-size:1rem;outline:none;transition:border-color .3s ease,box-shadow .3s ease}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:var(--zf-text-main);opacity:.7}input:focus,textarea:focus,select:focus{border-color:var(--zf-accent);box-shadow:0 0 0 3px #d4af3726}input[type=checkbox],input[type=radio]{width:auto;margin-right:.5rem;margin-bottom:0;cursor:pointer;accent-color:var(--zf-accent)}.radio-group,.checkbox-group{display:flex;align-items:center;margin-bottom:1.5rem}.radio-group label,.checkbox-group label{margin-bottom:0;margin-right:1.5rem;font-weight:400}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed;background-color:#0a1f4480}input[type=file]{padding:.5rem;background-color:var(--zf-background-secondary);border:1px dashed rgba(212,175,55,.5);color:var(--zf-text-main);border-radius:8px;cursor:pointer;width:100%;margin-bottom:1.5rem}input[type=file]::file-selector-button{background-color:var(--zf-accent);color:var(--zf-background-primary);border:none;padding:.5rem 1rem;border-radius:4px;margin-right:1rem;cursor:pointer;font-weight:600;transition:all .3s ease}input[type=file]::file-selector-button:hover{box-shadow:0 4px 12px #d4af374d;transform:translateY(-1px)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;background:transparent;margin-bottom:1.5rem}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;cursor:pointer;background:var(--zf-background-secondary);border-radius:3px;border:1px solid rgba(212,175,55,.2)}input[type=range]::-webkit-slider-thumb{height:18px;width:18px;border-radius:50%;background:var(--zf-accent);cursor:pointer;-webkit-appearance:none;margin-top:-7px;box-shadow:0 0 10px #d4af3766}input[type=range]::-moz-range-track{width:100%;height:6px;cursor:pointer;background:var(--zf-background-secondary);border-radius:3px;border:1px solid rgba(212,175,55,.2)}input[type=range]::-moz-range-thumb{height:18px;width:18px;border-radius:50%;background:var(--zf-accent);cursor:pointer;border:none;box-shadow:0 0 10px #d4af3766}img,video{max-width:100%;height:auto;border-radius:8px;display:block}figure{margin:1.5rem 0}figcaption{text-align:center;color:var(--zf-text-main);font-size:.85em;margin-top:.75rem;font-style:italic}dialog{background-color:var(--zf-background-secondary);color:var(--zf-text-light);border:1px solid var(--zf-accent);border-radius:8px;padding:2rem;width:90%;max-width:500px;margin:auto;box-shadow:0 10px 30px #000c}dialog::backdrop{background-color:#020d2ad9;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid rgba(212,175,55,.2);padding-bottom:1rem}.modal-header h2,.modal-header h3{margin:0}.close-modal{background:transparent;border:none;color:var(--zf-text-main);font-size:1.5rem;cursor:pointer;transition:color .3s ease;padding:0}.close-modal:hover{color:var(--zf-accent)}dialog[open]{animation:abrirModal .5s ease-in-out forwards}@keyframes abrirModal{0%{opacity:0;transform:scale(.95) translateY(-30px)}to{opacity:1;transform:scale(1) translateY(0)}}dialog[open]::backdrop{animation:aparecerFundo .5s ease-in-out forwards}@keyframes aparecerFundo{0%{opacity:0;backdrop-filter:blur(0px)}to{opacity:1;background-color:#020d2ad9;backdrop-filter:blur(4px)}}header{position:sticky;top:0;z-index:1000;background-color:var(--zf-background-primary);padding:.5rem 0;border-bottom:1px solid rgba(212,175,55,.1);transition:all .3s ease}nav{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:1rem 0;margin-bottom:0;border-bottom:none}nav a{color:var(--zf-text-main);text-decoration:none;font-weight:600;font-size:1rem;transition:color .3s ease}nav a:hover,nav a.active{color:var(--zf-accent)}nav .brand{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:var(--zf-text-light);margin-right:auto}[data-theme=light] header{background-color:#cac7c7!important;border-bottom-color:#0a1f4426!important}@media(max-width:768px){nav{justify-content:center;gap:1rem 1.5rem}nav .brand{margin-right:0;width:100%;text-align:center;margin-bottom:.5rem}}.pagination{display:flex;flex-wrap:wrap;list-style:none;gap:.5rem;padding:0;margin:1.5rem 0 3rem;align-items:center}.pagination li a,.pagination li span{display:flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .75rem;border-radius:8px;background-color:var(--zf-background-secondary);border:1px solid rgba(212,175,55,.2);color:var(--zf-text-main);text-decoration:none;font-weight:600;transition:all .3s ease}.pagination li a:hover{border-color:var(--zf-accent);color:var(--zf-text-light);transform:translateY(-2px);box-shadow:0 4px 12px #d4af3726}.pagination li.active span{background-color:var(--zf-accent);border-color:var(--zf-accent);color:var(--zf-background-primary)}.pagination li.disabled span{opacity:.5;cursor:not-allowed;background-color:transparent;border-color:#d4af371a;color:var(--zf-text-main)}progress{appearance:none;width:100%;height:10px;border-radius:5px;overflow:hidden;margin-bottom:1.5rem}progress::-webkit-progress-bar{background-color:var(--zf-background-secondary)}progress::-webkit-progress-value{background-color:var(--zf-accent)}progress::-moz-progress-bar{background-color:var(--zf-accent)}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:3px solid rgba(212,175,55,.3);border-radius:50%;border-top-color:var(--zf-accent);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-checkbox{display:none}.sidebar-toggle-btn{cursor:pointer;font-size:1.5rem;color:var(--zf-text-light);background-color:var(--zf-background-secondary);border:1px solid var(--zf-accent);padding:.5rem 1rem;border-radius:8px;display:inline-flex;align-items:center;transition:all .3s ease}.sidebar-toggle-btn:hover{background-color:var(--zf-accent);color:var(--zf-background-primary)}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#020d2ab3;backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:all .3s ease;z-index:999}.sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background-color:var(--zf-background-secondary);z-index:1050;transform:translate(-105%);visibility:hidden;box-shadow:none;transition:transform .3s ease,box-shadow .3s ease,visibility .3s ease;padding:2rem 1.5rem}.sidebar-checkbox:checked~.sidebar{transform:translate(0);visibility:visible;box-shadow:4px 0 24px #020d2a80}.sidebar-checkbox:checked~.sidebar-overlay{opacity:1;visibility:visible}.sidebar-nav{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.sidebar-nav a{color:var(--zf-text-main);text-decoration:none;font-size:1.1rem;padding:.5rem 0;border-bottom:1px solid rgba(212,175,55,.1);transition:color .3s ease}.sidebar-nav a:hover,.sidebar-nav a.active{color:var(--zf-accent)}.skeleton{background-color:#ffffff08;background-image:linear-gradient(90deg,#fff0,#d4af3726,#fff0);background-size:200% 100%;animation:shimmer 1.5s infinite linear;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-title{height:1.5rem;width:60%;margin-bottom:1rem}.skeleton-text{height:1rem;width:100%;margin-bottom:.5rem}.skeleton-text.short{width:80%}.skeleton-image{width:100%;height:150px;border-radius:8px;margin-bottom:1rem}.skeleton-button{height:2.5rem;width:140px;border-radius:9999px;margin-top:1rem}.switch{position:relative;display:inline-block;width:50px;height:26px;margin-right:.5rem}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--zf-background-secondary);transition:.4s;border-radius:26px;border:1px solid rgba(212,175,55,.3)}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--zf-text-main);transition:.4s;border-radius:50%}.switch input:checked+.slider{background-color:var(--zf-accent);border-color:var(--zf-accent)}.switch input:checked+.slider:before{background-color:var(--zf-background-primary);transform:translate(24px)}.table-container{width:100%;overflow-x:auto;margin-bottom:1.5rem;border:1px solid rgba(212,175,55,.2);border-radius:8px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:1rem 1.5rem;border-bottom:1px solid rgba(212,175,55,.15);color:var(--zf-text-main)}th{background-color:var(--zf-background-secondary);color:var(--zf-accent);font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em}tbody tr{transition:background-color .3s ease}tbody tr:hover{background-color:var(--zf-background-secondary)}tbody tr:last-child td{border-bottom:none}.table-striped tbody tr:nth-child(2n){background-color:#ffffff05}.table-striped tbody tr:hover{background-color:#d4af370d}.tabs{display:flex;flex-wrap:wrap;margin-bottom:2rem;border-bottom:1px solid rgba(212,175,55,.2)}.tabs input[type=radio]{display:none}.tabs label{padding:1rem 2rem;cursor:pointer;color:var(--zf-text-main);font-weight:600;margin-bottom:-1px;border-bottom:2px solid transparent;transition:all .3s ease}.tabs label:hover{color:var(--zf-text-light)}.tabs input[type=radio]:checked+label{color:var(--zf-accent);border-bottom:2px solid var(--zf-accent)}.tab-content{width:100%;order:1;display:none;padding:1.5rem 0}.tabs input[type=radio]:checked+label+.tab-content{display:block}[data-tooltip]{position:relative;cursor:help;border-bottom:1px dotted var(--zf-accent)}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:120%;left:50%;transform:translate(-50%);background-color:var(--zf-background-primary);color:var(--zf-text-light);padding:.5rem .75rem;border-radius:4px;font-size:.8rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .3s ease;border:1px solid var(--zf-accent);z-index:10}[data-tooltip]:hover:after{opacity:1;visibility:visible}h1,h2,h3,h4,h5,h6{color:var(--zf-text-light);margin-top:2.5rem;margin-bottom:1rem;line-height:1.2;font-weight:700}p{margin-bottom:1.5rem}ul,ol{margin-bottom:1.5rem;padding-left:2rem}li{margin-bottom:.5rem}a{color:var(--zf-accent);text-decoration:underline;transition:color .3s ease}a:hover{text-decoration:none;color:var(--zf-text-light)}strong,b{color:var(--zf-text-light);font-weight:700}mark{background-color:var(--zf-accent);color:var(--zf-background-primary);padding:.1rem .3rem;border-radius:3px}blockquote{border-left:4px solid var(--zf-accent);margin:1.5rem 0;padding:1rem 1.5rem;color:var(--zf-text-main);background-color:var(--zf-background-secondary);border-radius:0 8px 8px 0;font-style:italic}code,kbd{font-family:Consolas,Monaco,Andale Mono,monospace;font-size:.85em}pre{scrollbar-width:thin;scrollbar-color:var(--zf-background-primary) var(--zf-background-secondary)}pre::-webkit-scrollbar{height:10px}pre::-webkit-scrollbar-track{background:var(--zf-background-secondary);border-radius:0 0 8px 8px}pre::-webkit-scrollbar-thumb{background:var(--zf-background-primary);border-radius:5px;border:2px solid var(--zf-background-secondary)}pre::-webkit-scrollbar-thumb:hover{background:var(--zf-accent)}p>code,li>code{background-color:var(--zf-background-secondary);color:var(--zf-accent);padding:.2rem .4rem;border-radius:4px}kbd{background-color:var(--zf-background-primary);color:var(--zf-text-light);border:1px solid var(--zf-text-main);border-radius:4px;padding:.1rem .3rem}pre{background-color:var(--zf-background-secondary);color:var(--zf-text-light);padding:1.5rem;border-radius:8px;border:1px solid rgba(212,175,55,.2);overflow-x:auto;margin-top:1.5rem;margin-bottom:1.5rem;max-width:100%}pre code{background-color:transparent;padding:0;color:inherit;font-size:.9em}.notice{background-color:#d4af371a;border:1px solid var(--zf-accent);padding:1rem 1.5rem;border-radius:8px;margin:1.5rem 0;color:var(--zf-text-light)}aside{background-color:var(--zf-background-secondary);border-left:4px solid var(--zf-accent);padding:1rem 1.5rem;border-radius:0 8px 8px 0;margin:-1.8rem 0 1.5rem 1.5rem;float:right;width:30%;min-width:250px}aside p:last-child{margin-bottom:0}@media(max-width:768px){aside{float:none;width:100%;margin:1.5rem 0}}article,section{margin-bottom:3rem}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-left{text-align:left!important}.hidden{display:none!important}.mt-1{margin-top:1rem!important}.mt-2{margin-top:2rem!important}.mt-3{margin-top:3rem!important}.mb-1{margin-bottom:1rem!important}.mb-2{margin-bottom:2rem!important}.mb-3{margin-bottom:3rem!important}:root{--zf-background-primary: #020D2A;--zf-background-secondary: #0A1F44;--zf-accent: #D4AF37;--zf-text-main: #A0AEC0;--zf-text-light: #FFFFFF;--zf-font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--zf-container-width: 1200px;--zf-column-gap: 1.5rem}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--zf-background-primary);color:var(--zf-text-main);font-family:var(--zf-font-base);line-height:1.6;font-size:1.15rem}[data-theme=light]{--zf-background-primary: #97919183;--zf-background-secondary: #e3e3e383;--zf-accent: #0A1F44;--zf-text-main: #52525B;--zf-text-light: #18181B}[data-theme=light] .button:not(.button-outline),[data-theme=light] .button.button-outline:hover,[data-theme=light] .pagination li.active span,[data-theme=light] mark,[data-theme=light] input[type=file]::file-selector-button{color:#fff!important}[data-theme=light] .switch input:checked+.slider:before{background-color:#fafafa!important}[data-theme=light] .card,[data-theme=light] pre,[data-theme=light] input,[data-theme=light] textarea,[data-theme=light] select,[data-theme=light] details,[data-theme=light] .table-container,[data-theme=light] .sidebar,[data-theme=light] .zf-combobox-list{border-color:#0a1f44!important}[data-theme=light] hr,[data-theme=light] .modal-header,[data-theme=light] nav,[data-theme=light] .tabs,[data-theme=light] th,[data-theme=light] td,[data-theme=light] .sidebar-nav a,[data-theme=light] details[open] summary{border-color:#0a1f444d!important}[data-theme=light] .skeleton{background-color:#0a1f440d!important;background-image:linear-gradient(90deg,#0a1f4400,#0a1f4426,#0a1f4400)!important}[data-theme=light] .card:hover{box-shadow:0 10px 25px #0000000d!important;border-color:var(--zf-accent)!important}[data-theme=light] .zf-combobox-list{box-shadow:0 10px 25px #00000014!important}[data-theme=light] dialog{box-shadow:0 20px 40px #0000001a!important}[data-theme=light] dialog::backdrop,[data-theme=light] .sidebar-overlay{background-color:#18181b80!important}[data-theme=light] .zf-combobox-list,[data-theme=light] dialog,[data-theme=light] .sidebar{background-color:#e3e3e383!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid rgba(10,31,68,.1)!important;box-shadow:0 12px 35px #0a1f4426!important}[data-theme=light] dialog::backdrop,[data-theme=light] .sidebar-overlay{background-color:#0a1f4480!important;backdrop-filter:blur(3px)!important}
|
package/js/zenite.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".zf-combobox").forEach(s=>{let a=s.querySelector(".zf-combobox-input"),i=s.querySelectorAll(".zf-combobox-item"),v=s.querySelector(".zf-combobox-clear"),t=-1,r=()=>{a.value.trim()!==""?s.classList.add("has-value"):s.classList.remove("has-value")},m=()=>Array.from(i).filter(e=>e.style.display!=="none"),l=e=>{if(i.forEach(n=>n.classList.remove("highlighted")),t>=0&&t<e.length){let n=e[t];n.classList.add("highlighted"),n.scrollIntoView({block:"nearest"})}},c=()=>{s.classList.remove("active"),t=-1,l([])};v&&v.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation(),a.value="",r(),i.forEach(n=>n.style.display=""),a.focus()}),a.addEventListener("focus",()=>{s.classList.add("active"),t=-1}),a.addEventListener("mousedown",e=>{e.offsetX>a.offsetWidth-40&&(e.preventDefault(),s.classList.toggle("active"),s.classList.contains("active")||(t=-1))}),a.addEventListener("input",e=>{r();let n=e.target.value.toLowerCase();s.classList.add("active"),i.forEach(o=>{let u=o.textContent.toLowerCase();o.style.display=u.includes(n)?"":"none"}),t=-1,l(m())});let f=e=>{let n=e.querySelector(".zf-cb-name"),o=e.querySelector(".zf-cb-cpf"),u=e.getAttribute("data-id")||"Sem ID",h=n?n.textContent.trim():e.textContent.trim();a.value=h,r(),c();let g={id:u,nome:h,cpf:o?o.textContent.trim():"CPF n\xE3o encontrado"};console.log("Objeto Selecionado:",JSON.stringify(g,null,2))};i.forEach(e=>{e.addEventListener("click",()=>f(e))}),a.addEventListener("keydown",e=>{let n=m(),o=s.classList.contains("active");e.key==="ArrowDown"?(e.preventDefault(),o?(t=t<n.length-1?t+1:t,l(n)):s.classList.add("active")):e.key==="ArrowUp"?(e.preventDefault(),o&&(t=t>0?t-1:0,l(n))):e.key==="Enter"?o&&t>=0&&t<n.length&&(e.preventDefault(),f(n[t])):e.key==="Tab"?o&&t>=0&&t<n.length?(e.preventDefault(),f(n[t])):c():e.key==="Escape"&&c()}),document.addEventListener("click",e=>{s.contains(e.target)||c()})})});document.addEventListener("DOMContentLoaded",()=>{let d=document.getElementById("theme-toggle"),s=document.getElementById("theme-label");d&&d.addEventListener("change",a=>{a.target.checked?(document.documentElement.removeAttribute("data-theme"),s&&(s.textContent="Modo Escuro Ativado")):(document.documentElement.setAttribute("data-theme","light"),s&&(s.textContent="Modo Claro Ativado"))})});})();
|
package/package.json
CHANGED
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zenite-ui",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Versão minificada e de alta performance do framework Zenite UI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"css",
|
|
7
7
|
"framework",
|
|
8
8
|
"ui",
|
|
9
9
|
"frontend",
|
|
10
|
-
"javascript"
|
|
10
|
+
"javascript",
|
|
11
|
+
"minified"
|
|
11
12
|
],
|
|
12
|
-
"homepage": "https://github.com/zenitetecnologia/zenite-ui
|
|
13
|
-
"bugs": {
|
|
14
|
-
"url": "https://github.com/zenitetecnologia/zenite-ui/issues"
|
|
15
|
-
},
|
|
13
|
+
"homepage": "https://github.com/zenitetecnologia/zenite-ui-docs",
|
|
16
14
|
"repository": {
|
|
17
15
|
"type": "git",
|
|
18
|
-
"url": "git+https://github.com/zenitetecnologia/zenite-ui.git"
|
|
16
|
+
"url": "git+https://github.com/zenitetecnologia/zenite-ui-docs.git"
|
|
19
17
|
},
|
|
20
18
|
"license": "MIT",
|
|
21
|
-
"author": "
|
|
22
|
-
"type": "
|
|
23
|
-
"main": "js/zenite.js",
|
|
24
|
-
"style": "
|
|
19
|
+
"author": "Yuri Lucas",
|
|
20
|
+
"type": "module",
|
|
21
|
+
"main": "js/zenite.min.js",
|
|
22
|
+
"style": "css/zenite.min.css",
|
|
25
23
|
"files": [
|
|
26
|
-
"zenite
|
|
27
|
-
"js"
|
|
24
|
+
"css/zenite.min.css",
|
|
25
|
+
"js/zenite.min.js"
|
|
28
26
|
],
|
|
29
27
|
"scripts": {
|
|
30
|
-
"
|
|
28
|
+
"build:css": "esbuild css/zenite.css --bundle --minify --outfile=css/zenite.min.css",
|
|
29
|
+
"build:js": "esbuild js/zenite.js --bundle --minify --outfile=js/zenite.min.js",
|
|
30
|
+
"build": "npm run build:css && npm run build:js",
|
|
31
|
+
"prepublishOnly": "npm run build"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"esbuild": "^0.20.0"
|
|
31
35
|
}
|
|
32
36
|
}
|
package/js/zenite.js
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
//combobox
|
|
2
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
3
|
-
const comboboxes = document.querySelectorAll('.zf-combobox');
|
|
4
|
-
|
|
5
|
-
comboboxes.forEach(combobox => {
|
|
6
|
-
const input = combobox.querySelector('.zf-combobox-input');
|
|
7
|
-
const items = combobox.querySelectorAll('.zf-combobox-item');
|
|
8
|
-
const clearBtn = combobox.querySelector('.zf-combobox-clear');
|
|
9
|
-
|
|
10
|
-
const toggleClearBtn = () => {
|
|
11
|
-
if (input.value.trim() !== '') {
|
|
12
|
-
combobox.classList.add('has-value');
|
|
13
|
-
} else {
|
|
14
|
-
combobox.classList.remove('has-value');
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
if (clearBtn) {
|
|
19
|
-
clearBtn.addEventListener('mousedown', (e) => {
|
|
20
|
-
e.preventDefault();
|
|
21
|
-
e.stopPropagation();
|
|
22
|
-
|
|
23
|
-
input.value = '';
|
|
24
|
-
toggleClearBtn();
|
|
25
|
-
|
|
26
|
-
items.forEach(item => item.style.display = '');
|
|
27
|
-
|
|
28
|
-
input.focus();
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
input.addEventListener('focus', () => {
|
|
33
|
-
combobox.classList.add('active');
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
input.addEventListener('mousedown', (e) => {
|
|
37
|
-
if (e.offsetX > input.offsetWidth - 40) {
|
|
38
|
-
e.preventDefault();
|
|
39
|
-
|
|
40
|
-
combobox.classList.toggle('active');
|
|
41
|
-
|
|
42
|
-
if (combobox.classList.contains('active')) {
|
|
43
|
-
input.focus();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
//filtra itens
|
|
49
|
-
input.addEventListener('input', (e) => {
|
|
50
|
-
toggleClearBtn();
|
|
51
|
-
const termoPesquisa = e.target.value.toLowerCase();
|
|
52
|
-
|
|
53
|
-
items.forEach(item => {
|
|
54
|
-
const textoItem = item.textContent.toLowerCase();
|
|
55
|
-
|
|
56
|
-
if (textoItem.includes(termoPesquisa)) {
|
|
57
|
-
item.style.display = '';
|
|
58
|
-
} else {
|
|
59
|
-
item.style.display = 'none';
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
//seleciona item
|
|
65
|
-
items.forEach(item => {
|
|
66
|
-
item.addEventListener('click', () => {
|
|
67
|
-
const nomeElemento = item.querySelector('.zf-cb-name');
|
|
68
|
-
|
|
69
|
-
let cpfElemento = item.querySelector('.zf-cb-cpf');
|
|
70
|
-
let nomeSelecionado = "";
|
|
71
|
-
let idSelecionado = item.getAttribute('data-id') || "Sem ID";
|
|
72
|
-
|
|
73
|
-
if (nomeElemento) {
|
|
74
|
-
nomeSelecionado = nomeElemento.textContent.trim();
|
|
75
|
-
input.value = nomeSelecionado;
|
|
76
|
-
} else {
|
|
77
|
-
nomeSelecionado = item.textContent.trim();
|
|
78
|
-
input.value = nomeSelecionado;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
toggleClearBtn();
|
|
82
|
-
combobox.classList.remove('active');
|
|
83
|
-
|
|
84
|
-
const dadosJSON = {
|
|
85
|
-
id: idSelecionado,
|
|
86
|
-
nome: nomeSelecionado,
|
|
87
|
-
cpf: cpfElemento ? cpfElemento.textContent.trim() : "CPF não encontrado"
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
console.log("Objeto Selecionado:", JSON.stringify(dadosJSON, null, 2));
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
//fecha lista se clicar fora
|
|
95
|
-
document.addEventListener('click', (e) => {
|
|
96
|
-
if (!combobox.contains(e.target)) {
|
|
97
|
-
combobox.classList.remove('active');
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
//filtra itens
|
|
102
|
-
input.addEventListener('input', (e) => {
|
|
103
|
-
const termoPesquisa = e.target.value.toLowerCase();
|
|
104
|
-
|
|
105
|
-
items.forEach(item => {
|
|
106
|
-
const textoItem = item.textContent.toLowerCase();
|
|
107
|
-
|
|
108
|
-
if (textoItem.includes(termoPesquisa)) {
|
|
109
|
-
item.style.display = '';
|
|
110
|
-
} else {
|
|
111
|
-
item.style.display = 'none';
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
//seleciona item
|
|
117
|
-
items.forEach(item => {
|
|
118
|
-
item.addEventListener('click', () => {
|
|
119
|
-
const nomeElemento = item.querySelector('.zf-cb-name');
|
|
120
|
-
|
|
121
|
-
let cpfElemento = item.querySelector('.zf-cb-cpf');
|
|
122
|
-
let nomeSelecionado = "";
|
|
123
|
-
let idSelecionado = item.getAttribute('data-id') || "Sem ID";
|
|
124
|
-
|
|
125
|
-
if (nomeElemento) {
|
|
126
|
-
nomeSelecionado = nomeElemento.textContent.trim();
|
|
127
|
-
input.value = nomeSelecionado;
|
|
128
|
-
} else {
|
|
129
|
-
nomeSelecionado = item.textContent.trim();
|
|
130
|
-
input.value = nomeSelecionado;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
combobox.classList.remove('active');
|
|
134
|
-
|
|
135
|
-
const dadosJSON = {
|
|
136
|
-
id: idSelecionado,
|
|
137
|
-
nome: nomeSelecionado,
|
|
138
|
-
cpf: cpfElemento ? cpfElemento.textContent.trim() : "CPF não encontrado"
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
console.log("Objeto Selecionado:", JSON.stringify(dadosJSON, null, 2));
|
|
142
|
-
alert("JSON:\n" + JSON.stringify(dadosJSON, null, 2));
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
//fecha lista se clicar fora
|
|
147
|
-
document.addEventListener('click', (e) => {
|
|
148
|
-
if (!combobox.contains(e.target)) {
|
|
149
|
-
combobox.classList.remove('active');
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
//--------------------------------------------------------------------------
|
|
155
|
-
//dark/light mode toggle
|
|
156
|
-
const themeSwitch = document.getElementById('theme-toggle');
|
|
157
|
-
const themeLabel = document.getElementById('theme-label');
|
|
158
|
-
|
|
159
|
-
if (themeSwitch) {
|
|
160
|
-
themeSwitch.addEventListener('change', (e) => {
|
|
161
|
-
if (e.target.checked) {
|
|
162
|
-
document.documentElement.removeAttribute('data-theme');
|
|
163
|
-
themeLabel.textContent = "Modo Escuro Ativado";
|
|
164
|
-
} else {
|
|
165
|
-
document.documentElement.setAttribute('data-theme', 'light');
|
|
166
|
-
themeLabel.textContent = "Modo Claro Ativado";
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
});
|
package/zenite-ui/accordion.css
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
details {
|
|
2
|
-
background-color: var(--zf-background-secondary);
|
|
3
|
-
border: 1px solid rgba(212, 175, 55, 0.2);
|
|
4
|
-
border-radius: 8px;
|
|
5
|
-
margin-bottom: 1rem;
|
|
6
|
-
padding: 0 1.5rem;
|
|
7
|
-
transition: border-color 0.3s ease;
|
|
8
|
-
overflow: hidden;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
details:hover {
|
|
12
|
-
border-color: rgba(212, 175, 55, 0.5);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
summary {
|
|
16
|
-
font-weight: 600;
|
|
17
|
-
color: var(--zf-text-light);
|
|
18
|
-
cursor: pointer;
|
|
19
|
-
padding: 1.5rem 0;
|
|
20
|
-
outline: none;
|
|
21
|
-
list-style: none;
|
|
22
|
-
display: flex;
|
|
23
|
-
justify-content: space-between;
|
|
24
|
-
align-items: center;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/*seta dourada */
|
|
28
|
-
summary::after {
|
|
29
|
-
content: "▼";
|
|
30
|
-
color: var(--zf-accent);
|
|
31
|
-
font-size: 0.8em;
|
|
32
|
-
transition: transform 0.3s ease;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/*roda a seta quando o detalhe está aberto */
|
|
36
|
-
details[open] summary::after {
|
|
37
|
-
transform: rotate(180deg);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
details[open] summary {
|
|
41
|
-
border-bottom: 1px solid rgba(212, 175, 55, 0.2);
|
|
42
|
-
margin-bottom: 1rem;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
details p {
|
|
46
|
-
padding-bottom: 0.5rem;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/*animacao da caixa*/
|
|
50
|
-
details[open] {
|
|
51
|
-
animation: expandirCaixa 1.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
@keyframes expandirCaixa {
|
|
55
|
-
0% {
|
|
56
|
-
max-height: 75px;
|
|
57
|
-
}
|
|
58
|
-
100% {
|
|
59
|
-
max-height: 500px;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/*anima a revelação suave do texto*/
|
|
64
|
-
details[open] summary ~ * {
|
|
65
|
-
animation: revelarTexto 0.3s ease-in-out forwards;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@keyframes revelarTexto {
|
|
69
|
-
0% {
|
|
70
|
-
opacity: 0;
|
|
71
|
-
transform: translateY(-15px);
|
|
72
|
-
}
|
|
73
|
-
100% {
|
|
74
|
-
opacity: 1;
|
|
75
|
-
transform: translateY(0);
|
|
76
|
-
}
|
|
77
|
-
}
|
package/zenite-ui/alert.css
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
.alert {
|
|
2
|
-
padding: 1rem 1.5rem;
|
|
3
|
-
border-radius: 8px;
|
|
4
|
-
margin-bottom: 1.5rem;
|
|
5
|
-
background-color: var(--zf-background-secondary);
|
|
6
|
-
color: var(--zf-text-light);
|
|
7
|
-
border-left: 4px solid var(--zf-text-main);
|
|
8
|
-
display: flex;
|
|
9
|
-
align-items: center;
|
|
10
|
-
}
|
|
11
|
-
.alert-success { border-left-color: #28a745; background-color: rgba(40, 167, 69, 0.1); }
|
|
12
|
-
.alert-error { border-left-color: #dc3545; background-color: rgba(220, 53, 69, 0.1); }
|
|
13
|
-
.alert-warning { border-left-color: #ffc107; background-color: rgba(255, 193, 7, 0.1); }
|
package/zenite-ui/avatar.css
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
.avatar {
|
|
2
|
-
display: inline-flex;
|
|
3
|
-
align-items: center;
|
|
4
|
-
justify-content: center;
|
|
5
|
-
width: 48px;
|
|
6
|
-
height: 48px;
|
|
7
|
-
border-radius: 50%;
|
|
8
|
-
background-color: var(--zf-background-secondary);
|
|
9
|
-
color: var(--zf-text-light);
|
|
10
|
-
font-weight: bold;
|
|
11
|
-
object-fit: cover;
|
|
12
|
-
border: 2px solid var(--zf-accent);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.avatar-sm { width: 32px; height: 32px; font-size: 0.8rem; }
|
|
16
|
-
.avatar-lg { width: 64px; height: 64px; font-size: 1.5rem; }
|
package/zenite-ui/badge.css
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
.badge {
|
|
2
|
-
display: inline-block;
|
|
3
|
-
padding: 0.25em 0.85em;
|
|
4
|
-
font-size: 0.75em;
|
|
5
|
-
font-weight: 700;
|
|
6
|
-
text-transform: uppercase;
|
|
7
|
-
border-radius: 9999px; /*efeito pilula*/
|
|
8
|
-
background-color: transparent;
|
|
9
|
-
color: var(--zf-text-main);
|
|
10
|
-
border: 1px solid var(--zf-text-main);
|
|
11
|
-
letter-spacing: 0.05em;
|
|
12
|
-
line-height: 1.5;
|
|
13
|
-
text-align: center;
|
|
14
|
-
white-space: nowrap;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/*dourado para destacar*/
|
|
18
|
-
.badge.badge-accent {
|
|
19
|
-
background-color: rgba(212, 175, 55, 0.1);
|
|
20
|
-
color: var(--zf-accent);
|
|
21
|
-
border-color: var(--zf-accent);
|
|
22
|
-
}
|
package/zenite-ui/button.css
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
.button {
|
|
2
|
-
display: inline-block;
|
|
3
|
-
font-family: inherit;
|
|
4
|
-
font-weight: 600;
|
|
5
|
-
font-size: 1rem;
|
|
6
|
-
line-height: 1.5;
|
|
7
|
-
text-align: center;
|
|
8
|
-
text-decoration: none;
|
|
9
|
-
cursor: pointer;
|
|
10
|
-
padding: 0.75rem 2rem;
|
|
11
|
-
border-radius: 9999px;
|
|
12
|
-
border: 2px solid transparent;
|
|
13
|
-
transition: all 0.3s ease;
|
|
14
|
-
|
|
15
|
-
background-color: var(--zf-accent);
|
|
16
|
-
color: var(--zf-background-primary);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.button:hover:not(:disabled) {
|
|
20
|
-
transform: translateY(-2px);
|
|
21
|
-
box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.button:active:not(:disabled) {
|
|
25
|
-
transform: translateY(0);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.button.button-outline {
|
|
29
|
-
background-color: transparent;
|
|
30
|
-
border-color: var(--zf-accent);
|
|
31
|
-
color: var(--zf-accent);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.button.button-outline:hover:not(:disabled) {
|
|
35
|
-
background-color: var(--zf-accent);
|
|
36
|
-
color: var(--zf-background-primary);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.button:disabled,
|
|
40
|
-
.button[disabled] {
|
|
41
|
-
opacity: 0.6;
|
|
42
|
-
cursor: not-allowed;
|
|
43
|
-
transform: none;
|
|
44
|
-
box-shadow: none;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.button-group {
|
|
48
|
-
display: flex;
|
|
49
|
-
flex-wrap: wrap;
|
|
50
|
-
gap: 1rem;
|
|
51
|
-
align-items: center;
|
|
52
|
-
margin-bottom: 1.5rem;
|
|
53
|
-
}
|
package/zenite-ui/calendar.css
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
.calendar {
|
|
2
|
-
background-color: var(--zf-background-secondary);
|
|
3
|
-
border: 1px solid rgba(212, 175, 55, 0.2);
|
|
4
|
-
border-radius: 8px;
|
|
5
|
-
padding: 1.5rem;
|
|
6
|
-
margin-bottom: 1.5rem;
|
|
7
|
-
width: 100%;
|
|
8
|
-
max-width: 380px;
|
|
9
|
-
transition: border-color 0.3s ease, box-shadow 0.3s ease;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.calendar:hover {
|
|
13
|
-
border-color: var(--zf-accent);
|
|
14
|
-
box-shadow: 0 8px 24px rgba(2, 13, 42, 0.8);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/*cabeçalho(mes, ano e botoes)*/
|
|
18
|
-
.calendar-header {
|
|
19
|
-
display: flex;
|
|
20
|
-
justify-content: space-between;
|
|
21
|
-
align-items: center;
|
|
22
|
-
margin-bottom: 1.5rem;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.calendar-header h3 {
|
|
26
|
-
margin: 0;
|
|
27
|
-
color: var(--zf-text-light);
|
|
28
|
-
font-size: 1.2rem;
|
|
29
|
-
font-weight: 700;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/*botoes de mes*/
|
|
33
|
-
.calendar-btn {
|
|
34
|
-
background: transparent;
|
|
35
|
-
border: 1px solid rgba(212, 175, 55, 0.3);
|
|
36
|
-
color: var(--zf-text-main);
|
|
37
|
-
border-radius: 8px;
|
|
38
|
-
width: 36px;
|
|
39
|
-
height: 36px;
|
|
40
|
-
display: flex;
|
|
41
|
-
align-items: center;
|
|
42
|
-
justify-content: center;
|
|
43
|
-
cursor: pointer;
|
|
44
|
-
transition: all 0.3s ease;
|
|
45
|
-
font-weight: bold;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.calendar-btn:hover {
|
|
49
|
-
background-color: var(--zf-accent);
|
|
50
|
-
color: var(--zf-background-primary);
|
|
51
|
-
border-color: var(--zf-accent);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/*dias*/
|
|
55
|
-
.calendar-grid {
|
|
56
|
-
display: grid;
|
|
57
|
-
grid-template-columns: repeat(7, 1fr);
|
|
58
|
-
gap: 0.5rem;
|
|
59
|
-
text-align: center;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/*dias da semana*/
|
|
63
|
-
.calendar-day-name {
|
|
64
|
-
font-weight: 700;
|
|
65
|
-
font-size: 0.8rem;
|
|
66
|
-
color: var(--zf-accent);
|
|
67
|
-
text-transform: uppercase;
|
|
68
|
-
margin-bottom: 0.5rem;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/*numeros dos dias*/
|
|
72
|
-
.calendar-day {
|
|
73
|
-
aspect-ratio: 1;
|
|
74
|
-
display: flex;
|
|
75
|
-
align-items: center;
|
|
76
|
-
justify-content: center;
|
|
77
|
-
border-radius: 50%;
|
|
78
|
-
font-size: 0.95rem;
|
|
79
|
-
color: var(--zf-text-main);
|
|
80
|
-
cursor: pointer;
|
|
81
|
-
transition: all 0.2s ease;
|
|
82
|
-
border: 1px solid transparent;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.calendar-day:hover:not(.empty) {
|
|
86
|
-
background-color: rgba(212, 175, 55, 0.1);
|
|
87
|
-
color: var(--zf-text-light);
|
|
88
|
-
border-color: rgba(212, 175, 55, 0.3);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/*dia selecionado */
|
|
92
|
-
.calendar-day.active {
|
|
93
|
-
background-color: var(--zf-accent);
|
|
94
|
-
color: var(--zf-background-primary);
|
|
95
|
-
font-weight: bold;
|
|
96
|
-
box-shadow: 0 4px 10px rgba(212, 175, 55, 0.3);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.calendar-day.empty {
|
|
100
|
-
cursor: default;
|
|
101
|
-
opacity: 0.3;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/*ajuste modo claro*/
|
|
105
|
-
[data-theme="light"] .calendar {
|
|
106
|
-
border-color: #0A1F44 !important;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
[data-theme="light"] .calendar-day.active {
|
|
110
|
-
color: #FFFFFF !important;
|
|
111
|
-
}
|