godown 3.0.0-canary.12 → 3.0.0-canary.14
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 +1 -1
- package/alert.js +1 -5
- package/alert.js.map +1 -1
- package/avatar.js +1 -5
- package/avatar.js.map +1 -1
- package/breath.js +1 -5
- package/breath.js.map +1 -1
- package/button.js +1 -5
- package/button.js.map +1 -1
- package/card.js +1 -5
- package/card.js.map +1 -1
- package/carousel.js +1 -5
- package/carousel.js.map +1 -1
- package/components/alert.js +1 -174
- package/components/alert.js.map +1 -1
- package/components/avatar.js +1 -68
- package/components/avatar.js.map +1 -1
- package/components/breath.js +1 -81
- package/components/breath.js.map +1 -1
- package/components/button.js +1 -185
- package/components/button.js.map +1 -1
- package/components/card.js +1 -49
- package/components/card.js.map +1 -1
- package/components/carousel.js +1 -119
- package/components/carousel.js.map +1 -1
- package/components/details.js +1 -53
- package/components/details.js.map +1 -1
- package/components/dialog.js +1 -98
- package/components/dialog.js.map +1 -1
- package/components/divider.js +1 -35
- package/components/divider.js.map +1 -1
- package/components/dragbox.js +1 -111
- package/components/dragbox.js.map +1 -1
- package/components/flex.js +1 -63
- package/components/flex.js.map +1 -1
- package/components/form.js +1 -75
- package/components/form.js.map +1 -1
- package/components/grid.js +1 -57
- package/components/grid.js.map +1 -1
- package/components/input.js +1 -51
- package/components/input.js.map +1 -1
- package/components/layout.js +1 -58
- package/components/layout.js.map +1 -1
- package/components/link.js +1 -53
- package/components/link.js.map +1 -1
- package/components/progress.js +1 -59
- package/components/progress.js.map +1 -1
- package/components/range.d.ts +1 -0
- package/components/range.d.ts.map +1 -1
- package/components/range.js +1 -267
- package/components/range.js.map +1 -1
- package/components/rotate.js +1 -56
- package/components/rotate.js.map +1 -1
- package/components/router.d.ts +1 -2
- package/components/router.d.ts.map +1 -1
- package/components/router.js +1 -250
- package/components/router.js.map +1 -1
- package/components/select.js +1 -217
- package/components/select.js.map +1 -1
- package/components/skeleton.js +1 -55
- package/components/skeleton.js.map +1 -1
- package/components/split.js +1 -154
- package/components/split.js.map +1 -1
- package/components/switch.js +1 -93
- package/components/switch.js.map +1 -1
- package/components/text.js +1 -46
- package/components/text.js.map +1 -1
- package/components/time.js +1 -78
- package/components/time.js.map +1 -1
- package/components/tooltip.js +1 -85
- package/components/tooltip.js.map +1 -1
- package/components/typewriter.js +1 -128
- package/components/typewriter.js.map +1 -1
- package/core/global-style.js +1 -52
- package/core/global-style.js.map +1 -1
- package/core/super-anchor.js +1 -39
- package/core/super-anchor.js.map +1 -1
- package/core/super-input.js +1 -117
- package/core/super-input.js.map +1 -1
- package/core/super-openable.js +1 -37
- package/core/super-openable.js.map +1 -1
- package/custom-elements.json +1 -1
- package/details.js +1 -5
- package/details.js.map +1 -1
- package/dev/components/range.d.ts +1 -0
- package/dev/components/range.d.ts.map +1 -1
- package/dev/components/range.js +8 -3
- package/dev/components/range.js.map +1 -1
- package/dev/components/router.d.ts +1 -2
- package/dev/components/router.d.ts.map +1 -1
- package/dev/components/router.js +4 -7
- package/dev/components/router.js.map +1 -1
- package/dialog.js +1 -5
- package/dialog.js.map +1 -1
- package/divider.js +1 -5
- package/divider.js.map +1 -1
- package/dragbox.js +1 -5
- package/dragbox.js.map +1 -1
- package/flex.js +1 -5
- package/flex.js.map +1 -1
- package/form.js +1 -5
- package/form.js.map +1 -1
- package/grid.js +1 -5
- package/grid.js.map +1 -1
- package/index.js +1 -56
- package/index.js.map +1 -1
- package/input.js +1 -5
- package/input.js.map +1 -1
- package/layout.js +1 -5
- package/layout.js.map +1 -1
- package/link.js +1 -5
- package/link.js.map +1 -1
- package/package.json +2 -2
- package/progress.js +1 -5
- package/progress.js.map +1 -1
- package/range.js +1 -5
- package/range.js.map +1 -1
- package/rotate.js +1 -5
- package/rotate.js.map +1 -1
- package/router.js +1 -5
- package/router.js.map +1 -1
- package/select.js +1 -5
- package/select.js.map +1 -1
- package/skeleton.js +1 -5
- package/skeleton.js.map +1 -1
- package/split.js +1 -5
- package/split.js.map +1 -1
- package/src/components/range.ts +9 -3
- package/src/components/router.ts +4 -8
- package/switch.js +1 -5
- package/switch.js.map +1 -1
- package/text.js +1 -5
- package/text.js.map +1 -1
- package/time.js +1 -5
- package/time.js.map +1 -1
- package/tooltip.js +1 -5
- package/tooltip.js.map +1 -1
- package/typewriter.js +1 -5
- package/typewriter.js.map +1 -1
- package/web-types.json +1 -1
package/components/button.js
CHANGED
@@ -1,186 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
import { godown } from '@godown/element/decorators/godown.js';
|
3
|
-
import { part } from '@godown/element/decorators/part.js';
|
4
|
-
import { styles } from '@godown/element/decorators/styles.js';
|
5
|
-
import { attr } from '@godown/element/directives/attr.js';
|
6
|
-
import { htmlSlot } from '@godown/element/directives/html-slot.js';
|
7
|
-
import { htmlStyle } from '@godown/element/directives/html-style.js';
|
8
|
-
import { constructCSSObject, toVar } from '@godown/element/tools/css.js';
|
9
|
-
import { css, html } from 'lit';
|
10
|
-
import { property } from 'lit/decorators.js';
|
11
|
-
import { scopePrefix, cssGlobalVars, GlobalStyle } from '../core/global-style.js';
|
12
|
-
|
13
|
-
const protoName = "button";
|
14
|
-
const cssScope = scopePrefix(protoName);
|
15
|
-
const whiteFont = cssGlobalVars.white;
|
16
|
-
const blackFont = cssGlobalVars.black;
|
17
|
-
const colors = constructCSSObject(["color", "background", "gradients"].map((k) => `${cssScope}--${k}`), {
|
18
|
-
black: [
|
19
|
-
whiteFont, // color
|
20
|
-
cssGlobalVars._colors.darkgray[7], // background
|
21
|
-
cssGlobalVars._colors.darkgray[5], // gradients
|
22
|
-
],
|
23
|
-
gray: [
|
24
|
-
whiteFont, // color
|
25
|
-
cssGlobalVars._colors.darkgray[1], // background
|
26
|
-
cssGlobalVars._colors.lightgray[8], // gradients
|
27
|
-
],
|
28
|
-
white: [
|
29
|
-
blackFont, // color
|
30
|
-
cssGlobalVars._colors.lightgray[3], // background
|
31
|
-
cssGlobalVars._colors.lightgray[0], // gradients
|
32
|
-
],
|
33
|
-
blue: [
|
34
|
-
whiteFont, // color
|
35
|
-
cssGlobalVars._colors.blue[6], // background
|
36
|
-
cssGlobalVars._colors.blue[4], // gradients
|
37
|
-
],
|
38
|
-
green: [
|
39
|
-
whiteFont, // color
|
40
|
-
cssGlobalVars._colors.green[6], // background
|
41
|
-
cssGlobalVars._colors.green[4], // gradients
|
42
|
-
],
|
43
|
-
red: [
|
44
|
-
whiteFont, // color
|
45
|
-
cssGlobalVars._colors.red[6], // background
|
46
|
-
cssGlobalVars._colors.red[4], // gradients
|
47
|
-
],
|
48
|
-
orange: [
|
49
|
-
whiteFont, // color
|
50
|
-
cssGlobalVars._colors.orange[6], // background
|
51
|
-
cssGlobalVars._colors.orange[4], // gradients
|
52
|
-
],
|
53
|
-
pink: [
|
54
|
-
whiteFont, // color
|
55
|
-
cssGlobalVars._colors.pink[6], // background
|
56
|
-
cssGlobalVars._colors.pink[4], // gradients
|
57
|
-
],
|
58
|
-
purple: [
|
59
|
-
whiteFont, // color
|
60
|
-
cssGlobalVars._colors.purple[6], // background
|
61
|
-
cssGlobalVars._colors.purple[4], // gradients
|
62
|
-
],
|
63
|
-
yellow: [
|
64
|
-
blackFont, // color
|
65
|
-
cssGlobalVars._colors.yellow[6], // background
|
66
|
-
cssGlobalVars._colors.yellow[4], // gradients
|
67
|
-
],
|
68
|
-
teal: [
|
69
|
-
whiteFont, // color
|
70
|
-
cssGlobalVars._colors.teal[6], // background
|
71
|
-
cssGlobalVars._colors.teal[4], // gradients
|
72
|
-
],
|
73
|
-
}, () => `:host`, (prop) => toVar(prop));
|
74
|
-
/**
|
75
|
-
* {@linkcode Button} renders a button.
|
76
|
-
*
|
77
|
-
* Create modal animation upon clicking.
|
78
|
-
*
|
79
|
-
* Available colors (background): none, black, gray, white, blue, green, red, orange, pink, purple, yellow, teal.
|
80
|
-
*
|
81
|
-
* Default color is `black`.
|
82
|
-
*
|
83
|
-
* Set the color to `none` to prevent applying styles.
|
84
|
-
*
|
85
|
-
* @category input
|
86
|
-
*/
|
87
|
-
let Button = class Button extends GlobalStyle {
|
88
|
-
constructor() {
|
89
|
-
super(...arguments);
|
90
|
-
/**
|
91
|
-
* Whether to disable this element.
|
92
|
-
*/
|
93
|
-
this.disabled = false;
|
94
|
-
/**
|
95
|
-
* Display ghost.
|
96
|
-
*/
|
97
|
-
this.ghost = false;
|
98
|
-
/**
|
99
|
-
* Whether this element is active or not.
|
100
|
-
*/
|
101
|
-
this.active = false;
|
102
|
-
/**
|
103
|
-
* Display rounded.
|
104
|
-
*/
|
105
|
-
this.round = false;
|
106
|
-
/**
|
107
|
-
* The primary color.
|
108
|
-
*/
|
109
|
-
this.color = "black";
|
110
|
-
}
|
111
|
-
render() {
|
112
|
-
const color = this.nextColor();
|
113
|
-
return html `<div part="root" ${attr(this.observedRecord)}><span part="modal-root"></span><div part="content">${[this.content || htmlSlot(), htmlStyle(colors[color])]}</div></div>`;
|
114
|
-
}
|
115
|
-
focus() {
|
116
|
-
if (this.disabled) {
|
117
|
-
return;
|
118
|
-
}
|
119
|
-
this.active = true;
|
120
|
-
super.focus();
|
121
|
-
}
|
122
|
-
blur() {
|
123
|
-
this.active = false;
|
124
|
-
super.blur();
|
125
|
-
}
|
126
|
-
firstUpdated() {
|
127
|
-
this.events.add(this, "click", this._handelClick, true);
|
128
|
-
}
|
129
|
-
_handelClick(e) {
|
130
|
-
if (this.disabled) {
|
131
|
-
e.stopPropagation();
|
132
|
-
e.preventDefault();
|
133
|
-
return;
|
134
|
-
}
|
135
|
-
this._handleModal(e);
|
136
|
-
}
|
137
|
-
_handleModal(e) {
|
138
|
-
const modal = document.createElement("i");
|
139
|
-
const rect = this.getBoundingClientRect();
|
140
|
-
const h = rect.height;
|
141
|
-
const w = rect.width;
|
142
|
-
const size = `${Math.sqrt(h * h + w * w) * 2}px`;
|
143
|
-
modal.style.height = size;
|
144
|
-
modal.style.width = size;
|
145
|
-
modal.style.left = `${e.clientX - rect.left}px`;
|
146
|
-
modal.style.top = `${e.clientY - rect.y}px`;
|
147
|
-
modal.style.animationName = "kf";
|
148
|
-
this._modalRoot.appendChild(modal);
|
149
|
-
modal.addEventListener("animationend", () => modal.remove(), { once: true });
|
150
|
-
}
|
151
|
-
nextColor() {
|
152
|
-
return this.color;
|
153
|
-
}
|
154
|
-
};
|
155
|
-
__decorate([
|
156
|
-
property({ type: Boolean, reflect: true })
|
157
|
-
], Button.prototype, "disabled", void 0);
|
158
|
-
__decorate([
|
159
|
-
property({ type: Boolean, reflect: true })
|
160
|
-
], Button.prototype, "ghost", void 0);
|
161
|
-
__decorate([
|
162
|
-
property({ type: Boolean, reflect: true })
|
163
|
-
], Button.prototype, "active", void 0);
|
164
|
-
__decorate([
|
165
|
-
property({ type: Boolean, reflect: true })
|
166
|
-
], Button.prototype, "round", void 0);
|
167
|
-
__decorate([
|
168
|
-
property({ reflect: true })
|
169
|
-
], Button.prototype, "color", void 0);
|
170
|
-
__decorate([
|
171
|
-
property()
|
172
|
-
], Button.prototype, "content", void 0);
|
173
|
-
__decorate([
|
174
|
-
part("modal-root")
|
175
|
-
], Button.prototype, "_modalRoot", void 0);
|
176
|
-
__decorate([
|
177
|
-
part("root")
|
178
|
-
], Button.prototype, "_root", void 0);
|
179
|
-
Button = __decorate([
|
180
|
-
godown(protoName),
|
181
|
-
styles(css `:host(:not([disabled]):active){transform:scale(var(${cssScope}--focus-scale))}:host([round]){${cssScope}--padding-x:.75em;border-radius:calc(infinity * 1px)}:host([disabled]){cursor:not-allowed;filter:brightness(.85)}:host([ghost]){${cssScope}--modal-background:var(${cssScope}--ghost-color);box-shadow:inset 0 0 0 var(${cssScope}--ghost-width) var(${cssScope}--ghost-color);color:var(${cssScope}--ghost-color);background:0 0}`, css `:host{${cssScope}--padding-x:.5em;${cssScope}--padding-y:min(calc(var(${cssScope}--padding-x) / 2),.25em);${cssScope}--padding:var(${cssScope}--padding-y) var(${cssScope}--padding-x);${cssScope}--modal-animation-duration:1s;${cssScope}--ghost-width:.08em;${cssScope}--focus-scale:.97;${cssScope}--deg:45deg;${cssScope}--ghost-color:var(${cssScope}--background);color:var(${cssScope}--color,inherit);background:linear-gradient(var(${cssScope}--deg),var(${cssScope}--background),var(${cssScope}--gradients,var(${cssScope}--background)));border-radius:.3em;width:-moz-fit-content;width:fit-content;transition:.1s;display:block;overflow:hidden;text-align:center;padding:0!important;cursor:pointer}:host([contents]) [part=root]{width:-moz-fit-content;width:fit-content}[part=root]{width:100%;height:100%;overflow:hidden;position:relative;transition:none;-webkit-user-select:none;user-select:none;border-radius:inherit;transition-duration:inherit}[part=content]{padding:var(${cssScope}--padding)}i{position:absolute;inset:0;opacity:0;width:100%;height:100%;border-radius:50%;visibility:visible;pointer-events:none;transform-origin:0 0;background:var(${cssScope}--modal-background,currentColor);animation-duration:var(${cssScope}--modal-animation-duration)}@keyframes kf{0%{transform:scale(0) translate(-50%,-50%);opacity:var(${cssScope}--modal-opacity,.1)}80%{transform:scale(1) translate(-50%,-50%)}to{opacity:0}}`)
|
182
|
-
], Button);
|
183
|
-
var Button$1 = Button;
|
184
|
-
|
185
|
-
export { Button$1 as default };
|
1
|
+
import{__decorate as o}from"tslib";import{godown as t}from"@godown/element/decorators/godown.js";import{part as r}from"@godown/element/decorators/part.js";import{styles as e}from"@godown/element/decorators/styles.js";import{attr as i}from"@godown/element/directives/attr.js";import{htmlSlot as a}from"@godown/element/directives/html-slot.js";import{htmlStyle as n}from"@godown/element/directives/html-style.js";import{constructCSSObject as s,toVar as l}from"@godown/element/tools/css.js";import{css as d,html as c}from"lit";import{property as p}from"lit/decorators.js";import{scopePrefix as h,cssGlobalVars as g,GlobalStyle as m}from"../core/global-style.js";const u="button",v=h(u),f=g.white,y=g.black,b=s(["color","background","gradients"].map((o=>`${v}--${o}`)),{black:[f,g._colors.darkgray[7],g._colors.darkgray[5]],gray:[f,g._colors.darkgray[1],g._colors.lightgray[8]],white:[y,g._colors.lightgray[3],g._colors.lightgray[0]],blue:[f,g._colors.blue[6],g._colors.blue[4]],green:[f,g._colors.green[6],g._colors.green[4]],red:[f,g._colors.red[6],g._colors.red[4]],orange:[f,g._colors.orange[6],g._colors.orange[4]],pink:[f,g._colors.pink[6],g._colors.pink[4]],purple:[f,g._colors.purple[6],g._colors.purple[4]],yellow:[y,g._colors.yellow[6],g._colors.yellow[4]],teal:[f,g._colors.teal[6],g._colors.teal[4]]},(()=>":host"),(o=>l(o)));let $=class Button extends m{constructor(){super(...arguments),this.disabled=!1,this.ghost=!1,this.active=!1,this.round=!1,this.color="black"}render(){const o=this.nextColor();return c`<div part="root" ${i(this.observedRecord)}><span part="modal-root"></span><div part="content">${[this.content||a(),n(b[o])]}</div></div>`}focus(){this.disabled||(this.active=!0,super.focus())}blur(){this.active=!1,super.blur()}firstUpdated(){this.events.add(this,"click",this._handelClick,!0)}_handelClick(o){if(this.disabled)return o.stopPropagation(),void o.preventDefault();this._handleModal(o)}_handleModal(o){const t=document.createElement("i"),r=this.getBoundingClientRect(),e=r.height,i=r.width,a=2*Math.sqrt(e*e+i*i)+"px";t.style.height=a,t.style.width=a,t.style.left=o.clientX-r.left+"px",t.style.top=o.clientY-r.y+"px",t.style.animationName="kf",this._modalRoot.appendChild(t),t.addEventListener("animationend",(()=>t.remove()),{once:!0})}nextColor(){return this.color}};o([p({type:Boolean,reflect:!0})],$.prototype,"disabled",void 0),o([p({type:Boolean,reflect:!0})],$.prototype,"ghost",void 0),o([p({type:Boolean,reflect:!0})],$.prototype,"active",void 0),o([p({type:Boolean,reflect:!0})],$.prototype,"round",void 0),o([p({reflect:!0})],$.prototype,"color",void 0),o([p()],$.prototype,"content",void 0),o([r("modal-root")],$.prototype,"_modalRoot",void 0),o([r("root")],$.prototype,"_root",void 0),$=o([t(u),e(d`:host(:not([disabled]):active){transform:scale(var(${v}--focus-scale))}:host([round]){${v}--padding-x:.75em;border-radius:calc(infinity * 1px)}:host([disabled]){cursor:not-allowed;filter:brightness(.85)}:host([ghost]){${v}--modal-background:var(${v}--ghost-color);box-shadow:inset 0 0 0 var(${v}--ghost-width) var(${v}--ghost-color);color:var(${v}--ghost-color);background:0 0}`,d`:host{${v}--padding-x:.5em;${v}--padding-y:min(calc(var(${v}--padding-x) / 2),.25em);${v}--padding:var(${v}--padding-y) var(${v}--padding-x);${v}--modal-animation-duration:1s;${v}--ghost-width:.08em;${v}--focus-scale:.97;${v}--deg:45deg;${v}--ghost-color:var(${v}--background);color:var(${v}--color,inherit);background:linear-gradient(var(${v}--deg),var(${v}--background),var(${v}--gradients,var(${v}--background)));border-radius:.3em;width:-moz-fit-content;width:fit-content;transition:.1s;display:block;overflow:hidden;text-align:center;padding:0!important;cursor:pointer}:host([contents]) [part=root]{width:-moz-fit-content;width:fit-content}[part=root]{width:100%;height:100%;overflow:hidden;position:relative;transition:none;-webkit-user-select:none;user-select:none;border-radius:inherit;transition-duration:inherit}[part=content]{padding:var(${v}--padding)}i{position:absolute;inset:0;opacity:0;width:100%;height:100%;border-radius:50%;visibility:visible;pointer-events:none;transform-origin:0 0;background:var(${v}--modal-background,currentColor);animation-duration:var(${v}--modal-animation-duration)}@keyframes kf{0%{transform:scale(0) translate(-50%,-50%);opacity:var(${v}--modal-opacity,.1)}80%{transform:scale(1) translate(-50%,-50%)}to{opacity:0}}`)],$);var _=$;export{_ as default};
|
186
2
|
//# sourceMappingURL=button.js.map
|
package/components/button.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../src/components/button.ts"],"sourcesContent":null,"names":[
|
1
|
+
{"version":3,"file":"button.js","sources":["../src/components/button.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","whiteFont","cssGlobalVars","white","blackFont","black","colors","constructCSSObject","map","k","_colors","darkgray","gray","lightgray","blue","green","red","orange","pink","purple","yellow","teal","prop","toVar","Button","GlobalStyle","constructor","this","disabled","ghost","active","round","color","render","nextColor","html","attr","observedRecord","content","htmlSlot","htmlStyle","focus","super","blur","firstUpdated","events","add","_handelClick","e","stopPropagation","preventDefault","_handleModal","modal","document","createElement","rect","getBoundingClientRect","h","height","w","width","size","Math","sqrt","style","left","clientX","top","clientY","y","animationName","_modalRoot","appendChild","addEventListener","remove","once","__decorate","property","type","Boolean","reflect","prototype","part","godown","styles","css","Button$1"],"mappings":"mpBAYA,MAAMA,EAAY,SACZC,EAAWC,EAAYF,GAEvBG,EAAYC,EAAcC,MAC1BC,EAAYF,EAAcG,MAG1BC,EAAiCC,EACrC,CAAC,QAAS,aAAc,aAAaC,KAAKC,GAAM,GAAGV,MAAaU,MAChE,CACEJ,MAAO,CACLJ,EACAC,EAAcQ,QAAQC,SAAS,GAC/BT,EAAcQ,QAAQC,SAAS,IAEjCC,KAAM,CACJX,EACAC,EAAcQ,QAAQC,SAAS,GAC/BT,EAAcQ,QAAQG,UAAU,IAElCV,MAAO,CACLC,EACAF,EAAcQ,QAAQG,UAAU,GAChCX,EAAcQ,QAAQG,UAAU,IAElCC,KAAM,CACJb,EACAC,EAAcQ,QAAQI,KAAK,GAC3BZ,EAAcQ,QAAQI,KAAK,IAE7BC,MAAO,CACLd,EACAC,EAAcQ,QAAQK,MAAM,GAC5Bb,EAAcQ,QAAQK,MAAM,IAE9BC,IAAK,CACHf,EACAC,EAAcQ,QAAQM,IAAI,GAC1Bd,EAAcQ,QAAQM,IAAI,IAE5BC,OAAQ,CACNhB,EACAC,EAAcQ,QAAQO,OAAO,GAC7Bf,EAAcQ,QAAQO,OAAO,IAE/BC,KAAM,CACJjB,EACAC,EAAcQ,QAAQQ,KAAK,GAC3BhB,EAAcQ,QAAQQ,KAAK,IAE7BC,OAAQ,CACNlB,EACAC,EAAcQ,QAAQS,OAAO,GAC7BjB,EAAcQ,QAAQS,OAAO,IAE/BC,OAAQ,CACNhB,EACAF,EAAcQ,QAAQU,OAAO,GAC7BlB,EAAcQ,QAAQU,OAAO,IAE/BC,KAAM,CACJpB,EACAC,EAAcQ,QAAQW,KAAK,GAC3BnB,EAAcQ,QAAQW,KAAK,MAG/B,IAAM,UACLC,GAASC,EAAMD,KAqBlB,IAAME,EAAN,MAAMA,eAAeC,EAArB,WAAAC,uBAKEC,KAAQC,UAAG,EAMXD,KAAKE,OAAG,EAMRF,KAAMG,QAAG,EAMTH,KAAKI,OAAG,EAMRJ,KAAKK,MAAiC,QAa5B,MAAAC,GACR,MAAMD,EAAQL,KAAKO,YACnB,OAAOC,CAAI,oBAAoBC,EAAKT,KAAKU,sEAGnC,CAACV,KAAKW,SAAWC,IAAYC,EAAUlC,EAAO0B,mBAKtD,KAAAS,GACMd,KAAKC,WAGTD,KAAKG,QAAS,EACdY,MAAMD,SAGR,IAAAE,GACEhB,KAAKG,QAAS,EACdY,MAAMC,OAGR,YAAAC,GACEjB,KAAKkB,OAAOC,IAAInB,KAAM,QAASA,KAAKoB,cAAc,GAG1C,YAAAA,CAAaC,GACrB,GAAIrB,KAAKC,SAGP,OAFAoB,EAAEC,uBACFD,EAAEE,iBAGJvB,KAAKwB,aAAaH,GAGV,YAAAG,CAAaH,GACrB,MAAMI,EAAQC,SAASC,cAAc,KAC/BC,EAAO5B,KAAK6B,wBACZC,EAAIF,EAAKG,OACTC,EAAIJ,EAAKK,MACTC,EAAqC,EAA3BC,KAAKC,KAAKN,EAAIA,EAAIE,EAAIA,GAAzB,KACbP,EAAMY,MAAMN,OAASG,EACrBT,EAAMY,MAAMJ,MAAQC,EACpBT,EAAMY,MAAMC,KAAUjB,EAAEkB,QAAUX,EAAKU,KAApB,KACnBb,EAAMY,MAAMG,IAASnB,EAAEoB,QAAUb,EAAKc,EAApB,KAClBjB,EAAMY,MAAMM,cAAgB,KAC5B3C,KAAK4C,WAAWC,YAAYpB,GAC5BA,EAAMqB,iBAAiB,gBAAgB,IAAMrB,EAAMsB,UAAU,CAAEC,MAAM,IAGvE,SAAAzC,GACE,OAAOP,KAAKK,QAzFd4C,EAAA,CADCC,EAAS,CAAEC,KAAMC,QAASC,SAAS,KACpBxD,EAAAyD,UAAA,gBAAA,GAMhBL,EAAA,CADCC,EAAS,CAAEC,KAAMC,QAASC,SAAS,KACvBxD,EAAAyD,UAAA,aAAA,GAMbL,EAAA,CADCC,EAAS,CAAEC,KAAMC,QAASC,SAAS,KACtBxD,EAAAyD,UAAA,cAAA,GAMdL,EAAA,CADCC,EAAS,CAAEC,KAAMC,QAASC,SAAS,KACvBxD,EAAAyD,UAAA,aAAA,GAMbL,EAAA,CADCC,EAAS,CAAEG,SAAS,KACwBxD,EAAAyD,UAAA,aAAA,GAM7CL,EAAA,CADCC,KACcrD,EAAAyD,UAAA,eAAA,GAGLL,EAAA,CADTM,EAAK,eAC2B1D,EAAAyD,UAAA,kBAAA,GAEvBL,EAAA,CADTM,EAAK,SACsB1D,EAAAyD,UAAA,aAAA,GAxCxBzD,EAAMoD,EAAA,CALXO,EAAOrF,GACPsF,EACCC,CAAG,sDAAsDtF,mCAA0CA,oIAA4IA,2BAAkCA,8CAA2DA,uBAA8BA,6BAAoCA,kCAC9YsF,CAAG,SAAStF,qBAA4BA,6BAAoCA,6BAAoCA,kBAAyBA,qBAA4BA,iBAAwBA,kCAAyCA,wBAA+BA,sBAA6BA,gBAAuBA,sBAA6BA,4BAAmCA,oDAA2DA,eAAsBA,sBAA6BA,oBAA2BA,qcAA+cA,yKAAgLA,4DAAmEA,qGAA4GA,oFAE5yCyB,GAkGN,IAAA8D,EAAe9D"}
|
package/components/card.js
CHANGED
@@ -1,50 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
import { godown } from '@godown/element/decorators/godown.js';
|
3
|
-
import { styles } from '@godown/element/decorators/styles.js';
|
4
|
-
import { attr } from '@godown/element/directives/attr.js';
|
5
|
-
import { htmlSlot } from '@godown/element/directives/html-slot.js';
|
6
|
-
import { css, html } from 'lit';
|
7
|
-
import { property } from 'lit/decorators.js';
|
8
|
-
import { scopePrefix, cssGlobalVars, GlobalStyle } from '../core/global-style.js';
|
9
|
-
|
10
|
-
const protoName = "card";
|
11
|
-
const cssScope = scopePrefix(protoName);
|
12
|
-
/**
|
13
|
-
* {@linkcode Card} renders a card.
|
14
|
-
*
|
15
|
-
* This may be similar to {@linkcode Layout},
|
16
|
-
* but it needs to be specified to enable header and footer.
|
17
|
-
*
|
18
|
-
* @slot - The main content of the card.
|
19
|
-
* @slot header - The header of the card.
|
20
|
-
* @slot footer - The footer of the card.
|
21
|
-
* @category display
|
22
|
-
*/
|
23
|
-
let Card = class Card extends GlobalStyle {
|
24
|
-
constructor() {
|
25
|
-
super(...arguments);
|
26
|
-
this.footer = false;
|
27
|
-
this.header = false;
|
28
|
-
}
|
29
|
-
render() {
|
30
|
-
return html `<div part="root" ${attr(this.observedRecord)}>${[
|
31
|
-
this.header ? htmlSlot("header") : "",
|
32
|
-
htmlSlot(),
|
33
|
-
this.footer ? htmlSlot("footer") : "",
|
34
|
-
]}</div>`;
|
35
|
-
}
|
36
|
-
};
|
37
|
-
__decorate([
|
38
|
-
property({ type: Boolean })
|
39
|
-
], Card.prototype, "footer", void 0);
|
40
|
-
__decorate([
|
41
|
-
property({ type: Boolean })
|
42
|
-
], Card.prototype, "header", void 0);
|
43
|
-
Card = __decorate([
|
44
|
-
godown(protoName),
|
45
|
-
styles(css `:host{${cssScope}--background:var(${cssGlobalVars.background});${cssScope}--border-width:.0375em;${cssScope}--border-color:transparent;${cssScope}--border-background:var(${cssGlobalVars.passive});${cssScope}--padding:.75em;color:var(${cssGlobalVars.foreground});background:var(${cssScope}--background);border-width:var(${cssScope}--border-width);display:block;flex-shrink:0;position:relative;overflow:hidden;box-sizing:border-box}slot{display:block;padding:var(${cssScope}--padding)}:host,slot{border-color:var(${cssScope}--border-background);border-style:solid}[name=footer]{border-top-width:var(${cssScope}--border-width)}[name=header]{border-bottom-width:var(${cssScope}--border-width)}`)
|
46
|
-
], Card);
|
47
|
-
var Card$1 = Card;
|
48
|
-
|
49
|
-
export { Card$1 as default };
|
1
|
+
import{__decorate as o}from"tslib";import{godown as r}from"@godown/element/decorators/godown.js";import{styles as e}from"@godown/element/decorators/styles.js";import{attr as t}from"@godown/element/directives/attr.js";import{htmlSlot as d}from"@godown/element/directives/html-slot.js";import{css as a,html as i}from"lit";import{property as s}from"lit/decorators.js";import{scopePrefix as n,cssGlobalVars as l,GlobalStyle as b}from"../core/global-style.js";const m="card",p=n(m);let c=class Card extends b{constructor(){super(...arguments),this.footer=!1,this.header=!1}render(){return i`<div part="root" ${t(this.observedRecord)}>${[this.header?d("header"):"",d(),this.footer?d("footer"):""]}</div>`}};o([s({type:Boolean})],c.prototype,"footer",void 0),o([s({type:Boolean})],c.prototype,"header",void 0),c=o([r(m),e(a`:host{${p}--background:var(${l.background});${p}--border-width:.0375em;${p}--border-color:transparent;${p}--border-background:var(${l.passive});${p}--padding:.75em;color:var(${l.foreground});background:var(${p}--background);border-width:var(${p}--border-width);display:block;flex-shrink:0;position:relative;overflow:hidden;box-sizing:border-box}slot{display:block;padding:var(${p}--padding)}:host,slot{border-color:var(${p}--border-background);border-style:solid}[name=footer]{border-top-width:var(${p}--border-width)}[name=header]{border-bottom-width:var(${p}--border-width)}`)],c);var h=c;export{h as default};
|
50
2
|
//# sourceMappingURL=card.js.map
|
package/components/card.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../src/components/card.ts"],"sourcesContent":null,"names":[
|
1
|
+
{"version":3,"file":"card.js","sources":["../src/components/card.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Card","GlobalStyle","constructor","this","footer","header","render","html","attr","observedRecord","htmlSlot","__decorate","property","type","Boolean","prototype","godown","styles","css","cssGlobalVars","background","passive","foreground","Card$1"],"mappings":"ucAWA,MAAMA,EAAY,OACZC,EAAWC,EAAYF,GAiB7B,IAAMG,EAAN,MAAMA,aAAaC,EAAnB,WAAAC,uBAEEC,KAAMC,QAAG,EAGTD,KAAME,QAAG,EAEC,MAAAC,GACR,OAAOC,CAAI,oBAAoBC,EAAKL,KAAKM,mBACvC,CACAN,KAAKE,OAASK,EAAS,UAAY,GACnCA,IACAP,KAAKC,OAASM,EAAS,UAAY,cAVvCC,EAAA,CADCC,EAAS,CAAEC,KAAMC,WACJd,EAAAe,UAAA,cAAA,GAGdJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,WACJd,EAAAe,UAAA,cAAA,GALVf,EAAIW,EAAA,CAJTK,EAAOnB,GACPoB,EACCC,CAAG,SAASpB,qBAA4BqB,EAAcC,eAAetB,2BAAkCA,+BAAsCA,4BAAmCqB,EAAcE,YAAYvB,8BAAqCqB,EAAcG,8BAA8BxB,mCAA0CA,uIAA8IA,2CAAkDA,+EAAsFA,0DAAiEA,sBAExpBE,GAkBN,IAAAuB,EAAevB"}
|
package/components/carousel.js
CHANGED
@@ -1,120 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
import { godown } from '@godown/element/decorators/godown.js';
|
3
|
-
import { part } from '@godown/element/decorators/part.js';
|
4
|
-
import { styles } from '@godown/element/decorators/styles.js';
|
5
|
-
import { attr } from '@godown/element/directives/attr.js';
|
6
|
-
import { htmlSlot } from '@godown/element/directives/html-slot.js';
|
7
|
-
import { htmlStyle } from '@godown/element/directives/html-style.js';
|
8
|
-
import iconChevronLeft from '@godown/f7-icon/icons/chevron-left.js';
|
9
|
-
import iconChevronRight from '@godown/f7-icon/icons/chevron-right.js';
|
10
|
-
import { css, html } from 'lit';
|
11
|
-
import { property } from 'lit/decorators.js';
|
12
|
-
import { GlobalStyle } from '../core/global-style.js';
|
13
|
-
|
14
|
-
const protoName = "carousel";
|
15
|
-
/**
|
16
|
-
* {@linkcode Carousel} make the content display as a carousel.
|
17
|
-
*
|
18
|
-
* When this component is `firstUpdated`,
|
19
|
-
* clone the first and last element and make the matching element visible when switching index.
|
20
|
-
*
|
21
|
-
* Child elements should maintain the same size.
|
22
|
-
*
|
23
|
-
* If no width, it will be the width of the first element.
|
24
|
-
*
|
25
|
-
* @slot - Carousel items, should maintain the same size.
|
26
|
-
* @category display
|
27
|
-
*/
|
28
|
-
let Carousel = class Carousel extends GlobalStyle {
|
29
|
-
constructor() {
|
30
|
-
super(...arguments);
|
31
|
-
/**
|
32
|
-
* The index of the element is displayed for the first time.
|
33
|
-
*/
|
34
|
-
this.index = 0;
|
35
|
-
/**
|
36
|
-
* If autoChange > 0, the rotation will be automated.
|
37
|
-
*/
|
38
|
-
this.autoChange = 0;
|
39
|
-
}
|
40
|
-
render() {
|
41
|
-
return html `<div part="root" ${attr(this.observedRecord)}><i part="prev" @click="${this.prev}">${iconChevronLeft()}</i><div part="move-root" style="transform:${`translateX(-${this.index + 1}00%)`}">${htmlSlot()}</div><i part="next" @click="${this.next}">${iconChevronRight()} </i>${htmlStyle(`:host,:host([contents]) [part=root]{width:${this.width};}`)}</div>`;
|
42
|
-
}
|
43
|
-
async firstUpdated() {
|
44
|
-
await this.updateComplete;
|
45
|
-
if (this.children.length) {
|
46
|
-
this.width ||= `${this.firstElementChild.offsetWidth}px`;
|
47
|
-
this._cloneFirst?.remove();
|
48
|
-
this._cloneLast?.remove();
|
49
|
-
this._cloneLast = this.firstElementChild.cloneNode(true);
|
50
|
-
this._cloneFirst = this.lastElementChild.cloneNode(true);
|
51
|
-
this.appendChild(this._cloneLast);
|
52
|
-
this.insertBefore(this._cloneFirst, this.firstElementChild);
|
53
|
-
this.show(this.index);
|
54
|
-
}
|
55
|
-
this.checkInterval();
|
56
|
-
}
|
57
|
-
disconnectedCallback() {
|
58
|
-
clearInterval(this.intervalID);
|
59
|
-
}
|
60
|
-
show(i) {
|
61
|
-
this.index = i;
|
62
|
-
}
|
63
|
-
next() {
|
64
|
-
if (this.index === this.childElementCount - 3) {
|
65
|
-
this._doTranslateX("0", true);
|
66
|
-
this.show(0);
|
67
|
-
}
|
68
|
-
else {
|
69
|
-
this.show(this.index + 1);
|
70
|
-
}
|
71
|
-
this.checkInterval();
|
72
|
-
}
|
73
|
-
prev() {
|
74
|
-
if (this.index === 0) {
|
75
|
-
this._doTranslateX(`-${this.childElementCount - 1}00%`, true);
|
76
|
-
this.show(this.children.length - 3);
|
77
|
-
}
|
78
|
-
else {
|
79
|
-
this.show(this.index - 1);
|
80
|
-
}
|
81
|
-
this.checkInterval();
|
82
|
-
}
|
83
|
-
_doTranslateX(xValue, noTransition) {
|
84
|
-
this._moveRoot.style.transform = `translateX(${xValue})`;
|
85
|
-
if (noTransition) {
|
86
|
-
this._moveRoot.style.transition = `none`;
|
87
|
-
}
|
88
|
-
this._moveRoot.getBoundingClientRect();
|
89
|
-
}
|
90
|
-
checkInterval() {
|
91
|
-
if (this.autoChange) {
|
92
|
-
if (this.intervalID) {
|
93
|
-
clearInterval(this.intervalID);
|
94
|
-
}
|
95
|
-
this.intervalID = window.setInterval(() => {
|
96
|
-
this.next();
|
97
|
-
}, this.autoChange);
|
98
|
-
}
|
99
|
-
}
|
100
|
-
};
|
101
|
-
__decorate([
|
102
|
-
property({ type: Number })
|
103
|
-
], Carousel.prototype, "index", void 0);
|
104
|
-
__decorate([
|
105
|
-
property({ type: Number })
|
106
|
-
], Carousel.prototype, "autoChange", void 0);
|
107
|
-
__decorate([
|
108
|
-
property()
|
109
|
-
], Carousel.prototype, "width", void 0);
|
110
|
-
__decorate([
|
111
|
-
part("move-root")
|
112
|
-
], Carousel.prototype, "_moveRoot", void 0);
|
113
|
-
Carousel = __decorate([
|
114
|
-
godown(protoName),
|
115
|
-
styles(css `:host{display:block;transition:.3s}[part=root]{direction:ltr;overflow:hidden}[part=move-root],[part=root]{height:100%;width:100%;display:flex;position:relative;transition:inherit}[part=next],[part=prev]{height:100%;width:1.5em;z-index:1;position:absolute;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}[part=prev]{left:0}[part=next]{right:0}slot::slotted(*){flex-shrink:0!important}`)
|
116
|
-
], Carousel);
|
117
|
-
var Carousel$1 = Carousel;
|
118
|
-
|
119
|
-
export { Carousel$1 as default };
|
1
|
+
import{__decorate as t}from"tslib";import{godown as e}from"@godown/element/decorators/godown.js";import{part as o}from"@godown/element/decorators/part.js";import{styles as i}from"@godown/element/decorators/styles.js";import{attr as s}from"@godown/element/directives/attr.js";import{htmlSlot as r}from"@godown/element/directives/html-slot.js";import{htmlStyle as n}from"@godown/element/directives/html-style.js";import h from"@godown/f7-icon/icons/chevron-left.js";import l from"@godown/f7-icon/icons/chevron-right.js";import{css as a,html as d}from"lit";import{property as c}from"lit/decorators.js";import{GlobalStyle as m}from"../core/global-style.js";let p=class Carousel extends m{constructor(){super(...arguments),this.index=0,this.autoChange=0}render(){return d`<div part="root" ${s(this.observedRecord)}><i part="prev" @click="${this.prev}">${h()}</i><div part="move-root" style="transform:${`translateX(-${this.index+1}00%)`}">${r()}</div><i part="next" @click="${this.next}">${l()} </i>${n(`:host,:host([contents]) [part=root]{width:${this.width};}`)}</div>`}async firstUpdated(){await this.updateComplete,this.children.length&&(this.width||=`${this.firstElementChild.offsetWidth}px`,this._cloneFirst?.remove(),this._cloneLast?.remove(),this._cloneLast=this.firstElementChild.cloneNode(!0),this._cloneFirst=this.lastElementChild.cloneNode(!0),this.appendChild(this._cloneLast),this.insertBefore(this._cloneFirst,this.firstElementChild),this.show(this.index)),this.checkInterval()}disconnectedCallback(){clearInterval(this.intervalID)}show(t){this.index=t}next(){this.index===this.childElementCount-3?(this._doTranslateX("0",!0),this.show(0)):this.show(this.index+1),this.checkInterval()}prev(){0===this.index?(this._doTranslateX(`-${this.childElementCount-1}00%`,!0),this.show(this.children.length-3)):this.show(this.index-1),this.checkInterval()}_doTranslateX(t,e){this._moveRoot.style.transform=`translateX(${t})`,e&&(this._moveRoot.style.transition="none"),this._moveRoot.getBoundingClientRect()}checkInterval(){this.autoChange&&(this.intervalID&&clearInterval(this.intervalID),this.intervalID=window.setInterval((()=>{this.next()}),this.autoChange))}};t([c({type:Number})],p.prototype,"index",void 0),t([c({type:Number})],p.prototype,"autoChange",void 0),t([c()],p.prototype,"width",void 0),t([o("move-root")],p.prototype,"_moveRoot",void 0),p=t([e("carousel"),i(a`:host{display:block;transition:.3s}[part=root]{direction:ltr;overflow:hidden}[part=move-root],[part=root]{height:100%;width:100%;display:flex;position:relative;transition:inherit}[part=next],[part=prev]{height:100%;width:1.5em;z-index:1;position:absolute;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}[part=prev]{left:0}[part=next]{right:0}slot::slotted(*){flex-shrink:0!important}`)],p);var v=p;export{v as default};
|
120
2
|
//# sourceMappingURL=carousel.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"carousel.js","sources":["../src/components/carousel.ts"],"sourcesContent":null,"names":[
|
1
|
+
{"version":3,"file":"carousel.js","sources":["../src/components/carousel.ts"],"sourcesContent":null,"names":["Carousel","GlobalStyle","constructor","this","index","autoChange","render","html","attr","observedRecord","prev","iconChevronLeft","htmlSlot","next","iconChevronRight","htmlStyle","width","firstUpdated","updateComplete","children","length","firstElementChild","offsetWidth","_cloneFirst","remove","_cloneLast","cloneNode","lastElementChild","appendChild","insertBefore","show","checkInterval","disconnectedCallback","clearInterval","intervalID","i","childElementCount","_doTranslateX","xValue","noTransition","_moveRoot","style","transform","transition","getBoundingClientRect","window","setInterval","__decorate","property","type","Number","prototype","part","godown","styles","css","Carousel$1"],"mappings":"6oBAgCA,IAAMA,EAAN,MAAMA,iBAAiBC,EAAvB,WAAAC,uBAKEC,KAAKC,MAAG,EAMRD,KAAUE,WAAG,EAiBH,MAAAC,GACR,OAAOC,CAAI,oBAAoBC,EAAKL,KAAKM,0CACdN,KAAKO,SAC1BC,iDAEqC,eAAeR,KAAKC,MAAQ,YACjEQ,mCAEqBT,KAAKU,SAC1BC,WAEFC,EAAU,6CAA6CZ,KAAKa,mBAIxD,kBAAMC,SACRd,KAAKe,eAEPf,KAAKgB,SAASC,SAChBjB,KAAKa,QAAU,GAAIb,KAAKkB,kBAAkCC,gBAE1DnB,KAAKoB,aAAaC,SAClBrB,KAAKsB,YAAYD,SACjBrB,KAAKsB,WAAatB,KAAKkB,kBAAkBK,WAAU,GACnDvB,KAAKoB,YAAcpB,KAAKwB,iBAAiBD,WAAU,GACnDvB,KAAKyB,YAAYzB,KAAKsB,YACtBtB,KAAK0B,aAAa1B,KAAKoB,YAAapB,KAAKkB,mBACzClB,KAAK2B,KAAK3B,KAAKC,QAEjBD,KAAK4B,gBAGP,oBAAAC,GACEC,cAAc9B,KAAK+B,YAGrB,IAAAJ,CAAKK,GACHhC,KAAKC,MAAQ+B,EAGf,IAAAtB,GACMV,KAAKC,QAAUD,KAAKiC,kBAAoB,GAC1CjC,KAAKkC,cAAc,KAAK,GACxBlC,KAAK2B,KAAK,IAEV3B,KAAK2B,KAAK3B,KAAKC,MAAQ,GAEzBD,KAAK4B,gBAGP,IAAArB,GACqB,IAAfP,KAAKC,OACPD,KAAKkC,cAAc,IAAIlC,KAAKiC,kBAAoB,QAAQ,GACxDjC,KAAK2B,KAAK3B,KAAKgB,SAASC,OAAS,IAEjCjB,KAAK2B,KAAK3B,KAAKC,MAAQ,GAEzBD,KAAK4B,gBAGG,aAAAM,CAAcC,EAAgBC,GACtCpC,KAAKqC,UAAUC,MAAMC,UAAY,cAAcJ,KAC3CC,IACFpC,KAAKqC,UAAUC,MAAME,WAAa,QAEpCxC,KAAKqC,UAAUI,wBAGjB,aAAAb,GACM5B,KAAKE,aACHF,KAAK+B,YACPD,cAAc9B,KAAK+B,YAErB/B,KAAK+B,WAAaW,OAAOC,aAAY,KACnC3C,KAAKU,MAAM,GACVV,KAAKE,eAlGZ0C,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACTlD,EAAAmD,UAAA,aAAA,GAMTJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACJlD,EAAAmD,UAAA,kBAAA,GAMdJ,EAAA,CADCC,KACYhD,EAAAmD,UAAA,aAAA,GAGHJ,EAAA,CADTK,EAAK,cAC0BpD,EAAAmD,UAAA,iBAAA,GApB5BnD,EAAQ+C,EAAA,CAJbM,EAfiB,YAgBjBC,EACCC,CAAG,qbAECvD,GA4GN,IAAAwD,EAAexD"}
|
package/components/details.js
CHANGED
@@ -1,54 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
import { godown } from '@godown/element/decorators/godown.js';
|
3
|
-
import { styles } from '@godown/element/decorators/styles.js';
|
4
|
-
import { attr } from '@godown/element/directives/attr.js';
|
5
|
-
import { htmlSlot } from '@godown/element/directives/html-slot.js';
|
6
|
-
import svgCaretDown from '@godown/f7-icon/icons/chevron-down.js';
|
7
|
-
import { css, html } from 'lit';
|
8
|
-
import { property, query } from 'lit/decorators.js';
|
9
|
-
import { scopePrefix } from '../core/global-style.js';
|
10
|
-
import SuperOpenable from '../core/super-openable.js';
|
11
|
-
|
12
|
-
const protoName = "details";
|
13
|
-
const cssScope = scopePrefix(protoName);
|
14
|
-
/**
|
15
|
-
* {@linkcode Details} similar to `<details>`.
|
16
|
-
*
|
17
|
-
* @slot summary - Details summary if no `summary` is provided.
|
18
|
-
* @slot - Details content.
|
19
|
-
* @fires change - Fired when the details is toggled.
|
20
|
-
* @category display
|
21
|
-
*/
|
22
|
-
let Details = class Details extends SuperOpenable {
|
23
|
-
constructor() {
|
24
|
-
super(...arguments);
|
25
|
-
/**
|
26
|
-
* If it is true, the summary event scope will fill the element.
|
27
|
-
*/
|
28
|
-
this.fill = false;
|
29
|
-
/**
|
30
|
-
* Summary text.
|
31
|
-
*/
|
32
|
-
this.summary = "";
|
33
|
-
}
|
34
|
-
render() {
|
35
|
-
return html `<dl part="root" ${attr(this.observedRecord)}><dt part="title" @click="${this._handelClick}"><span part="summary">${this.summary || htmlSlot("summary")} </span><span><i part="icon">${svgCaretDown()}</i></span></dt><dd part="details" @click="${this.fill ? () => this.toggle() : null}"><div style="min-height:0">${htmlSlot()}</div></dd></dl>`;
|
36
|
-
}
|
37
|
-
};
|
38
|
-
__decorate([
|
39
|
-
property({ type: Boolean })
|
40
|
-
], Details.prototype, "fill", void 0);
|
41
|
-
__decorate([
|
42
|
-
property()
|
43
|
-
], Details.prototype, "summary", void 0);
|
44
|
-
__decorate([
|
45
|
-
query("dd")
|
46
|
-
], Details.prototype, "_dd", void 0);
|
47
|
-
Details = __decorate([
|
48
|
-
godown(protoName),
|
49
|
-
styles(css `:host{${cssScope}--icon-deg-open:0deg;${cssScope}--icon-deg-close:90deg;${cssScope}--icon-deg:0deg;${cssScope}--icon-space:0.3em;${cssScope}--summary-direction:row;${cssScope}--transition:.3s;height:-moz-fit-content;height:fit-content;display:block;transition:var(${cssScope}--transition)}dl{height:100%;position:relative;overflow:hidden}dt{height:100%;display:flex;flex-wrap:nowrap;justify-content:space-between;background:inherit;align-items:center;flex-direction:var(${cssScope}--summary-direction)}dd{display:grid;overflow:hidden;grid-template-rows:0fr;transition:var(${cssScope}--transition);transition-property:grid-template-rows}i{display:flex;-webkit-backface-visibility:hidden;backface-visibility:hidden;padding:var(${cssScope}--icon-space);transition:var(${cssScope}--transition);transform:rotate(var(${cssScope}--icon-deg))}:host([open]) dd{grid-template-rows:1fr}:host([float]) dd{top:100%;position:absolute}i{transform:rotate(var(${cssScope}--icon-deg-close))}:host([open]) i{transform:rotate(var(${cssScope}--icon-deg-open))}`)
|
50
|
-
], Details);
|
51
|
-
var Details$1 = Details;
|
52
|
-
|
53
|
-
export { Details$1 as default };
|
1
|
+
import{__decorate as t}from"tslib";import{godown as o}from"@godown/element/decorators/godown.js";import{styles as i}from"@godown/element/decorators/styles.js";import{attr as e}from"@godown/element/directives/attr.js";import{htmlSlot as r}from"@godown/element/directives/html-slot.js";import s from"@godown/f7-icon/icons/chevron-down.js";import{css as n,html as d}from"lit";import{property as a,query as l}from"lit/decorators.js";import{scopePrefix as p}from"../core/global-style.js";import m from"../core/super-openable.js";const c="details",f=p(c);let g=class Details extends m{constructor(){super(...arguments),this.fill=!1,this.summary=""}render(){return d`<dl part="root" ${e(this.observedRecord)}><dt part="title" @click="${this._handelClick}"><span part="summary">${this.summary||r("summary")} </span><span><i part="icon">${s()}</i></span></dt><dd part="details" @click="${this.fill?()=>this.toggle():null}"><div style="min-height:0">${r()}</div></dd></dl>`}};t([a({type:Boolean})],g.prototype,"fill",void 0),t([a()],g.prototype,"summary",void 0),t([l("dd")],g.prototype,"_dd",void 0),g=t([o(c),i(n`:host{${f}--icon-deg-open:0deg;${f}--icon-deg-close:90deg;${f}--icon-deg:0deg;${f}--icon-space:0.3em;${f}--summary-direction:row;${f}--transition:.3s;height:-moz-fit-content;height:fit-content;display:block;transition:var(${f}--transition)}dl{height:100%;position:relative;overflow:hidden}dt{height:100%;display:flex;flex-wrap:nowrap;justify-content:space-between;background:inherit;align-items:center;flex-direction:var(${f}--summary-direction)}dd{display:grid;overflow:hidden;grid-template-rows:0fr;transition:var(${f}--transition);transition-property:grid-template-rows}i{display:flex;-webkit-backface-visibility:hidden;backface-visibility:hidden;padding:var(${f}--icon-space);transition:var(${f}--transition);transform:rotate(var(${f}--icon-deg))}:host([open]) dd{grid-template-rows:1fr}:host([float]) dd{top:100%;position:absolute}i{transform:rotate(var(${f}--icon-deg-close))}:host([open]) i{transform:rotate(var(${f}--icon-deg-open))}`)],g);var h=g;export{h as default};
|
54
2
|
//# sourceMappingURL=details.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"details.js","sources":["../src/components/details.ts"],"sourcesContent":null,"names":[
|
1
|
+
{"version":3,"file":"details.js","sources":["../src/components/details.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Details","SuperOpenable","constructor","this","fill","summary","render","html","attr","observedRecord","_handelClick","htmlSlot","svgCaretDown","toggle","__decorate","property","type","Boolean","prototype","query","godown","styles","css","Details$1"],"mappings":"4gBAWA,MAAMA,EAAY,UAEZC,EAAWC,EAAYF,GAc7B,IAAMG,EAAN,MAAMA,gBAAgBC,EAAtB,WAAAC,uBAKEC,KAAIC,MAAG,EAMPD,KAAOE,QAAG,GAKA,MAAAC,GACR,OAAOC,CAAI,mBAAmBC,EAAKL,KAAKM,4CACXN,KAAKO,sCAE1BP,KAAKE,SAAWM,EAAS,0CAGVC,iDAGOT,KAAKC,KAAO,IAAMD,KAAKU,SAAW,mCAC9BF,wBAtBpCG,EAAA,CADCC,EAAS,CAAEC,KAAMC,WACNjB,EAAAkB,UAAA,YAAA,GAMZJ,EAAA,CADCC,KACWf,EAAAkB,UAAA,eAAA,GAGFJ,EAAA,CADTK,EAAM,OAC2BnB,EAAAkB,UAAA,WAAA,GAd9BlB,EAAOc,EAAA,CAJZM,EAAOvB,GACPwB,EACCC,CAAG,SAASxB,yBAAgCA,2BAAkCA,oBAA2BA,uBAA8BA,4BAAmCA,6FAAoGA,uMAA8MA,+FAAsGA,kJAAyJA,iCAAwCA,uCAA8CA,6HAAoIA,4DAAmEA,wBAEp/BE,GAiCN,IAAAuB,EAAevB"}
|