smoothly 1.44.0 → 1.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/smoothly-app_100.cjs.entry.js +2 -2
- package/dist/cjs/smoothly-app_100.cjs.entry.js.map +1 -1
- package/dist/collection/components/form/style.css +1 -1
- package/dist/collection/components/tabs/tab/style.css +1 -0
- package/dist/components/{p-4f365513.js → p-05d5f6c9.js} +2 -2
- package/dist/components/{p-4f365513.js.map → p-05d5f6c9.js.map} +1 -1
- package/dist/components/{p-57a5c6ec.js → p-0812b5d1.js} +3 -3
- package/dist/components/{p-57a5c6ec.js.map → p-0812b5d1.js.map} +1 -1
- package/dist/components/{p-ace330fe.js → p-0cdd1ba4.js} +12 -12
- package/dist/components/{p-ace330fe.js.map → p-0cdd1ba4.js.map} +1 -1
- package/dist/components/{p-aa8a6acb.js → p-130d9d1e.js} +2 -2
- package/dist/components/{p-aa8a6acb.js.map → p-130d9d1e.js.map} +1 -1
- package/dist/components/{p-1f0771a9.js → p-14e475fb.js} +8 -8
- package/dist/components/{p-1f0771a9.js.map → p-14e475fb.js.map} +1 -1
- package/dist/components/{p-d0417cc8.js → p-1522858d.js} +9 -9
- package/dist/components/{p-d0417cc8.js.map → p-1522858d.js.map} +1 -1
- package/dist/components/{p-2073327b.js → p-1bda19cb.js} +2 -2
- package/dist/components/{p-2073327b.js.map → p-1bda19cb.js.map} +1 -1
- package/dist/components/{p-4228a86d.js → p-2424cbff.js} +8 -8
- package/dist/components/{p-4228a86d.js.map → p-2424cbff.js.map} +1 -1
- package/dist/components/{p-d509c522.js → p-25eddd30.js} +2 -2
- package/dist/components/{p-d509c522.js.map → p-25eddd30.js.map} +1 -1
- package/dist/components/{p-adaf5570.js → p-2784b7e0.js} +3 -3
- package/dist/components/{p-adaf5570.js.map → p-2784b7e0.js.map} +1 -1
- package/dist/components/{p-7215b1de.js → p-2a29ac65.js} +4 -4
- package/dist/components/{p-7215b1de.js.map → p-2a29ac65.js.map} +1 -1
- package/dist/components/{p-6881e419.js → p-2bd65d6b.js} +2 -2
- package/dist/components/{p-6881e419.js.map → p-2bd65d6b.js.map} +1 -1
- package/dist/components/{p-12efde8d.js → p-32206d15.js} +6 -6
- package/dist/components/{p-12efde8d.js.map → p-32206d15.js.map} +1 -1
- package/dist/components/{p-350d07cc.js → p-3b99cf46.js} +3 -3
- package/dist/components/{p-350d07cc.js.map → p-3b99cf46.js.map} +1 -1
- package/dist/components/{p-ffae8c52.js → p-41cc707f.js} +2 -2
- package/dist/components/{p-ffae8c52.js.map → p-41cc707f.js.map} +1 -1
- package/dist/components/{p-61a7cf55.js → p-41e8dc8a.js} +4 -4
- package/dist/components/{p-61a7cf55.js.map → p-41e8dc8a.js.map} +1 -1
- package/dist/components/{p-4a2579e3.js → p-44a9a7d0.js} +4 -4
- package/dist/components/{p-4a2579e3.js.map → p-44a9a7d0.js.map} +1 -1
- package/dist/components/{p-c5b61fd7.js → p-4812d714.js} +2 -2
- package/dist/components/{p-c5b61fd7.js.map → p-4812d714.js.map} +1 -1
- package/dist/components/{p-a935606a.js → p-4ba3d6aa.js} +2 -2
- package/dist/components/{p-a935606a.js.map → p-4ba3d6aa.js.map} +1 -1
- package/dist/components/{p-266bcc99.js → p-54009924.js} +2 -2
- package/dist/components/{p-266bcc99.js.map → p-54009924.js.map} +1 -1
- package/dist/components/{p-d1db29ee.js → p-567c4e43.js} +17 -17
- package/dist/components/{p-d1db29ee.js.map → p-567c4e43.js.map} +1 -1
- package/dist/components/{p-0f22f5da.js → p-5c2195c2.js} +8 -8
- package/dist/components/{p-0f22f5da.js.map → p-5c2195c2.js.map} +1 -1
- package/dist/components/{p-073a8ef0.js → p-64f0a7b8.js} +2 -2
- package/dist/components/{p-073a8ef0.js.map → p-64f0a7b8.js.map} +1 -1
- package/dist/components/{p-64c0883c.js → p-65cc747d.js} +3 -3
- package/dist/components/{p-64c0883c.js.map → p-65cc747d.js.map} +1 -1
- package/dist/components/{p-5e3aa543.js → p-65dfe296.js} +6 -6
- package/dist/components/{p-5e3aa543.js.map → p-65dfe296.js.map} +1 -1
- package/dist/components/{p-cf2591d6.js → p-7244ae90.js} +6 -6
- package/dist/components/{p-cf2591d6.js.map → p-7244ae90.js.map} +1 -1
- package/dist/components/{p-bc713244.js → p-772fceab.js} +6 -6
- package/dist/components/{p-bc713244.js.map → p-772fceab.js.map} +1 -1
- package/dist/components/{p-8cce0ad9.js → p-81e774bc.js} +3 -3
- package/dist/components/{p-8cce0ad9.js.map → p-81e774bc.js.map} +1 -1
- package/dist/components/{p-95afda2e.js → p-8695524c.js} +2 -2
- package/dist/components/{p-95afda2e.js.map → p-8695524c.js.map} +1 -1
- package/dist/components/{p-bfa6b001.js → p-897dbe1b.js} +8 -8
- package/dist/components/{p-bfa6b001.js.map → p-897dbe1b.js.map} +1 -1
- package/dist/components/{p-8036d228.js → p-8a0a0379.js} +2 -2
- package/dist/components/{p-8036d228.js.map → p-8a0a0379.js.map} +1 -1
- package/dist/components/{p-4a36ffd6.js → p-91b9eeb3.js} +9 -9
- package/dist/components/{p-4a36ffd6.js.map → p-91b9eeb3.js.map} +1 -1
- package/dist/components/{p-cf554614.js → p-93bd3fcb.js} +7 -7
- package/dist/components/{p-cf554614.js.map → p-93bd3fcb.js.map} +1 -1
- package/dist/components/{p-71ed3164.js → p-9aadc540.js} +2 -2
- package/dist/components/{p-71ed3164.js.map → p-9aadc540.js.map} +1 -1
- package/dist/components/{p-12163cb8.js → p-9b466ef9.js} +7 -7
- package/dist/components/{p-12163cb8.js.map → p-9b466ef9.js.map} +1 -1
- package/dist/components/{p-b7ac2503.js → p-9bede408.js} +6 -6
- package/dist/components/{p-b7ac2503.js.map → p-9bede408.js.map} +1 -1
- package/dist/components/{p-815106ea.js → p-a01b64db.js} +4 -4
- package/dist/components/{p-815106ea.js.map → p-a01b64db.js.map} +1 -1
- package/dist/components/{p-1e2f3402.js → p-b1b254c0.js} +4 -4
- package/dist/components/{p-1e2f3402.js.map → p-b1b254c0.js.map} +1 -1
- package/dist/components/{p-91d3130a.js → p-b5248a5d.js} +9 -9
- package/dist/components/{p-91d3130a.js.map → p-b5248a5d.js.map} +1 -1
- package/dist/components/{p-40b405e4.js → p-bd37b3d4.js} +16 -16
- package/dist/components/{p-40b405e4.js.map → p-bd37b3d4.js.map} +1 -1
- package/dist/components/{p-29915bd8.js → p-c97b8757.js} +30 -30
- package/dist/components/{p-29915bd8.js.map → p-c97b8757.js.map} +1 -1
- package/dist/components/{p-afb9213b.js → p-cb1cd803.js} +2 -2
- package/dist/components/{p-afb9213b.js.map → p-cb1cd803.js.map} +1 -1
- package/dist/components/{p-4f9431a0.js → p-d9c5f8ae.js} +2 -2
- package/dist/components/{p-4f9431a0.js.map → p-d9c5f8ae.js.map} +1 -1
- package/dist/components/{p-d0d283d2.js → p-de031739.js} +4 -4
- package/dist/components/{p-d0d283d2.js.map → p-de031739.js.map} +1 -1
- package/dist/components/{p-3b8f97c2.js → p-e0746229.js} +3 -3
- package/dist/components/{p-3b8f97c2.js.map → p-e0746229.js.map} +1 -1
- package/dist/components/{p-fcf85a9e.js → p-e61835c1.js} +2 -2
- package/dist/components/{p-fcf85a9e.js.map → p-e61835c1.js.map} +1 -1
- package/dist/components/{p-d7729be2.js → p-e6e7ba64.js} +3 -3
- package/dist/components/{p-d7729be2.js.map → p-e6e7ba64.js.map} +1 -1
- package/dist/components/{p-39cf15c2.js → p-ed320501.js} +21 -21
- package/dist/components/{p-39cf15c2.js.map → p-ed320501.js.map} +1 -1
- package/dist/components/{p-036291c5.js → p-fad4a3f7.js} +2 -2
- package/dist/components/{p-036291c5.js.map → p-fad4a3f7.js.map} +1 -1
- package/dist/components/smoothly-app-demo.js +49 -49
- package/dist/components/smoothly-button-demo-standard.js +1 -1
- package/dist/components/smoothly-button-demo.js +1 -1
- package/dist/components/smoothly-calendar.js +1 -1
- package/dist/components/smoothly-dialog-demo.js +1 -1
- package/dist/components/smoothly-display-demo.js +1 -1
- package/dist/components/smoothly-filter-field.js +1 -1
- package/dist/components/smoothly-filter-input.js +1 -1
- package/dist/components/smoothly-filter-select.js +1 -1
- package/dist/components/smoothly-filter.js +1 -1
- package/dist/components/smoothly-form-demo-all.js +1 -1
- package/dist/components/smoothly-form-demo-card.js +1 -1
- package/dist/components/smoothly-form-demo-controlled.js +1 -1
- package/dist/components/smoothly-form-demo-date-range.js +1 -1
- package/dist/components/smoothly-form-demo-date.js +1 -1
- package/dist/components/smoothly-form-demo-login.js +1 -1
- package/dist/components/smoothly-form-demo-pet.js +1 -1
- package/dist/components/smoothly-form-demo-prices.js +1 -1
- package/dist/components/smoothly-form-demo-schedule.js +1 -1
- package/dist/components/smoothly-form-demo-transparent.js +1 -1
- package/dist/components/smoothly-form-demo-typed.js +1 -1
- package/dist/components/smoothly-form-demo.js +1 -1
- package/dist/components/smoothly-form.js +1 -1
- package/dist/components/smoothly-icon-demo.js +1 -1
- package/dist/components/smoothly-input-checkbox-demo.js +15 -15
- package/dist/components/smoothly-input-checkbox.js +1 -1
- package/dist/components/smoothly-input-clear.js +1 -1
- package/dist/components/smoothly-input-color-demo.js +1 -1
- package/dist/components/smoothly-input-color.js +1 -1
- package/dist/components/smoothly-input-date-range.js +1 -1
- package/dist/components/smoothly-input-date-time.js +1 -1
- package/dist/components/smoothly-input-date.js +1 -1
- package/dist/components/smoothly-input-demo-standard.js +1 -1
- package/dist/components/smoothly-input-demo.js +1 -1
- package/dist/components/smoothly-input-file.js +1 -1
- package/dist/components/smoothly-input-month.js +1 -1
- package/dist/components/smoothly-input-price-demo.js +1 -1
- package/dist/components/smoothly-input-radio-item.js +1 -1
- package/dist/components/smoothly-input-radio.js +1 -1
- package/dist/components/smoothly-input-range-demo.js +1 -1
- package/dist/components/smoothly-input-range.js +1 -1
- package/dist/components/smoothly-input-reset.js +1 -1
- package/dist/components/smoothly-input-select.js +1 -1
- package/dist/components/smoothly-input.js +1 -1
- package/dist/components/smoothly-summary.js +1 -1
- package/dist/components/smoothly-tab.js +1 -1
- package/dist/components/smoothly-table-demo-filtered.js +1 -1
- package/dist/components/smoothly-table-demo.js +1 -1
- package/dist/components/smoothly-tabs-demo.js +1 -1
- package/dist/components/smoothly-theme-demo.js +1 -1
- package/dist/components/smoothly-theme-picker.js +1 -1
- package/dist/esm/smoothly-app_100.entry.js +2 -2
- package/dist/esm/smoothly-app_100.entry.js.map +1 -1
- package/dist/smoothly/{p-b3be3564.entry.js → p-e73fd17e.entry.js} +2 -2
- package/dist/smoothly/{p-b3be3564.entry.js.map → p-e73fd17e.entry.js.map} +1 -1
- package/dist/smoothly/smoothly.esm.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-f765921a.js';
|
|
2
|
-
import { I as Input } from './p-
|
|
2
|
+
import { I as Input } from './p-64f0a7b8.js';
|
|
3
3
|
|
|
4
|
-
const styleCss = ".sc-smoothly-tab-h{display:contents;--smoothly-tab-line-width:2px;--smoothly-tab-line-width-active:5px}.sc-smoothly-tab-h>div.sc-smoothly-tab:first-child{grid-column:span 1;background-color:transparent;border-bottom-color:rgb(var(--smoothly-default-shade));border-bottom-width:var(--smoothly-tab-line-width);border-bottom-style:solid}[disabled].sc-smoothly-tab-h>div.sc-smoothly-tab:first-child{color:rgba(var(--smoothly-default-contrast), 0.6)}[disabled].sc-smoothly-tab-h>div.sc-smoothly-tab:first-child>label.sc-smoothly-tab{cursor:not-allowed}.sc-smoothly-tab-h>div.sc-smoothly-tab:first-child>label.sc-smoothly-tab{display:flex;justify-content:center;padding:0.5rem 1rem;width:fit-content;border-radius:0.5rem 0.5rem 0 0;margin:auto;cursor:pointer;position:relative}.sc-smoothly-tab-h:not([disabled])>div.sc-smoothly-tab:first-child>label.sc-smoothly-tab:hover{background-color:rgb(var(--smoothly-tab-hover-background, var(--smoothly-default-shade)))}[open].sc-smoothly-tab-h>div.sc-smoothly-tab:first-child>label.sc-smoothly-tab{font-weight:bold}[open].sc-smoothly-tab-h>div.sc-smoothly-tab:first-child>label.sc-smoothly-tab::before{content:'';position:absolute;height:var(--smoothly-tab-line-width-active);background-color:rgb(var(--smoothly-tab-active-line, var(--smoothly-primary-color)));inset-inline:0;bottom:calc(-1 * var(--smoothly-tab-line-width))}.sc-smoothly-tab-h>div.sc-smoothly-tab:first-child>label[data-smoothly-tooltip].sc-smoothly-tab:hover::after{content:attr(data-smoothly-tooltip);font-size:0.9rem;position:absolute;top:calc(100% + 0.25rem);padding:0.5rem 0.75rem;border-radius:0.5rem;background-color:rgb(var(--smoothly-medium-color));color:rgb(var(--smoothly-medium-contrast));white-space:nowrap}.sc-smoothly-tab-h>div.sc-smoothly-tab:nth-child(2){grid-row:2 / 3;grid-column:1 / -1}";
|
|
4
|
+
const styleCss = ".sc-smoothly-tab-h{display:contents;--smoothly-tab-line-width:2px;--smoothly-tab-line-width-active:5px}.sc-smoothly-tab-h>div.sc-smoothly-tab:first-child{grid-column:span 1;background-color:transparent;border-bottom-color:rgb(var(--smoothly-default-shade));border-bottom-width:var(--smoothly-tab-line-width);border-bottom-style:solid}[disabled].sc-smoothly-tab-h>div.sc-smoothly-tab:first-child{color:rgba(var(--smoothly-default-contrast), 0.6)}[disabled].sc-smoothly-tab-h>div.sc-smoothly-tab:first-child>label.sc-smoothly-tab{cursor:not-allowed}.sc-smoothly-tab-h>div.sc-smoothly-tab:first-child>label.sc-smoothly-tab{display:flex;justify-content:center;padding:0.5rem 1rem;width:fit-content;border-radius:0.5rem 0.5rem 0 0;margin:auto;cursor:pointer;position:relative}.sc-smoothly-tab-h:not([disabled])>div.sc-smoothly-tab:first-child>label.sc-smoothly-tab:hover{background-color:rgb(var(--smoothly-tab-hover-background, var(--smoothly-default-shade)))}[open].sc-smoothly-tab-h>div.sc-smoothly-tab:first-child>label.sc-smoothly-tab{font-weight:bold}[open].sc-smoothly-tab-h>div.sc-smoothly-tab:first-child>label.sc-smoothly-tab::before{content:'';position:absolute;height:var(--smoothly-tab-line-width-active);background-color:rgb(var(--smoothly-tab-active-line, var(--smoothly-primary-color)));inset-inline:0;bottom:calc(-1 * var(--smoothly-tab-line-width))}.sc-smoothly-tab-h>div.sc-smoothly-tab:first-child>label[data-smoothly-tooltip].sc-smoothly-tab:hover::after{content:attr(data-smoothly-tooltip);font-size:0.9rem;position:absolute;top:calc(100% + 0.25rem);padding:0.5rem 0.75rem;border-radius:0.5rem;background-color:rgb(var(--smoothly-medium-color));color:rgb(var(--smoothly-medium-contrast));white-space:nowrap;z-index:1}.sc-smoothly-tab-h>div.sc-smoothly-tab:nth-child(2){grid-row:2 / 3;grid-column:1 / -1}";
|
|
5
5
|
const SmoothlyTabStyle0 = styleCss;
|
|
6
6
|
|
|
7
7
|
const SmoothlyTab = proxyCustomElement(class SmoothlyTab extends H {
|
|
@@ -74,4 +74,4 @@ defineCustomElement();
|
|
|
74
74
|
|
|
75
75
|
export { SmoothlyTab as S, defineCustomElement as d };
|
|
76
76
|
|
|
77
|
-
//# sourceMappingURL=p-
|
|
77
|
+
//# sourceMappingURL=p-2784b7e0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-2784b7e0.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,8xDAA8xD,CAAC;AAChzD,0BAAe,QAAQ;;MCQV,WAAW;;;;;;QACf,WAAM,GAAkC,EAAE,CAAA;;;;;;;IAYlD,MAAM,WAAW;QAChB,IAAI,IAAI,CAAC,IAAI;YACZ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI;cACN,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;cAC5E,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;KACjF;IACD,iBAAiB;QAChB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,YAA0B,MAAM,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAA;KAC7F;IACD,oBAAoB;QACnB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KACzC;IACD,MAAM,gBAAgB;QACrB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;KACxB;IAGD,WAAW,CAAC,KAAkB;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;YAC7C,IAAI,CAAC,IAAI,CAAC,IAAI;gBACb,KAAK,CAAC,eAAe,EAAE,CAAA;SACxB;KACD;IACD,MAAM;QACL,QACC,EAAC,IAAI,uDACJ,4DAAK,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IACvD,uFAA8B,IAAI,CAAC,OAAO,IAAG,IAAI,CAAC,KAAK,CAAS,CAC3D,EACN,4DAAK,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,IACtB,8DAAQ,CACH,CACA,EACP;KACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/tabs/tab/style.css?tag=smoothly-tab&encapsulation=scoped","src/components/tabs/tab/index.tsx"],"sourcesContent":[":host {\n\tdisplay: contents;\n\t--smoothly-tab-line-width: 2px;\n\t--smoothly-tab-line-width-active: 5px;\n}\n:host > div:first-child {\n\tgrid-column: span 1;\n\tbackground-color: transparent;\n\tborder-bottom-color: rgb(var(--smoothly-default-shade));\n\tborder-bottom-width: var(--smoothly-tab-line-width);\n\tborder-bottom-style: solid;\n}\n:host([disabled]) > div:first-child {\n\tcolor: rgba(var(--smoothly-default-contrast), 0.6);\n}\n:host([disabled]) > div:first-child > label {\n\tcursor: not-allowed;\n}\n:host > div:first-child > label {\n\tdisplay: flex;\n\tjustify-content: center;\n\tpadding: 0.5rem 1rem;\n\twidth: fit-content;\n\tborder-radius: 0.5rem 0.5rem 0 0;\n margin: auto;\n\tcursor: pointer;\n\tposition: relative;\n}\n:host:not([disabled]) > div:first-child > label:hover {\n\tbackground-color: rgb(var(--smoothly-tab-hover-background, var(--smoothly-default-shade)));\n}\n:host([open]) > div:first-child > label {\n\t\n\tfont-weight: bold;\n}\n:host([open]) > div:first-child > label::before {\n\tcontent: '';\n\tposition: absolute;\n\theight: var(--smoothly-tab-line-width-active);\n\tbackground-color: rgb(var(--smoothly-tab-active-line, var(--smoothly-primary-color)));\n\tinset-inline: 0;\n\tbottom: calc(-1 * var(--smoothly-tab-line-width));\n}\n:host > div:first-child > label[data-smoothly-tooltip]:hover::after {\n\tcontent: attr(data-smoothly-tooltip);\n\tfont-size: 0.9rem;\n\tposition: absolute;\n\ttop: calc(100% + 0.25rem);\n\tpadding: 0.5rem 0.75rem;\n\tborder-radius: 0.5rem;\n\tbackground-color: rgb(var(--smoothly-medium-color));\n\tcolor: rgb(var(--smoothly-medium-contrast));\n\twhite-space: nowrap;\n\tz-index: 1;\n}\n\n:host > div:nth-child(2) {\n\tgrid-row: 2 / 3;\n\tgrid-column: 1 / -1;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop, Watch } from \"@stencil/core\"\nimport { Input } from \"../../input/Input\"\nimport { SmoothlyTabs } from \"..\"\n\n@Component({\n\ttag: \"smoothly-tab\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyTab {\n\tprivate inputs: Record<string, Input.Element> = {}\n\tprivate smoothlyTabs: SmoothlyTabs\n\t@Element() element: HTMLSmoothlyTabElement\n\t@Prop() label: string\n\t@Prop() name: string\n\t@Prop() tooltip: string\n\t@Prop({ mutable: true, reflect: true }) open: boolean\n\t@Prop({ reflect: true }) disabled: boolean\n\t@Event() smoothlyTabOpen: EventEmitter<string>\n\t@Event() smoothlyTabLoad: EventEmitter<(smoothlyTabs: SmoothlyTabs) => void>\n\n\t@Watch(\"open\")\n\tasync openHandler() {\n\t\tif (this.open)\n\t\t\tthis.smoothlyTabOpen.emit(this.name)\n\t\tthis.open\n\t\t\t? await Promise.all(Object.values(this.inputs).map(input => input.register()))\n\t\t\t: await Promise.all(Object.values(this.inputs).map(input => input.unregister()))\n\t}\n\tconnectedCallback() {\n\t\tthis.smoothlyTabLoad.emit((smoothlyTabs: SmoothlyTabs) => (this.smoothlyTabs = smoothlyTabs))\n\t}\n\tdisconnectedCallback() {\n\t\tthis.smoothlyTabs.removeTab(this.element)\n\t}\n\tasync componentDidLoad() {\n\t\tawait this.openHandler()\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\t@Listen(\"smoothlyInput\")\n\tonInputLoad(event: CustomEvent) {\n\t\tif (Input.Element.is(event.target)) {\n\t\t\tthis.inputs[event.target.name] = event.target\n\t\t\tif (!this.open)\n\t\t\t\tevent.stopPropagation()\n\t\t}\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div onClick={() => !this.disabled && (this.open = true)}>\n\t\t\t\t\t<label data-smoothly-tooltip={this.tooltip}>{this.label}</label>\n\t\t\t\t</div>\n\t\t\t\t<div hidden={!this.open}>\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -6,9 +6,9 @@ import { d as defineCustomElement$7 } from './p-be335d4f.js';
|
|
|
6
6
|
import { d as defineCustomElement$6 } from './p-c810b752.js';
|
|
7
7
|
import { d as defineCustomElement$5 } from './p-563f31fe.js';
|
|
8
8
|
import { d as defineCustomElement$4 } from './p-646d458b.js';
|
|
9
|
-
import { d as defineCustomElement$3 } from './p-
|
|
10
|
-
import { d as defineCustomElement$2 } from './p-
|
|
11
|
-
import { d as defineCustomElement$1 } from './p-
|
|
9
|
+
import { d as defineCustomElement$3 } from './p-2bd65d6b.js';
|
|
10
|
+
import { d as defineCustomElement$2 } from './p-41cc707f.js';
|
|
11
|
+
import { d as defineCustomElement$1 } from './p-0812b5d1.js';
|
|
12
12
|
|
|
13
13
|
const SmoothlyInputRangeDemo = proxyCustomElement(class SmoothlyInputRangeDemo extends H {
|
|
14
14
|
constructor() {
|
|
@@ -86,4 +86,4 @@ defineCustomElement();
|
|
|
86
86
|
|
|
87
87
|
export { SmoothlyInputRangeDemo as S, defineCustomElement as d };
|
|
88
88
|
|
|
89
|
-
//# sourceMappingURL=p-
|
|
89
|
+
//# sourceMappingURL=p-2a29ac65.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-2a29ac65.js","mappings":";;;;;;;;;;;;MAKa,sBAAsB;;;;;IAClC,MAAM;QACL,QACC,EAAC,IAAI,uDACJ,qEAAc,EACd,4EAAqB,EACrB,6EAAsB,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,GAAI,EACxF,gFAAyB,EACzB,6EAAsB,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAI,EAC1D,uEAAgB,EAChB,6EAAsB,IAAI,EAAC,SAAS,EAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,GAAI,EAC7E,mGAA4C,EAC5C,6EAAsB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,IAC1D,sEAAe,IAAI,EAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,GAAG,EACtD,6EAAsB,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,GAAG,CACzB,CACjB,EACP;KACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/input/range/demo/index.tsx"],"sourcesContent":["import { Component, h, Host } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-input-range-demo\",\n})\nexport class SmoothlyInputRangeDemo {\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<h2>Range</h2>\n\t\t\t\t<h3>Phone Number</h3>\n\t\t\t\t<smoothly-input-range min={700000000} max={799999999} step={1} label={\"Phone Number\"} />\n\t\t\t\t<h3>Stars out of ten</h3>\n\t\t\t\t<smoothly-input-range max={10} step={1} label={\"Stars\"} />\n\t\t\t\t<h3>Percent</h3>\n\t\t\t\t<smoothly-input-range type=\"percent\" max={1} step={0.01} label={\"Percent\"} />\n\t\t\t\t<h3>With icon at start and clear button</h3>\n\t\t\t\t<smoothly-input-range step={1} name=\"range2\" label=\"Select\">\n\t\t\t\t\t<smoothly-icon name=\"checkmark-circle\" slot=\"start\" />\n\t\t\t\t\t<smoothly-input-clear size=\"icon\" slot=\"end\" />\n\t\t\t\t</smoothly-input-range>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-f765921a.js';
|
|
2
2
|
import { a as get, S as Selection, b as State, c as StateEditor, g as getLocale } from './p-11266f72.js';
|
|
3
3
|
import { E as Editable } from './p-fe854055.js';
|
|
4
|
-
import { I as Input } from './p-
|
|
4
|
+
import { I as Input } from './p-64f0a7b8.js';
|
|
5
5
|
import { o as object, s as string, b as boolean } from './p-d471066b.js';
|
|
6
6
|
import { d as defineCustomElement$1 } from './p-646d458b.js';
|
|
7
7
|
|
|
@@ -526,4 +526,4 @@ defineCustomElement();
|
|
|
526
526
|
|
|
527
527
|
export { SmoothlyInput as S, defineCustomElement as d };
|
|
528
528
|
|
|
529
|
-
//# sourceMappingURL=p-
|
|
529
|
+
//# sourceMappingURL=p-2bd65d6b.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-6881e419.js","mappings":"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","names":["tidily.get","tidily.Selection","tidily.State","tidily.StateEditor","isly.object","isly.string","isly.boolean"],"sources":["src/components/input/Deep.ts","src/components/input/Adjacent.ts","src/components/input/InputStateHandler.ts","src/components/input/Key.ts","src/components/input/style.css?tag=smoothly-input&encapsulation=scoped","src/components/input/index.tsx"],"sourcesContent":["export namespace Deep {\n\texport function equal(a: any, b: any): boolean {\n\t\tif (a === b)\n\t\t\treturn true\n\t\tif (typeof a == \"object\" && typeof b == \"object\") {\n\t\t\tconst keys = Object.keys(a)\n\t\t\tif (keys.length == Object.keys(b).length && keys.every(key => equal(a[key], b[key])))\n\t\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}\n\texport function notEqual(a: any, b: any): boolean {\n\t\treturn !equal(a, b)\n\t}\n}\n","export namespace Adjacent {\n\texport function getWordBreakIndex(str: string, index: number, direction: \"backward\" | \"forward\"): number {\n\t\tconst wordRegex = /([^.-@\\s]+)/gi\n\t\treturn direction == \"backward\"\n\t\t\t? getBackwardWordBreakIndex(str, index, wordRegex)\n\t\t\t: getForwardWordBreakIndex(str, index, wordRegex)\n\t}\n\n\tfunction getBackwardWordBreakIndex(str: string, index: number, wordRegex: RegExp): number {\n\t\tlet result = 0\n\t\tlet execArray: RegExpExecArray | null\n\t\twhile ((execArray = wordRegex.exec(str)) != null) {\n\t\t\tif (wordRegex.lastIndex - execArray[0].length < index)\n\t\t\t\tresult = wordRegex.lastIndex - execArray[0].length\n\t\t\telse\n\t\t\t\tbreak\n\t\t}\n\t\treturn result\n\t}\n\n\tfunction getForwardWordBreakIndex(str: string, index: number, wordRegex: RegExp): number {\n\t\tlet result = 0\n\t\twhile (wordRegex.exec(str) != null) {\n\t\t\tresult = wordRegex.lastIndex\n\t\t\tif (wordRegex.lastIndex > index)\n\t\t\t\tbreak\n\t\t}\n\t\twordRegex.lastIndex <= index && (result = str.length)\n\t\treturn result\n\t}\n}\n","import { isoly } from \"isoly\"\nimport { tidily } from \"tidily\"\nimport { Adjacent } from \"./Adjacent\"\n\ntype Formatter = tidily.Formatter & tidily.Converter<any>\ntype Handler<E extends Event> = (event: E, unformatted: tidily.State, formatted: tidily.State) => tidily.State\n\nexport class InputStateHandler {\n\tconstructor(private formatter: Formatter, private type: tidily.Type) {}\n\tstatic create(type: \"price\", priceOptions: { currency?: isoly.Currency; toInteger?: boolean }): InputStateHandler\n\tstatic create(type: \"integer\", integerOptions: { min?: number; max?: number; pad?: number }): InputStateHandler\n\tstatic create(type: tidily.Type, locale?: isoly.Locale): InputStateHandler\n\tstatic create(type: tidily.Type, extra?: any): InputStateHandler {\n\t\tlet result: (tidily.Formatter & tidily.Converter<any>) | undefined\n\t\tswitch (type) {\n\t\t\tcase \"price\":\n\t\t\t\tresult = tidily.get(\"price\", extra)\n\t\t\t\tbreak\n\t\t\tcase \"integer\":\n\t\t\t\tresult = tidily.get(\"integer\", extra)\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tresult = tidily.get(type, extra)\n\t\t\t\tbreak\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\treturn new InputStateHandler(result || tidily.get(\"text\")!, type)\n\t}\n\n\tpublic onKeyDown(\n\t\tevent: KeyboardEvent,\n\t\tstate: Readonly<tidily.State> & tidily.Settings\n\t): Readonly<tidily.State> & tidily.Settings {\n\t\tlet result: Readonly<tidily.State> & tidily.Settings = state\n\t\tconst handler = this.keydownHandlers[event.key]\n\t\tif (handler) {\n\t\t\tconst input = event.target as HTMLInputElement\n\t\t\tstate.selection.start = input.selectionStart ?? state.selection.start\n\t\t\tstate.selection.end = input.selectionEnd ?? state.selection.end\n\t\t\tstate.selection.direction = input.selectionDirection ?? state.selection.direction\n\t\t\tconst unformatted = handler(event, this.unformatState(state), state)\n\t\t\tconst formatted = this.partialFormatState(unformatted)\n\t\t\tif (event.defaultPrevented) {\n\t\t\t\tinput.selectionStart = formatted.selection.start\n\t\t\t\tinput.selectionEnd = formatted.selection.end\n\t\t\t\tinput.selectionDirection = formatted.selection.direction ?? null\n\t\t\t}\n\t\t\tresult = formatted\n\t\t}\n\t\treturn result\n\t}\n\tkeydownHandlers: { [key: string]: Handler<KeyboardEvent> | undefined } = {\n\t\tArrowLeft: (event, state) => (event.ctrlKey || event.metaKey ? state : this.moveCursor(event, state)),\n\t\tArrowRight: (event, state) => (event.ctrlKey || event.metaKey ? state : this.moveCursor(event, state)),\n\t}\n\n\tmoveCursor(event: KeyboardEvent, state: tidily.State): tidily.State {\n\t\tevent.preventDefault()\n\t\tlet cursor = tidily.Selection.getCursor(state.selection)\n\t\tlet stalk = tidily.Selection.getStalker(state.selection)\n\t\tcursor = Math.min(Math.max(cursor + (event.key == \"ArrowLeft\" ? -1 : 1), 0), state.value.length)\n\t\tstalk = event.shiftKey ? stalk : cursor\n\t\tstate.selection.direction = stalk < cursor ? \"forward\" : stalk > cursor ? \"backward\" : \"none\"\n\t\tstate.selection.start = Math.min(stalk, cursor)\n\t\tstate.selection.end = Math.max(stalk, cursor)\n\t\treturn state\n\t}\n\n\tpublic onFocus(event: FocusEvent, state: tidily.State) {\n\t\tconst result = this.partialFormatState(this.unformatState(state))\n\t\tconst input = event.target as HTMLInputElement\n\t\tinput.value = result.value\n\t\treturn result\n\t}\n\n\tpublic onBlur(event: FocusEvent, state: tidily.State): Readonly<tidily.State> & tidily.Settings {\n\t\tconst result = this.createFormattedState(state)\n\t\tconst input = event.target as HTMLInputElement\n\t\tinput.value = result.value\n\t\treturn result\n\t}\n\n\tpublic onInputEvent(event: InputEvent, state: tidily.State): Readonly<tidily.State> & tidily.Settings {\n\t\tconst input = event.target as HTMLInputElement\n\t\tstate.selection.start = input.selectionStart ?? state.selection.start\n\t\tstate.selection.end = input.selectionEnd ?? state.selection.end\n\t\tstate.selection.direction = input.selectionDirection ?? state.selection.direction\n\t\tconst result =\n\t\t\tevent.type == \"beforeinput\" || event.type == \"input\"\n\t\t\t\t? this.eventHandlers[event.type][event.inputType]?.(event, this.unformatState(state), state) ?? state\n\t\t\t\t: state\n\t\tconst formatted = this.partialFormatState(result)\n\t\tif (event.defaultPrevented) {\n\t\t\tinput.value = formatted.value\n\t\t\tinput.selectionStart = formatted.selection.start\n\t\t\tinput.selectionEnd = formatted.selection.end\n\t\t\tinput.selectionDirection = formatted.selection.direction ?? null\n\t\t}\n\t\treturn formatted\n\t}\n\tprivate eventHandlers: Record<\"beforeinput\" | \"input\", { [inputType: string]: Handler<InputEvent> | undefined }> = {\n\t\tbeforeinput: {\n\t\t\tinsertText: (event, state) => this.insert(event, state),\n\t\t\tinsertFromPaste: (event, state) => this.insert(event, state),\n\t\t\tinsertFromDrop: (event, state) => this.insert(event, state),\n\t\t\tdeleteContentBackward: (event, state) => {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (state.selection.start == state.selection.end)\n\t\t\t\t\tthis.select(state, state.selection.start - 1, state.selection.end)\n\t\t\t\tthis.erase(state)\n\t\t\t\treturn state\n\t\t\t},\n\t\t\tdeleteContentForward: (event, state) => {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (state.selection.start == state.selection.end)\n\t\t\t\t\tthis.select(state, state.selection.start, state.selection.end + 1)\n\t\t\t\tthis.erase(state)\n\t\t\t\treturn state\n\t\t\t},\n\t\t\tdeleteWordBackward: (event, unformatted, formattedState) => {\n\t\t\t\tlet result = unformatted\n\t\t\t\tif (this.type != \"password\") {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\tresult = this.deleteWord(formattedState, \"backward\")\n\t\t\t\t}\n\t\t\t\treturn result\n\t\t\t},\n\t\t\tdeleteWordForward: (event, unformatted, formattedState) => {\n\t\t\t\tlet result = unformatted\n\t\t\t\tif (this.type != \"password\") {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\tresult = this.deleteWord(formattedState, \"forward\")\n\t\t\t\t}\n\t\t\t\treturn result\n\t\t\t},\n\t\t\tdeleteByCut: (_, state) => {\n\t\t\t\tthis.erase(state)\n\t\t\t\treturn state\n\t\t\t},\n\t\t\t// historyUndo - TODO\n\t\t\t// historyRedo - TODO\n\t\t\t// insertLineBreak - TODO\n\t\t},\n\t\tinput: {\n\t\t\tinsertReplacementText: (event, state) => ({ ...state, value: (event.target as HTMLInputElement).value }),\n\t\t\tinsertCompositionText: (event, state) => ({ ...state, value: (event.target as HTMLInputElement).value }),\n\t\t\tdeleteWordBackward: (event, state) =>\n\t\t\t\tthis.type == \"password\" ? { ...state, value: (event.target as HTMLInputElement).value } : state,\n\t\t\tdeleteWordForward: (event, state) =>\n\t\t\t\tthis.type == \"password\" ? { ...state, value: (event.target as HTMLInputElement).value } : state,\n\t\t\t// Chrome will dispatch an input event without inputType when auto-filling\n\t\t\tundefined: (event, state) => ({ ...state, value: (event.target as HTMLInputElement).value }),\n\t\t},\n\t}\n\n\tprivate insert(event: InputEvent, unformatted: tidily.State): tidily.State {\n\t\tevent.preventDefault()\n\t\tif (typeof event.data == \"string\")\n\t\t\tfor (const c of event.data)\n\t\t\t\tthis.formatter.allowed(c, unformatted) && this.replace(unformatted, c.replace(/(\\r|\\n|\\t)/g, \"\"))\n\t\treturn unformatted\n\t}\n\tprivate deleteWord(formattedState: tidily.State, direction: \"backward\" | \"forward\"): tidily.State {\n\t\tconst cursorPosition = tidily.Selection.getCursor(formattedState.selection)\n\t\tconst adjacentIndex = Adjacent.getWordBreakIndex(formattedState.value, cursorPosition, direction)\n\t\tconst result = this.unformatState({\n\t\t\t...formattedState,\n\t\t\tselection: {\n\t\t\t\tstart: Math.min(cursorPosition, adjacentIndex),\n\t\t\t\tend: Math.max(cursorPosition, adjacentIndex),\n\t\t\t\tdirection: \"none\",\n\t\t\t},\n\t\t})\n\t\tconst value = result.value.substring(0, result.selection.start) + result.value.substring(result.selection.end)\n\t\tresult.value = value\n\t\tresult.selection.end = result.selection.start\n\t\treturn result\n\t}\n\n\tprivate select(state: tidily.State, from: number, to: number, direction?: tidily.Direction): void {\n\t\tstate.selection.start = from\n\t\tstate.selection.end = to\n\t\tdirection && (state.selection.direction = direction)\n\t}\n\tprivate erase(state: tidily.State): void {\n\t\tthis.replace(state, \"\")\n\t}\n\tprivate replace(state: tidily.State, insertString: string): void {\n\t\tstate.value =\n\t\t\tstate.value.substring(0, state.selection.start) + insertString + state.value.substring(state.selection.end)\n\t\tstate.selection.start = state.selection.start + insertString.length\n\t\tstate.selection.end = state.selection.start\n\t}\n\n\tprivate unformatState(formattedState: tidily.State): tidily.State {\n\t\treturn tidily.State.copy(this.formatter.unformat(tidily.StateEditor.copy(formattedState)))\n\t}\n\tprivate partialFormatState(unformattedState: tidily.State): Readonly<tidily.State> & tidily.Settings {\n\t\treturn this.formatter.partialFormat(tidily.StateEditor.copy(unformattedState))\n\t}\n\tprivate createFormattedState(state: tidily.State): Readonly<tidily.State> & tidily.Settings {\n\t\treturn this.formatter.format(tidily.StateEditor.copy(this.formatter.unformat(tidily.StateEditor.copy(state))))\n\t}\n\tprivate toString(value: any): string {\n\t\treturn this.formatter.toString(value)\n\t}\n\tpublic initialState(value: any): Readonly<tidily.State> & tidily.Settings {\n\t\tconst stringValue = this.toString(value) || \"\"\n\t\tconst start = stringValue.length\n\t\tconst state = this.createFormattedState({\n\t\t\tvalue: stringValue,\n\t\t\tselection: { start, end: start, direction: \"none\" },\n\t\t})\n\t\treturn state\n\t}\n\tpublic setValue(\n\t\tinputElement: HTMLInputElement,\n\t\tformattedState: Readonly<tidily.State> & tidily.Settings,\n\t\tvalue: any\n\t): Readonly<tidily.State> & tidily.Settings {\n\t\tconst result = {\n\t\t\t...formattedState,\n\t\t\tvalue: this.createFormattedState({ value: this.formatter.toString(value), selection: formattedState.selection })\n\t\t\t\t.value,\n\t\t}\n\t\tinputElement.value = result.value\n\t\treturn result\n\t}\n\tpublic getValue(formattedState: tidily.State): any {\n\t\treturn this.formatter.fromString(this.unformatState(formattedState).value)\n\t}\n\tpublic setSelection(\n\t\tinputElement: HTMLInputElement,\n\t\tformattedState: Readonly<tidily.State> & tidily.Settings,\n\t\tstart: number,\n\t\tend: number\n\t) {\n\t\tinputElement.focus()\n\t\tinputElement.selectionStart = start\n\t\tinputElement.selectionEnd = end\n\t\tthis.select(formattedState, start, end)\n\t\treturn formattedState\n\t}\n}\n","import { isly } from \"isly\"\n\nexport interface Key {\n\tname: string\n\tkey: string\n\tshift: boolean\n\tctrl: boolean\n\talt: boolean\n\tmeta: boolean\n}\n\nexport namespace Key {\n\texport const type = isly.object<Key>({\n\t\tname: isly.string(),\n\t\tkey: isly.string(),\n\t\tshift: isly.boolean(),\n\t\tctrl: isly.boolean(),\n\t\talt: isly.boolean(),\n\t\tmeta: isly.boolean(),\n\t})\n\texport const is = type.is\n\n\texport function create(name: string, event: KeyboardEvent): Key {\n\t\treturn {\n\t\t\tname,\n\t\t\tkey: event.key,\n\t\t\tshift: event.shiftKey,\n\t\t\tctrl: event.ctrlKey,\n\t\t\talt: event.altKey,\n\t\t\tmeta: event.metaKey,\n\t\t}\n\t}\n}\n","@import \"./shared.css\";\n\n:host {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-weight: var(--smoothly-font-weight);\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tcolor: rgb(var(--smoothly-input-foreground));\n}\n\n:host[hidden] {\n\tdisplay: none;\n}\n\n:host>.smoothly-input-container {\n\tposition: relative;\n\tflex-grow: 1;\n\theight: 100%;\n}\n\n:host>.smoothly-input-container>label {\n\tleft: var(--input-padding-side);\n}\n\n:host:not([show-label])>div>input {\n\tpadding: 0 var(--input-padding-side);\n}\n\n:host>.smoothly-input-container>div.ghost {\n\tposition: absolute;\n box-sizing: border-box;\n align-content: center;\n\theight: 100%;\n\tpadding: \n\t\tvar(--input-value-padding-top) \n\t\tvar(--input-padding-side) \n\t\tvar(--input-value-padding-bottom) \n\t\tvar(--input-padding-side);\n}\n:host>.smoothly-input-container>div.ghost>div.value {\n\tdisplay: inline;\n\tpointer-events: none;\n\topacity: 0;\n}\n:host>.smoothly-input-container>div.ghost>div.remainder {\n\tdisplay: inline;\n\tpointer-events: none;\n\topacity: 0.5;\n}\n\n:host>.smoothly-input-container>input {\n\tpadding: \n\t\tvar(--input-value-padding-top) \n\t\tvar(--input-padding-side) \n\t\tvar(--input-value-padding-bottom) \n\t\tvar(--input-padding-side);\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\tborder: 0;\n\tz-index: 1;\n\tposition: relative;\n\tfont-size: 1rem;\n\tfont-family: var(--smoothly-font-family);\n}\n:host([disabled])>.smoothly-input-container>input {\n\tcursor: not-allowed;\n}\n\n:host>.smoothly-invalid {\n\tdisplay: none;\n\tz-index: 2;\n\tpadding: 0.5rem;\n}\n:host:not([disabled])>.smoothly-invalid {\n\tcursor: pointer;\n}\n\n:host[invalid]>.smoothly-invalid {\n\tdisplay: flex;\n}\n\n:host>div>label {\n\tz-index: 1;\n\tpointer-events: none;\n}\n\n:host>div>input:focus {\n\toutline: none;\n}\n\n:host>div>input:-webkit-autofill,\n:host>div>input:-webkit-autofill:hover,\n:host>div>input:-webkit-autofill:focus,\n:host>div>input:-webkit-autofill:active {\n\tbox-shadow: 0 0 0 40em rgb(var(--smoothly-input-background)) inset;\n\t-webkit-box-shadow: 0 0 0 40em rgb(var(--smoothly-input-background)) inset;\n}\n\n:host>div>input:-webkit-autofill,\n:host>div>input:-webkit-autofill+label {\n\t-webkit-text-fill-color: rgb(var(--smoothly-input-foreground));\n}\n:host>span.copyable {\n\tposition: relative;\n}\n:host>span.copyable>smoothly-icon {\n\tcursor: pointer;\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 0.5rem;\n\n}\n:host>span.copyable:hover small,\n:host>span.copyable:focus small {\n\tdisplay: block;\n}\n:host>span.copyable>small {\n\tdisplay: none;\n\twidth: max-content;\n\tborder-radius: 0.25rem;\n\tpadding: 0.2rem 0.3rem;\n\tposition: absolute;\n\tright: -0.5rem;\n\ttop: -2rem;\n\tbackground-color: rgb(var(--smoothly-default-contrast));\n\tcolor: rgb(var(--smoothly-default-tint));\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { tidily } from \"tidily\"\nimport { Color } from \"../../model\"\nimport { getLocale } from \"../../model/getLocale\"\nimport { Clearable } from \"./Clearable\"\nimport { Deep } from \"./Deep\"\nimport { Editable } from \"./Editable\"\nimport { Input } from \"./Input\"\nimport { InputStateHandler } from \"./InputStateHandler\"\nimport { Key } from \"./Key\"\nimport { Looks } from \"./Looks\"\n\n@Component({\n\ttag: \"smoothly-input\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInput implements Clearable, Input, Editable {\n\t@Element() element: HTMLSmoothlyInputElement\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) value: any\n\t@Prop({ reflect: true }) type: tidily.Type = \"text\"\n\t@Prop({ reflect: true }) required = false\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop() autocomplete?: Exclude<tidily.Settings[\"autocomplete\"], undefined>\n\t@Prop({ reflect: true }) placeholder: string | undefined\n\t@Prop({ reflect: true }) disabled = false\n\t@Prop({ mutable: true, reflect: true }) readonly = false\n\t@Prop() toInteger?: boolean\n\t@Prop({ reflect: true }) currency?: isoly.Currency\n\t@Prop() min?: number\n\t@Prop() max?: number\n\t@Prop() pad?: number\n\t@Prop({ reflect: true }) invalid?: boolean = false\n\t@Prop({ mutable: true }) changed = false\n\t@Prop({ reflect: true }) errorMessage?: string\n\t@Prop({ reflect: true }) copyable?: boolean\n\t@State() initialValue?: any\n\t@State() state: Readonly<tidily.State> & Readonly<tidily.Settings>\n\t@State() copied = false\n\tparent: Editable | undefined\n\tprivate stateHandler: InputStateHandler\n\tprivate inputElement: HTMLInputElement | undefined\n\tprivate uneditable = this.readonly\n\tprivate observer = Editable.Observer.create(this)\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\t@Event() smoothlyKeydown: EventEmitter<Key>\n\t@Event() smoothlyBlur: EventEmitter<void>\n\t@Event() smoothlyChange: EventEmitter<Record<string, any>>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\n\t@Method()\n\tasync getValue(): Promise<any | undefined> {\n\t\treturn this.stateHandler.getValue(this.state)\n\t}\n\t@Method()\n\tasync setValue(value: any): Promise<void> {\n\t\tif (this.inputElement)\n\t\t\tthis.state = this.stateHandler.setValue(this.inputElement, this.state, value)\n\t}\n\t@Method()\n\tasync setFocus(): Promise<void> {\n\t\tthis.inputElement?.focus()\n\t}\n\t@Method()\n\tasync setSelection(start: number, end: number): Promise<void> {\n\t\tif (this.inputElement)\n\t\t\tthis.state = this.stateHandler.setSelection(\n\t\t\t\tthis.inputElement,\n\t\t\t\tthis.state,\n\t\t\t\tstart,\n\t\t\t\tend < 0 ? this.inputElement.value.length + end + 1 : end\n\t\t\t)\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tif (!this.uneditable && this.inputElement) {\n\t\t\tthis.state = this.stateHandler.setValue(this.inputElement, this.state, undefined)\n\t\t}\n\t}\n\t@Method()\n\tasync edit(editable: boolean): Promise<void> {\n\t\t!this.uneditable && (this.readonly = !editable)\n\t}\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tif (!this.uneditable && this.inputElement) {\n\t\t\tthis.state = this.stateHandler.setValue(this.inputElement, this.state, this.initialValue)\n\t\t}\n\t}\n\t@Method()\n\tasync setInitialValue(): Promise<void> {\n\t\tthis.changed = false\n\t\tthis.initialValue = this.value\n\t\tthis.smoothlyInput.emit({ [this.name]: await this.getValue() })\n\t}\n\t@Method()\n\tasync setCustomInitialValue(value: any): Promise<void> {\n\t\tthis.initialValue = value\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync smoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInput) => void>): Promise<void> {\n\t\tInput.registerSubAction(this, event)\n\t}\n\t@Watch(\"currency\")\n\t@Watch(\"type\")\n\ttypeChange(): void {\n\t\tswitch (this.type) {\n\t\t\tcase \"price\":\n\t\t\t\tthis.stateHandler = InputStateHandler.create(\"price\", { currency: this.currency, toInteger: this.toInteger })\n\t\t\t\tbreak\n\t\t\tcase \"integer\":\n\t\t\t\tthis.stateHandler = InputStateHandler.create(\"integer\", { min: this.min, max: this.max, pad: this.pad })\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tthis.stateHandler = InputStateHandler.create(this.type, getLocale())\n\t\t\t\tbreak\n\t\t}\n\t\tthis.state = this.stateHandler.initialState(this.value ?? this.state?.value)\n\t}\n\t@Watch(\"state\")\n\tstateChange() {\n\t\tthis.smoothlyInput.emit({ [this.name]: this.stateHandler.getValue(this.state) })\n\t\tthis.observer.publish()\n\t}\n\t@Watch(\"value\")\n\tvalueChange(value: any) {\n\t\tconst lastValue = this.stateHandler.getValue(this.state)\n\t\tif (Deep.notEqual(lastValue, value) && this.inputElement) {\n\t\t\tthis.state = this.stateHandler.setValue(this.inputElement, this.state, value)\n\t\t\tthis.smoothlyInput.emit({ [this.name]: this.stateHandler.getValue(this.state) })\n\t\t}\n\t}\n\t@Watch(\"disabled\")\n\t@Watch(\"readonly\")\n\treadonlyChange() {\n\t\tthis.observer.publish()\n\t}\n\tcomponentWillLoad() {\n\t\tthis.typeChange()\n\t\tthis.initialValue = this.value\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.observer.publish()\n\t}\n\tcomponentDidLoad() {\n\t\tif (this.inputElement)\n\t\t\tthis.inputElement.value = this.state.value\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Listen(\"input\")\n\t@Listen(\"beforeinput\")\n\tonEvent(event: InputEvent) {\n\t\tthis.state = this.stateHandler.onInputEvent(event, this.state)\n\t}\n\tcopyText(value?: string) {\n\t\tif (value) {\n\t\t\tnavigator.clipboard.writeText(value)\n\t\t\tthis.copied = true\n\t\t}\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{ \"has-value\": this.state?.value != undefined && this.state?.value != \"\" }}\n\t\t\t\tonclick={() => this.inputElement?.focus()}>\n\t\t\t\t<slot name=\"start\" />\n\t\t\t\t<div class=\"smoothly-input-container\">\n\t\t\t\t\t<div class={\"ghost\"}>\n\t\t\t\t\t\t<div class={\"value\"}>{this.state?.value}</div>\n\t\t\t\t\t\t<div class={\"remainder\"}>{this.state?.remainder}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={(el: HTMLInputElement) => (this.inputElement = el)}\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\ttype={this.state?.type}\n\t\t\t\t\t\tinputmode={this.state?.inputmode}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tautocomplete={this.autocomplete ?? this.state?.autocomplete}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\treadOnly={this.readonly}\n\t\t\t\t\t\tpattern={this.state?.pattern && this.state?.pattern.source}\n\t\t\t\t\t\tonKeyDown={event => {\n\t\t\t\t\t\t\tthis.state = this.stateHandler.onKeyDown(event, this.state)\n\t\t\t\t\t\t\tif (!this.readonly && !this.disabled)\n\t\t\t\t\t\t\t\tthis.smoothlyKeydown.emit(Key.create(this.name, event))\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonFocus={event => !this.readonly && (this.state = this.stateHandler.onFocus(event, this.state))}\n\t\t\t\t\t\tonBlur={event => {\n\t\t\t\t\t\t\tif (!this.readonly) {\n\t\t\t\t\t\t\t\tconst lastValue = this.stateHandler.getValue(this.state)\n\t\t\t\t\t\t\t\tthis.state = this.stateHandler.onBlur(event, this.state)\n\t\t\t\t\t\t\t\tthis.smoothlyBlur.emit()\n\t\t\t\t\t\t\t\tthis.smoothlyInput.emit({ [this.name]: this.stateHandler.getValue(this.state) })\n\t\t\t\t\t\t\t\tif (Deep.notEqual(lastValue, this.stateHandler.getValue(this.state)))\n\t\t\t\t\t\t\t\t\tthis.smoothlyChange.emit({ [this.name]: this.stateHandler.getValue(this.state) })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<label class={\"label float-on-focus\"} htmlFor={this.name}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t\t{this.copyable && this.value && (\n\t\t\t\t\t<span class=\"copyable\">\n\t\t\t\t\t\t<small>{this.copied ? \"Copied!\" : \"Copy\"}</small>\n\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\tname=\"copy-outline\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={() => this.copyText(this.value)}\n\t\t\t\t\t\t\tonMouseLeave={() => (this.copied = false)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t<smoothly-icon\n\t\t\t\t\tclass=\"smoothly-invalid\"\n\t\t\t\t\tname=\"alert-circle\"\n\t\t\t\t\tcolor=\"danger\"\n\t\t\t\t\tfill=\"clear\"\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\ttooltip={this.errorMessage}\n\t\t\t\t/>\n\t\t\t\t<slot name=\"end\" />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-2bd65d6b.js","mappings":"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","names":["tidily.get","tidily.Selection","tidily.State","tidily.StateEditor","isly.object","isly.string","isly.boolean"],"sources":["src/components/input/Deep.ts","src/components/input/Adjacent.ts","src/components/input/InputStateHandler.ts","src/components/input/Key.ts","src/components/input/style.css?tag=smoothly-input&encapsulation=scoped","src/components/input/index.tsx"],"sourcesContent":["export namespace Deep {\n\texport function equal(a: any, b: any): boolean {\n\t\tif (a === b)\n\t\t\treturn true\n\t\tif (typeof a == \"object\" && typeof b == \"object\") {\n\t\t\tconst keys = Object.keys(a)\n\t\t\tif (keys.length == Object.keys(b).length && keys.every(key => equal(a[key], b[key])))\n\t\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}\n\texport function notEqual(a: any, b: any): boolean {\n\t\treturn !equal(a, b)\n\t}\n}\n","export namespace Adjacent {\n\texport function getWordBreakIndex(str: string, index: number, direction: \"backward\" | \"forward\"): number {\n\t\tconst wordRegex = /([^.-@\\s]+)/gi\n\t\treturn direction == \"backward\"\n\t\t\t? getBackwardWordBreakIndex(str, index, wordRegex)\n\t\t\t: getForwardWordBreakIndex(str, index, wordRegex)\n\t}\n\n\tfunction getBackwardWordBreakIndex(str: string, index: number, wordRegex: RegExp): number {\n\t\tlet result = 0\n\t\tlet execArray: RegExpExecArray | null\n\t\twhile ((execArray = wordRegex.exec(str)) != null) {\n\t\t\tif (wordRegex.lastIndex - execArray[0].length < index)\n\t\t\t\tresult = wordRegex.lastIndex - execArray[0].length\n\t\t\telse\n\t\t\t\tbreak\n\t\t}\n\t\treturn result\n\t}\n\n\tfunction getForwardWordBreakIndex(str: string, index: number, wordRegex: RegExp): number {\n\t\tlet result = 0\n\t\twhile (wordRegex.exec(str) != null) {\n\t\t\tresult = wordRegex.lastIndex\n\t\t\tif (wordRegex.lastIndex > index)\n\t\t\t\tbreak\n\t\t}\n\t\twordRegex.lastIndex <= index && (result = str.length)\n\t\treturn result\n\t}\n}\n","import { isoly } from \"isoly\"\nimport { tidily } from \"tidily\"\nimport { Adjacent } from \"./Adjacent\"\n\ntype Formatter = tidily.Formatter & tidily.Converter<any>\ntype Handler<E extends Event> = (event: E, unformatted: tidily.State, formatted: tidily.State) => tidily.State\n\nexport class InputStateHandler {\n\tconstructor(private formatter: Formatter, private type: tidily.Type) {}\n\tstatic create(type: \"price\", priceOptions: { currency?: isoly.Currency; toInteger?: boolean }): InputStateHandler\n\tstatic create(type: \"integer\", integerOptions: { min?: number; max?: number; pad?: number }): InputStateHandler\n\tstatic create(type: tidily.Type, locale?: isoly.Locale): InputStateHandler\n\tstatic create(type: tidily.Type, extra?: any): InputStateHandler {\n\t\tlet result: (tidily.Formatter & tidily.Converter<any>) | undefined\n\t\tswitch (type) {\n\t\t\tcase \"price\":\n\t\t\t\tresult = tidily.get(\"price\", extra)\n\t\t\t\tbreak\n\t\t\tcase \"integer\":\n\t\t\t\tresult = tidily.get(\"integer\", extra)\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tresult = tidily.get(type, extra)\n\t\t\t\tbreak\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\treturn new InputStateHandler(result || tidily.get(\"text\")!, type)\n\t}\n\n\tpublic onKeyDown(\n\t\tevent: KeyboardEvent,\n\t\tstate: Readonly<tidily.State> & tidily.Settings\n\t): Readonly<tidily.State> & tidily.Settings {\n\t\tlet result: Readonly<tidily.State> & tidily.Settings = state\n\t\tconst handler = this.keydownHandlers[event.key]\n\t\tif (handler) {\n\t\t\tconst input = event.target as HTMLInputElement\n\t\t\tstate.selection.start = input.selectionStart ?? state.selection.start\n\t\t\tstate.selection.end = input.selectionEnd ?? state.selection.end\n\t\t\tstate.selection.direction = input.selectionDirection ?? state.selection.direction\n\t\t\tconst unformatted = handler(event, this.unformatState(state), state)\n\t\t\tconst formatted = this.partialFormatState(unformatted)\n\t\t\tif (event.defaultPrevented) {\n\t\t\t\tinput.selectionStart = formatted.selection.start\n\t\t\t\tinput.selectionEnd = formatted.selection.end\n\t\t\t\tinput.selectionDirection = formatted.selection.direction ?? null\n\t\t\t}\n\t\t\tresult = formatted\n\t\t}\n\t\treturn result\n\t}\n\tkeydownHandlers: { [key: string]: Handler<KeyboardEvent> | undefined } = {\n\t\tArrowLeft: (event, state) => (event.ctrlKey || event.metaKey ? state : this.moveCursor(event, state)),\n\t\tArrowRight: (event, state) => (event.ctrlKey || event.metaKey ? state : this.moveCursor(event, state)),\n\t}\n\n\tmoveCursor(event: KeyboardEvent, state: tidily.State): tidily.State {\n\t\tevent.preventDefault()\n\t\tlet cursor = tidily.Selection.getCursor(state.selection)\n\t\tlet stalk = tidily.Selection.getStalker(state.selection)\n\t\tcursor = Math.min(Math.max(cursor + (event.key == \"ArrowLeft\" ? -1 : 1), 0), state.value.length)\n\t\tstalk = event.shiftKey ? stalk : cursor\n\t\tstate.selection.direction = stalk < cursor ? \"forward\" : stalk > cursor ? \"backward\" : \"none\"\n\t\tstate.selection.start = Math.min(stalk, cursor)\n\t\tstate.selection.end = Math.max(stalk, cursor)\n\t\treturn state\n\t}\n\n\tpublic onFocus(event: FocusEvent, state: tidily.State) {\n\t\tconst result = this.partialFormatState(this.unformatState(state))\n\t\tconst input = event.target as HTMLInputElement\n\t\tinput.value = result.value\n\t\treturn result\n\t}\n\n\tpublic onBlur(event: FocusEvent, state: tidily.State): Readonly<tidily.State> & tidily.Settings {\n\t\tconst result = this.createFormattedState(state)\n\t\tconst input = event.target as HTMLInputElement\n\t\tinput.value = result.value\n\t\treturn result\n\t}\n\n\tpublic onInputEvent(event: InputEvent, state: tidily.State): Readonly<tidily.State> & tidily.Settings {\n\t\tconst input = event.target as HTMLInputElement\n\t\tstate.selection.start = input.selectionStart ?? state.selection.start\n\t\tstate.selection.end = input.selectionEnd ?? state.selection.end\n\t\tstate.selection.direction = input.selectionDirection ?? state.selection.direction\n\t\tconst result =\n\t\t\tevent.type == \"beforeinput\" || event.type == \"input\"\n\t\t\t\t? this.eventHandlers[event.type][event.inputType]?.(event, this.unformatState(state), state) ?? state\n\t\t\t\t: state\n\t\tconst formatted = this.partialFormatState(result)\n\t\tif (event.defaultPrevented) {\n\t\t\tinput.value = formatted.value\n\t\t\tinput.selectionStart = formatted.selection.start\n\t\t\tinput.selectionEnd = formatted.selection.end\n\t\t\tinput.selectionDirection = formatted.selection.direction ?? null\n\t\t}\n\t\treturn formatted\n\t}\n\tprivate eventHandlers: Record<\"beforeinput\" | \"input\", { [inputType: string]: Handler<InputEvent> | undefined }> = {\n\t\tbeforeinput: {\n\t\t\tinsertText: (event, state) => this.insert(event, state),\n\t\t\tinsertFromPaste: (event, state) => this.insert(event, state),\n\t\t\tinsertFromDrop: (event, state) => this.insert(event, state),\n\t\t\tdeleteContentBackward: (event, state) => {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (state.selection.start == state.selection.end)\n\t\t\t\t\tthis.select(state, state.selection.start - 1, state.selection.end)\n\t\t\t\tthis.erase(state)\n\t\t\t\treturn state\n\t\t\t},\n\t\t\tdeleteContentForward: (event, state) => {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (state.selection.start == state.selection.end)\n\t\t\t\t\tthis.select(state, state.selection.start, state.selection.end + 1)\n\t\t\t\tthis.erase(state)\n\t\t\t\treturn state\n\t\t\t},\n\t\t\tdeleteWordBackward: (event, unformatted, formattedState) => {\n\t\t\t\tlet result = unformatted\n\t\t\t\tif (this.type != \"password\") {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\tresult = this.deleteWord(formattedState, \"backward\")\n\t\t\t\t}\n\t\t\t\treturn result\n\t\t\t},\n\t\t\tdeleteWordForward: (event, unformatted, formattedState) => {\n\t\t\t\tlet result = unformatted\n\t\t\t\tif (this.type != \"password\") {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\tresult = this.deleteWord(formattedState, \"forward\")\n\t\t\t\t}\n\t\t\t\treturn result\n\t\t\t},\n\t\t\tdeleteByCut: (_, state) => {\n\t\t\t\tthis.erase(state)\n\t\t\t\treturn state\n\t\t\t},\n\t\t\t// historyUndo - TODO\n\t\t\t// historyRedo - TODO\n\t\t\t// insertLineBreak - TODO\n\t\t},\n\t\tinput: {\n\t\t\tinsertReplacementText: (event, state) => ({ ...state, value: (event.target as HTMLInputElement).value }),\n\t\t\tinsertCompositionText: (event, state) => ({ ...state, value: (event.target as HTMLInputElement).value }),\n\t\t\tdeleteWordBackward: (event, state) =>\n\t\t\t\tthis.type == \"password\" ? { ...state, value: (event.target as HTMLInputElement).value } : state,\n\t\t\tdeleteWordForward: (event, state) =>\n\t\t\t\tthis.type == \"password\" ? { ...state, value: (event.target as HTMLInputElement).value } : state,\n\t\t\t// Chrome will dispatch an input event without inputType when auto-filling\n\t\t\tundefined: (event, state) => ({ ...state, value: (event.target as HTMLInputElement).value }),\n\t\t},\n\t}\n\n\tprivate insert(event: InputEvent, unformatted: tidily.State): tidily.State {\n\t\tevent.preventDefault()\n\t\tif (typeof event.data == \"string\")\n\t\t\tfor (const c of event.data)\n\t\t\t\tthis.formatter.allowed(c, unformatted) && this.replace(unformatted, c.replace(/(\\r|\\n|\\t)/g, \"\"))\n\t\treturn unformatted\n\t}\n\tprivate deleteWord(formattedState: tidily.State, direction: \"backward\" | \"forward\"): tidily.State {\n\t\tconst cursorPosition = tidily.Selection.getCursor(formattedState.selection)\n\t\tconst adjacentIndex = Adjacent.getWordBreakIndex(formattedState.value, cursorPosition, direction)\n\t\tconst result = this.unformatState({\n\t\t\t...formattedState,\n\t\t\tselection: {\n\t\t\t\tstart: Math.min(cursorPosition, adjacentIndex),\n\t\t\t\tend: Math.max(cursorPosition, adjacentIndex),\n\t\t\t\tdirection: \"none\",\n\t\t\t},\n\t\t})\n\t\tconst value = result.value.substring(0, result.selection.start) + result.value.substring(result.selection.end)\n\t\tresult.value = value\n\t\tresult.selection.end = result.selection.start\n\t\treturn result\n\t}\n\n\tprivate select(state: tidily.State, from: number, to: number, direction?: tidily.Direction): void {\n\t\tstate.selection.start = from\n\t\tstate.selection.end = to\n\t\tdirection && (state.selection.direction = direction)\n\t}\n\tprivate erase(state: tidily.State): void {\n\t\tthis.replace(state, \"\")\n\t}\n\tprivate replace(state: tidily.State, insertString: string): void {\n\t\tstate.value =\n\t\t\tstate.value.substring(0, state.selection.start) + insertString + state.value.substring(state.selection.end)\n\t\tstate.selection.start = state.selection.start + insertString.length\n\t\tstate.selection.end = state.selection.start\n\t}\n\n\tprivate unformatState(formattedState: tidily.State): tidily.State {\n\t\treturn tidily.State.copy(this.formatter.unformat(tidily.StateEditor.copy(formattedState)))\n\t}\n\tprivate partialFormatState(unformattedState: tidily.State): Readonly<tidily.State> & tidily.Settings {\n\t\treturn this.formatter.partialFormat(tidily.StateEditor.copy(unformattedState))\n\t}\n\tprivate createFormattedState(state: tidily.State): Readonly<tidily.State> & tidily.Settings {\n\t\treturn this.formatter.format(tidily.StateEditor.copy(this.formatter.unformat(tidily.StateEditor.copy(state))))\n\t}\n\tprivate toString(value: any): string {\n\t\treturn this.formatter.toString(value)\n\t}\n\tpublic initialState(value: any): Readonly<tidily.State> & tidily.Settings {\n\t\tconst stringValue = this.toString(value) || \"\"\n\t\tconst start = stringValue.length\n\t\tconst state = this.createFormattedState({\n\t\t\tvalue: stringValue,\n\t\t\tselection: { start, end: start, direction: \"none\" },\n\t\t})\n\t\treturn state\n\t}\n\tpublic setValue(\n\t\tinputElement: HTMLInputElement,\n\t\tformattedState: Readonly<tidily.State> & tidily.Settings,\n\t\tvalue: any\n\t): Readonly<tidily.State> & tidily.Settings {\n\t\tconst result = {\n\t\t\t...formattedState,\n\t\t\tvalue: this.createFormattedState({ value: this.formatter.toString(value), selection: formattedState.selection })\n\t\t\t\t.value,\n\t\t}\n\t\tinputElement.value = result.value\n\t\treturn result\n\t}\n\tpublic getValue(formattedState: tidily.State): any {\n\t\treturn this.formatter.fromString(this.unformatState(formattedState).value)\n\t}\n\tpublic setSelection(\n\t\tinputElement: HTMLInputElement,\n\t\tformattedState: Readonly<tidily.State> & tidily.Settings,\n\t\tstart: number,\n\t\tend: number\n\t) {\n\t\tinputElement.focus()\n\t\tinputElement.selectionStart = start\n\t\tinputElement.selectionEnd = end\n\t\tthis.select(formattedState, start, end)\n\t\treturn formattedState\n\t}\n}\n","import { isly } from \"isly\"\n\nexport interface Key {\n\tname: string\n\tkey: string\n\tshift: boolean\n\tctrl: boolean\n\talt: boolean\n\tmeta: boolean\n}\n\nexport namespace Key {\n\texport const type = isly.object<Key>({\n\t\tname: isly.string(),\n\t\tkey: isly.string(),\n\t\tshift: isly.boolean(),\n\t\tctrl: isly.boolean(),\n\t\talt: isly.boolean(),\n\t\tmeta: isly.boolean(),\n\t})\n\texport const is = type.is\n\n\texport function create(name: string, event: KeyboardEvent): Key {\n\t\treturn {\n\t\t\tname,\n\t\t\tkey: event.key,\n\t\t\tshift: event.shiftKey,\n\t\t\tctrl: event.ctrlKey,\n\t\t\talt: event.altKey,\n\t\t\tmeta: event.metaKey,\n\t\t}\n\t}\n}\n","@import \"./shared.css\";\n\n:host {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-weight: var(--smoothly-font-weight);\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tcolor: rgb(var(--smoothly-input-foreground));\n}\n\n:host[hidden] {\n\tdisplay: none;\n}\n\n:host>.smoothly-input-container {\n\tposition: relative;\n\tflex-grow: 1;\n\theight: 100%;\n}\n\n:host>.smoothly-input-container>label {\n\tleft: var(--input-padding-side);\n}\n\n:host:not([show-label])>div>input {\n\tpadding: 0 var(--input-padding-side);\n}\n\n:host>.smoothly-input-container>div.ghost {\n\tposition: absolute;\n box-sizing: border-box;\n align-content: center;\n\theight: 100%;\n\tpadding: \n\t\tvar(--input-value-padding-top) \n\t\tvar(--input-padding-side) \n\t\tvar(--input-value-padding-bottom) \n\t\tvar(--input-padding-side);\n}\n:host>.smoothly-input-container>div.ghost>div.value {\n\tdisplay: inline;\n\tpointer-events: none;\n\topacity: 0;\n}\n:host>.smoothly-input-container>div.ghost>div.remainder {\n\tdisplay: inline;\n\tpointer-events: none;\n\topacity: 0.5;\n}\n\n:host>.smoothly-input-container>input {\n\tpadding: \n\t\tvar(--input-value-padding-top) \n\t\tvar(--input-padding-side) \n\t\tvar(--input-value-padding-bottom) \n\t\tvar(--input-padding-side);\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\tborder: 0;\n\tz-index: 1;\n\tposition: relative;\n\tfont-size: 1rem;\n\tfont-family: var(--smoothly-font-family);\n}\n:host([disabled])>.smoothly-input-container>input {\n\tcursor: not-allowed;\n}\n\n:host>.smoothly-invalid {\n\tdisplay: none;\n\tz-index: 2;\n\tpadding: 0.5rem;\n}\n:host:not([disabled])>.smoothly-invalid {\n\tcursor: pointer;\n}\n\n:host[invalid]>.smoothly-invalid {\n\tdisplay: flex;\n}\n\n:host>div>label {\n\tz-index: 1;\n\tpointer-events: none;\n}\n\n:host>div>input:focus {\n\toutline: none;\n}\n\n:host>div>input:-webkit-autofill,\n:host>div>input:-webkit-autofill:hover,\n:host>div>input:-webkit-autofill:focus,\n:host>div>input:-webkit-autofill:active {\n\tbox-shadow: 0 0 0 40em rgb(var(--smoothly-input-background)) inset;\n\t-webkit-box-shadow: 0 0 0 40em rgb(var(--smoothly-input-background)) inset;\n}\n\n:host>div>input:-webkit-autofill,\n:host>div>input:-webkit-autofill+label {\n\t-webkit-text-fill-color: rgb(var(--smoothly-input-foreground));\n}\n:host>span.copyable {\n\tposition: relative;\n}\n:host>span.copyable>smoothly-icon {\n\tcursor: pointer;\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 0.5rem;\n\n}\n:host>span.copyable:hover small,\n:host>span.copyable:focus small {\n\tdisplay: block;\n}\n:host>span.copyable>small {\n\tdisplay: none;\n\twidth: max-content;\n\tborder-radius: 0.25rem;\n\tpadding: 0.2rem 0.3rem;\n\tposition: absolute;\n\tright: -0.5rem;\n\ttop: -2rem;\n\tbackground-color: rgb(var(--smoothly-default-contrast));\n\tcolor: rgb(var(--smoothly-default-tint));\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { tidily } from \"tidily\"\nimport { Color } from \"../../model\"\nimport { getLocale } from \"../../model/getLocale\"\nimport { Clearable } from \"./Clearable\"\nimport { Deep } from \"./Deep\"\nimport { Editable } from \"./Editable\"\nimport { Input } from \"./Input\"\nimport { InputStateHandler } from \"./InputStateHandler\"\nimport { Key } from \"./Key\"\nimport { Looks } from \"./Looks\"\n\n@Component({\n\ttag: \"smoothly-input\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInput implements Clearable, Input, Editable {\n\t@Element() element: HTMLSmoothlyInputElement\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) value: any\n\t@Prop({ reflect: true }) type: tidily.Type = \"text\"\n\t@Prop({ reflect: true }) required = false\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop() autocomplete?: Exclude<tidily.Settings[\"autocomplete\"], undefined>\n\t@Prop({ reflect: true }) placeholder: string | undefined\n\t@Prop({ reflect: true }) disabled = false\n\t@Prop({ mutable: true, reflect: true }) readonly = false\n\t@Prop() toInteger?: boolean\n\t@Prop({ reflect: true }) currency?: isoly.Currency\n\t@Prop() min?: number\n\t@Prop() max?: number\n\t@Prop() pad?: number\n\t@Prop({ reflect: true }) invalid?: boolean = false\n\t@Prop({ mutable: true }) changed = false\n\t@Prop({ reflect: true }) errorMessage?: string\n\t@Prop({ reflect: true }) copyable?: boolean\n\t@State() initialValue?: any\n\t@State() state: Readonly<tidily.State> & Readonly<tidily.Settings>\n\t@State() copied = false\n\tparent: Editable | undefined\n\tprivate stateHandler: InputStateHandler\n\tprivate inputElement: HTMLInputElement | undefined\n\tprivate uneditable = this.readonly\n\tprivate observer = Editable.Observer.create(this)\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\t@Event() smoothlyKeydown: EventEmitter<Key>\n\t@Event() smoothlyBlur: EventEmitter<void>\n\t@Event() smoothlyChange: EventEmitter<Record<string, any>>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\n\t@Method()\n\tasync getValue(): Promise<any | undefined> {\n\t\treturn this.stateHandler.getValue(this.state)\n\t}\n\t@Method()\n\tasync setValue(value: any): Promise<void> {\n\t\tif (this.inputElement)\n\t\t\tthis.state = this.stateHandler.setValue(this.inputElement, this.state, value)\n\t}\n\t@Method()\n\tasync setFocus(): Promise<void> {\n\t\tthis.inputElement?.focus()\n\t}\n\t@Method()\n\tasync setSelection(start: number, end: number): Promise<void> {\n\t\tif (this.inputElement)\n\t\t\tthis.state = this.stateHandler.setSelection(\n\t\t\t\tthis.inputElement,\n\t\t\t\tthis.state,\n\t\t\t\tstart,\n\t\t\t\tend < 0 ? this.inputElement.value.length + end + 1 : end\n\t\t\t)\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tif (!this.uneditable && this.inputElement) {\n\t\t\tthis.state = this.stateHandler.setValue(this.inputElement, this.state, undefined)\n\t\t}\n\t}\n\t@Method()\n\tasync edit(editable: boolean): Promise<void> {\n\t\t!this.uneditable && (this.readonly = !editable)\n\t}\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tif (!this.uneditable && this.inputElement) {\n\t\t\tthis.state = this.stateHandler.setValue(this.inputElement, this.state, this.initialValue)\n\t\t}\n\t}\n\t@Method()\n\tasync setInitialValue(): Promise<void> {\n\t\tthis.changed = false\n\t\tthis.initialValue = this.value\n\t\tthis.smoothlyInput.emit({ [this.name]: await this.getValue() })\n\t}\n\t@Method()\n\tasync setCustomInitialValue(value: any): Promise<void> {\n\t\tthis.initialValue = value\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync smoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInput) => void>): Promise<void> {\n\t\tInput.registerSubAction(this, event)\n\t}\n\t@Watch(\"currency\")\n\t@Watch(\"type\")\n\ttypeChange(): void {\n\t\tswitch (this.type) {\n\t\t\tcase \"price\":\n\t\t\t\tthis.stateHandler = InputStateHandler.create(\"price\", { currency: this.currency, toInteger: this.toInteger })\n\t\t\t\tbreak\n\t\t\tcase \"integer\":\n\t\t\t\tthis.stateHandler = InputStateHandler.create(\"integer\", { min: this.min, max: this.max, pad: this.pad })\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tthis.stateHandler = InputStateHandler.create(this.type, getLocale())\n\t\t\t\tbreak\n\t\t}\n\t\tthis.state = this.stateHandler.initialState(this.value ?? this.state?.value)\n\t}\n\t@Watch(\"state\")\n\tstateChange() {\n\t\tthis.smoothlyInput.emit({ [this.name]: this.stateHandler.getValue(this.state) })\n\t\tthis.observer.publish()\n\t}\n\t@Watch(\"value\")\n\tvalueChange(value: any) {\n\t\tconst lastValue = this.stateHandler.getValue(this.state)\n\t\tif (Deep.notEqual(lastValue, value) && this.inputElement) {\n\t\t\tthis.state = this.stateHandler.setValue(this.inputElement, this.state, value)\n\t\t\tthis.smoothlyInput.emit({ [this.name]: this.stateHandler.getValue(this.state) })\n\t\t}\n\t}\n\t@Watch(\"disabled\")\n\t@Watch(\"readonly\")\n\treadonlyChange() {\n\t\tthis.observer.publish()\n\t}\n\tcomponentWillLoad() {\n\t\tthis.typeChange()\n\t\tthis.initialValue = this.value\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.observer.publish()\n\t}\n\tcomponentDidLoad() {\n\t\tif (this.inputElement)\n\t\t\tthis.inputElement.value = this.state.value\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Listen(\"input\")\n\t@Listen(\"beforeinput\")\n\tonEvent(event: InputEvent) {\n\t\tthis.state = this.stateHandler.onInputEvent(event, this.state)\n\t}\n\tcopyText(value?: string) {\n\t\tif (value) {\n\t\t\tnavigator.clipboard.writeText(value)\n\t\t\tthis.copied = true\n\t\t}\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{ \"has-value\": this.state?.value != undefined && this.state?.value != \"\" }}\n\t\t\t\tonclick={() => this.inputElement?.focus()}>\n\t\t\t\t<slot name=\"start\" />\n\t\t\t\t<div class=\"smoothly-input-container\">\n\t\t\t\t\t<div class={\"ghost\"}>\n\t\t\t\t\t\t<div class={\"value\"}>{this.state?.value}</div>\n\t\t\t\t\t\t<div class={\"remainder\"}>{this.state?.remainder}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={(el: HTMLInputElement) => (this.inputElement = el)}\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\ttype={this.state?.type}\n\t\t\t\t\t\tinputmode={this.state?.inputmode}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tautocomplete={this.autocomplete ?? this.state?.autocomplete}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\treadOnly={this.readonly}\n\t\t\t\t\t\tpattern={this.state?.pattern && this.state?.pattern.source}\n\t\t\t\t\t\tonKeyDown={event => {\n\t\t\t\t\t\t\tthis.state = this.stateHandler.onKeyDown(event, this.state)\n\t\t\t\t\t\t\tif (!this.readonly && !this.disabled)\n\t\t\t\t\t\t\t\tthis.smoothlyKeydown.emit(Key.create(this.name, event))\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonFocus={event => !this.readonly && (this.state = this.stateHandler.onFocus(event, this.state))}\n\t\t\t\t\t\tonBlur={event => {\n\t\t\t\t\t\t\tif (!this.readonly) {\n\t\t\t\t\t\t\t\tconst lastValue = this.stateHandler.getValue(this.state)\n\t\t\t\t\t\t\t\tthis.state = this.stateHandler.onBlur(event, this.state)\n\t\t\t\t\t\t\t\tthis.smoothlyBlur.emit()\n\t\t\t\t\t\t\t\tthis.smoothlyInput.emit({ [this.name]: this.stateHandler.getValue(this.state) })\n\t\t\t\t\t\t\t\tif (Deep.notEqual(lastValue, this.stateHandler.getValue(this.state)))\n\t\t\t\t\t\t\t\t\tthis.smoothlyChange.emit({ [this.name]: this.stateHandler.getValue(this.state) })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<label class={\"label float-on-focus\"} htmlFor={this.name}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t\t{this.copyable && this.value && (\n\t\t\t\t\t<span class=\"copyable\">\n\t\t\t\t\t\t<small>{this.copied ? \"Copied!\" : \"Copy\"}</small>\n\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\tname=\"copy-outline\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={() => this.copyText(this.value)}\n\t\t\t\t\t\t\tonMouseLeave={() => (this.copied = false)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t<smoothly-icon\n\t\t\t\t\tclass=\"smoothly-invalid\"\n\t\t\t\t\tname=\"alert-circle\"\n\t\t\t\t\tcolor=\"danger\"\n\t\t\t\t\tfill=\"clear\"\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\ttooltip={this.errorMessage}\n\t\t\t\t/>\n\t\t\t\t<slot name=\"end\" />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-f765921a.js';
|
|
2
2
|
import { a as DateTime } from './p-390767c7.js';
|
|
3
3
|
import { E as Editable } from './p-fe854055.js';
|
|
4
|
-
import { I as Input } from './p-
|
|
5
|
-
import { d as defineCustomElement$6 } from './p-
|
|
4
|
+
import { I as Input } from './p-64f0a7b8.js';
|
|
5
|
+
import { d as defineCustomElement$6 } from './p-e6e7ba64.js';
|
|
6
6
|
import { d as defineCustomElement$5 } from './p-646d458b.js';
|
|
7
|
-
import { d as defineCustomElement$4 } from './p-
|
|
8
|
-
import { d as defineCustomElement$3 } from './p-
|
|
9
|
-
import { d as defineCustomElement$2 } from './p-
|
|
7
|
+
import { d as defineCustomElement$4 } from './p-2bd65d6b.js';
|
|
8
|
+
import { d as defineCustomElement$3 } from './p-3b99cf46.js';
|
|
9
|
+
import { d as defineCustomElement$2 } from './p-d9c5f8ae.js';
|
|
10
10
|
import { d as defineCustomElement$1 } from './p-12c5004d.js';
|
|
11
11
|
|
|
12
12
|
const styleCss = ".sc-smoothly-input-date-time-h{--input-padding-side:.5rem;--input-value-padding-top:1.25rem;--input-value-padding-bottom:.25rem;--input-min-height:3rem;min-height:var(--input-min-height);box-sizing:border-box;border-radius:var(--smoothly-input-border-radius)}[looks=\"border\"].sc-smoothly-input-date-time-h{border:rgb(var(--smoothly-input-border)) solid 1px}[looks=\"border\"].sc-smoothly-input-date-time-h:not([readonly]):not([disabled]):focus-within{outline:2px solid rgb(var(--smoothly-input-border-focus))}[looks=\"border\"][readonly].sc-smoothly-input-date-time-h{border:transparent solid 1px}[looks=\"line\"].sc-smoothly-input-date-time-h{border-bottom:rgb(var(--smoothly-input-border)) solid 1px;position:relative}[looks=\"line\"][readonly].sc-smoothly-input-date-time-h{border-bottom:transparent solid 1px}[looks=\"line\"].sc-smoothly-input-date-time-h:not([readonly]):not([disabled]):focus-within::before{content:\"\";position:absolute;inset:0;pointer-events:none;border-bottom:2px solid rgb(var(--smoothly-input-border-focus));z-index:10}[looks=\"grid\"].sc-smoothly-input-date-time-h{flex-grow:1;flex-basis:40%;box-shadow:0px 0px 0px 1px rgb(var(--smoothly-input-border));border:none}[looks=\"grid\"][readonly].sc-smoothly-input-date-time-h{box-shadow:0px 0px 0px 1px rgba(var(--smoothly-input-border-readonly))}[looks=\"grid\"].sc-smoothly-input-date-time-h:not([readonly]):not([disabled]):focus-within{position:relative;box-shadow:0px 0px 0px 2px rgb(var(--smoothly-input-border-focus));outline:none;z-index:10}[looks=\"transparent\"].sc-smoothly-input-date-time-h{border:none}[looks=\"transparent\"][readonly].sc-smoothly-input-date-time-h,[looks=\"transparent\"].sc-smoothly-input-date-time-h:not(:focus-within){background-color:transparent}[looks=\"transparent\"][readonly].sc-smoothly-input-date-time-h>input.sc-smoothly-input-date-time,[looks=\"transparent\"].sc-smoothly-input-date-time-h:not(:focus-within)>input.sc-smoothly-input-date-time{background-color:transparent}[looks=\"transparent\"].sc-smoothly-input-date-time-h:not([readonly]):focus-within{outline:1px solid rgb(var(--smoothly-input-border))}[disabled].sc-smoothly-input-date-time-h{cursor:not-allowed;--smoothly-input-foreground:var(--smoothly-input-disabled-foreground);--smoothly-input-background:var(--smoothly-input-disabled-background);--smoothly-input-border:var(--smoothly-input-disabled-border)}.sc-smoothly-input-date-time-h.sc-smoothly-input-date-time-s>[slot=label],.sc-smoothly-input-date-time-h .sc-smoothly-input-date-time-s>[slot=label],.sc-smoothly-input-date-time-h .label.sc-smoothly-input-date-time{position:absolute;top:.6rem;opacity:0.8;user-select:none;cursor:inherit;transform-origin:top left;transition:transform 100ms ease}.sc-smoothly-input-date-time-h.floating-label.sc-smoothly-input-date-time-s>[slot=label],.sc-smoothly-input-date-time-h.floating-label .sc-smoothly-input-date-time-s>[slot=label],.sc-smoothly-input-date-time-h.has-value.sc-smoothly-input-date-time-s>[slot=label],.sc-smoothly-input-date-time-h.has-value .sc-smoothly-input-date-time-s>[slot=label],.sc-smoothly-input-date-time-h[placeholder].sc-smoothly-input-date-time-s>[slot=label],.sc-smoothly-input-date-time-h[placeholder] .sc-smoothly-input-date-time-s>[slot=label],.sc-smoothly-input-date-time-h[readonly].sc-smoothly-input-date-time-s>[slot=label],.sc-smoothly-input-date-time-h[readonly] .sc-smoothly-input-date-time-s>[slot=label],.has-value.sc-smoothly-input-date-time-h .label.sc-smoothly-input-date-time,[placeholder].sc-smoothly-input-date-time-h .label.sc-smoothly-input-date-time,[readonly].sc-smoothly-input-date-time-h .label.sc-smoothly-input-date-time,.sc-smoothly-input-date-time-h:not([readonly]):focus-within .label.float-on-focus.sc-smoothly-input-date-time{top:.2rem;transform:scale(0.8)}.sc-smoothly-input-date-time-h:not([show-label]):not(.show-label) .label.sc-smoothly-input-date-time{display:none}.sc-smoothly-input-date-time-h{display:flex;position:relative;max-width:100vw;background-color:rgb(var(--smoothly-input-background));box-sizing:border-box;min-height:var(--input-min-height)}.sc-smoothly-input-date-time-h>smoothly-input.sc-smoothly-input-date-time{--input-min-height:calc(var(--input-min-height) - 2px);--smoothly-input-border-focus:none}.sc-smoothly-input-date-time-h:not([readonly])>smoothly-input.sc-smoothly-input-date-time>div.sc-smoothly-input-date-time>input.sc-smoothly-input-date-time{cursor:pointer}[disabled].sc-smoothly-input-date-time-h,[disabled].sc-smoothly-input-date-time-h>smoothly-input.sc-smoothly-input-date-time>div.sc-smoothly-input-date-time>input.sc-smoothly-input-date-time{cursor:not-allowed}[looks=transparent].sc-smoothly-input-date-time-h smoothly-input.sc-smoothly-input-date-time{outline:none}.sc-smoothly-input-date-time-h>nav.sc-smoothly-input-date-time{position:absolute;z-index:10;top:4em;background-color:rgb(var(--smoothly-input-background));min-width:18em}.sc-smoothly-input-date-time-h>nav.sc-smoothly-input-date-time>smoothly-calendar.sc-smoothly-input-date-time::before{content:\"\";box-sizing:border-box;position:absolute;top:1px;z-index:9;transform:translate(2em, -0.55em) rotate(45deg);width:1em;height:1em;background-color:rgb(var(--smoothly-input-background));border-top:1px solid rgb(var(--smoothly-input-border));border-left:1px solid rgb(var(--smoothly-input-border))}.sc-smoothly-input-date-time-h>span.icons.sc-smoothly-input-date-time{display:flex;flex-direction:row;align-items:center}.sc-smoothly-input-date-time-h>smoothly-input[name=\"date\"].sc-smoothly-input-date-time{width:12rem}.sc-smoothly-input-date-time-h>smoothly-input[name=\"hour\"].sc-smoothly-input-date-time{width:4rem}.sc-smoothly-input-date-time-h>smoothly-input[name=\"minute\"].sc-smoothly-input-date-time{min-width:4rem;flex-grow:1}.sc-smoothly-input-date-time-h>span.colon.sc-smoothly-input-date-time{padding:var(--input-value-padding-top) \n\t\tvar(--input-padding-side) \n\t\tvar(--input-value-padding-bottom) \n\t\tvar(--input-padding-side)}.sc-smoothly-input-date-time-h>.icons.sc-smoothly-input-date-time>.smoothly-invalid.sc-smoothly-input-date-time{display:none;z-index:2;cursor:pointer;padding:0.5rem}[invalid].sc-smoothly-input-date-time-h>.icons.sc-smoothly-input-date-time>.smoothly-invalid.sc-smoothly-input-date-time{display:flex}@media screen and (min-width: 400px){.sc-smoothly-input-date-time-h>nav.sc-smoothly-input-date-time{position:absolute;z-index:10;top:4em;background-color:rgb(var(--smoothly-input-background));max-width:22em}}";
|
|
@@ -237,4 +237,4 @@ defineCustomElement();
|
|
|
237
237
|
|
|
238
238
|
export { SmoothlyInputDateTime as S, defineCustomElement as d };
|
|
239
239
|
|
|
240
|
-
//# sourceMappingURL=p-
|
|
240
|
+
//# sourceMappingURL=p-32206d15.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-12efde8d.js","mappings":"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","names":["isoly.DateTime"],"sources":["src/components/input/date/time/style.css?tag=smoothly-input-date-time&encapsulation=scoped","src/components/input/date/time/index.tsx"],"sourcesContent":["@import \"../../shared.css\";\n\n:host {\n\tdisplay: flex;\n\tposition: relative;\n\tmax-width: 100vw;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tbox-sizing: border-box;\n\tmin-height: var(--input-min-height);\n}\n\n:host>smoothly-input {\n\t--input-min-height: calc(var(--input-min-height) - 2px);\n\t--smoothly-input-border-focus: none;\n}\n\n:host:not([readonly])>smoothly-input>div>input {\n\tcursor: pointer;\n}\n\n:host[disabled],\n:host[disabled]>smoothly-input>div>input {\n\tcursor: not-allowed;\n}\n\n:host[looks=transparent] smoothly-input {\n\toutline: none;\n}\n\n:host>nav {\n\tposition: absolute;\n\tz-index: 10;\n\ttop: 4em;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tmin-width: 18em;\n}\n\n:host>nav>smoothly-calendar::before {\n\tcontent: \"\";\n\tbox-sizing: border-box;\n\tposition: absolute;\n\ttop: 1px;\n\tz-index: 9;\n\ttransform: translate(2em, -0.55em) rotate(45deg);\n\twidth: 1em;\n\theight: 1em;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tborder-top: 1px solid rgb(var(--smoothly-input-border));\n\tborder-left: 1px solid rgb(var(--smoothly-input-border));\n}\n\n:host>span.icons {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n:host>smoothly-input[name=\"date\"] {\n\twidth: 12rem;\n}\n:host>smoothly-input[name=\"hour\"] {\n\twidth: 4rem;\n}\n:host>smoothly-input[name=\"minute\"] {\n\tmin-width: 4rem;\n\tflex-grow: 1;\n}\n:host>span.colon {\n\tpadding: \n\t\tvar(--input-value-padding-top) \n\t\tvar(--input-padding-side) \n\t\tvar(--input-value-padding-bottom) \n\t\tvar(--input-padding-side);\n}\n:host>.icons>.smoothly-invalid {\n\tdisplay: none;\n\tz-index: 2;\n\tcursor: pointer;\n\tpadding: 0.5rem;\n}\n:host[invalid]>.icons>.smoothly-invalid {\n\tdisplay: flex;\n}\n\n@media screen and (min-width: 400px) {\n\t:host>nav {\n\t\tposition: absolute;\n\t\tz-index: 10;\n\t\ttop: 4em;\n\t\tbackground-color: rgb(var(--smoothly-input-background));\n\t\tmax-width: 22em;\n\t}\n}\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tWatch,\n} from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { Color } from \"../../../../model\"\nimport { Clearable } from \"../../Clearable\"\nimport { Editable } from \"../../Editable\"\nimport { Input } from \"../../Input\"\nimport { Looks } from \"../../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-date-time\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputDateTime implements ComponentWillLoad, Clearable, Input, Editable {\n\t@Element() element: HTMLElement\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) changed = false\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop({ reflect: true }) disabled?: boolean\n\t@Prop({ reflect: true }) invalid?: boolean = false\n\t@Prop({ reflect: true }) errorMessage?: string\n\tparent: Editable | undefined\n\tprivate initialValue?: isoly.DateTime\n\tprivate observer = Editable.Observer.create(this)\n\t@Prop({ mutable: true }) value?: isoly.DateTime\n\t@Prop({ mutable: true }) open: boolean\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop() min?: isoly.DateTime\n\t@Prop() max?: isoly.DateTime\n\t@State() date?: isoly.Date\n\t@State() hour?: number\n\t@State() minute?: number\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyValueChange: EventEmitter<isoly.DateTime>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\n\tcomponentWillLoad(): void {\n\t\tthis.setInitialValue()\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.observer.publish()\n\t\tthis.valueChange(this.value)\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<isoly.DateTime | undefined> {\n\t\tconst value =\n\t\t\tthis.date && typeof this.hour == \"number\" && typeof this.minute == \"number\"\n\t\t\t\t? `${this.date}T${`${this.hour}`.padStart(2, \"0\")}:${`${this.minute}`.padStart(2, \"0\")}:00.000Z`\n\t\t\t\t: undefined\n\t\treturn isoly.DateTime.is(value) ? value : undefined\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.value = undefined\n\t\tthis.date = undefined\n\t\tthis.hour = undefined\n\t\tthis.minute = undefined\n\t}\n\n\t@Watch(\"date\")\n\t@Watch(\"hour\")\n\t@Watch(\"minute\")\n\tasync handleChange() {\n\t\tconst value = await this.getValue()\n\t\tthis.smoothlyValueChange.emit(value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\tthis.observer.publish()\n\t}\n\n\t@Watch(\"value\")\n\tvalueChange(value?: isoly.DateTime) {\n\t\tif (isoly.DateTime.is(value)) {\n\t\t\tthis.date = isoly.DateTime.getDate(value)\n\t\t\tthis.hour = isoly.DateTime.getHour(value)\n\t\t\tthis.minute = isoly.DateTime.getMinute(value)\n\t\t}\n\t\tthis.smoothlyValueChange.emit(value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\tthis.observer.publish()\n\t}\n\t@Watch(\"disabled\")\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.observer.publish()\n\t}\n\t@Listen(\"smoothlyInput\")\n\tsmoothlyInputHandler(event: CustomEvent<Record<string, any>>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks) => void>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tsmoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputDateTime) => void>): void {\n\t\tInput.registerSubAction(this, event)\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: Event): void {\n\t\t!event.composedPath().includes(this.element) && this.open && (this.open = !this.open)\n\t}\n\t@Method()\n\tasync edit(editable: boolean) {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync reset() {\n\t\tif (isoly.DateTime.is(this.initialValue)) {\n\t\t\tthis.date = isoly.DateTime.getDate(this.initialValue)\n\t\t\tthis.hour = isoly.DateTime.getHour(this.initialValue)\n\t\t\tthis.minute = isoly.DateTime.getMinute(this.initialValue)\n\t\t} else {\n\t\t\tthis.date = undefined\n\t\t\tthis.hour = undefined\n\t\t\tthis.minute = undefined\n\t\t}\n\t}\n\t@Method()\n\tasync setInitialValue() {\n\t\tthis.initialValue = await this.getValue()\n\t\tthis.changed = false\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tlooks={this.looks == \"transparent\" ? this.looks : undefined}\n\t\t\t\t\tname={\"date\"}\n\t\t\t\t\tonFocus={() => !this.readonly && !this.disabled && (this.open = !this.open)}\n\t\t\t\t\tonClick={() => !this.readonly && !this.disabled && (this.open = !this.open)}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\tvalue={this.date}\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.date = e.detail.date\n\t\t\t\t\t}}>\n\t\t\t\t\t<slot />\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"hour\"\n\t\t\t\t\ttype=\"integer\"\n\t\t\t\t\tmax={23}\n\t\t\t\t\tpad={2}\n\t\t\t\t\tvalue={this.hour}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tplaceholder=\"hh\"\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.hour = e.detail.hour\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<span class=\"colon\">:</span>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"minute\"\n\t\t\t\t\ttype=\"integer\"\n\t\t\t\t\tmax={59}\n\t\t\t\t\tpad={2}\n\t\t\t\t\tvalue={this.minute}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tplaceholder=\"mm\"\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.minute = e.detail.minute\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<span class=\"icons\">\n\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\tclass=\"smoothly-invalid\"\n\t\t\t\t\t\tname=\"alert-circle\"\n\t\t\t\t\t\tcolor=\"danger\"\n\t\t\t\t\t\tfill=\"clear\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ttooltip={this.errorMessage}\n\t\t\t\t\t/>\n\t\t\t\t\t<slot name={\"end\"} />\n\t\t\t\t</span>\n\t\t\t\t{this.open && !this.readonly && (\n\t\t\t\t\t<nav>\n\t\t\t\t\t\t<smoothly-calendar\n\t\t\t\t\t\t\tdoubleInput={false}\n\t\t\t\t\t\t\tvalue={this.value ? isoly.DateTime.getDate(this.value) : undefined}\n\t\t\t\t\t\t\tmin={this.min ? isoly.DateTime.getDate(this.min) : undefined}\n\t\t\t\t\t\t\tmax={this.max ? isoly.DateTime.getDate(this.max) : undefined}\n\t\t\t\t\t\t\tonSmoothlyValueChange={e => {\n\t\t\t\t\t\t\t\tthis.date = e.detail\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonSmoothlyDateSet={e => {\n\t\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<div slot={\"year-label\"}>\n\t\t\t\t\t\t\t\t<slot name={\"year-label\"} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div slot={\"month-label\"}>\n\t\t\t\t\t\t\t\t<slot name={\"month-label\"} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</smoothly-calendar>\n\t\t\t\t\t</nav>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-32206d15.js","mappings":"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","names":["isoly.DateTime"],"sources":["src/components/input/date/time/style.css?tag=smoothly-input-date-time&encapsulation=scoped","src/components/input/date/time/index.tsx"],"sourcesContent":["@import \"../../shared.css\";\n\n:host {\n\tdisplay: flex;\n\tposition: relative;\n\tmax-width: 100vw;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tbox-sizing: border-box;\n\tmin-height: var(--input-min-height);\n}\n\n:host>smoothly-input {\n\t--input-min-height: calc(var(--input-min-height) - 2px);\n\t--smoothly-input-border-focus: none;\n}\n\n:host:not([readonly])>smoothly-input>div>input {\n\tcursor: pointer;\n}\n\n:host[disabled],\n:host[disabled]>smoothly-input>div>input {\n\tcursor: not-allowed;\n}\n\n:host[looks=transparent] smoothly-input {\n\toutline: none;\n}\n\n:host>nav {\n\tposition: absolute;\n\tz-index: 10;\n\ttop: 4em;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tmin-width: 18em;\n}\n\n:host>nav>smoothly-calendar::before {\n\tcontent: \"\";\n\tbox-sizing: border-box;\n\tposition: absolute;\n\ttop: 1px;\n\tz-index: 9;\n\ttransform: translate(2em, -0.55em) rotate(45deg);\n\twidth: 1em;\n\theight: 1em;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tborder-top: 1px solid rgb(var(--smoothly-input-border));\n\tborder-left: 1px solid rgb(var(--smoothly-input-border));\n}\n\n:host>span.icons {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n:host>smoothly-input[name=\"date\"] {\n\twidth: 12rem;\n}\n:host>smoothly-input[name=\"hour\"] {\n\twidth: 4rem;\n}\n:host>smoothly-input[name=\"minute\"] {\n\tmin-width: 4rem;\n\tflex-grow: 1;\n}\n:host>span.colon {\n\tpadding: \n\t\tvar(--input-value-padding-top) \n\t\tvar(--input-padding-side) \n\t\tvar(--input-value-padding-bottom) \n\t\tvar(--input-padding-side);\n}\n:host>.icons>.smoothly-invalid {\n\tdisplay: none;\n\tz-index: 2;\n\tcursor: pointer;\n\tpadding: 0.5rem;\n}\n:host[invalid]>.icons>.smoothly-invalid {\n\tdisplay: flex;\n}\n\n@media screen and (min-width: 400px) {\n\t:host>nav {\n\t\tposition: absolute;\n\t\tz-index: 10;\n\t\ttop: 4em;\n\t\tbackground-color: rgb(var(--smoothly-input-background));\n\t\tmax-width: 22em;\n\t}\n}\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tWatch,\n} from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { Color } from \"../../../../model\"\nimport { Clearable } from \"../../Clearable\"\nimport { Editable } from \"../../Editable\"\nimport { Input } from \"../../Input\"\nimport { Looks } from \"../../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-date-time\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputDateTime implements ComponentWillLoad, Clearable, Input, Editable {\n\t@Element() element: HTMLElement\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) changed = false\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop({ reflect: true }) disabled?: boolean\n\t@Prop({ reflect: true }) invalid?: boolean = false\n\t@Prop({ reflect: true }) errorMessage?: string\n\tparent: Editable | undefined\n\tprivate initialValue?: isoly.DateTime\n\tprivate observer = Editable.Observer.create(this)\n\t@Prop({ mutable: true }) value?: isoly.DateTime\n\t@Prop({ mutable: true }) open: boolean\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop() min?: isoly.DateTime\n\t@Prop() max?: isoly.DateTime\n\t@State() date?: isoly.Date\n\t@State() hour?: number\n\t@State() minute?: number\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyValueChange: EventEmitter<isoly.DateTime>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\n\tcomponentWillLoad(): void {\n\t\tthis.setInitialValue()\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.observer.publish()\n\t\tthis.valueChange(this.value)\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<isoly.DateTime | undefined> {\n\t\tconst value =\n\t\t\tthis.date && typeof this.hour == \"number\" && typeof this.minute == \"number\"\n\t\t\t\t? `${this.date}T${`${this.hour}`.padStart(2, \"0\")}:${`${this.minute}`.padStart(2, \"0\")}:00.000Z`\n\t\t\t\t: undefined\n\t\treturn isoly.DateTime.is(value) ? value : undefined\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.value = undefined\n\t\tthis.date = undefined\n\t\tthis.hour = undefined\n\t\tthis.minute = undefined\n\t}\n\n\t@Watch(\"date\")\n\t@Watch(\"hour\")\n\t@Watch(\"minute\")\n\tasync handleChange() {\n\t\tconst value = await this.getValue()\n\t\tthis.smoothlyValueChange.emit(value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\tthis.observer.publish()\n\t}\n\n\t@Watch(\"value\")\n\tvalueChange(value?: isoly.DateTime) {\n\t\tif (isoly.DateTime.is(value)) {\n\t\t\tthis.date = isoly.DateTime.getDate(value)\n\t\t\tthis.hour = isoly.DateTime.getHour(value)\n\t\t\tthis.minute = isoly.DateTime.getMinute(value)\n\t\t}\n\t\tthis.smoothlyValueChange.emit(value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\tthis.observer.publish()\n\t}\n\t@Watch(\"disabled\")\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.observer.publish()\n\t}\n\t@Listen(\"smoothlyInput\")\n\tsmoothlyInputHandler(event: CustomEvent<Record<string, any>>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks) => void>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tsmoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputDateTime) => void>): void {\n\t\tInput.registerSubAction(this, event)\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: Event): void {\n\t\t!event.composedPath().includes(this.element) && this.open && (this.open = !this.open)\n\t}\n\t@Method()\n\tasync edit(editable: boolean) {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync reset() {\n\t\tif (isoly.DateTime.is(this.initialValue)) {\n\t\t\tthis.date = isoly.DateTime.getDate(this.initialValue)\n\t\t\tthis.hour = isoly.DateTime.getHour(this.initialValue)\n\t\t\tthis.minute = isoly.DateTime.getMinute(this.initialValue)\n\t\t} else {\n\t\t\tthis.date = undefined\n\t\t\tthis.hour = undefined\n\t\t\tthis.minute = undefined\n\t\t}\n\t}\n\t@Method()\n\tasync setInitialValue() {\n\t\tthis.initialValue = await this.getValue()\n\t\tthis.changed = false\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tlooks={this.looks == \"transparent\" ? this.looks : undefined}\n\t\t\t\t\tname={\"date\"}\n\t\t\t\t\tonFocus={() => !this.readonly && !this.disabled && (this.open = !this.open)}\n\t\t\t\t\tonClick={() => !this.readonly && !this.disabled && (this.open = !this.open)}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\tvalue={this.date}\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.date = e.detail.date\n\t\t\t\t\t}}>\n\t\t\t\t\t<slot />\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"hour\"\n\t\t\t\t\ttype=\"integer\"\n\t\t\t\t\tmax={23}\n\t\t\t\t\tpad={2}\n\t\t\t\t\tvalue={this.hour}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tplaceholder=\"hh\"\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.hour = e.detail.hour\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<span class=\"colon\">:</span>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"minute\"\n\t\t\t\t\ttype=\"integer\"\n\t\t\t\t\tmax={59}\n\t\t\t\t\tpad={2}\n\t\t\t\t\tvalue={this.minute}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tplaceholder=\"mm\"\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.minute = e.detail.minute\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<span class=\"icons\">\n\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\tclass=\"smoothly-invalid\"\n\t\t\t\t\t\tname=\"alert-circle\"\n\t\t\t\t\t\tcolor=\"danger\"\n\t\t\t\t\t\tfill=\"clear\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ttooltip={this.errorMessage}\n\t\t\t\t\t/>\n\t\t\t\t\t<slot name={\"end\"} />\n\t\t\t\t</span>\n\t\t\t\t{this.open && !this.readonly && (\n\t\t\t\t\t<nav>\n\t\t\t\t\t\t<smoothly-calendar\n\t\t\t\t\t\t\tdoubleInput={false}\n\t\t\t\t\t\t\tvalue={this.value ? isoly.DateTime.getDate(this.value) : undefined}\n\t\t\t\t\t\t\tmin={this.min ? isoly.DateTime.getDate(this.min) : undefined}\n\t\t\t\t\t\t\tmax={this.max ? isoly.DateTime.getDate(this.max) : undefined}\n\t\t\t\t\t\t\tonSmoothlyValueChange={e => {\n\t\t\t\t\t\t\t\tthis.date = e.detail\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonSmoothlyDateSet={e => {\n\t\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<div slot={\"year-label\"}>\n\t\t\t\t\t\t\t\t<slot name={\"year-label\"} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div slot={\"month-label\"}>\n\t\t\t\t\t\t\t\t<slot name={\"month-label\"} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</smoothly-calendar>\n\t\t\t\t\t</nav>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-f765921a.js';
|
|
2
2
|
import { D as Date$1 } from './p-390767c7.js';
|
|
3
3
|
import { E as Editable } from './p-fe854055.js';
|
|
4
|
-
import { I as Input } from './p-
|
|
4
|
+
import { I as Input } from './p-64f0a7b8.js';
|
|
5
5
|
import { d as defineCustomElement$3 } from './p-646d458b.js';
|
|
6
|
-
import { d as defineCustomElement$2 } from './p-
|
|
6
|
+
import { d as defineCustomElement$2 } from './p-d9c5f8ae.js';
|
|
7
7
|
import { d as defineCustomElement$1 } from './p-12c5004d.js';
|
|
8
8
|
|
|
9
9
|
function month(date) {
|
|
@@ -253,4 +253,4 @@ defineCustomElement();
|
|
|
253
253
|
|
|
254
254
|
export { SmoothlyInputMonth as S, defineCustomElement as d, month as m, weekdays as w };
|
|
255
255
|
|
|
256
|
-
//# sourceMappingURL=p-
|
|
256
|
+
//# sourceMappingURL=p-3b99cf46.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-350d07cc.js","mappings":"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","names":["isoly.Date","generate.years","generate.months"],"sources":["src/components/calendar/generate.ts","src/components/input/month/style.css?tag=smoothly-input-month&encapsulation=scoped","src/components/input/month/index.tsx"],"sourcesContent":["import { isoly } from \"isoly\"\n\nexport function month(date: isoly.Date): isoly.Date[][] {\n\tconst d = new Date(date)\n\td.setDate(1)\n\tlet day = -((d.getDay() + 6) % 7) + 1\n\tconst result: string[][] = []\n\tfor (let row = 0; row < 6; row++) {\n\t\tconst r = []\n\t\tfor (let column = 0; column < 7; column++) {\n\t\t\tconst d = new Date(date)\n\t\t\td.setUTCDate(day++)\n\t\t\tr.push(isoly.Date.create(d))\n\t\t}\n\t\tif (row < 5 || isoly.Date.firstOfMonth(r[0]) == isoly.Date.firstOfMonth(date))\n\t\t\tresult.push(r)\n\t}\n\treturn result\n}\n\nexport function weekdays(): string[] {\n\tconst day = new globalThis.Date()\n\tday.setDate(day.getDate() - day.getDay() + 1)\n\tconst result: string[] = []\n\tfor (let i = 0; i < 7; i++) {\n\t\tresult.push(day.toLocaleString(undefined, { weekday: \"short\" }))\n\t\tday.setDate(day.getDate() + 1)\n\t}\n\treturn result\n}\n\nexport function months(current: isoly.Date): { date: isoly.Date; name: string; selected?: boolean }[] {\n\tconst day = new globalThis.Date(current)\n\tconst result: { date: isoly.Date; name: string; selected?: boolean }[] = []\n\tfor (let i = 0; i < 12; i++) {\n\t\tday.setMonth(i, 28)\n\t\tconst date = isoly.Date.create(day)\n\t\tresult.push({\n\t\t\tdate,\n\t\t\tname: day.toLocaleString(undefined, { month: \"long\" }),\n\t\t\tselected: date.substr(0, 7) == current.substr(0, 7),\n\t\t})\n\t}\n\treturn result\n}\nexport function years(\n\tcurrent: isoly.Date,\n\tmin?: isoly.Date,\n\tmax?: isoly.Date\n): { date: isoly.Date; name: string; selected?: boolean }[] {\n\tconst day = new globalThis.Date(current)\n\tconst start = min ? isoly.Date.getYear(min) : new Date().getFullYear() - 50\n\tconst end = max ? isoly.Date.getYear(max) : new Date().getFullYear() + 50\n\tconst result: { date: isoly.Date; name: string; selected?: boolean }[] = []\n\tfor (let i = start; i <= end; i++) {\n\t\tday.setFullYear(i)\n\t\tconst date = isoly.Date.create(day)\n\t\tresult.push({\n\t\t\tdate,\n\t\t\tname: day.toLocaleString(undefined, { year: \"numeric\" }),\n\t\t\tselected: date == current,\n\t\t})\n\t}\n\treturn result\n}\n",":host {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\tbackground-color: rgb(var(--smoothly-input-background));\n}\n\n:host:not([in-calendar])>smoothly-input-select {\n\tdisplay: flex;\n\tflex: 1;\n}\n\n:host[looks=line],\n:host[looks=border],\n:host[looks=transparent] {\n\tgap: 2em;\n}\n\n:host:not([previous])>smoothly-icon:first-of-type,\n:host:not([next])>smoothly-icon:last-of-type {\n\tdisplay: none;\n}\n:host>smoothly-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tcursor: pointer;\n}\n:host>smoothly-icon.disabled {\n\topacity: 0.5;\n\tcursor: not-allowed;\n}\n\n\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tVNode,\n\tWatch,\n} from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { Data } from \"../../../model\"\nimport { Color } from \"../../../model\"\nimport * as generate from \"../../calendar/generate\"\nimport { Editable } from \"../Editable\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-month\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputMonth implements ComponentWillLoad, Input, Editable {\n\tchanged: boolean\n\tparent: Editable | undefined\n\t@Element() element: HTMLSmoothlyInputMonthElement\n\t@Prop({ reflect: true, mutable: true }) readonly: boolean\n\t@Prop({ reflect: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) value?: isoly.Date = isoly.Date.now()\n\t@Prop({ mutable: true }) max?: isoly.Date\n\t@Prop({ mutable: true }) min?: isoly.Date\n\t@Prop({ reflect: true }) next = false\n\t@Prop({ reflect: true }) previous = false\n\t@Prop({ reflect: true }) inCalendar = false\n\t@Prop({ reflect: true }) showLabel = true\n\t@State() allowPreviousMonth = true\n\t@State() allowNextMonth = true\n\t@Event() smoothlyInput: EventEmitter<Data>\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\tprivate year?: HTMLSmoothlyInputSelectElement\n\tprivate month?: HTMLSmoothlyInputSelectElement\n\tprivate observer = Editable.Observer.create(this)\n\n\tcomponentWillLoad(): void {\n\t\tthis.smoothlyInputLooks.emit(looks => (this.looks = this.looks ?? looks))\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.valueChanged()\n\t}\n\t@Watch(\"value\")\n\tvalueChanged(): void {\n\t\tthis.smoothlyInput.emit({ [this.name]: this.value })\n\t}\n\tprivate adjustMonth(delta: number): void {\n\t\tif (!this.readonly) {\n\t\t\tconst date = isoly.Date.parse(this.value ?? isoly.Date.now())\n\t\t\tdate.setMonth(date.getMonth() + delta)\n\t\t\tthis.value = isoly.Date.create(date)\n\t\t}\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Watch(\"value\")\n\t@Watch(\"min\")\n\tsetAllowPreviousMonth() {\n\t\tconst previousMonth = isoly.Date.previousMonth(this.value ?? isoly.Date.now()).substring(0, 7)\n\t\tconst minMonth = this.min?.substring(0, 7)\n\t\tthis.allowPreviousMonth = !minMonth || previousMonth >= minMonth\n\t}\n\t@Watch(\"value\")\n\t@Watch(\"max\")\n\tsetAllowNextMonth() {\n\t\tconst nextMonth = isoly.Date.nextMonth(this.value ?? isoly.Date.now()).substring(0, 7)\n\t\tconst maxMonth = this.max?.substring(0, 7)\n\t\tthis.allowNextMonth = !maxMonth || nextMonth <= maxMonth\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<isoly.Date | undefined> {\n\t\treturn this.value\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.year?.clear()\n\t\tthis.month?.clear()\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Method()\n\tasync edit(editable: boolean): Promise<void> {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.year?.reset()\n\t\tthis.month?.reset()\n\t}\n\t@Method()\n\tasync setInitialValue(): Promise<void> {\n\t\tthis.year?.setInitialValue()\n\t\tthis.month?.setInitialValue()\n\t}\n\tinputHandler(event: CustomEvent<Record<string, any>>): void {\n\t\tif (event.target != this.element) {\n\t\t\tevent.stopPropagation()\n\t\t\tconst year = event.detail[`${this.name}-year`]\n\t\t\tconst month = event.detail[`${this.name}-month`]\n\t\t\tif (month && isoly.Date.is(month))\n\t\t\t\tthis.value = isoly.Date.firstOfMonth(month)\n\t\t\telse if (year && isoly.Date.is(year))\n\t\t\t\tthis.value = isoly.Date.firstOfMonth(year)\n\t\t}\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks?: Looks, color?: Color) => void>): void {\n\t\tif (event.target != this.element) {\n\t\t\tevent.stopPropagation()\n\t\t\tevent.detail(this.looks, this.color)\n\t\t}\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync smoothlyInputLoadHandler(event: CustomEvent<(parent: Editable) => void>): Promise<void> {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\n\trender(): VNode | VNode[] {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-icon\n\t\t\t\t\tname={\"caret-back-outline\"}\n\t\t\t\t\tsize={\"tiny\"}\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tfill={\"default\"}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.readonly || !this.allowPreviousMonth,\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={() => this.allowPreviousMonth && this.adjustMonth(-1)}\n\t\t\t\t/>\n\t\t\t\t<smoothly-input-select\n\t\t\t\t\tref={e => (this.year = e)}\n\t\t\t\t\tname={`${this.name}-year`}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tchanged={this.changed}\n\t\t\t\t\tmenuHeight=\"5.5items\"\n\t\t\t\t\trequired\n\t\t\t\t\tordered\n\t\t\t\t\tinCalendar={this.inCalendar}\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tonSmoothlyInput={e => this.inputHandler(e)}\n\t\t\t\t\tsearchDisabled>\n\t\t\t\t\t<div slot={\"label\"}>\n\t\t\t\t\t\t<slot name={\"year-label\"} />\n\t\t\t\t\t</div>\n\t\t\t\t\t{generate.years(this.value ?? isoly.Date.now(), this.min, this.max).map(year => (\n\t\t\t\t\t\t<smoothly-item key={year.date} value={year.date} selected={year.selected || this.value == year.date}>\n\t\t\t\t\t\t\t{year.name}\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t))}\n\t\t\t\t</smoothly-input-select>\n\t\t\t\t<smoothly-input-select\n\t\t\t\t\tref={e => (this.month = e)}\n\t\t\t\t\tname={`${this.name}-month`}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tlooks={this.looks}\n\t\t\t\t\tchanged={this.changed}\n\t\t\t\t\tmenuHeight=\"5.5items\"\n\t\t\t\t\trequired\n\t\t\t\t\tordered\n\t\t\t\t\tinCalendar={this.inCalendar}\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tonSmoothlyInput={e => this.inputHandler(e)}\n\t\t\t\t\tsearchDisabled>\n\t\t\t\t\t<div slot={\"label\"}>\n\t\t\t\t\t\t<slot name={\"month-label\"} />\n\t\t\t\t\t</div>\n\t\t\t\t\t{generate.months(this.value ?? isoly.Date.now()).map(month => (\n\t\t\t\t\t\t<smoothly-item key={month.date} value={month.date} selected={month.selected || this.value == month.date}>\n\t\t\t\t\t\t\t{month.name}\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t))}\n\t\t\t\t</smoothly-input-select>\n\t\t\t\t<smoothly-icon\n\t\t\t\t\tname={\"caret-forward-outline\"}\n\t\t\t\t\tsize={\"tiny\"}\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tfill={\"default\"}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.readonly || !this.allowNextMonth,\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={() => this.allowNextMonth && this.adjustMonth(1)}\n\t\t\t\t/>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-3b99cf46.js","mappings":"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","names":["isoly.Date","generate.years","generate.months"],"sources":["src/components/calendar/generate.ts","src/components/input/month/style.css?tag=smoothly-input-month&encapsulation=scoped","src/components/input/month/index.tsx"],"sourcesContent":["import { isoly } from \"isoly\"\n\nexport function month(date: isoly.Date): isoly.Date[][] {\n\tconst d = new Date(date)\n\td.setDate(1)\n\tlet day = -((d.getDay() + 6) % 7) + 1\n\tconst result: string[][] = []\n\tfor (let row = 0; row < 6; row++) {\n\t\tconst r = []\n\t\tfor (let column = 0; column < 7; column++) {\n\t\t\tconst d = new Date(date)\n\t\t\td.setUTCDate(day++)\n\t\t\tr.push(isoly.Date.create(d))\n\t\t}\n\t\tif (row < 5 || isoly.Date.firstOfMonth(r[0]) == isoly.Date.firstOfMonth(date))\n\t\t\tresult.push(r)\n\t}\n\treturn result\n}\n\nexport function weekdays(): string[] {\n\tconst day = new globalThis.Date()\n\tday.setDate(day.getDate() - day.getDay() + 1)\n\tconst result: string[] = []\n\tfor (let i = 0; i < 7; i++) {\n\t\tresult.push(day.toLocaleString(undefined, { weekday: \"short\" }))\n\t\tday.setDate(day.getDate() + 1)\n\t}\n\treturn result\n}\n\nexport function months(current: isoly.Date): { date: isoly.Date; name: string; selected?: boolean }[] {\n\tconst day = new globalThis.Date(current)\n\tconst result: { date: isoly.Date; name: string; selected?: boolean }[] = []\n\tfor (let i = 0; i < 12; i++) {\n\t\tday.setMonth(i, 28)\n\t\tconst date = isoly.Date.create(day)\n\t\tresult.push({\n\t\t\tdate,\n\t\t\tname: day.toLocaleString(undefined, { month: \"long\" }),\n\t\t\tselected: date.substr(0, 7) == current.substr(0, 7),\n\t\t})\n\t}\n\treturn result\n}\nexport function years(\n\tcurrent: isoly.Date,\n\tmin?: isoly.Date,\n\tmax?: isoly.Date\n): { date: isoly.Date; name: string; selected?: boolean }[] {\n\tconst day = new globalThis.Date(current)\n\tconst start = min ? isoly.Date.getYear(min) : new Date().getFullYear() - 50\n\tconst end = max ? isoly.Date.getYear(max) : new Date().getFullYear() + 50\n\tconst result: { date: isoly.Date; name: string; selected?: boolean }[] = []\n\tfor (let i = start; i <= end; i++) {\n\t\tday.setFullYear(i)\n\t\tconst date = isoly.Date.create(day)\n\t\tresult.push({\n\t\t\tdate,\n\t\t\tname: day.toLocaleString(undefined, { year: \"numeric\" }),\n\t\t\tselected: date == current,\n\t\t})\n\t}\n\treturn result\n}\n",":host {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\tbackground-color: rgb(var(--smoothly-input-background));\n}\n\n:host:not([in-calendar])>smoothly-input-select {\n\tdisplay: flex;\n\tflex: 1;\n}\n\n:host[looks=line],\n:host[looks=border],\n:host[looks=transparent] {\n\tgap: 2em;\n}\n\n:host:not([previous])>smoothly-icon:first-of-type,\n:host:not([next])>smoothly-icon:last-of-type {\n\tdisplay: none;\n}\n:host>smoothly-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tcursor: pointer;\n}\n:host>smoothly-icon.disabled {\n\topacity: 0.5;\n\tcursor: not-allowed;\n}\n\n\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tVNode,\n\tWatch,\n} from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { Data } from \"../../../model\"\nimport { Color } from \"../../../model\"\nimport * as generate from \"../../calendar/generate\"\nimport { Editable } from \"../Editable\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-month\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputMonth implements ComponentWillLoad, Input, Editable {\n\tchanged: boolean\n\tparent: Editable | undefined\n\t@Element() element: HTMLSmoothlyInputMonthElement\n\t@Prop({ reflect: true, mutable: true }) readonly: boolean\n\t@Prop({ reflect: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ mutable: true }) value?: isoly.Date = isoly.Date.now()\n\t@Prop({ mutable: true }) max?: isoly.Date\n\t@Prop({ mutable: true }) min?: isoly.Date\n\t@Prop({ reflect: true }) next = false\n\t@Prop({ reflect: true }) previous = false\n\t@Prop({ reflect: true }) inCalendar = false\n\t@Prop({ reflect: true }) showLabel = true\n\t@State() allowPreviousMonth = true\n\t@State() allowNextMonth = true\n\t@Event() smoothlyInput: EventEmitter<Data>\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\tprivate year?: HTMLSmoothlyInputSelectElement\n\tprivate month?: HTMLSmoothlyInputSelectElement\n\tprivate observer = Editable.Observer.create(this)\n\n\tcomponentWillLoad(): void {\n\t\tthis.smoothlyInputLooks.emit(looks => (this.looks = this.looks ?? looks))\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.valueChanged()\n\t}\n\t@Watch(\"value\")\n\tvalueChanged(): void {\n\t\tthis.smoothlyInput.emit({ [this.name]: this.value })\n\t}\n\tprivate adjustMonth(delta: number): void {\n\t\tif (!this.readonly) {\n\t\t\tconst date = isoly.Date.parse(this.value ?? isoly.Date.now())\n\t\t\tdate.setMonth(date.getMonth() + delta)\n\t\t\tthis.value = isoly.Date.create(date)\n\t\t}\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Watch(\"value\")\n\t@Watch(\"min\")\n\tsetAllowPreviousMonth() {\n\t\tconst previousMonth = isoly.Date.previousMonth(this.value ?? isoly.Date.now()).substring(0, 7)\n\t\tconst minMonth = this.min?.substring(0, 7)\n\t\tthis.allowPreviousMonth = !minMonth || previousMonth >= minMonth\n\t}\n\t@Watch(\"value\")\n\t@Watch(\"max\")\n\tsetAllowNextMonth() {\n\t\tconst nextMonth = isoly.Date.nextMonth(this.value ?? isoly.Date.now()).substring(0, 7)\n\t\tconst maxMonth = this.max?.substring(0, 7)\n\t\tthis.allowNextMonth = !maxMonth || nextMonth <= maxMonth\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<isoly.Date | undefined> {\n\t\treturn this.value\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.year?.clear()\n\t\tthis.month?.clear()\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Method()\n\tasync edit(editable: boolean): Promise<void> {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.year?.reset()\n\t\tthis.month?.reset()\n\t}\n\t@Method()\n\tasync setInitialValue(): Promise<void> {\n\t\tthis.year?.setInitialValue()\n\t\tthis.month?.setInitialValue()\n\t}\n\tinputHandler(event: CustomEvent<Record<string, any>>): void {\n\t\tif (event.target != this.element) {\n\t\t\tevent.stopPropagation()\n\t\t\tconst year = event.detail[`${this.name}-year`]\n\t\t\tconst month = event.detail[`${this.name}-month`]\n\t\t\tif (month && isoly.Date.is(month))\n\t\t\t\tthis.value = isoly.Date.firstOfMonth(month)\n\t\t\telse if (year && isoly.Date.is(year))\n\t\t\t\tthis.value = isoly.Date.firstOfMonth(year)\n\t\t}\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks?: Looks, color?: Color) => void>): void {\n\t\tif (event.target != this.element) {\n\t\t\tevent.stopPropagation()\n\t\t\tevent.detail(this.looks, this.color)\n\t\t}\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync smoothlyInputLoadHandler(event: CustomEvent<(parent: Editable) => void>): Promise<void> {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\n\trender(): VNode | VNode[] {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-icon\n\t\t\t\t\tname={\"caret-back-outline\"}\n\t\t\t\t\tsize={\"tiny\"}\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tfill={\"default\"}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.readonly || !this.allowPreviousMonth,\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={() => this.allowPreviousMonth && this.adjustMonth(-1)}\n\t\t\t\t/>\n\t\t\t\t<smoothly-input-select\n\t\t\t\t\tref={e => (this.year = e)}\n\t\t\t\t\tname={`${this.name}-year`}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tchanged={this.changed}\n\t\t\t\t\tmenuHeight=\"5.5items\"\n\t\t\t\t\trequired\n\t\t\t\t\tordered\n\t\t\t\t\tinCalendar={this.inCalendar}\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tonSmoothlyInput={e => this.inputHandler(e)}\n\t\t\t\t\tsearchDisabled>\n\t\t\t\t\t<div slot={\"label\"}>\n\t\t\t\t\t\t<slot name={\"year-label\"} />\n\t\t\t\t\t</div>\n\t\t\t\t\t{generate.years(this.value ?? isoly.Date.now(), this.min, this.max).map(year => (\n\t\t\t\t\t\t<smoothly-item key={year.date} value={year.date} selected={year.selected || this.value == year.date}>\n\t\t\t\t\t\t\t{year.name}\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t))}\n\t\t\t\t</smoothly-input-select>\n\t\t\t\t<smoothly-input-select\n\t\t\t\t\tref={e => (this.month = e)}\n\t\t\t\t\tname={`${this.name}-month`}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tlooks={this.looks}\n\t\t\t\t\tchanged={this.changed}\n\t\t\t\t\tmenuHeight=\"5.5items\"\n\t\t\t\t\trequired\n\t\t\t\t\tordered\n\t\t\t\t\tinCalendar={this.inCalendar}\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tonSmoothlyInput={e => this.inputHandler(e)}\n\t\t\t\t\tsearchDisabled>\n\t\t\t\t\t<div slot={\"label\"}>\n\t\t\t\t\t\t<slot name={\"month-label\"} />\n\t\t\t\t\t</div>\n\t\t\t\t\t{generate.months(this.value ?? isoly.Date.now()).map(month => (\n\t\t\t\t\t\t<smoothly-item key={month.date} value={month.date} selected={month.selected || this.value == month.date}>\n\t\t\t\t\t\t\t{month.name}\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t))}\n\t\t\t\t</smoothly-input-select>\n\t\t\t\t<smoothly-icon\n\t\t\t\t\tname={\"caret-forward-outline\"}\n\t\t\t\t\tsize={\"tiny\"}\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tfill={\"default\"}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.readonly || !this.allowNextMonth,\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={() => this.allowNextMonth && this.adjustMonth(1)}\n\t\t\t\t/>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-f765921a.js';
|
|
2
|
-
import { C as Clearable, I as Input, S as SmoothlyForm } from './p-
|
|
2
|
+
import { C as Clearable, I as Input, S as SmoothlyForm } from './p-64f0a7b8.js';
|
|
3
3
|
import { E as Editable } from './p-fe854055.js';
|
|
4
4
|
import { d as defineCustomElement$2 } from './p-1333dbf1.js';
|
|
5
5
|
import { d as defineCustomElement$1 } from './p-646d458b.js';
|
|
@@ -89,4 +89,4 @@ defineCustomElement();
|
|
|
89
89
|
|
|
90
90
|
export { SmoothlyInputClear as S, defineCustomElement as d };
|
|
91
91
|
|
|
92
|
-
//# sourceMappingURL=p-
|
|
92
|
+
//# sourceMappingURL=p-41cc707f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-41cc707f.js","mappings":";;;;;;AAAA,MAAM,QAAQ,GAAG,83NAA83N,CAAC;AACh5N,iCAAe,QAAQ;;MCWV,kBAAkB;;;;;;;oBAIS,OAAO;wBACK,KAAK;oBACiB,MAAM;;uBAE7B,IAAI;oBACJ,OAAO;uBACvC,OAAO;;IAIzB,MAAM,iBAAiB;QACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM;YACjC,IAAI,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;gBACpB,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;oBAChC,MAAM,CAAC,MAAM,CAAC,OAAM,CAAC;wBACpB,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;4BAChB,IAAI,CAAC,OAAO;gCACX,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,SAAS,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;yBACxG;wBACD,IAAI,CAAC,YAAY,YAAY,EAAE;4BAC9B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;4BAClF,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAA;yBAC1B;qBACD,CAAC,CAAA;iBACF;aACD;SACD,CAAC,CAAA;KACF;IAED,YAAY;;QACX,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,EAAE,CAAA;KACpB;IACD,MAAM;;QACL,QACC,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,OAAO,IACxB,wEACC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,oCAAK,IAAI,CAAC,IAAI,IAAI,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC,IAC/D,8DAAQ,EACR,sEAAe,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,GAAG,CACzB,CACZ,EACP;KACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/input/clear/style.css?tag=smoothly-input-clear&encapsulation=scoped","src/components/input/clear/index.tsx"],"sourcesContent":["@import \"../../button/style.css\";\n\n:host {\n\tdisplay: flex;\n}\n\n:host(:not([display])) {\n\tdisplay: none;\n}\n\n:host([type=\"input\"])::slotted(smoothly-button>button) {\n\tcursor: pointer;\n\tfilter: opacity(60%);\n\t--smoothly-button-foreground: var(--smoothly-input-foreground);\n\tbackground-color: transparent;\n}\n\n:host::slotted(smoothly-button>button > * > * + smoothly-icon) {\n\tdisplay: none;\n}\n\n:host([disabled]) {\n\tcursor: not-allowed\n}\n\n:host([type=\"input\"]):hover ::slotted(smoothly-icon) {\n\tcursor: pointer;\n\tfilter: opacity(100%);\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop } from \"@stencil/core\"\nimport { Color, Fill } from \"../../../model\"\nimport { SmoothlyForm } from \"../../form\"\nimport { Clearable } from \"../Clearable\"\nimport { Editable } from \"../Editable\"\nimport { Input } from \"../Input\"\n\n@Component({\n\ttag: \"smoothly-input-clear\",\n\tstyleUrl: \"./style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputClear {\n\t@Element() element: HTMLSmoothlyInputClearElement\n\t@Prop() color?: Color\n\t@Prop({ reflect: true }) expand?: \"block\" | \"full\"\n\t@Prop({ reflect: true }) fill?: Fill = \"clear\"\n\t@Prop({ reflect: true, mutable: true }) disabled = false\n\t@Prop({ reflect: true }) size: \"small\" | \"large\" | \"icon\" | \"flexible\" = \"icon\"\n\t@Prop({ reflect: true }) shape?: \"rounded\"\n\t@Prop({ reflect: true, mutable: true }) display = true\n\t@Prop({ reflect: true }) type: \"form\" | \"input\" = \"input\"\n\t@Prop() tooltip = \"Clear\"\n\tprivate parent?: Clearable | (Clearable & Editable)\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\n\tasync componentWillLoad() {\n\t\tthis.smoothlyInputLoad.emit(parent => {\n\t\t\tif (Clearable.is(parent)) {\n\t\t\t\tthis.parent = parent\n\t\t\t\tif (Editable.Element.is(parent)) {\n\t\t\t\t\tparent.listen(async p => {\n\t\t\t\t\t\tif (Input.is(p)) {\n\t\t\t\t\t\t\tthis.display =\n\t\t\t\t\t\t\t\t!p.readonly && !p.disabled && (typeof p.defined == \"boolean\" ? p.defined : Boolean(await p.getValue()))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (p instanceof SmoothlyForm) {\n\t\t\t\t\t\t\tthis.disabled = p.readonly || Object.values(p.value).filter(val => val).length < 1\n\t\t\t\t\t\t\tthis.display = !p.readonly\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\t@Listen(\"click\")\n\tclickHandler() {\n\t\tthis.parent?.clear()\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host title={this.tooltip}>\n\t\t\t\t<smoothly-button\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\ttype={\"button\"}\n\t\t\t\t\tshape={this.shape}\n\t\t\t\t\texpand={this.expand}\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tfill={this.fill ?? (this.type == \"input\" ? \"clear\" : undefined)}>\n\t\t\t\t\t<slot />\n\t\t\t\t\t<smoothly-icon name=\"close\" size=\"tiny\" />\n\t\t\t\t</smoothly-button>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|