@mhmo91/schmancy 0.0.290 → 0.0.291
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/{animated-text-CkVT5xh6.cjs → animated-text-BYy49xv3.cjs} +2 -2
- package/dist/{animated-text-CkVT5xh6.cjs.map → animated-text-BYy49xv3.cjs.map} +1 -1
- package/dist/{animated-text-DnmcLtp6.js → animated-text-BelKfCRb.js} +3 -3
- package/dist/{animated-text-DnmcLtp6.js.map → animated-text-BelKfCRb.js.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-2El6gVUr.cjs → area.component-BAx9ljt5.cjs} +2 -2
- package/dist/{area.component-2El6gVUr.cjs.map → area.component-BAx9ljt5.cjs.map} +1 -1
- package/dist/{area.component-i4jPVHUa.js → area.component-BIircYdd.js} +3 -3
- package/dist/{area.component-i4jPVHUa.js.map → area.component-BIircYdd.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-CJ5BBR5q.js → autocomplete-C-u4ICfa.js} +3 -3
- package/dist/{autocomplete-CJ5BBR5q.js.map → autocomplete-C-u4ICfa.js.map} +1 -1
- package/dist/{autocomplete-Bcb_ZSV9.cjs → autocomplete-ecQ92UGe.cjs} +2 -2
- package/dist/{autocomplete-Bcb_ZSV9.cjs.map → autocomplete-ecQ92UGe.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-CJjtMba9.js → checkbox-BUrYs8Dg.js} +2 -2
- package/dist/{checkbox-CJjtMba9.js.map → checkbox-BUrYs8Dg.js.map} +1 -1
- package/dist/{checkbox-56Umlzh3.cjs → checkbox-DeVnlyJb.cjs} +2 -2
- package/dist/{checkbox-56Umlzh3.cjs.map → checkbox-DeVnlyJb.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-B71IFtJB.js → chips-BkjDE2Cx.js} +3 -3
- package/dist/{chips-B71IFtJB.js.map → chips-BkjDE2Cx.js.map} +1 -1
- package/dist/{chips-DO738Kv9.cjs → chips-DjiRqUBT.cjs} +2 -2
- package/dist/{chips-DO738Kv9.cjs.map → chips-DjiRqUBT.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-Dbj5qwzm.js → date-range-BIdEZhGK.js} +3 -3
- package/dist/{date-range-Dbj5qwzm.js.map → date-range-BIdEZhGK.js.map} +1 -1
- package/dist/{date-range-BFRnIgQ6.cjs → date-range-BirYELq7.cjs} +2 -2
- package/dist/{date-range-BFRnIgQ6.cjs.map → date-range-BirYELq7.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/divider-DcEj-C2P.cjs +83 -0
- package/dist/divider-DcEj-C2P.cjs.map +1 -0
- package/dist/divider-DzwD07xW.js +103 -0
- package/dist/divider-DzwD07xW.js.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{form-CAYrAoRv.js → form-DG0Kj--R.js} +2 -2
- package/dist/{form-CAYrAoRv.js.map → form-DG0Kj--R.js.map} +1 -1
- package/dist/{form-plr-eJPP.cjs → form-DpOSrAUQ.cjs} +2 -2
- package/dist/{form-plr-eJPP.cjs.map → form-DpOSrAUQ.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-PqOCyozA.js → icon-B9PnKxEE.js} +3 -3
- package/dist/{icon-PqOCyozA.js.map → icon-B9PnKxEE.js.map} +1 -1
- package/dist/{icon-BzX7n6-d.cjs → icon-alyJW9vl.cjs} +2 -2
- package/dist/{icon-BzX7n6-d.cjs.map → icon-alyJW9vl.cjs.map} +1 -1
- package/dist/{icon-button-Cw5m-xoA.js → icon-button-CJwbffPV.js} +3 -3
- package/dist/{icon-button-Cw5m-xoA.js.map → icon-button-CJwbffPV.js.map} +1 -1
- package/dist/{icon-button-DEmmjVam.cjs → icon-button-D__Gnjzi.cjs} +2 -2
- package/dist/{icon-button-DEmmjVam.cjs.map → icon-button-D__Gnjzi.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +29 -29
- package/dist/{input-CziCM1iP.cjs → input-BgnA2aM_.cjs} +2 -2
- package/dist/{input-CziCM1iP.cjs.map → input-BgnA2aM_.cjs.map} +1 -1
- package/dist/{input-suNgHap8.js → input-C50UsaQY.js} +2 -2
- package/dist/{input-suNgHap8.js.map → input-C50UsaQY.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-B6SmKh9a.cjs → litElement.mixin-dosTHO0i.cjs} +2 -2
- package/dist/{litElement.mixin-B6SmKh9a.cjs.map → litElement.mixin-dosTHO0i.cjs.map} +1 -1
- package/dist/{litElement.mixin-Bl038NZS.js → litElement.mixin-kW4tqV-x.js} +2 -2
- package/dist/{litElement.mixin-Bl038NZS.js.map → litElement.mixin-kW4tqV-x.js.map} +1 -1
- package/dist/{menu-Cysa0uSH.js → menu-BPkKjcYr.js} +3 -3
- package/dist/{menu-Cysa0uSH.js.map → menu-BPkKjcYr.js.map} +1 -1
- package/dist/{menu-BuPKQu4A.cjs → menu-CjJdA5e1.cjs} +2 -2
- package/dist/{menu-BuPKQu4A.cjs.map → menu-CjJdA5e1.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BPPuRGqZ.js → option-Cf4MQSvl.js} +2 -2
- package/dist/{option-BPPuRGqZ.js.map → option-Cf4MQSvl.js.map} +1 -1
- package/dist/{option-BgkpZebg.cjs → option-DKovQczU.cjs} +2 -2
- package/dist/{option-BgkpZebg.cjs.map → option-DKovQczU.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{outlet-BwnJ-qSb.cjs → outlet-Dajn35eu.cjs} +2 -2
- package/dist/{outlet-BwnJ-qSb.cjs.map → outlet-Dajn35eu.cjs.map} +1 -1
- package/dist/{outlet-DOGHb9XN.js → outlet-LHeYRUMN.js} +2 -2
- package/dist/{outlet-DOGHb9XN.js.map → outlet-LHeYRUMN.js.map} +1 -1
- package/dist/{payment-card-form-CLPTnEZc.js → payment-card-form-BwoSr0gi.js} +3 -3
- package/dist/{payment-card-form-CLPTnEZc.js.map → payment-card-form-BwoSr0gi.js.map} +1 -1
- package/dist/{payment-card-form-CxPeik8X.cjs → payment-card-form-LKu9PsnX.cjs} +2 -2
- package/dist/{payment-card-form-CxPeik8X.cjs.map → payment-card-form-LKu9PsnX.cjs.map} +1 -1
- package/dist/{radio-group-BQ9pnKtl.js → radio-group-Czi9ftHc.js} +2 -2
- package/dist/{radio-group-BQ9pnKtl.js.map → radio-group-Czi9ftHc.js.map} +1 -1
- package/dist/{radio-group-BoYOkPtY.cjs → radio-group-DyYcHKuk.cjs} +2 -2
- package/dist/{radio-group-BoYOkPtY.cjs.map → radio-group-DyYcHKuk.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{scroll-BPSgAOxA.cjs → scroll-2nVgiEne.cjs} +2 -2
- package/dist/{scroll-BPSgAOxA.cjs.map → scroll-2nVgiEne.cjs.map} +1 -1
- package/dist/{scroll-CAn_o-0U.js → scroll-Kw278kXe.js} +2 -2
- package/dist/{scroll-CAn_o-0U.js.map → scroll-Kw278kXe.js.map} +1 -1
- package/dist/{select-CoU9pdWP.js → select-Bo8t1cUG.js} +3 -3
- package/dist/{select-CoU9pdWP.js.map → select-Bo8t1cUG.js.map} +1 -1
- package/dist/{select-CGt7bHnh.cjs → select-Brg9GSgM.cjs} +2 -2
- package/dist/{select-CGt7bHnh.cjs.map → select-Brg9GSgM.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-DUJN3380.cjs → sheet-Cn9oyd09.cjs} +2 -2
- package/dist/{sheet-DUJN3380.cjs.map → sheet-Cn9oyd09.cjs.map} +1 -1
- package/dist/{sheet-BlzQ1N1K.js → sheet-m3ssA8RK.js} +3 -3
- package/dist/{sheet-BlzQ1N1K.js.map → sheet-m3ssA8RK.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-BknvMw5c.cjs → slider-C3u39UVs.cjs} +2 -2
- package/dist/{slider-BknvMw5c.cjs.map → slider-C3u39UVs.cjs.map} +1 -1
- package/dist/{slider-CII4GjxO.js → slider-DiOhZu0e.js} +3 -3
- package/dist/{slider-CII4GjxO.js.map → slider-DiOhZu0e.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CyrVjD7v.cjs → spinner-CB8tYfyA.cjs} +2 -2
- package/dist/{spinner-CyrVjD7v.cjs.map → spinner-CB8tYfyA.cjs.map} +1 -1
- package/dist/{spinner-MLhIt_0Y.js → spinner-DVKR6oPO.js} +2 -2
- package/dist/{spinner-MLhIt_0Y.js.map → spinner-DVKR6oPO.js.map} +1 -1
- package/dist/{surface-D0z5a4By.cjs → surface-COQfLMIb.cjs} +2 -2
- package/dist/{surface-D0z5a4By.cjs.map → surface-COQfLMIb.cjs.map} +1 -1
- package/dist/{surface-C392eVps.js → surface-_g6PVKz9.js} +2 -2
- package/dist/{surface-C392eVps.js.map → surface-_g6PVKz9.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-Bt69Tb74.js → table-CA_AEMW3.js} +2 -2
- package/dist/{table-Bt69Tb74.js.map → table-CA_AEMW3.js.map} +1 -1
- package/dist/{table-DIgzwejX.cjs → table-XZOjesmO.cjs} +2 -2
- package/dist/{table-DIgzwejX.cjs.map → table-XZOjesmO.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-CNVQ79vr.cjs → tabs-group-BtUOhq-i.cjs} +2 -2
- package/dist/{tabs-group-CNVQ79vr.cjs.map → tabs-group-BtUOhq-i.cjs.map} +1 -1
- package/dist/{tabs-group-MuRUioRb.js → tabs-group-D-TEYc2v.js} +2 -2
- package/dist/{tabs-group-MuRUioRb.js.map → tabs-group-D-TEYc2v.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-D6m-sJmB.js +43 -0
- package/dist/{tailwind.mixin-CP8BNFiT.js.map → tailwind.mixin-D6m-sJmB.js.map} +1 -1
- package/dist/tailwind.mixin-Dts5Uk3L.cjs +2 -0
- package/dist/{tailwind.mixin-698watWc.cjs.map → tailwind.mixin-Dts5Uk3L.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DtJZWSOR.js → textarea-BppTG7vC.js} +2 -2
- package/dist/{textarea-DtJZWSOR.js.map → textarea-BppTG7vC.js.map} +1 -1
- package/dist/{textarea-vpqfN_nJ.cjs → textarea-DRm-XQyj.cjs} +2 -2
- package/dist/{textarea-vpqfN_nJ.cjs.map → textarea-DRm-XQyj.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-BMLzTEhF.js → theme-button-DzFDka_m.js} +31 -31
- package/dist/{theme-button-BMLzTEhF.js.map → theme-button-DzFDka_m.js.map} +1 -1
- package/dist/{theme-button-BAN6lRyQ.cjs → theme-button-puqIJC3M.cjs} +2 -2
- package/dist/{theme-button-BAN6lRyQ.cjs.map → theme-button-puqIJC3M.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{tree-BL9F_EMi.cjs → tree-BxpWT4HG.cjs} +2 -2
- package/dist/{tree-BL9F_EMi.cjs.map → tree-BxpWT4HG.cjs.map} +1 -1
- package/dist/{tree-CLsU6ZKr.js → tree-F8M_QD0f.js} +2 -2
- package/dist/{tree-CLsU6ZKr.js.map → tree-F8M_QD0f.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-D-1_zpWl.js → typewriter-CM8Islpn.js} +3 -3
- package/dist/{typewriter-D-1_zpWl.js.map → typewriter-CM8Islpn.js.map} +1 -1
- package/dist/{typewriter-Co1pVwUH.cjs → typewriter-D0yYoTg6.cjs} +2 -2
- package/dist/{typewriter-Co1pVwUH.cjs.map → typewriter-D0yYoTg6.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-Bgl5OsmY.js → typography-DFnAG6mR.js} +2 -2
- package/dist/{typography-Bgl5OsmY.js.map → typography-DFnAG6mR.js.map} +1 -1
- package/dist/{typography-CnXlSOz8.cjs → typography-Depf5xNK.cjs} +2 -2
- package/dist/{typography-CnXlSOz8.cjs.map → typography-Depf5xNK.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/divider/divider.d.ts +2 -1
- package/dist/divider-DxinuVg5.js +0 -34
- package/dist/divider-DxinuVg5.js.map +0 -1
- package/dist/divider-xYxX2ecE.cjs +0 -14
- package/dist/divider-xYxX2ecE.cjs.map +0 -1
- package/dist/tailwind.mixin-698watWc.cjs +0 -2
- package/dist/tailwind.mixin-CP8BNFiT.js +0 -43
package/dist/chips.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./chips-
|
|
1
|
+
"use strict";require("./chips-DjiRqUBT.cjs");
|
|
2
2
|
//# sourceMappingURL=chips.cjs.map
|
package/dist/chips.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./chips-
|
|
1
|
+
import "./chips-BkjDE2Cx.js";
|
|
2
2
|
//# sourceMappingURL=chips.js.map
|
package/dist/components.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./payment-card-form-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./payment-card-form-LKu9PsnX.cjs");Object.defineProperty(exports,"SchmancyPaymentCardForm",{enumerable:!0,get:()=>e.SchmancyPaymentCardForm});
|
|
2
2
|
//# sourceMappingURL=components.cjs.map
|
package/dist/components.js
CHANGED
package/dist/content-drawer.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./theme-button-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./theme-button-puqIJC3M.cjs");Object.defineProperty(exports,"SchmancyContentDrawer",{enumerable:!0,get:()=>e.SchmancyContentDrawer}),exports.SchmancyContentDrawerID=e.SchmancyContentDrawerID,Object.defineProperty(exports,"SchmancyContentDrawerMain",{enumerable:!0,get:()=>e.SchmancyContentDrawerMain}),exports.SchmancyContentDrawerMaxHeight=e.SchmancyContentDrawerMaxHeight,exports.SchmancyContentDrawerMinWidth=e.SchmancyContentDrawerMinWidth,Object.defineProperty(exports,"SchmancyContentDrawerSheet",{enumerable:!0,get:()=>e.SchmancyContentDrawerSheet}),exports.SchmancyContentDrawerSheetMode=e.SchmancyContentDrawerSheetMode,exports.SchmancyContentDrawerSheetState=e.SchmancyContentDrawerSheetState,exports.schmancyContentDrawer=e.schmancyContentDrawer;
|
|
2
2
|
//# sourceMappingURL=content-drawer.cjs.map
|
package/dist/content-drawer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e as n, b as t, f as r, c, d as h, g as S, S as o, a as s, s as m } from "./theme-button-
|
|
1
|
+
import { e as n, b as t, f as r, c, d as h, g as S, S as o, a as s, s as m } from "./theme-button-DzFDka_m.js";
|
|
2
2
|
export {
|
|
3
3
|
n as SchmancyContentDrawer,
|
|
4
4
|
t as SchmancyContentDrawerID,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "rxjs";
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as l } from "./litElement.mixin-
|
|
5
|
-
import "./tailwind.mixin-
|
|
4
|
+
import { $ as l } from "./litElement.mixin-kW4tqV-x.js";
|
|
5
|
+
import "./tailwind.mixin-D6m-sJmB.js";
|
|
6
6
|
import { html as h } from "lit";
|
|
7
7
|
import { property as m, query as c, state as D, customElement as p } from "lit/decorators.js";
|
|
8
8
|
import { ifDefined as u } from "lit/directives/if-defined.js";
|
|
@@ -109,4 +109,4 @@ let s = class extends l() {
|
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
111
|
o([m({ type: String })], s.prototype, "type", 2), o([m({ type: Object })], s.prototype, "dateFrom", 2), o([m({ type: Object })], s.prototype, "dateTo", 2), o([c("#checkin")], s.prototype, "checkInInput", 2), o([c("#checkout")], s.prototype, "checkOutInput", 2), o([m({ type: String })], s.prototype, "minDate", 2), o([m({ type: String })], s.prototype, "maxDate", 2), o([c("schmancy-menu")], s.prototype, "schmancyMenu", 2), o([D()], s.prototype, "selectedDateRange", 2), s = o([p("schmancy-date-range")], s);
|
|
112
|
-
//# sourceMappingURL=date-range-
|
|
112
|
+
//# sourceMappingURL=date-range-BIdEZhGK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-Dbj5qwzm.js","sources":["../src/date-range/date-range.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport moment from 'moment'\n\n@customElement('schmancy-date-range')\nexport default class SwiftHRAdminDateRange extends $LitElement() {\n\t@property({ type: String }) type: 'date' | 'datetime' = 'date'\n\t@property({ type: Object }) dateFrom!: {\n\t\tlabel: string\n\t\tvalue: string\n\t}\n\t@property({ type: Object }) dateTo!: {\n\t\tlabel: string\n\t\tvalue: string\n\t}\n\n\t@query('#checkin') checkInInput!: HTMLInputElement\n\t@query('#checkout') checkOutInput!: HTMLInputElement\n\n\t@property({ type: String }) minDate: string | undefined\n\t@property({ type: String }) maxDate!: string | undefined\n\t@query('schmancy-menu') schmancyMenu!: SchmancyMenu\n\n\t@state() selectedDateRange: string = 'Today'\n\n\tpresetRanges!: Array<{\n\t\tlabel: string\n\t\trange: {\n\t\t\tdateFrom: string\n\t\t\tdateTo: string\n\t\t}\n\t\tstep: moment.unitOfTime.DurationConstructor | moment.unitOfTime._isoWeek\n\t\tselected?: boolean\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.subtract(1, 'days')\n\t\t\t\t\t\t.startOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.subtract(1, 'days')\n\t\t\t\t\t\t.endOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('week')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('week')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'weeks',\n\t\t\t},\n\t\t\t// last week\n\t\t\t{\n\t\t\t\tlabel: 'Last Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.subtract(1, 'weeks')\n\t\t\t\t\t\t.startOf('isoWeek')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.subtract(1, 'weeks')\n\t\t\t\t\t\t.endOf('isoWeek')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'weeks',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('month')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('month')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t// { label: \"Custom\", range: () => this.setCustomRange() },\n\t\t]\n\t\t// set the state selectedDateRange based on the dateFrom and dateTo values\n\t\tconst preset = this.presetRanges.find(\n\t\t\trange => range.range.dateFrom === this.dateFrom.value && range.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\tthis.selectedDateRange = moment(this.dateFrom.value)\n\t\t\t\t.format('MMM DD, YYYY')\n\t\t\t\t.concat(' To ', moment(this.dateTo.value).format('MMM DD, YYYY'))\n\t\t}\n\t}\n\n\tsetDateRange(fromDate: string, toDate: string) {\n\t\tthis.dateFrom.value = fromDate\n\t\tthis.dateTo.value = toDate\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<TSchmancDateRangePayload>('change', {\n\t\t\t\tdetail: {\n\t\t\t\t\tdateFrom: this.dateFrom.value,\n\t\t\t\t\tdateTo: this.dateTo.value,\n\t\t\t\t},\n\t\t\t}),\n\t\t)\n\t\tthis.requestUpdate()\n\t}\n\n\thandlePresetChange(presetLabel: string) {\n\t\tconst preset = this.presetRanges.find(range => range.label === presetLabel)\n\t\tif (preset) {\n\t\t\tconst { dateFrom, dateTo } = preset.range\n\t\t\tthis.setDateRange(dateFrom, dateTo)\n\t\t\tthis.selectedDateRange = presetLabel\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"date-range-selector relative\">\n\t\t\t\t<schmancy-menu class=\"z-100 w-max\">\n\t\t\t\t\t<schmancy-grid slot=\"button\" align=\"center\" cols=\"auto 1fr auto\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t// Calculate the difference between dateFrom and dateTo in days\n\t\t\t\t\t\t\t\tconst dateDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\n\t\t\t\t\t\t\t\t// Subtract the date difference from both dateFrom and dateTo\n\t\t\t\t\t\t\t\tthis.dateFrom.value = moment(this.dateFrom.value)\n\t\t\t\t\t\t\t\t\t.subtract(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\tthis.dateTo.value = moment(this.dateTo.value)\n\t\t\t\t\t\t\t\t\t.subtract(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\t// Call the function to handle the date range change\n\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_left\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t<schmancy-button class=\"w-max\" variant=\"outlined\" type=\"button\"\n\t\t\t\t\t\t\t>${this.selectedDateRange || 'Date range'}\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t// Calculate the difference between dateFrom and dateTo in days\n\t\t\t\t\t\t\t\tconst dateDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\n\t\t\t\t\t\t\t\t// Add the date difference to both dateFrom and dateTo\n\t\t\t\t\t\t\t\tthis.dateFrom.value = moment(this.dateFrom.value)\n\t\t\t\t\t\t\t\t\t.add(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\tthis.dateTo.value = moment(this.dateTo.value)\n\t\t\t\t\t\t\t\t\t.add(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\t// Call the function to handle the date range change\n\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>arrow_right</schmancy-icon-button\n\t\t\t\t\t\t>\n\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t<schmancy-surface elevation=\"2\">\n\t\t\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t<schmancy-menu-item class=\"w-full\" @click=${() => this.handlePresetChange(preset.label)}>\n\t\t\t\t\t\t\t\t\t<schmancy-grid class=\"w-full\" align=\"center\" cols=\"auto 1fr auto\"> ${preset.label} </schmancy-grid>\n\t\t\t\t\t\t\t\t</schmancy-menu-item>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<schmancy-grid gap=\"sm\" flow=\"row\" class=\"p-4\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\tid=\"checkin\"\n\t\t\t\t\t\t\t\tmin=${ifDefined(this.minDate)}\n\t\t\t\t\t\t\t\ttype=${this.type}\n\t\t\t\t\t\t\t\tlabel=\"${this.dateFrom.label}\"\n\t\t\t\t\t\t\t\t.value=${this.dateFrom.value}\n\t\t\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\t\t\tconst selectedDate = moment(\n\t\t\t\t\t\t\t\t\t\tevent.detail.value,\n\t\t\t\t\t\t\t\t\t\tthis.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm',\n\t\t\t\t\t\t\t\t\t).format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t\t\t\t\t\t\t\t\tthis.dateFrom.value = selectedDate\n\t\t\t\t\t\t\t\t\tconst minDateStr = selectedDate\n\t\t\t\t\t\t\t\t\tthis.checkOutInput.setAttribute('min', minDateStr)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\tid=\"checkout\"\n\t\t\t\t\t\t\t\ttype=${this.type}\n\t\t\t\t\t\t\t\tlabel=\"${this.dateTo.label}\"\n\t\t\t\t\t\t\t\t.value=${this.dateTo.value}\n\t\t\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.dateTo.value = moment(\n\t\t\t\t\t\t\t\t\t\tevent.detail.value,\n\t\t\t\t\t\t\t\t\t\tthis.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm',\n\t\t\t\t\t\t\t\t\t).format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-menu>\n\t\t\t</div>\n\t\t`\n\t}\n\n\thandleDateRangeChange() {\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\t// check if the selected date range is a preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\trange => range.range.dateFrom === this.dateFrom.value && range.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\tthis.selectedDateRange = moment(this.dateFrom.value)\n\t\t\t\t.format(this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A')\n\t\t\t\t.concat(' - ', moment(this.dateTo.value).format(this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A'))\n\t\t\tthis.schmancyMenu.open = false\n\t\t}\n\t}\n}\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<TSchmancDateRangePayload>\ntype TSchmancDateRangePayload = {\n\tdateFrom?: string\n\tdateTo?: string\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range': SwiftHRAdminDateRange\n\t}\n}\n"],"names":["SwiftHRAdminDateRange","$LitElement","constructor","super","arguments","this","type","selectedDateRange","connectedCallback","presetRanges","label","range","dateFrom","moment","subtract","startOf","format","dateTo","endOf","step","preset","find","value","concat","fromDate","toDate","dispatchEvent","CustomEvent","detail","requestUpdate","presetLabel","setDateRange","render","html","e","preventDefault","stopPropagation","dateDiff","diff","handleDateRangeChange","add","map","handlePresetChange","ifDefined","minDate","event","selectedDate","minDateStr","checkOutInput","setAttribute","schmancyMenu","open","__decorateClass","property","String","prototype","Object","query","state","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-range-BIdEZhGK.js","sources":["../src/date-range/date-range.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport moment from 'moment'\n\n@customElement('schmancy-date-range')\nexport default class SwiftHRAdminDateRange extends $LitElement() {\n\t@property({ type: String }) type: 'date' | 'datetime' = 'date'\n\t@property({ type: Object }) dateFrom!: {\n\t\tlabel: string\n\t\tvalue: string\n\t}\n\t@property({ type: Object }) dateTo!: {\n\t\tlabel: string\n\t\tvalue: string\n\t}\n\n\t@query('#checkin') checkInInput!: HTMLInputElement\n\t@query('#checkout') checkOutInput!: HTMLInputElement\n\n\t@property({ type: String }) minDate: string | undefined\n\t@property({ type: String }) maxDate!: string | undefined\n\t@query('schmancy-menu') schmancyMenu!: SchmancyMenu\n\n\t@state() selectedDateRange: string = 'Today'\n\n\tpresetRanges!: Array<{\n\t\tlabel: string\n\t\trange: {\n\t\t\tdateFrom: string\n\t\t\tdateTo: string\n\t\t}\n\t\tstep: moment.unitOfTime.DurationConstructor | moment.unitOfTime._isoWeek\n\t\tselected?: boolean\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.subtract(1, 'days')\n\t\t\t\t\t\t.startOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.subtract(1, 'days')\n\t\t\t\t\t\t.endOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('week')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('week')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'weeks',\n\t\t\t},\n\t\t\t// last week\n\t\t\t{\n\t\t\t\tlabel: 'Last Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.subtract(1, 'weeks')\n\t\t\t\t\t\t.startOf('isoWeek')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.subtract(1, 'weeks')\n\t\t\t\t\t\t.endOf('isoWeek')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'weeks',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('month')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('month')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t// { label: \"Custom\", range: () => this.setCustomRange() },\n\t\t]\n\t\t// set the state selectedDateRange based on the dateFrom and dateTo values\n\t\tconst preset = this.presetRanges.find(\n\t\t\trange => range.range.dateFrom === this.dateFrom.value && range.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\tthis.selectedDateRange = moment(this.dateFrom.value)\n\t\t\t\t.format('MMM DD, YYYY')\n\t\t\t\t.concat(' To ', moment(this.dateTo.value).format('MMM DD, YYYY'))\n\t\t}\n\t}\n\n\tsetDateRange(fromDate: string, toDate: string) {\n\t\tthis.dateFrom.value = fromDate\n\t\tthis.dateTo.value = toDate\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<TSchmancDateRangePayload>('change', {\n\t\t\t\tdetail: {\n\t\t\t\t\tdateFrom: this.dateFrom.value,\n\t\t\t\t\tdateTo: this.dateTo.value,\n\t\t\t\t},\n\t\t\t}),\n\t\t)\n\t\tthis.requestUpdate()\n\t}\n\n\thandlePresetChange(presetLabel: string) {\n\t\tconst preset = this.presetRanges.find(range => range.label === presetLabel)\n\t\tif (preset) {\n\t\t\tconst { dateFrom, dateTo } = preset.range\n\t\t\tthis.setDateRange(dateFrom, dateTo)\n\t\t\tthis.selectedDateRange = presetLabel\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"date-range-selector relative\">\n\t\t\t\t<schmancy-menu class=\"z-100 w-max\">\n\t\t\t\t\t<schmancy-grid slot=\"button\" align=\"center\" cols=\"auto 1fr auto\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t// Calculate the difference between dateFrom and dateTo in days\n\t\t\t\t\t\t\t\tconst dateDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\n\t\t\t\t\t\t\t\t// Subtract the date difference from both dateFrom and dateTo\n\t\t\t\t\t\t\t\tthis.dateFrom.value = moment(this.dateFrom.value)\n\t\t\t\t\t\t\t\t\t.subtract(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\tthis.dateTo.value = moment(this.dateTo.value)\n\t\t\t\t\t\t\t\t\t.subtract(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\t// Call the function to handle the date range change\n\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_left\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t<schmancy-button class=\"w-max\" variant=\"outlined\" type=\"button\"\n\t\t\t\t\t\t\t>${this.selectedDateRange || 'Date range'}\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t// Calculate the difference between dateFrom and dateTo in days\n\t\t\t\t\t\t\t\tconst dateDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\n\t\t\t\t\t\t\t\t// Add the date difference to both dateFrom and dateTo\n\t\t\t\t\t\t\t\tthis.dateFrom.value = moment(this.dateFrom.value)\n\t\t\t\t\t\t\t\t\t.add(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\tthis.dateTo.value = moment(this.dateTo.value)\n\t\t\t\t\t\t\t\t\t.add(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\t// Call the function to handle the date range change\n\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>arrow_right</schmancy-icon-button\n\t\t\t\t\t\t>\n\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t<schmancy-surface elevation=\"2\">\n\t\t\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t<schmancy-menu-item class=\"w-full\" @click=${() => this.handlePresetChange(preset.label)}>\n\t\t\t\t\t\t\t\t\t<schmancy-grid class=\"w-full\" align=\"center\" cols=\"auto 1fr auto\"> ${preset.label} </schmancy-grid>\n\t\t\t\t\t\t\t\t</schmancy-menu-item>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<schmancy-grid gap=\"sm\" flow=\"row\" class=\"p-4\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\tid=\"checkin\"\n\t\t\t\t\t\t\t\tmin=${ifDefined(this.minDate)}\n\t\t\t\t\t\t\t\ttype=${this.type}\n\t\t\t\t\t\t\t\tlabel=\"${this.dateFrom.label}\"\n\t\t\t\t\t\t\t\t.value=${this.dateFrom.value}\n\t\t\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\t\t\tconst selectedDate = moment(\n\t\t\t\t\t\t\t\t\t\tevent.detail.value,\n\t\t\t\t\t\t\t\t\t\tthis.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm',\n\t\t\t\t\t\t\t\t\t).format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t\t\t\t\t\t\t\t\tthis.dateFrom.value = selectedDate\n\t\t\t\t\t\t\t\t\tconst minDateStr = selectedDate\n\t\t\t\t\t\t\t\t\tthis.checkOutInput.setAttribute('min', minDateStr)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\tid=\"checkout\"\n\t\t\t\t\t\t\t\ttype=${this.type}\n\t\t\t\t\t\t\t\tlabel=\"${this.dateTo.label}\"\n\t\t\t\t\t\t\t\t.value=${this.dateTo.value}\n\t\t\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.dateTo.value = moment(\n\t\t\t\t\t\t\t\t\t\tevent.detail.value,\n\t\t\t\t\t\t\t\t\t\tthis.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm',\n\t\t\t\t\t\t\t\t\t).format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-menu>\n\t\t\t</div>\n\t\t`\n\t}\n\n\thandleDateRangeChange() {\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\t// check if the selected date range is a preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\trange => range.range.dateFrom === this.dateFrom.value && range.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\tthis.selectedDateRange = moment(this.dateFrom.value)\n\t\t\t\t.format(this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A')\n\t\t\t\t.concat(' - ', moment(this.dateTo.value).format(this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A'))\n\t\t\tthis.schmancyMenu.open = false\n\t\t}\n\t}\n}\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<TSchmancDateRangePayload>\ntype TSchmancDateRangePayload = {\n\tdateFrom?: string\n\tdateTo?: string\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range': SwiftHRAdminDateRange\n\t}\n}\n"],"names":["SwiftHRAdminDateRange","$LitElement","constructor","super","arguments","this","type","selectedDateRange","connectedCallback","presetRanges","label","range","dateFrom","moment","subtract","startOf","format","dateTo","endOf","step","preset","find","value","concat","fromDate","toDate","dispatchEvent","CustomEvent","detail","requestUpdate","presetLabel","setDateRange","render","html","e","preventDefault","stopPropagation","dateDiff","diff","handleDateRangeChange","add","map","handlePresetChange","ifDefined","minDate","event","selectedDate","minDateStr","checkOutInput","setAttribute","schmancyMenu","open","__decorateClass","property","String","prototype","Object","query","state","customElement"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("./litElement.mixin-
|
|
1
|
+
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("./litElement.mixin-dosTHO0i.cjs");require("./tailwind.mixin-Dts5Uk3L.cjs");const m=require("lit"),r=require("lit/decorators.js"),l=require("lit/directives/if-defined.js"),a=require("moment");var D=Object.defineProperty,u=Object.getOwnPropertyDescriptor,n=(e,t,o,i)=>{for(var d,Y=i>1?void 0:i?u(t,o):t,h=e.length-1;h>=0;h--)(d=e[h])&&(Y=(i?d(t,o,Y):d(Y))||Y);return i&&Y&&D(t,o,Y),Y};let s=class extends c.$LitElement(){constructor(){super(...arguments),this.type="date",this.selectedDateRange="Today"}connectedCallback(){super.connectedCallback(),this.presetRanges=[{label:"Yesterday",range:{dateFrom:a().subtract(1,"days").startOf("day").format(this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm"),dateTo:a().subtract(1,"days").endOf("day").format(this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm")},step:"day"},{label:"Today",range:{dateFrom:a().startOf("day").format(this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm"),dateTo:a().endOf("day").format(this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm")},step:"day"},{label:"This Week",range:{dateFrom:a().startOf("week").format(this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm"),dateTo:a().endOf("week").format(this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm")},step:"weeks"},{label:"Last Week",range:{dateFrom:a().subtract(1,"weeks").startOf("isoWeek").format(this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm"),dateTo:a().subtract(1,"weeks").endOf("isoWeek").format(this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm")},step:"weeks"},{label:"This Month",range:{dateFrom:a().startOf("month").format(this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm"),dateTo:a().endOf("month").format(this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm")},step:"month"}];const e=this.presetRanges.find(t=>t.range.dateFrom===this.dateFrom.value&&t.range.dateTo===this.dateTo.value);this.selectedDateRange=e?e.label:a(this.dateFrom.value).format("MMM DD, YYYY").concat(" To ",a(this.dateTo.value).format("MMM DD, YYYY"))}setDateRange(e,t){this.dateFrom.value=e,this.dateTo.value=t,this.dispatchEvent(new CustomEvent("change",{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value}})),this.requestUpdate()}handlePresetChange(e){const t=this.presetRanges.find(o=>o.label===e);if(t){const{dateFrom:o,dateTo:i}=t.range;this.setDateRange(o,i),this.selectedDateRange=e}}render(){return m.html`
|
|
2
2
|
<div class="date-range-selector relative">
|
|
3
3
|
<schmancy-menu class="z-100 w-max">
|
|
4
4
|
<schmancy-grid slot="button" align="center" cols="auto 1fr auto">
|
|
@@ -50,4 +50,4 @@
|
|
|
50
50
|
</schmancy-menu>
|
|
51
51
|
</div>
|
|
52
52
|
`}handleDateRangeChange(){this.setDateRange(this.dateFrom.value,this.dateTo.value);const e=this.presetRanges.find(t=>t.range.dateFrom===this.dateFrom.value&&t.range.dateTo===this.dateTo.value);e?this.selectedDateRange=e.label:(this.selectedDateRange=a(this.dateFrom.value).format(this.type==="date"?"MMM DD, YYYY":"MMM DD, YYYY hh:mm A").concat(" - ",a(this.dateTo.value).format(this.type==="date"?"MMM DD, YYYY":"MMM DD, YYYY hh:mm A")),this.schmancyMenu.open=!1)}};n([r.property({type:String})],s.prototype,"type",2),n([r.property({type:Object})],s.prototype,"dateFrom",2),n([r.property({type:Object})],s.prototype,"dateTo",2),n([r.query("#checkin")],s.prototype,"checkInInput",2),n([r.query("#checkout")],s.prototype,"checkOutInput",2),n([r.property({type:String})],s.prototype,"minDate",2),n([r.property({type:String})],s.prototype,"maxDate",2),n([r.query("schmancy-menu")],s.prototype,"schmancyMenu",2),n([r.state()],s.prototype,"selectedDateRange",2),s=n([r.customElement("schmancy-date-range")],s);
|
|
53
|
-
//# sourceMappingURL=date-range-
|
|
53
|
+
//# sourceMappingURL=date-range-BirYELq7.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-BFRnIgQ6.cjs","sources":["../src/date-range/date-range.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport moment from 'moment'\n\n@customElement('schmancy-date-range')\nexport default class SwiftHRAdminDateRange extends $LitElement() {\n\t@property({ type: String }) type: 'date' | 'datetime' = 'date'\n\t@property({ type: Object }) dateFrom!: {\n\t\tlabel: string\n\t\tvalue: string\n\t}\n\t@property({ type: Object }) dateTo!: {\n\t\tlabel: string\n\t\tvalue: string\n\t}\n\n\t@query('#checkin') checkInInput!: HTMLInputElement\n\t@query('#checkout') checkOutInput!: HTMLInputElement\n\n\t@property({ type: String }) minDate: string | undefined\n\t@property({ type: String }) maxDate!: string | undefined\n\t@query('schmancy-menu') schmancyMenu!: SchmancyMenu\n\n\t@state() selectedDateRange: string = 'Today'\n\n\tpresetRanges!: Array<{\n\t\tlabel: string\n\t\trange: {\n\t\t\tdateFrom: string\n\t\t\tdateTo: string\n\t\t}\n\t\tstep: moment.unitOfTime.DurationConstructor | moment.unitOfTime._isoWeek\n\t\tselected?: boolean\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.subtract(1, 'days')\n\t\t\t\t\t\t.startOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.subtract(1, 'days')\n\t\t\t\t\t\t.endOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('week')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('week')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'weeks',\n\t\t\t},\n\t\t\t// last week\n\t\t\t{\n\t\t\t\tlabel: 'Last Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.subtract(1, 'weeks')\n\t\t\t\t\t\t.startOf('isoWeek')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.subtract(1, 'weeks')\n\t\t\t\t\t\t.endOf('isoWeek')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'weeks',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('month')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('month')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t// { label: \"Custom\", range: () => this.setCustomRange() },\n\t\t]\n\t\t// set the state selectedDateRange based on the dateFrom and dateTo values\n\t\tconst preset = this.presetRanges.find(\n\t\t\trange => range.range.dateFrom === this.dateFrom.value && range.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\tthis.selectedDateRange = moment(this.dateFrom.value)\n\t\t\t\t.format('MMM DD, YYYY')\n\t\t\t\t.concat(' To ', moment(this.dateTo.value).format('MMM DD, YYYY'))\n\t\t}\n\t}\n\n\tsetDateRange(fromDate: string, toDate: string) {\n\t\tthis.dateFrom.value = fromDate\n\t\tthis.dateTo.value = toDate\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<TSchmancDateRangePayload>('change', {\n\t\t\t\tdetail: {\n\t\t\t\t\tdateFrom: this.dateFrom.value,\n\t\t\t\t\tdateTo: this.dateTo.value,\n\t\t\t\t},\n\t\t\t}),\n\t\t)\n\t\tthis.requestUpdate()\n\t}\n\n\thandlePresetChange(presetLabel: string) {\n\t\tconst preset = this.presetRanges.find(range => range.label === presetLabel)\n\t\tif (preset) {\n\t\t\tconst { dateFrom, dateTo } = preset.range\n\t\t\tthis.setDateRange(dateFrom, dateTo)\n\t\t\tthis.selectedDateRange = presetLabel\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"date-range-selector relative\">\n\t\t\t\t<schmancy-menu class=\"z-100 w-max\">\n\t\t\t\t\t<schmancy-grid slot=\"button\" align=\"center\" cols=\"auto 1fr auto\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t// Calculate the difference between dateFrom and dateTo in days\n\t\t\t\t\t\t\t\tconst dateDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\n\t\t\t\t\t\t\t\t// Subtract the date difference from both dateFrom and dateTo\n\t\t\t\t\t\t\t\tthis.dateFrom.value = moment(this.dateFrom.value)\n\t\t\t\t\t\t\t\t\t.subtract(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\tthis.dateTo.value = moment(this.dateTo.value)\n\t\t\t\t\t\t\t\t\t.subtract(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\t// Call the function to handle the date range change\n\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_left\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t<schmancy-button class=\"w-max\" variant=\"outlined\" type=\"button\"\n\t\t\t\t\t\t\t>${this.selectedDateRange || 'Date range'}\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t// Calculate the difference between dateFrom and dateTo in days\n\t\t\t\t\t\t\t\tconst dateDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\n\t\t\t\t\t\t\t\t// Add the date difference to both dateFrom and dateTo\n\t\t\t\t\t\t\t\tthis.dateFrom.value = moment(this.dateFrom.value)\n\t\t\t\t\t\t\t\t\t.add(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\tthis.dateTo.value = moment(this.dateTo.value)\n\t\t\t\t\t\t\t\t\t.add(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\t// Call the function to handle the date range change\n\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>arrow_right</schmancy-icon-button\n\t\t\t\t\t\t>\n\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t<schmancy-surface elevation=\"2\">\n\t\t\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t<schmancy-menu-item class=\"w-full\" @click=${() => this.handlePresetChange(preset.label)}>\n\t\t\t\t\t\t\t\t\t<schmancy-grid class=\"w-full\" align=\"center\" cols=\"auto 1fr auto\"> ${preset.label} </schmancy-grid>\n\t\t\t\t\t\t\t\t</schmancy-menu-item>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<schmancy-grid gap=\"sm\" flow=\"row\" class=\"p-4\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\tid=\"checkin\"\n\t\t\t\t\t\t\t\tmin=${ifDefined(this.minDate)}\n\t\t\t\t\t\t\t\ttype=${this.type}\n\t\t\t\t\t\t\t\tlabel=\"${this.dateFrom.label}\"\n\t\t\t\t\t\t\t\t.value=${this.dateFrom.value}\n\t\t\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\t\t\tconst selectedDate = moment(\n\t\t\t\t\t\t\t\t\t\tevent.detail.value,\n\t\t\t\t\t\t\t\t\t\tthis.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm',\n\t\t\t\t\t\t\t\t\t).format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t\t\t\t\t\t\t\t\tthis.dateFrom.value = selectedDate\n\t\t\t\t\t\t\t\t\tconst minDateStr = selectedDate\n\t\t\t\t\t\t\t\t\tthis.checkOutInput.setAttribute('min', minDateStr)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\tid=\"checkout\"\n\t\t\t\t\t\t\t\ttype=${this.type}\n\t\t\t\t\t\t\t\tlabel=\"${this.dateTo.label}\"\n\t\t\t\t\t\t\t\t.value=${this.dateTo.value}\n\t\t\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.dateTo.value = moment(\n\t\t\t\t\t\t\t\t\t\tevent.detail.value,\n\t\t\t\t\t\t\t\t\t\tthis.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm',\n\t\t\t\t\t\t\t\t\t).format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-menu>\n\t\t\t</div>\n\t\t`\n\t}\n\n\thandleDateRangeChange() {\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\t// check if the selected date range is a preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\trange => range.range.dateFrom === this.dateFrom.value && range.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\tthis.selectedDateRange = moment(this.dateFrom.value)\n\t\t\t\t.format(this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A')\n\t\t\t\t.concat(' - ', moment(this.dateTo.value).format(this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A'))\n\t\t\tthis.schmancyMenu.open = false\n\t\t}\n\t}\n}\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<TSchmancDateRangePayload>\ntype TSchmancDateRangePayload = {\n\tdateFrom?: string\n\tdateTo?: string\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range': SwiftHRAdminDateRange\n\t}\n}\n"],"names":["SwiftHRAdminDateRange","$LitElement","super","arguments","this","type","selectedDateRange","connectedCallback","presetRanges","label","range","dateFrom","moment","subtract","startOf","format","dateTo","endOf","step","preset","find","value","concat","fromDate","toDate","dispatchEvent","CustomEvent","detail","requestUpdate","presetLabel","setDateRange","html","e","preventDefault","stopPropagation","dateDiff","diff","handleDateRangeChange","add","map","handlePresetChange","ifDefined","minDate","event","selectedDate","minDateStr","checkOutInput","setAttribute","schmancyMenu","open","__decorateClass","property","String","prototype","Object","query","state","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-range-BirYELq7.cjs","sources":["../src/date-range/date-range.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport moment from 'moment'\n\n@customElement('schmancy-date-range')\nexport default class SwiftHRAdminDateRange extends $LitElement() {\n\t@property({ type: String }) type: 'date' | 'datetime' = 'date'\n\t@property({ type: Object }) dateFrom!: {\n\t\tlabel: string\n\t\tvalue: string\n\t}\n\t@property({ type: Object }) dateTo!: {\n\t\tlabel: string\n\t\tvalue: string\n\t}\n\n\t@query('#checkin') checkInInput!: HTMLInputElement\n\t@query('#checkout') checkOutInput!: HTMLInputElement\n\n\t@property({ type: String }) minDate: string | undefined\n\t@property({ type: String }) maxDate!: string | undefined\n\t@query('schmancy-menu') schmancyMenu!: SchmancyMenu\n\n\t@state() selectedDateRange: string = 'Today'\n\n\tpresetRanges!: Array<{\n\t\tlabel: string\n\t\trange: {\n\t\t\tdateFrom: string\n\t\t\tdateTo: string\n\t\t}\n\t\tstep: moment.unitOfTime.DurationConstructor | moment.unitOfTime._isoWeek\n\t\tselected?: boolean\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.subtract(1, 'days')\n\t\t\t\t\t\t.startOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.subtract(1, 'days')\n\t\t\t\t\t\t.endOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('day')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('week')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('week')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'weeks',\n\t\t\t},\n\t\t\t// last week\n\t\t\t{\n\t\t\t\tlabel: 'Last Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.subtract(1, 'weeks')\n\t\t\t\t\t\t.startOf('isoWeek')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.subtract(1, 'weeks')\n\t\t\t\t\t\t.endOf('isoWeek')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'weeks',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: moment()\n\t\t\t\t\t\t.startOf('month')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t\tdateTo: moment()\n\t\t\t\t\t\t.endOf('month')\n\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t// { label: \"Custom\", range: () => this.setCustomRange() },\n\t\t]\n\t\t// set the state selectedDateRange based on the dateFrom and dateTo values\n\t\tconst preset = this.presetRanges.find(\n\t\t\trange => range.range.dateFrom === this.dateFrom.value && range.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\tthis.selectedDateRange = moment(this.dateFrom.value)\n\t\t\t\t.format('MMM DD, YYYY')\n\t\t\t\t.concat(' To ', moment(this.dateTo.value).format('MMM DD, YYYY'))\n\t\t}\n\t}\n\n\tsetDateRange(fromDate: string, toDate: string) {\n\t\tthis.dateFrom.value = fromDate\n\t\tthis.dateTo.value = toDate\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<TSchmancDateRangePayload>('change', {\n\t\t\t\tdetail: {\n\t\t\t\t\tdateFrom: this.dateFrom.value,\n\t\t\t\t\tdateTo: this.dateTo.value,\n\t\t\t\t},\n\t\t\t}),\n\t\t)\n\t\tthis.requestUpdate()\n\t}\n\n\thandlePresetChange(presetLabel: string) {\n\t\tconst preset = this.presetRanges.find(range => range.label === presetLabel)\n\t\tif (preset) {\n\t\t\tconst { dateFrom, dateTo } = preset.range\n\t\t\tthis.setDateRange(dateFrom, dateTo)\n\t\t\tthis.selectedDateRange = presetLabel\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"date-range-selector relative\">\n\t\t\t\t<schmancy-menu class=\"z-100 w-max\">\n\t\t\t\t\t<schmancy-grid slot=\"button\" align=\"center\" cols=\"auto 1fr auto\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t// Calculate the difference between dateFrom and dateTo in days\n\t\t\t\t\t\t\t\tconst dateDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\n\t\t\t\t\t\t\t\t// Subtract the date difference from both dateFrom and dateTo\n\t\t\t\t\t\t\t\tthis.dateFrom.value = moment(this.dateFrom.value)\n\t\t\t\t\t\t\t\t\t.subtract(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\tthis.dateTo.value = moment(this.dateTo.value)\n\t\t\t\t\t\t\t\t\t.subtract(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\t// Call the function to handle the date range change\n\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_left\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t<schmancy-button class=\"w-max\" variant=\"outlined\" type=\"button\"\n\t\t\t\t\t\t\t>${this.selectedDateRange || 'Date range'}\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t// Calculate the difference between dateFrom and dateTo in days\n\t\t\t\t\t\t\t\tconst dateDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\n\t\t\t\t\t\t\t\t// Add the date difference to both dateFrom and dateTo\n\t\t\t\t\t\t\t\tthis.dateFrom.value = moment(this.dateFrom.value)\n\t\t\t\t\t\t\t\t\t.add(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\tthis.dateTo.value = moment(this.dateTo.value)\n\t\t\t\t\t\t\t\t\t.add(dateDiff, 'days')\n\t\t\t\t\t\t\t\t\t.format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\n\t\t\t\t\t\t\t\t// Call the function to handle the date range change\n\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>arrow_right</schmancy-icon-button\n\t\t\t\t\t\t>\n\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t<schmancy-surface elevation=\"2\">\n\t\t\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t<schmancy-menu-item class=\"w-full\" @click=${() => this.handlePresetChange(preset.label)}>\n\t\t\t\t\t\t\t\t\t<schmancy-grid class=\"w-full\" align=\"center\" cols=\"auto 1fr auto\"> ${preset.label} </schmancy-grid>\n\t\t\t\t\t\t\t\t</schmancy-menu-item>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<schmancy-grid gap=\"sm\" flow=\"row\" class=\"p-4\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\tid=\"checkin\"\n\t\t\t\t\t\t\t\tmin=${ifDefined(this.minDate)}\n\t\t\t\t\t\t\t\ttype=${this.type}\n\t\t\t\t\t\t\t\tlabel=\"${this.dateFrom.label}\"\n\t\t\t\t\t\t\t\t.value=${this.dateFrom.value}\n\t\t\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\t\t\tconst selectedDate = moment(\n\t\t\t\t\t\t\t\t\t\tevent.detail.value,\n\t\t\t\t\t\t\t\t\t\tthis.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm',\n\t\t\t\t\t\t\t\t\t).format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t\t\t\t\t\t\t\t\tthis.dateFrom.value = selectedDate\n\t\t\t\t\t\t\t\t\tconst minDateStr = selectedDate\n\t\t\t\t\t\t\t\t\tthis.checkOutInput.setAttribute('min', minDateStr)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\tid=\"checkout\"\n\t\t\t\t\t\t\t\ttype=${this.type}\n\t\t\t\t\t\t\t\tlabel=\"${this.dateTo.label}\"\n\t\t\t\t\t\t\t\t.value=${this.dateTo.value}\n\t\t\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.dateTo.value = moment(\n\t\t\t\t\t\t\t\t\t\tevent.detail.value,\n\t\t\t\t\t\t\t\t\t\tthis.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm',\n\t\t\t\t\t\t\t\t\t).format(this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.handleDateRangeChange()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-menu>\n\t\t\t</div>\n\t\t`\n\t}\n\n\thandleDateRangeChange() {\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\t// check if the selected date range is a preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\trange => range.range.dateFrom === this.dateFrom.value && range.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\tthis.selectedDateRange = moment(this.dateFrom.value)\n\t\t\t\t.format(this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A')\n\t\t\t\t.concat(' - ', moment(this.dateTo.value).format(this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A'))\n\t\t\tthis.schmancyMenu.open = false\n\t\t}\n\t}\n}\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<TSchmancDateRangePayload>\ntype TSchmancDateRangePayload = {\n\tdateFrom?: string\n\tdateTo?: string\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range': SwiftHRAdminDateRange\n\t}\n}\n"],"names":["SwiftHRAdminDateRange","$LitElement","super","arguments","this","type","selectedDateRange","connectedCallback","presetRanges","label","range","dateFrom","moment","subtract","startOf","format","dateTo","endOf","step","preset","find","value","concat","fromDate","toDate","dispatchEvent","CustomEvent","detail","requestUpdate","presetLabel","setDateRange","html","e","preventDefault","stopPropagation","dateDiff","diff","handleDateRangeChange","add","map","handlePresetChange","ifDefined","minDate","event","selectedDate","minDateStr","checkOutInput","setAttribute","schmancyMenu","open","__decorateClass","property","String","prototype","Object","query","state","customElement"],"mappings":"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"}
|
package/dist/date-range.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./date-range-
|
|
1
|
+
"use strict";require("./date-range-BirYELq7.cjs");
|
|
2
2
|
//# sourceMappingURL=date-range.cjs.map
|
package/dist/date-range.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./date-range-
|
|
1
|
+
import "./date-range-BIdEZhGK.js";
|
|
2
2
|
//# sourceMappingURL=date-range.js.map
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";require("rxjs");const u=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const m=require("./litElement.mixin-dosTHO0i.cjs");require("./tailwind.mixin-Dts5Uk3L.cjs");const c=require("lit"),n=require("lit/decorators.js");var h=Object.defineProperty,v=Object.getOwnPropertyDescriptor,e=(t,i,s,a)=>{for(var l,r=a>1?void 0:a?v(i,s):i,d=t.length-1;d>=0;d--)(l=t[d])&&(r=(a?l(i,s,r):l(r))||r);return a&&r&&h(i,s,r),r};let o=class extends m.$LitElement(c.css`
|
|
2
|
+
:host {
|
|
3
|
+
display: block;
|
|
4
|
+
overflow: hidden; /* Ensure the animation is clipped */
|
|
5
|
+
}
|
|
6
|
+
.divider {
|
|
7
|
+
/* Maintain existing border-based color logic */
|
|
8
|
+
border-color: var(--divider-color, currentColor);
|
|
9
|
+
}
|
|
10
|
+
/* Horizontal Divider */
|
|
11
|
+
.horizontal {
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 1px;
|
|
14
|
+
border-top: 1px solid;
|
|
15
|
+
transform: scaleX(0);
|
|
16
|
+
transform-origin: var(--transform-origin, left);
|
|
17
|
+
animation: drawHorizontal var(--animation-duration, 1s) forwards;
|
|
18
|
+
}
|
|
19
|
+
/* Vertical Divider */
|
|
20
|
+
.vertical {
|
|
21
|
+
width: 1px;
|
|
22
|
+
height: 100%;
|
|
23
|
+
border-left: 1px solid;
|
|
24
|
+
transform: scaleY(0);
|
|
25
|
+
transform-origin: var(--transform-origin, top);
|
|
26
|
+
animation: drawVertical var(--animation-duration, 1s) forwards;
|
|
27
|
+
}
|
|
28
|
+
/* Outline Variants */
|
|
29
|
+
.border-outlineVariant {
|
|
30
|
+
/* Utilize existing outline variant styles */
|
|
31
|
+
border-color: var(--outline-variant-color, #555);
|
|
32
|
+
}
|
|
33
|
+
.border-outline {
|
|
34
|
+
/* Utilize existing default outline styles */
|
|
35
|
+
border-color: var(--outline-color, #000);
|
|
36
|
+
}
|
|
37
|
+
/* RTL Support for Horizontal Dividers */
|
|
38
|
+
:host([dir='rtl']) .horizontal.grow-start {
|
|
39
|
+
--transform-origin: right;
|
|
40
|
+
}
|
|
41
|
+
:host([dir='rtl']) .horizontal.grow-end {
|
|
42
|
+
--transform-origin: left;
|
|
43
|
+
}
|
|
44
|
+
/* Center Growth for Horizontal and Vertical Dividers */
|
|
45
|
+
.horizontal.grow-both {
|
|
46
|
+
--transform-origin: center;
|
|
47
|
+
}
|
|
48
|
+
.vertical.grow-both {
|
|
49
|
+
--transform-origin: center;
|
|
50
|
+
}
|
|
51
|
+
/* Define Keyframes */
|
|
52
|
+
@keyframes drawHorizontal {
|
|
53
|
+
to {
|
|
54
|
+
transform: scaleX(1);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
@keyframes drawVertical {
|
|
58
|
+
to {
|
|
59
|
+
transform: scaleY(1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/* Assign Animations Based on Grow Direction */
|
|
63
|
+
.horizontal.grow-start {
|
|
64
|
+
animation: drawHorizontal var(--animation-duration, 1s) forwards;
|
|
65
|
+
}
|
|
66
|
+
.horizontal.grow-end {
|
|
67
|
+
animation: drawHorizontal var(--animation-duration, 1s) forwards;
|
|
68
|
+
}
|
|
69
|
+
.horizontal.grow-both {
|
|
70
|
+
animation: drawHorizontal var(--animation-duration, 1s) forwards;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.vertical.grow-start {
|
|
74
|
+
animation: drawVertical var(--animation-duration, 1s) forwards;
|
|
75
|
+
}
|
|
76
|
+
.vertical.grow-end {
|
|
77
|
+
animation: drawVertical var(--animation-duration, 1s) forwards;
|
|
78
|
+
}
|
|
79
|
+
.vertical.grow-both {
|
|
80
|
+
animation: drawVertical var(--animation-duration, 1s) forwards;
|
|
81
|
+
}
|
|
82
|
+
`){constructor(){super(...arguments),this.outline="variant",this.orientation="horizontal",this.grow="start"}render(){const t={divider:!0,horizontal:this.orientation==="horizontal",vertical:this.orientation==="vertical","border-outlineVariant":this.outline==="variant","border-outline":this.outline==="default",[`grow-${this.grow}`]:!0};return c.html`<div class="${u.classMap(t)}"></div>`}};e([n.property({type:String})],o.prototype,"outline",2),e([n.property({reflect:!0,type:String})],o.prototype,"orientation",2),e([n.property({type:String})],o.prototype,"grow",2),o=e([n.customElement("schmancy-divider")],o);
|
|
83
|
+
//# sourceMappingURL=divider-DcEj-C2P.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"divider-DcEj-C2P.cjs","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden; /* Ensure the animation is clipped */\n\t}\n\t.divider {\n\t\t/* Maintain existing border-based color logic */\n\t\tborder-color: var(--divider-color, currentColor);\n\t}\n\t/* Horizontal Divider */\n\t.horizontal {\n\t\twidth: 100%;\n\t\theight: 1px;\n\t\tborder-top: 1px solid;\n\t\ttransform: scaleX(0);\n\t\ttransform-origin: var(--transform-origin, left);\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t/* Vertical Divider */\n\t.vertical {\n\t\twidth: 1px;\n\t\theight: 100%;\n\t\tborder-left: 1px solid;\n\t\ttransform: scaleY(0);\n\t\ttransform-origin: var(--transform-origin, top);\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t/* Outline Variants */\n\t.border-outlineVariant {\n\t\t/* Utilize existing outline variant styles */\n\t\tborder-color: var(--outline-variant-color, #555);\n\t}\n\t.border-outline {\n\t\t/* Utilize existing default outline styles */\n\t\tborder-color: var(--outline-color, #000);\n\t}\n\t/* RTL Support for Horizontal Dividers */\n\t:host([dir='rtl']) .horizontal.grow-start {\n\t\t--transform-origin: right;\n\t}\n\t:host([dir='rtl']) .horizontal.grow-end {\n\t\t--transform-origin: left;\n\t}\n\t/* Center Growth for Horizontal and Vertical Dividers */\n\t.horizontal.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t.vertical.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t/* Define Keyframes */\n\t@keyframes drawHorizontal {\n\t\tto {\n\t\t\ttransform: scaleX(1);\n\t\t}\n\t}\n\t@keyframes drawVertical {\n\t\tto {\n\t\t\ttransform: scaleY(1);\n\t\t}\n\t}\n\t/* Assign Animations Based on Grow Direction */\n\t.horizontal.grow-start {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-end {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-both {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\n\t.vertical.grow-start {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-end {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-both {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n`) {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true, type: String }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\tprotected render() {\n\t\tconst classes = {\n\t\t\tdivider: true,\n\t\t\thorizontal: this.orientation === 'horizontal',\n\t\t\tvertical: this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t\t[`grow-${this.grow}`]: true, // e.g., grow-start, grow-end, grow-both\n\t\t}\n\t\treturn html`<div class=\"${classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","super","arguments","this","outline","orientation","grow","render","classes","divider","horizontal","vertical","html","classMap","__decorateClass","property","type","String","prototype","reflect","customElement"],"mappings":"qcAOA,IAAqBA,EAArB,cAA6CC,EAAAA,YAAYC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAzD,CAAA,CAAA,cAAAC,MAAAC,GAAAA,SAAAA,EAkF8DC,KAAAC,QAAA,UACuBD,KAAAE,YAAA,aACvBF,KAAAG,KAAA,OAAA,CAEnD,QAAAC,CACT,MAAMC,EAAU,CACfC,WACAC,WAAYP,KAAKE,cAAgB,aACjCM,SAAUR,KAAKE,cAAgB,WAC/B,wBAAyBF,KAAKC,UAAY,UAC1C,iBAAkBD,KAAKC,UAAY,UACnC,CAAC,QAAQD,KAAKG,IAAS,EAAA,EAAA,EAAA,EAEjB,OAAAM,EAAAA,mBAAmBC,EAASA,SAAAL,CAAQ,CAAA,UAAA,CAAA,EAbhBM,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UAlFEnB,EAkFQoB,UAAA,UAAA,CACeJ,EAAAA,EAAA,CAA1CC,EAAAA,SAAS,CAAEI,QAAS,GAAMH,KAAMC,MAnFbnB,CAAAA,CAAAA,EAAAA,EAmFuBoB,UAAA,cAAA,CAAA,EACfJ,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UApFEnB,EAoFQoB,UAAA,OAAA,CApFRpB,EAAAA,EAArBgB,EAAA,CADCM,EAAAA,cAAc,kBACMtB,CAAAA,EAAAA,CAAAA"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import "rxjs";
|
|
2
|
+
import { classMap as m } from "lit/directives/class-map.js";
|
|
3
|
+
import "lit/directives/style-map.js";
|
|
4
|
+
import { $ as c } from "./litElement.mixin-kW4tqV-x.js";
|
|
5
|
+
import "./tailwind.mixin-D6m-sJmB.js";
|
|
6
|
+
import { css as f, html as h } from "lit";
|
|
7
|
+
import { property as d, customElement as v } from "lit/decorators.js";
|
|
8
|
+
var w = Object.defineProperty, g = Object.getOwnPropertyDescriptor, n = (t, i, e, a) => {
|
|
9
|
+
for (var s, r = a > 1 ? void 0 : a ? g(i, e) : i, l = t.length - 1; l >= 0; l--) (s = t[l]) && (r = (a ? s(i, e, r) : s(r)) || r);
|
|
10
|
+
return a && r && w(i, e, r), r;
|
|
11
|
+
};
|
|
12
|
+
let o = class extends c(f`
|
|
13
|
+
:host {
|
|
14
|
+
display: block;
|
|
15
|
+
overflow: hidden; /* Ensure the animation is clipped */
|
|
16
|
+
}
|
|
17
|
+
.divider {
|
|
18
|
+
/* Maintain existing border-based color logic */
|
|
19
|
+
border-color: var(--divider-color, currentColor);
|
|
20
|
+
}
|
|
21
|
+
/* Horizontal Divider */
|
|
22
|
+
.horizontal {
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: 1px;
|
|
25
|
+
border-top: 1px solid;
|
|
26
|
+
transform: scaleX(0);
|
|
27
|
+
transform-origin: var(--transform-origin, left);
|
|
28
|
+
animation: drawHorizontal var(--animation-duration, 1s) forwards;
|
|
29
|
+
}
|
|
30
|
+
/* Vertical Divider */
|
|
31
|
+
.vertical {
|
|
32
|
+
width: 1px;
|
|
33
|
+
height: 100%;
|
|
34
|
+
border-left: 1px solid;
|
|
35
|
+
transform: scaleY(0);
|
|
36
|
+
transform-origin: var(--transform-origin, top);
|
|
37
|
+
animation: drawVertical var(--animation-duration, 1s) forwards;
|
|
38
|
+
}
|
|
39
|
+
/* Outline Variants */
|
|
40
|
+
.border-outlineVariant {
|
|
41
|
+
/* Utilize existing outline variant styles */
|
|
42
|
+
border-color: var(--outline-variant-color, #555);
|
|
43
|
+
}
|
|
44
|
+
.border-outline {
|
|
45
|
+
/* Utilize existing default outline styles */
|
|
46
|
+
border-color: var(--outline-color, #000);
|
|
47
|
+
}
|
|
48
|
+
/* RTL Support for Horizontal Dividers */
|
|
49
|
+
:host([dir='rtl']) .horizontal.grow-start {
|
|
50
|
+
--transform-origin: right;
|
|
51
|
+
}
|
|
52
|
+
:host([dir='rtl']) .horizontal.grow-end {
|
|
53
|
+
--transform-origin: left;
|
|
54
|
+
}
|
|
55
|
+
/* Center Growth for Horizontal and Vertical Dividers */
|
|
56
|
+
.horizontal.grow-both {
|
|
57
|
+
--transform-origin: center;
|
|
58
|
+
}
|
|
59
|
+
.vertical.grow-both {
|
|
60
|
+
--transform-origin: center;
|
|
61
|
+
}
|
|
62
|
+
/* Define Keyframes */
|
|
63
|
+
@keyframes drawHorizontal {
|
|
64
|
+
to {
|
|
65
|
+
transform: scaleX(1);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
@keyframes drawVertical {
|
|
69
|
+
to {
|
|
70
|
+
transform: scaleY(1);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/* Assign Animations Based on Grow Direction */
|
|
74
|
+
.horizontal.grow-start {
|
|
75
|
+
animation: drawHorizontal var(--animation-duration, 1s) forwards;
|
|
76
|
+
}
|
|
77
|
+
.horizontal.grow-end {
|
|
78
|
+
animation: drawHorizontal var(--animation-duration, 1s) forwards;
|
|
79
|
+
}
|
|
80
|
+
.horizontal.grow-both {
|
|
81
|
+
animation: drawHorizontal var(--animation-duration, 1s) forwards;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.vertical.grow-start {
|
|
85
|
+
animation: drawVertical var(--animation-duration, 1s) forwards;
|
|
86
|
+
}
|
|
87
|
+
.vertical.grow-end {
|
|
88
|
+
animation: drawVertical var(--animation-duration, 1s) forwards;
|
|
89
|
+
}
|
|
90
|
+
.vertical.grow-both {
|
|
91
|
+
animation: drawVertical var(--animation-duration, 1s) forwards;
|
|
92
|
+
}
|
|
93
|
+
`) {
|
|
94
|
+
constructor() {
|
|
95
|
+
super(...arguments), this.outline = "variant", this.orientation = "horizontal", this.grow = "start";
|
|
96
|
+
}
|
|
97
|
+
render() {
|
|
98
|
+
const t = { divider: !0, horizontal: this.orientation === "horizontal", vertical: this.orientation === "vertical", "border-outlineVariant": this.outline === "variant", "border-outline": this.outline === "default", [`grow-${this.grow}`]: !0 };
|
|
99
|
+
return h`<div class="${m(t)}"></div>`;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
n([d({ type: String })], o.prototype, "outline", 2), n([d({ reflect: !0, type: String })], o.prototype, "orientation", 2), n([d({ type: String })], o.prototype, "grow", 2), o = n([v("schmancy-divider")], o);
|
|
103
|
+
//# sourceMappingURL=divider-DzwD07xW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"divider-DzwD07xW.js","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden; /* Ensure the animation is clipped */\n\t}\n\t.divider {\n\t\t/* Maintain existing border-based color logic */\n\t\tborder-color: var(--divider-color, currentColor);\n\t}\n\t/* Horizontal Divider */\n\t.horizontal {\n\t\twidth: 100%;\n\t\theight: 1px;\n\t\tborder-top: 1px solid;\n\t\ttransform: scaleX(0);\n\t\ttransform-origin: var(--transform-origin, left);\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t/* Vertical Divider */\n\t.vertical {\n\t\twidth: 1px;\n\t\theight: 100%;\n\t\tborder-left: 1px solid;\n\t\ttransform: scaleY(0);\n\t\ttransform-origin: var(--transform-origin, top);\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t/* Outline Variants */\n\t.border-outlineVariant {\n\t\t/* Utilize existing outline variant styles */\n\t\tborder-color: var(--outline-variant-color, #555);\n\t}\n\t.border-outline {\n\t\t/* Utilize existing default outline styles */\n\t\tborder-color: var(--outline-color, #000);\n\t}\n\t/* RTL Support for Horizontal Dividers */\n\t:host([dir='rtl']) .horizontal.grow-start {\n\t\t--transform-origin: right;\n\t}\n\t:host([dir='rtl']) .horizontal.grow-end {\n\t\t--transform-origin: left;\n\t}\n\t/* Center Growth for Horizontal and Vertical Dividers */\n\t.horizontal.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t.vertical.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t/* Define Keyframes */\n\t@keyframes drawHorizontal {\n\t\tto {\n\t\t\ttransform: scaleX(1);\n\t\t}\n\t}\n\t@keyframes drawVertical {\n\t\tto {\n\t\t\ttransform: scaleY(1);\n\t\t}\n\t}\n\t/* Assign Animations Based on Grow Direction */\n\t.horizontal.grow-start {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-end {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-both {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\n\t.vertical.grow-start {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-end {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-both {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n`) {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true, type: String }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\tprotected render() {\n\t\tconst classes = {\n\t\t\tdivider: true,\n\t\t\thorizontal: this.orientation === 'horizontal',\n\t\t\tvertical: this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t\t[`grow-${this.grow}`]: true, // e.g., grow-start, grow-end, grow-both\n\t\t}\n\t\treturn html`<div class=\"${classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","super","arguments","this","outline","orientation","grow","classes","divider","horizontal","vertical","html","classMap","__decorateClass","property","type","String","prototype","reflect","customElement"],"mappings":";;;;;;;;;;;AAOA,IAAqBA,IAArB,cAA6CC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAzD,EAAA;AAAA,EAAA;AAAAC,UAAAC,GAAAA,SAAAA,GAkF8DC,KAAAC,UAAA,WACuBD,KAAAE,cAAA,cACvBF,KAAAG,OAAA;AAAA,EAAA;AAAA,EAEnD,SACT;AAAA,UAAMC,IAAU,EACfC,SAAAA,IACAC,YAAYN,KAAKE,gBAAgB,cACjCK,UAAUP,KAAKE,gBAAgB,YAC/B,yBAAyBF,KAAKC,YAAY,WAC1C,kBAAkBD,KAAKC,YAAY,WACnC,CAAC,QAAQD,KAAKG,IAAS,EAAA,GAAA,GAAA;AAEjB,WAAAK,gBAAmBC,EAASL,CAAAA,CAAAA;AAAAA,EAAQ;;AAbhBM,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAlFElB,CAAAA,CAAAA,GAAAA,EAkFQmB,WAAA,WAAA,CAAA,GACeJ,EAAA,CAA1CC,EAAS,EAAEI,SAAS,IAAMH,MAAMC,OAAAA,CAAAA,CAAAA,GAnFblB,EAmFuBmB,WAAA,eAAA,IACfJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OApFElB,CAAAA,CAAAA,GAAAA,EAoFQmB,WAAA,QAAA,CAAA,GApFRnB,IAArBe,EAAA,CADCM,EAAc,kBACMrB,CAAAA,GAAAA,CAAAA;"}
|
package/dist/divider.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./divider-
|
|
1
|
+
"use strict";require("./divider-DcEj-C2P.cjs");
|
|
2
2
|
//# sourceMappingURL=divider.cjs.map
|
package/dist/divider.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./divider-
|
|
1
|
+
import "./divider-DzwD07xW.js";
|
|
2
2
|
//# sourceMappingURL=divider.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Subject as l, merge as u, fromEvent as r, tap as h, takeUntil as p } from "rxjs";
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { T as d } from "./tailwind.mixin-
|
|
4
|
+
import { T as d } from "./tailwind.mixin-D6m-sJmB.js";
|
|
5
5
|
import { html as y, LitElement as b, css as g } from "lit";
|
|
6
6
|
import { property as f, customElement as E } from "lit/decorators.js";
|
|
7
7
|
var v = Object.defineProperty, k = Object.getOwnPropertyDescriptor, m = (t, e, s, o) => {
|
|
@@ -70,4 +70,4 @@ i.tagName = "schmancy-form", i.shadowRootOptions = { ...b.shadowRootOptions, mod
|
|
|
70
70
|
display: block;
|
|
71
71
|
}
|
|
72
72
|
`, m([f({ type: Boolean, reflect: !0 })], i.prototype, "novalidate", 2), i = m([E("schmancy-form")], i);
|
|
73
|
-
//# sourceMappingURL=form-
|
|
73
|
+
//# sourceMappingURL=form-DG0Kj--R.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-CAYrAoRv.js","sources":["../src/form/form.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { LitElement, css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { fromEvent, merge, Subject, takeUntil, tap } from 'rxjs'\n\nexport interface FormEventMap {\n\tsubmit: CustomEvent<FormData>\n\treset: CustomEvent\n}\n\n/**\n * The form is a component used to collect user input from\n * interactive controls.\n *\n * @element schmancy-form\n *\n * @slot - Default slot for the form.\n *\n * @fires submit - Emitted when the form is submitted.\n * @fires reset - Emitted when the form is reset.\n */\n@customElement('schmancy-form')\nexport default class SchmancyForm extends TailwindElement() {\n\tprivate $disconnecting = new Subject()\n\tpublic static readonly tagName = 'schmancy-form'\n\ttabIndex = 0\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: false,\n\t}\n\tpublic static styles = css`\n\t\t:host {\n\t\t\theight: 100%;\n\t\t\twidth: 100%;\n\t\t\tdisplay: block;\n\t\t}\n\t`\n\n\tprivate _controlsWithChecked = [\n\t\t'input',\n\t\t'radio',\n\t\t'schmancy-radio',\n\t\t'schmancy-switch',\n\t\t'schmancy-checkbox',\n\t\t'schmancy-radio-group',\n\t\t'schmancy-autocomplete',\n\t]\n\tprivate _controlsWithValue = [\n\t\t'input',\n\t\t'schmancy-input',\n\t\t'schmancy-mask-input',\n\t\t'textarea',\n\t\t'schmancy-rating',\n\t\t'schmancy-select',\n\t\t'schmancy-combo',\n\t\t'schmancy-date-time-input',\n\t\t'schmancy-autocomplete',\n\t]\n\tprivate _controlsThatSubmit = ['button', 'schmancy-input', 'schmancy-button', 'schmancy-icon-button']\n\n\t/** Specifies if form data validation should be skipped on submit.\n\t * @attr novalidate\n\t * @type {boolean}\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) public novalidate = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tmerge(\n\t\t\tfromEvent<MouseEvent>(this, 'click').pipe(\n\t\t\t\ttap(e => {\n\t\t\t\t\tif ((e.target as HTMLButtonElement).type?.toLowerCase() === 'submit') this.handleSubmitRequest(e)\n\t\t\t\t}),\n\t\t\t),\n\t\t\tfromEvent<KeyboardEvent>(this, 'keydown').pipe(\n\t\t\t\ttap(e => {\n\t\t\t\t\tif (e.code === 'Enter' || e.key === 'Enter') {\n\t\t\t\t\t\tthis.handleSubmitRequest(e)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.$disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\t/** Submits the form. */\n\tpublic submit(): boolean {\n\t\tconst formData = this.getFormData()\n\t\tif (!this.novalidate && !this.reportValidity()) {\n\t\t\treturn false\n\t\t}\n\t\tthis.dispatchEvent(new CustomEvent('submit', { detail: formData }))\n\t\treturn true\n\t}\n\n\t/** Resets the form. */\n\tpublic reset() {\n\t\tconst formElements = this.getFormElements()\n\t\tformElements.forEach(element => {\n\t\t\tconst tagName = element.tagName.toLowerCase()\n\t\t\tif (tagName === 'select') {\n\t\t\t\tfor (let i = 0; i < element.options.length; i++) {\n\t\t\t\t\tconst option = element.options[i]\n\t\t\t\t\toption.selected = option.defaultSelected\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t(tagName === 'input' && (element.type === 'checkbox' || element.type == 'radio')) ||\n\t\t\t\t(tagName !== 'input' && this._controlsWithChecked.includes(tagName))\n\t\t\t) {\n\t\t\t\telement.checked = element.hasAttribute('checked')\n\t\t\t} else if (\n\t\t\t\ttagName === 'schmancy-input' ||\n\t\t\t\ttagName === 'schmancy-rating' ||\n\t\t\t\ttagName === 'schmancy-mask-input' ||\n\t\t\t\ttagName === 'schmancy-date-time-input'\n\t\t\t) {\n\t\t\t\telement.value = element.getAttribute('value')\n\t\t\t} else if (this._controlsWithValue.includes(tagName)) {\n\t\t\t\telement.value = element.defaultValue\n\t\t\t}\n\t\t})\n\t\tthis.dispatchEvent(new CustomEvent('reset'))\n\t}\n\n\tprivate getFormElements(): any[] {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tconst assignedElements = slot?.assignedElements({ flatten: true })\n\t\tconst formElements: any[] = []\n\t\tassignedElements?.forEach((element: any) => {\n\t\t\tif (!element.disabled) {\n\t\t\t\tformElements.push(element)\n\t\t\t}\n\t\t\tconst children = Array.from(element.getElementsByTagName('*')).filter((element: any) => !element.disabled)\n\t\t\tformElements.push(...children)\n\t\t})\n\n\t\treturn formElements\n\t}\n\n\tpublic getFormData() {\n\t\tconst formData = new FormData()\n\n\t\tconst formElements = this.getFormElements()\n\t\tformElements.forEach(element => {\n\t\t\tconst tagName = element.tagName.toLowerCase()\n\t\t\tif (tagName === 'select') {\n\t\t\t\tfor (let i = 0; i < element.options.length; i++) {\n\t\t\t\t\tconst option = element.options[i]\n\t\t\t\t\tif (option.selected) {\n\t\t\t\t\t\tformData.append(element.name, option.value)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this._controlsWithChecked.includes(tagName) && element.checked) {\n\t\t\t\tformData.append(element.name, element.value || 'on')\n\t\t\t} else if (\n\t\t\t\tthis._controlsWithValue.includes(tagName) &&\n\t\t\t\telement.type !== 'checkbox' &&\n\t\t\t\telement.type !== 'radio' &&\n\t\t\t\telement.type !== 'submit'\n\t\t\t) {\n\t\t\t\tformData.append(element.name, element.value)\n\t\t\t}\n\t\t})\n\n\t\treturn formData\n\t}\n\n\t/** Checks for validity of the form. */\n\tpublic reportValidity(): boolean {\n\t\tconst formElements = this.getFormElements()\n\t\treturn !formElements.some(\n\t\t\telement => typeof element.reportValidity === 'function' && element.reportValidity() === false,\n\t\t)\n\t}\n\n\tprivate handleSubmitRequest(event: MouseEvent | KeyboardEvent) {\n\t\tconst targetElement: any = event.target as HTMLElement\n\t\tif (this._controlsThatSubmit.includes(targetElement.tagName.toLowerCase())) {\n\t\t\tthis.submit()\n\t\t} else if (targetElement.type?.toLowerCase() === 'reset') {\n\t\t\tthis.reset()\n\t\t}\n\n\t\treturn true\n\t}\n\n\tprotected override render() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-form': SchmancyForm\n\t}\n}\n"],"names":["SchmancyForm","TailwindElement","constructor","super","this","$disconnecting","Subject","tabIndex","_controlsWithChecked","_controlsWithValue","_controlsThatSubmit","novalidate","merge","fromEvent","pipe","tap","e","target","type","toLowerCase","handleSubmitRequest","code","key","takeUntil","subscribe","formData","getFormData","reportValidity","dispatchEvent","CustomEvent","detail","getFormElements","forEach","element","tagName","i","options","length","option","selected","defaultSelected","includes","checked","hasAttribute","value","getAttribute","defaultValue","slot","shadowRoot","querySelector","assignedElements","flatten","formElements","disabled","push","children","Array","from","getElementsByTagName","filter","FormData","append","name","some","event","targetElement","submit","reset","html","shadowRootOptions","LitElement","mode","delegatesFocus","styles","css","__decorateClass","property","Boolean","reflect","prototype","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-DG0Kj--R.js","sources":["../src/form/form.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { LitElement, css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { fromEvent, merge, Subject, takeUntil, tap } from 'rxjs'\n\nexport interface FormEventMap {\n\tsubmit: CustomEvent<FormData>\n\treset: CustomEvent\n}\n\n/**\n * The form is a component used to collect user input from\n * interactive controls.\n *\n * @element schmancy-form\n *\n * @slot - Default slot for the form.\n *\n * @fires submit - Emitted when the form is submitted.\n * @fires reset - Emitted when the form is reset.\n */\n@customElement('schmancy-form')\nexport default class SchmancyForm extends TailwindElement() {\n\tprivate $disconnecting = new Subject()\n\tpublic static readonly tagName = 'schmancy-form'\n\ttabIndex = 0\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: false,\n\t}\n\tpublic static styles = css`\n\t\t:host {\n\t\t\theight: 100%;\n\t\t\twidth: 100%;\n\t\t\tdisplay: block;\n\t\t}\n\t`\n\n\tprivate _controlsWithChecked = [\n\t\t'input',\n\t\t'radio',\n\t\t'schmancy-radio',\n\t\t'schmancy-switch',\n\t\t'schmancy-checkbox',\n\t\t'schmancy-radio-group',\n\t\t'schmancy-autocomplete',\n\t]\n\tprivate _controlsWithValue = [\n\t\t'input',\n\t\t'schmancy-input',\n\t\t'schmancy-mask-input',\n\t\t'textarea',\n\t\t'schmancy-rating',\n\t\t'schmancy-select',\n\t\t'schmancy-combo',\n\t\t'schmancy-date-time-input',\n\t\t'schmancy-autocomplete',\n\t]\n\tprivate _controlsThatSubmit = ['button', 'schmancy-input', 'schmancy-button', 'schmancy-icon-button']\n\n\t/** Specifies if form data validation should be skipped on submit.\n\t * @attr novalidate\n\t * @type {boolean}\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) public novalidate = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tmerge(\n\t\t\tfromEvent<MouseEvent>(this, 'click').pipe(\n\t\t\t\ttap(e => {\n\t\t\t\t\tif ((e.target as HTMLButtonElement).type?.toLowerCase() === 'submit') this.handleSubmitRequest(e)\n\t\t\t\t}),\n\t\t\t),\n\t\t\tfromEvent<KeyboardEvent>(this, 'keydown').pipe(\n\t\t\t\ttap(e => {\n\t\t\t\t\tif (e.code === 'Enter' || e.key === 'Enter') {\n\t\t\t\t\t\tthis.handleSubmitRequest(e)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.$disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\t/** Submits the form. */\n\tpublic submit(): boolean {\n\t\tconst formData = this.getFormData()\n\t\tif (!this.novalidate && !this.reportValidity()) {\n\t\t\treturn false\n\t\t}\n\t\tthis.dispatchEvent(new CustomEvent('submit', { detail: formData }))\n\t\treturn true\n\t}\n\n\t/** Resets the form. */\n\tpublic reset() {\n\t\tconst formElements = this.getFormElements()\n\t\tformElements.forEach(element => {\n\t\t\tconst tagName = element.tagName.toLowerCase()\n\t\t\tif (tagName === 'select') {\n\t\t\t\tfor (let i = 0; i < element.options.length; i++) {\n\t\t\t\t\tconst option = element.options[i]\n\t\t\t\t\toption.selected = option.defaultSelected\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t(tagName === 'input' && (element.type === 'checkbox' || element.type == 'radio')) ||\n\t\t\t\t(tagName !== 'input' && this._controlsWithChecked.includes(tagName))\n\t\t\t) {\n\t\t\t\telement.checked = element.hasAttribute('checked')\n\t\t\t} else if (\n\t\t\t\ttagName === 'schmancy-input' ||\n\t\t\t\ttagName === 'schmancy-rating' ||\n\t\t\t\ttagName === 'schmancy-mask-input' ||\n\t\t\t\ttagName === 'schmancy-date-time-input'\n\t\t\t) {\n\t\t\t\telement.value = element.getAttribute('value')\n\t\t\t} else if (this._controlsWithValue.includes(tagName)) {\n\t\t\t\telement.value = element.defaultValue\n\t\t\t}\n\t\t})\n\t\tthis.dispatchEvent(new CustomEvent('reset'))\n\t}\n\n\tprivate getFormElements(): any[] {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tconst assignedElements = slot?.assignedElements({ flatten: true })\n\t\tconst formElements: any[] = []\n\t\tassignedElements?.forEach((element: any) => {\n\t\t\tif (!element.disabled) {\n\t\t\t\tformElements.push(element)\n\t\t\t}\n\t\t\tconst children = Array.from(element.getElementsByTagName('*')).filter((element: any) => !element.disabled)\n\t\t\tformElements.push(...children)\n\t\t})\n\n\t\treturn formElements\n\t}\n\n\tpublic getFormData() {\n\t\tconst formData = new FormData()\n\n\t\tconst formElements = this.getFormElements()\n\t\tformElements.forEach(element => {\n\t\t\tconst tagName = element.tagName.toLowerCase()\n\t\t\tif (tagName === 'select') {\n\t\t\t\tfor (let i = 0; i < element.options.length; i++) {\n\t\t\t\t\tconst option = element.options[i]\n\t\t\t\t\tif (option.selected) {\n\t\t\t\t\t\tformData.append(element.name, option.value)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this._controlsWithChecked.includes(tagName) && element.checked) {\n\t\t\t\tformData.append(element.name, element.value || 'on')\n\t\t\t} else if (\n\t\t\t\tthis._controlsWithValue.includes(tagName) &&\n\t\t\t\telement.type !== 'checkbox' &&\n\t\t\t\telement.type !== 'radio' &&\n\t\t\t\telement.type !== 'submit'\n\t\t\t) {\n\t\t\t\tformData.append(element.name, element.value)\n\t\t\t}\n\t\t})\n\n\t\treturn formData\n\t}\n\n\t/** Checks for validity of the form. */\n\tpublic reportValidity(): boolean {\n\t\tconst formElements = this.getFormElements()\n\t\treturn !formElements.some(\n\t\t\telement => typeof element.reportValidity === 'function' && element.reportValidity() === false,\n\t\t)\n\t}\n\n\tprivate handleSubmitRequest(event: MouseEvent | KeyboardEvent) {\n\t\tconst targetElement: any = event.target as HTMLElement\n\t\tif (this._controlsThatSubmit.includes(targetElement.tagName.toLowerCase())) {\n\t\t\tthis.submit()\n\t\t} else if (targetElement.type?.toLowerCase() === 'reset') {\n\t\t\tthis.reset()\n\t\t}\n\n\t\treturn true\n\t}\n\n\tprotected override render() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-form': SchmancyForm\n\t}\n}\n"],"names":["SchmancyForm","TailwindElement","constructor","super","this","$disconnecting","Subject","tabIndex","_controlsWithChecked","_controlsWithValue","_controlsThatSubmit","novalidate","merge","fromEvent","pipe","tap","e","target","type","toLowerCase","handleSubmitRequest","code","key","takeUntil","subscribe","formData","getFormData","reportValidity","dispatchEvent","CustomEvent","detail","getFormElements","forEach","element","tagName","i","options","length","option","selected","defaultSelected","includes","checked","hasAttribute","value","getAttribute","defaultValue","slot","shadowRoot","querySelector","assignedElements","flatten","formElements","disabled","push","children","Array","from","getElementsByTagName","filter","FormData","append","name","some","event","targetElement","submit","reset","html","shadowRootOptions","LitElement","mode","delegatesFocus","styles","css","__decorateClass","property","Boolean","reflect","prototype","customElement"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";const c=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./tailwind.mixin-
|
|
1
|
+
"use strict";const c=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./tailwind.mixin-Dts5Uk3L.cjs"),h=require("lit"),l=require("lit/decorators.js");var d=Object.defineProperty,p=Object.getOwnPropertyDescriptor,u=(e,t,s,n)=>{for(var i,o=n>1?void 0:n?p(t,s):t,r=e.length-1;r>=0;r--)(i=e[r])&&(o=(n?i(t,s,o):i(o))||o);return n&&o&&d(t,s,o),o};let a=class extends m.TailwindElement(){constructor(){super(),this.$disconnecting=new c.Subject,this.tabIndex=0,this._controlsWithChecked=["input","radio","schmancy-radio","schmancy-switch","schmancy-checkbox","schmancy-radio-group","schmancy-autocomplete"],this._controlsWithValue=["input","schmancy-input","schmancy-mask-input","textarea","schmancy-rating","schmancy-select","schmancy-combo","schmancy-date-time-input","schmancy-autocomplete"],this._controlsThatSubmit=["button","schmancy-input","schmancy-button","schmancy-icon-button"],this.novalidate=!1,c.merge(c.fromEvent(this,"click").pipe(c.tap(e=>{var t;((t=e.target.type)==null?void 0:t.toLowerCase())==="submit"&&this.handleSubmitRequest(e)})),c.fromEvent(this,"keydown").pipe(c.tap(e=>{e.code!=="Enter"&&e.key!=="Enter"||this.handleSubmitRequest(e)}))).pipe(c.takeUntil(this.$disconnecting)).subscribe()}submit(){const e=this.getFormData();return!(!this.novalidate&&!this.reportValidity())&&(this.dispatchEvent(new CustomEvent("submit",{detail:e})),!0)}reset(){this.getFormElements().forEach(e=>{const t=e.tagName.toLowerCase();if(t==="select")for(let s=0;s<e.options.length;s++){const n=e.options[s];n.selected=n.defaultSelected}else t==="input"&&(e.type==="checkbox"||e.type=="radio")||t!=="input"&&this._controlsWithChecked.includes(t)?e.checked=e.hasAttribute("checked"):t==="schmancy-input"||t==="schmancy-rating"||t==="schmancy-mask-input"||t==="schmancy-date-time-input"?e.value=e.getAttribute("value"):this._controlsWithValue.includes(t)&&(e.value=e.defaultValue)}),this.dispatchEvent(new CustomEvent("reset"))}getFormElements(){var n;const e=(n=this.shadowRoot)==null?void 0:n.querySelector("slot"),t=e==null?void 0:e.assignedElements({flatten:!0}),s=[];return t==null||t.forEach(i=>{i.disabled||s.push(i);const o=Array.from(i.getElementsByTagName("*")).filter(r=>!r.disabled);s.push(...o)}),s}getFormData(){const e=new FormData;return this.getFormElements().forEach(t=>{const s=t.tagName.toLowerCase();if(s==="select")for(let n=0;n<t.options.length;n++){const i=t.options[n];i.selected&&e.append(t.name,i.value)}else this._controlsWithChecked.includes(s)&&t.checked?e.append(t.name,t.value||"on"):this._controlsWithValue.includes(s)&&t.type!=="checkbox"&&t.type!=="radio"&&t.type!=="submit"&&e.append(t.name,t.value)}),e}reportValidity(){return!this.getFormElements().some(e=>typeof e.reportValidity=="function"&&e.reportValidity()===!1)}handleSubmitRequest(e){var s;const t=e.target;return this._controlsThatSubmit.includes(t.tagName.toLowerCase())?this.submit():((s=t.type)==null?void 0:s.toLowerCase())==="reset"&&this.reset(),!0}render(){return h.html`<slot></slot>`}};a.tagName="schmancy-form",a.shadowRootOptions={...h.LitElement.shadowRootOptions,mode:"open",delegatesFocus:!1},a.styles=h.css`
|
|
2
2
|
:host {
|
|
3
3
|
height: 100%;
|
|
4
4
|
width: 100%;
|
|
5
5
|
display: block;
|
|
6
6
|
}
|
|
7
7
|
`,u([l.property({type:Boolean,reflect:!0})],a.prototype,"novalidate",2),a=u([l.customElement("schmancy-form")],a);
|
|
8
|
-
//# sourceMappingURL=form-
|
|
8
|
+
//# sourceMappingURL=form-DpOSrAUQ.cjs.map
|