@mhmo91/schmancy 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{animated-text-CXWL8BLX.js → animated-text-B9SdI5HG.js} +3 -3
- package/dist/{animated-text-CXWL8BLX.js.map → animated-text-B9SdI5HG.js.map} +1 -1
- package/dist/{animated-text-Be1GRrxM.cjs → animated-text-nDP_F5VC.cjs} +2 -2
- package/dist/{animated-text-Be1GRrxM.cjs.map → animated-text-nDP_F5VC.cjs.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-lv5p1JAi.js → area.component-AMUgdMqi.js} +3 -3
- package/dist/{area.component-lv5p1JAi.js.map → area.component-AMUgdMqi.js.map} +1 -1
- package/dist/{area.component-BdOz0QVI.cjs → area.component-DpO04rGR.cjs} +2 -2
- package/dist/{area.component-BdOz0QVI.cjs.map → area.component-DpO04rGR.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-DUasFfQd.cjs → autocomplete-DRBBs-YO.cjs} +2 -2
- package/dist/{autocomplete-DUasFfQd.cjs.map → autocomplete-DRBBs-YO.cjs.map} +1 -1
- package/dist/{autocomplete-IIohssup.js → autocomplete-S7nz-gls.js} +3 -3
- package/dist/{autocomplete-IIohssup.js.map → autocomplete-S7nz-gls.js.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-rX1ai5aE.js → checkbox-DNbOp9CO.js} +2 -2
- package/dist/{checkbox-rX1ai5aE.js.map → checkbox-DNbOp9CO.js.map} +1 -1
- package/dist/{checkbox-UGSiC4-7.cjs → checkbox-DV_o7EFp.cjs} +2 -2
- package/dist/{checkbox-UGSiC4-7.cjs.map → checkbox-DV_o7EFp.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-DKyOFX0b.js → chips-B1DqsDUN.js} +3 -3
- package/dist/{chips-DKyOFX0b.js.map → chips-B1DqsDUN.js.map} +1 -1
- package/dist/{chips-42rqq7eR.cjs → chips-Cv0qcGHx.cjs} +2 -2
- package/dist/{chips-42rqq7eR.cjs.map → chips-Cv0qcGHx.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-Cv7J4zqk.js → date-range-BRkCPAff.js} +3 -3
- package/dist/{date-range-Cv7J4zqk.js.map → date-range-BRkCPAff.js.map} +1 -1
- package/dist/{date-range-Dx0X9XkD.cjs → date-range-CY-DT-VU.cjs} +2 -2
- package/dist/{date-range-Dx0X9XkD.cjs.map → date-range-CY-DT-VU.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-DDTFbzUT.js → delay-B7VUwnDz.js} +2 -2
- package/dist/{delay-DDTFbzUT.js.map → delay-B7VUwnDz.js.map} +1 -1
- package/dist/{delay-BknG_sX0.cjs → delay-BPyG3Kp9.cjs} +2 -2
- package/dist/{delay-BknG_sX0.cjs.map → delay-BPyG3Kp9.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{divider-CA2cFFcc.cjs → divider-B_ON7uf5.cjs} +2 -2
- package/dist/{divider-CA2cFFcc.cjs.map → divider-B_ON7uf5.cjs.map} +1 -1
- package/dist/{divider-LocxHBJv.js → divider-DpHFBFrA.js} +3 -3
- package/dist/{divider-LocxHBJv.js.map → divider-DpHFBFrA.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{form-BV79BLFu.js → form-DD-SYyrx.js} +2 -2
- package/dist/{form-BV79BLFu.js.map → form-DD-SYyrx.js.map} +1 -1
- package/dist/{form-RAgk2SSz.cjs → form-jopPseAf.cjs} +2 -2
- package/dist/{form-RAgk2SSz.cjs.map → form-jopPseAf.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-DBIGGdxd.cjs → icon-C_FPBlRN.cjs} +2 -2
- package/dist/{icon-DBIGGdxd.cjs.map → icon-C_FPBlRN.cjs.map} +1 -1
- package/dist/{icon-DMom-EmW.js → icon-Dl79Z-46.js} +3 -3
- package/dist/{icon-DMom-EmW.js.map → icon-Dl79Z-46.js.map} +1 -1
- package/dist/{icon-button-B1siCgt2.js → icon-button-BkcXisF4.js} +3 -3
- package/dist/{icon-button-B1siCgt2.js.map → icon-button-BkcXisF4.js.map} +1 -1
- package/dist/{icon-button-cP-S-rgo.cjs → icon-button-C5VXKLyn.cjs} +2 -2
- package/dist/{icon-button-cP-S-rgo.cjs.map → icon-button-C5VXKLyn.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 +92 -92
- package/dist/index.js.map +1 -1
- package/dist/{input-JeE5xI6K.js → input-Dv_d3Ube.js} +2 -2
- package/dist/{input-JeE5xI6K.js.map → input-Dv_d3Ube.js.map} +1 -1
- package/dist/{input-BE2Nmifh.cjs → input-DzOE-efI.cjs} +2 -2
- package/dist/{input-BE2Nmifh.cjs.map → input-DzOE-efI.cjs.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-BQQ8SViR.js → litElement.mixin-BcBF7FRS.js} +2 -2
- package/dist/{litElement.mixin-BQQ8SViR.js.map → litElement.mixin-BcBF7FRS.js.map} +1 -1
- package/dist/{litElement.mixin-T2hfvva-.cjs → litElement.mixin-IGVWivq2.cjs} +2 -2
- package/dist/{litElement.mixin-T2hfvva-.cjs.map → litElement.mixin-IGVWivq2.cjs.map} +1 -1
- package/dist/{menu-CcoCzR8e.cjs → menu-BMJZsO7u.cjs} +2 -2
- package/dist/{menu-CcoCzR8e.cjs.map → menu-BMJZsO7u.cjs.map} +1 -1
- package/dist/{menu-HLuts8V3.js → menu-CDsJkpu5.js} +3 -3
- package/dist/{menu-HLuts8V3.js.map → menu-CDsJkpu5.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins/tailwind.css +392 -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-Bzi4aanD.cjs → option-1bQVbrEt.cjs} +2 -2
- package/dist/{option-Bzi4aanD.cjs.map → option-1bQVbrEt.cjs.map} +1 -1
- package/dist/{option-C5egpChO.js → option-DIpHfpFS.js} +2 -2
- package/dist/{option-C5egpChO.js.map → option-DIpHfpFS.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{outlet-CQ6YXEen.cjs → outlet-BvAT4m3r.cjs} +2 -2
- package/dist/{outlet-CQ6YXEen.cjs.map → outlet-BvAT4m3r.cjs.map} +1 -1
- package/dist/{outlet-CXxpQ37y.js → outlet-Ci9xMSJ0.js} +2 -2
- package/dist/{outlet-CXxpQ37y.js.map → outlet-Ci9xMSJ0.js.map} +1 -1
- package/dist/{payment-card-form-DNI4IjK7.cjs → payment-card-form-Cd66MCeM.cjs} +2 -2
- package/dist/{payment-card-form-DNI4IjK7.cjs.map → payment-card-form-Cd66MCeM.cjs.map} +1 -1
- package/dist/{payment-card-form-BNCVkn4A.js → payment-card-form-DrWyUhkX.js} +3 -3
- package/dist/{payment-card-form-BNCVkn4A.js.map → payment-card-form-DrWyUhkX.js.map} +1 -1
- package/dist/{radio-group-CPmdicYZ.js → radio-group-DwAtByja.js} +2 -2
- package/dist/{radio-group-CPmdicYZ.js.map → radio-group-DwAtByja.js.map} +1 -1
- package/dist/{radio-group-DiecmCUy.cjs → radio-group-SlWpazT2.cjs} +2 -2
- package/dist/{radio-group-DiecmCUy.cjs.map → radio-group-SlWpazT2.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{scroll-C2AdiqOm.js → scroll-BFAm-L6v.js} +2 -2
- package/dist/{scroll-C2AdiqOm.js.map → scroll-BFAm-L6v.js.map} +1 -1
- package/dist/{scroll-CmQioZO_.cjs → scroll-CFfZT7gH.cjs} +2 -2
- package/dist/{scroll-CmQioZO_.cjs.map → scroll-CFfZT7gH.cjs.map} +1 -1
- package/dist/{select-BPPcWB35.cjs → select-Bq3rx22N.cjs} +2 -2
- package/dist/{select-BPPcWB35.cjs.map → select-Bq3rx22N.cjs.map} +1 -1
- package/dist/{select-CHqzliGG.js → select-D1iuS17j.js} +3 -3
- package/dist/{select-CHqzliGG.js.map → select-D1iuS17j.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-KV0oZtrR.cjs → sheet-CiWmylhJ.cjs} +2 -2
- package/dist/{sheet-KV0oZtrR.cjs.map → sheet-CiWmylhJ.cjs.map} +1 -1
- package/dist/{sheet-CGmu7xn7.js → sheet-DRevGqjY.js} +3 -3
- package/dist/{sheet-CGmu7xn7.js.map → sheet-DRevGqjY.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-D8zKzxgN.cjs → slider-CR1AnZQy.cjs} +2 -2
- package/dist/{slider-D8zKzxgN.cjs.map → slider-CR1AnZQy.cjs.map} +1 -1
- package/dist/{slider-D-M3pFtn.js → slider-Dqe5E2F9.js} +3 -3
- package/dist/{slider-D-M3pFtn.js.map → slider-Dqe5E2F9.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-C-2I7yH9.cjs → spinner-gZpHGbro.cjs} +2 -2
- package/dist/{spinner-C-2I7yH9.cjs.map → spinner-gZpHGbro.cjs.map} +1 -1
- package/dist/{spinner-Bxpq8jN0.js → spinner-tOzccpuH.js} +3 -3
- package/dist/{spinner-Bxpq8jN0.js.map → spinner-tOzccpuH.js.map} +1 -1
- package/dist/{surface-B0Wpttcp.js → surface-PcBZIgVN.js} +2 -2
- package/dist/{surface-B0Wpttcp.js.map → surface-PcBZIgVN.js.map} +1 -1
- package/dist/{surface-K6V6QGZ7.cjs → surface-teeIR4jt.cjs} +2 -2
- package/dist/{surface-K6V6QGZ7.cjs.map → surface-teeIR4jt.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CNa5CVCb.cjs → table-D0scRpUa.cjs} +2 -2
- package/dist/{table-CNa5CVCb.cjs.map → table-D0scRpUa.cjs.map} +1 -1
- package/dist/{table-DXYjwhsS.js → table-Dfip6wRe.js} +2 -2
- package/dist/{table-DXYjwhsS.js.map → table-Dfip6wRe.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-jVXSw4vO.js → tabs-group-BUtko5gD.js} +2 -2
- package/dist/{tabs-group-jVXSw4vO.js.map → tabs-group-BUtko5gD.js.map} +1 -1
- package/dist/{tabs-group-B6L2cvkm.cjs → tabs-group-D469QufO.cjs} +2 -2
- package/dist/{tabs-group-B6L2cvkm.cjs.map → tabs-group-D469QufO.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Cwk3HTxV.js +43 -0
- package/dist/{tailwind.mixin-DZctuRzi.js.map → tailwind.mixin-Cwk3HTxV.js.map} +1 -1
- package/dist/tailwind.mixin-TcrSCY6e.cjs +2 -0
- package/dist/{tailwind.mixin-BXsGUMQ1.cjs.map → tailwind.mixin-TcrSCY6e.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.component-CJ1tlZZL.cjs +173 -0
- package/dist/teleport.component-CJ1tlZZL.cjs.map +1 -0
- package/dist/{theme-button-BQZkb1t4.js → teleport.component-CgNOwz49.js} +177 -188
- package/dist/teleport.component-CgNOwz49.js.map +1 -0
- package/dist/teleport.js +1 -1
- package/dist/{textarea-Buxkp6z0.js → textarea-BRE-ZxNE.js} +2 -2
- package/dist/{textarea-Buxkp6z0.js.map → textarea-BRE-ZxNE.js.map} +1 -1
- package/dist/{textarea-B6Pl8Y2D.cjs → textarea-Dd0cdn5f.cjs} +2 -2
- package/dist/{textarea-B6Pl8Y2D.cjs.map → textarea-Dd0cdn5f.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/theme-button-B3n5iZsE.js +26 -0
- package/dist/theme-button-B3n5iZsE.js.map +1 -0
- package/dist/theme-button-BYxPN54_.cjs +9 -0
- package/dist/theme-button-BYxPN54_.cjs.map +1 -0
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.component-CqFcwW_5.cjs +3 -0
- package/dist/theme.component-CqFcwW_5.cjs.map +1 -0
- package/dist/theme.component-DELqRYyh.js +725 -0
- package/dist/theme.component-DELqRYyh.js.map +1 -0
- package/dist/theme.js +4 -5
- package/dist/{tree-7PVEhRCU.js → tree-C-rEmlo4.js} +2 -2
- package/dist/{tree-7PVEhRCU.js.map → tree-C-rEmlo4.js.map} +1 -1
- package/dist/{tree-nmdWfp9I.cjs → tree-C38O9nQ9.cjs} +2 -2
- package/dist/{tree-nmdWfp9I.cjs.map → tree-C38O9nQ9.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-ZnPAe8JA.js → typewriter-BJW4ypAk.js} +4 -4
- package/dist/{typewriter-ZnPAe8JA.js.map → typewriter-BJW4ypAk.js.map} +1 -1
- package/dist/{typewriter-DnGkvyDG.cjs → typewriter-BdsCux99.cjs} +2 -2
- package/dist/{typewriter-DnGkvyDG.cjs.map → typewriter-BdsCux99.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-oGjgh4qJ.cjs → typography-BAI6fEiW.cjs} +2 -2
- package/dist/{typography-oGjgh4qJ.cjs.map → typography-BAI6fEiW.cjs.map} +1 -1
- package/dist/{typography-L0ZKDX-X.js → typography-BFPivXLr.js} +2 -2
- package/dist/{typography-L0ZKDX-X.js.map → typography-BFPivXLr.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/nav-drawer/navbar.d.ts +3 -1
- package/types/src/theme/index.d.ts +1 -2
- package/types/src/theme/theme.component.d.ts +18 -0
- package/dist/dynamicTheme-BYlTubq6.cjs +0 -3
- package/dist/dynamicTheme-BYlTubq6.cjs.map +0 -1
- package/dist/dynamicTheme-DYtQDYE_.js +0 -721
- package/dist/dynamicTheme-DYtQDYE_.js.map +0 -1
- package/dist/tailwind.mixin-BXsGUMQ1.cjs +0 -2
- package/dist/tailwind.mixin-DZctuRzi.js +0 -43
- package/dist/theme-button-BQZkb1t4.js.map +0 -1
- package/dist/theme-button-CWM-0CJh.cjs +0 -180
- package/dist/theme-button-CWM-0CJh.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-BE2Nmifh.cjs","sources":["../src/input/input.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html, nothing } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map } from 'rxjs'\nimport style from './input.scss?inline'\n@customElement('schmancy-input')\nexport default class SchmancyInput extends TailwindElement(style) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\tstatic formAssociated = true\n\t// private internals\n\tinternals: ElementInternals | undefined\n\tinputRef = createRef<HTMLInputElement>()\n\n\t/**\n\t * The label of the control.\n\t * @attr\n\t * @type {string} label\n\t * @default ''\n\t * @public\n\t */\n\t@property() label = ''\n\n\t/**\n\t * The type of the control.\n\t * @attr\n\t * @type {'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url' | 'date' | 'datetime' | 'time' | 'month' | 'week' | 'color' | 'file'}\n\t * @default 'text'\n\t * @public\n\t **/\n\t@property({ reflect: true }) public type:\n\t\t| 'email'\n\t\t| 'number'\n\t\t| 'password'\n\t\t| 'search'\n\t\t| 'tel'\n\t\t| 'text'\n\t\t| 'url'\n\t\t| 'date'\n\t\t| 'datetime'\n\t\t| 'time'\n\t\t| 'month'\n\t\t| 'week'\n\t\t| 'color'\n\t\t| 'file' = 'text'\n\n\t@property({ type: Boolean, reflect: true }) public clickable = false\n\n\t/**\n\t * The name of the control.\n\t * @attr name\n\t * @type {string} name\n\t * @default 'name_' + Date.now()\n\t * @public\n\t */\n\t@property() name = 'name_' + Date.now()\n\n\t/**\n\t * The placeholder of the control.\n\t * @attr placeholder\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property() placeholder = ''\n\n\t/**\n\t * The value of the control.\n\t * @attr {string} value - The value of the control.\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) public value = ''\n\n\t/**\n\t * The pattern attribute of the control.\n\t * @attr\n\t * @type {string}\n\t * @default undefiend\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) pattern\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) readonly = false\n\t@property({ type: Boolean, reflect: true }) spellcheck = false\n\n\t@property({ type: String, reflect: true }) align: 'left' | 'center' | 'right' = 'left'\n\t/**\n\t * The inputmode attribute of the control.\n\t * @attr\n\t * @type {'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'}\n\t * @default 'none'\n\t * @public\n\t */\n\t@property() public inputmode!: 'none' | 'txt' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'\n\t/**\n\t * The minlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic minlength: number | undefined\n\n\t/**\n\t * The maxlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic maxlength!: number\n\n\t/**\n\t * The min attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic min!: string\n\n\t/**\n\t * The max attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic max!: string\n\n\t/**\n\t * The step attribute of the control.\n\t * @attr\n\t */\n\t@property({\n\t\ttype: Number,\n\t\treflect: true,\n\t})\n\tpublic step!: number\n\n\t/**\n\t * The autofocus attribute of the control.\n\t * @attr\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpublic override autofocus!: boolean\n\n\t/**\n\t * The autocomplete attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic autocomplete: AutoFill = 'off'\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('input') inputElement!: HTMLInputElement\n\n\t@property() hint: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) public error = false\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tfromEvent(this.inputElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLInputElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent(this.inputElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLInputElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.inputElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLInputElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent<AnimationEvent>(this.inputElement, 'animationstart')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => (event as AnimationEvent).animationName === 'onAutoFillStart'),\n\t\t\t\tmap(event => (event.target as HTMLInputElement).value),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\t/** Checks for validity of the control and shows the browser message if it's invalid. */\n\tpublic reportValidity() {\n\t\treturn this.inputRef.value?.reportValidity()\n\t}\n\n\t/** Checks for validity of the control and emits the invalid event if it invalid. */\n\tpublic checkValidity() {\n\t\treturn this.inputRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.inputRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the input. */\n\tpublic select() {\n\t\treturn this.inputRef.value?.select()\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.inputRef.value?.validity\n\t}\n\n\tpublic override focus(\n\t\toptions: FocusOptions = {\n\t\t\tpreventScroll: true,\n\t\t},\n\t) {\n\t\tthis.inputRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.inputRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.inputRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'w-full flex-1 h-[50px] rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px]': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t'ring-primary-default ring-outline focus:ring-primary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t'caret-transparent focus:outline-hidden cursor-pointer text-select-none': this.readonly,\n\t\t\t'cursor-pointer': this.clickable,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t// read only\n\t\t}\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\n\t\t}\n\t\treturn html`\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() =>\n\t\t\t\t\thtml`<label\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"${this.classMap(labelClasses)}\"\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>`,\n\t\t\t)}\n\n\t\t\t<input\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t})}\n\t\t\t\t${ref(this.inputRef)}\n\t\t\t\t.value=${this.value}\n\t\t\t\t.id=${this.id}\n\t\t\t\t.name=${this.name}\n\t\t\t\t.type=${this.type}\n\t\t\t\tstep=${ifDefined(this.step)}\n\t\t\t\t.autocomplete=${this.autocomplete}\n\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t.required=${this.required}\n\t\t\t\tinputmode=${ifDefined(this.inputmode)}\n\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t.readOnly=${this.readonly}\n\t\t\t\tmin=${ifDefined(this.min)}\n\t\t\t\tmax=${ifDefined(this.max)}\n\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t.pattern=${ifDefined(this.pattern) ?? nothing}\n\t\t\t/>\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<schmancy-typography\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"pt-[4px]\"\n\t\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t\ttoken=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t`,\n\t\t\t)}\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyInputChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-input': SchmancyInput\n\t}\n}\n"],"names":["SchmancyInput","TailwindElement","constructor","super","this","inputRef","createRef","label","type","clickable","name","Date","now","placeholder","value","required","disabled","readonly","spellcheck","align","autocomplete","tabIndex","error","internals","attachInternals","undefined","autofocus","focus","fromEvent","inputElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","animationName","form","reportValidity","checkValidity","message","setCustomValidity","select","validity","options","preventScroll","Event","click","blur","classes","labelClasses","html","when","color","SchmancyTheme","sys","default","primary","classMap","id","bgColor","surface","highest","on","ref","ifDefined","step","inputmode","min","max","minlength","maxlength","pattern","nothing","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","reflect","Boolean","String","Number","query","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input-DzOE-efI.cjs","sources":["../src/input/input.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html, nothing } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map } from 'rxjs'\nimport style from './input.scss?inline'\n@customElement('schmancy-input')\nexport default class SchmancyInput extends TailwindElement(style) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\tstatic formAssociated = true\n\t// private internals\n\tinternals: ElementInternals | undefined\n\tinputRef = createRef<HTMLInputElement>()\n\n\t/**\n\t * The label of the control.\n\t * @attr\n\t * @type {string} label\n\t * @default ''\n\t * @public\n\t */\n\t@property() label = ''\n\n\t/**\n\t * The type of the control.\n\t * @attr\n\t * @type {'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url' | 'date' | 'datetime' | 'time' | 'month' | 'week' | 'color' | 'file'}\n\t * @default 'text'\n\t * @public\n\t **/\n\t@property({ reflect: true }) public type:\n\t\t| 'email'\n\t\t| 'number'\n\t\t| 'password'\n\t\t| 'search'\n\t\t| 'tel'\n\t\t| 'text'\n\t\t| 'url'\n\t\t| 'date'\n\t\t| 'datetime'\n\t\t| 'time'\n\t\t| 'month'\n\t\t| 'week'\n\t\t| 'color'\n\t\t| 'file' = 'text'\n\n\t@property({ type: Boolean, reflect: true }) public clickable = false\n\n\t/**\n\t * The name of the control.\n\t * @attr name\n\t * @type {string} name\n\t * @default 'name_' + Date.now()\n\t * @public\n\t */\n\t@property() name = 'name_' + Date.now()\n\n\t/**\n\t * The placeholder of the control.\n\t * @attr placeholder\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property() placeholder = ''\n\n\t/**\n\t * The value of the control.\n\t * @attr {string} value - The value of the control.\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) public value = ''\n\n\t/**\n\t * The pattern attribute of the control.\n\t * @attr\n\t * @type {string}\n\t * @default undefiend\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) pattern\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) readonly = false\n\t@property({ type: Boolean, reflect: true }) spellcheck = false\n\n\t@property({ type: String, reflect: true }) align: 'left' | 'center' | 'right' = 'left'\n\t/**\n\t * The inputmode attribute of the control.\n\t * @attr\n\t * @type {'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'}\n\t * @default 'none'\n\t * @public\n\t */\n\t@property() public inputmode!: 'none' | 'txt' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'\n\t/**\n\t * The minlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic minlength: number | undefined\n\n\t/**\n\t * The maxlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic maxlength!: number\n\n\t/**\n\t * The min attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic min!: string\n\n\t/**\n\t * The max attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic max!: string\n\n\t/**\n\t * The step attribute of the control.\n\t * @attr\n\t */\n\t@property({\n\t\ttype: Number,\n\t\treflect: true,\n\t})\n\tpublic step!: number\n\n\t/**\n\t * The autofocus attribute of the control.\n\t * @attr\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpublic override autofocus!: boolean\n\n\t/**\n\t * The autocomplete attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic autocomplete: AutoFill = 'off'\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('input') inputElement!: HTMLInputElement\n\n\t@property() hint: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) public error = false\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tfromEvent(this.inputElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLInputElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent(this.inputElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLInputElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.inputElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLInputElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent<AnimationEvent>(this.inputElement, 'animationstart')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => (event as AnimationEvent).animationName === 'onAutoFillStart'),\n\t\t\t\tmap(event => (event.target as HTMLInputElement).value),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\t/** Checks for validity of the control and shows the browser message if it's invalid. */\n\tpublic reportValidity() {\n\t\treturn this.inputRef.value?.reportValidity()\n\t}\n\n\t/** Checks for validity of the control and emits the invalid event if it invalid. */\n\tpublic checkValidity() {\n\t\treturn this.inputRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.inputRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the input. */\n\tpublic select() {\n\t\treturn this.inputRef.value?.select()\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.inputRef.value?.validity\n\t}\n\n\tpublic override focus(\n\t\toptions: FocusOptions = {\n\t\t\tpreventScroll: true,\n\t\t},\n\t) {\n\t\tthis.inputRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.inputRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.inputRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'w-full flex-1 h-[50px] rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px]': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t'ring-primary-default ring-outline focus:ring-primary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t'caret-transparent focus:outline-hidden cursor-pointer text-select-none': this.readonly,\n\t\t\t'cursor-pointer': this.clickable,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t// read only\n\t\t}\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\n\t\t}\n\t\treturn html`\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() =>\n\t\t\t\t\thtml`<label\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"${this.classMap(labelClasses)}\"\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>`,\n\t\t\t)}\n\n\t\t\t<input\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t})}\n\t\t\t\t${ref(this.inputRef)}\n\t\t\t\t.value=${this.value}\n\t\t\t\t.id=${this.id}\n\t\t\t\t.name=${this.name}\n\t\t\t\t.type=${this.type}\n\t\t\t\tstep=${ifDefined(this.step)}\n\t\t\t\t.autocomplete=${this.autocomplete}\n\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t.required=${this.required}\n\t\t\t\tinputmode=${ifDefined(this.inputmode)}\n\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t.readOnly=${this.readonly}\n\t\t\t\tmin=${ifDefined(this.min)}\n\t\t\t\tmax=${ifDefined(this.max)}\n\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t.pattern=${ifDefined(this.pattern) ?? nothing}\n\t\t\t/>\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<schmancy-typography\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"pt-[4px]\"\n\t\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t\ttoken=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t`,\n\t\t\t)}\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyInputChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-input': SchmancyInput\n\t}\n}\n"],"names":["SchmancyInput","TailwindElement","constructor","super","this","inputRef","createRef","label","type","clickable","name","Date","now","placeholder","value","required","disabled","readonly","spellcheck","align","autocomplete","tabIndex","error","internals","attachInternals","undefined","autofocus","focus","fromEvent","inputElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","animationName","form","reportValidity","checkValidity","message","setCustomValidity","select","validity","options","preventScroll","Event","click","blur","classes","labelClasses","html","when","color","SchmancyTheme","sys","default","primary","classMap","id","bgColor","surface","highest","on","ref","ifDefined","step","inputmode","min","max","minlength","maxlength","pattern","nothing","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","reflect","Boolean","String","Number","query","customElement"],"mappings":"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"}
|
package/dist/input.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./input-
|
|
1
|
+
"use strict";require("./input-DzOE-efI.cjs");
|
|
2
2
|
//# sourceMappingURL=input.cjs.map
|
package/dist/input.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./input-
|
|
1
|
+
import "./input-Dv_d3Ube.js";
|
|
2
2
|
//# sourceMappingURL=input.js.map
|
package/dist/layout.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./scroll-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./scroll-CFfZT7gH.cjs");Object.defineProperty(exports,"SchmancyFlex",{enumerable:!0,get:()=>e.SchmancyFlex}),Object.defineProperty(exports,"SchmancyGrid",{enumerable:!0,get:()=>e.SchmancyGrid}),Object.defineProperty(exports,"SchmancyScroll",{enumerable:!0,get:()=>e.SchmancyScroll});
|
|
2
2
|
//# sourceMappingURL=layout.cjs.map
|
package/dist/layout.js
CHANGED
package/dist/list.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-CJ1tlZZL.cjs");Object.defineProperty(exports,"List",{enumerable:!0,get:()=>e.List}),Object.defineProperty(exports,"SchmancyListItem",{enumerable:!0,get:()=>e.SchmancyListItem});
|
|
2
2
|
//# sourceMappingURL=list.cjs.map
|
package/dist/list.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as t, T as r } from "./tailwind.mixin-
|
|
1
|
+
import { B as t, T as r } from "./tailwind.mixin-Cwk3HTxV.js";
|
|
2
2
|
const n = (s) => {
|
|
3
3
|
class e extends t(r(s)) {
|
|
4
4
|
constructor() {
|
|
@@ -12,4 +12,4 @@ const n = (s) => {
|
|
|
12
12
|
export {
|
|
13
13
|
n as $
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=litElement.mixin-
|
|
15
|
+
//# sourceMappingURL=litElement.mixin-BcBF7FRS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"litElement.mixin-
|
|
1
|
+
{"version":3,"file":"litElement.mixin-BcBF7FRS.js","sources":["../mixins/litElement.mixin.ts"],"sourcesContent":["import { CSSResult, LitElement } from 'lit'\nimport { TailwindElement } from './tailwind.mixin'\nimport { BaseElement, IBaseMixin } from './baseElement'\nimport { Constructor } from './constructor'\n\nexport const $LitElement = <T extends CSSResult>(componentStyle?: T) => {\n\tclass TailwindMixinClass extends BaseElement(TailwindElement(componentStyle)) {\n\t\tdisconnectedCallback = () => {\n\t\t\tsuper.disconnectedCallback()\n\t\t}\n\t}\n\treturn TailwindMixinClass as CustomElementConstructor &\n\t\tConstructor<LitElement> &\n\t\tConstructor<IBaseMixin> /* see \"typing the subclass\" below */\n}\n"],"names":["$LitElement","componentStyle","TailwindMixinClass","BaseElement","TailwindElement","super","arguments","this","disconnectedCallback"],"mappings":";AAKa,MAAAA,IAAoCC,CAAAA;EAChD,MAAMC,UAA2BC,EAAYC,EAAgBH,CAA7D,CAAA,EAAA;AAAA,IAAA;AAAAI,YAAAC,GAAAA,SAAAA,GACCC,KAAAC,uBAAuB,MACtBH;AAAAA,cAAMG;MAAqB;AAAA,IAC5B;AAAA,EAAA;AAEM,SAAAN;AAAA;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("./tailwind.mixin-
|
|
2
|
-
//# sourceMappingURL=litElement.mixin-
|
|
1
|
+
"use strict";const e=require("./tailwind.mixin-TcrSCY6e.cjs");exports.$LitElement=t=>{class s extends e.BaseElement(e.TailwindElement(t)){constructor(){super(...arguments),this.disconnectedCallback=()=>{super.disconnectedCallback()}}}return s};
|
|
2
|
+
//# sourceMappingURL=litElement.mixin-IGVWivq2.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"litElement.mixin-
|
|
1
|
+
{"version":3,"file":"litElement.mixin-IGVWivq2.cjs","sources":["../mixins/litElement.mixin.ts"],"sourcesContent":["import { CSSResult, LitElement } from 'lit'\nimport { TailwindElement } from './tailwind.mixin'\nimport { BaseElement, IBaseMixin } from './baseElement'\nimport { Constructor } from './constructor'\n\nexport const $LitElement = <T extends CSSResult>(componentStyle?: T) => {\n\tclass TailwindMixinClass extends BaseElement(TailwindElement(componentStyle)) {\n\t\tdisconnectedCallback = () => {\n\t\t\tsuper.disconnectedCallback()\n\t\t}\n\t}\n\treturn TailwindMixinClass as CustomElementConstructor &\n\t\tConstructor<LitElement> &\n\t\tConstructor<IBaseMixin> /* see \"typing the subclass\" below */\n}\n"],"names":["componentStyle","TailwindMixinClass","BaseElement","TailwindElement","constructor","super","arguments","this","disconnectedCallback"],"mappings":"kFAKiDA,GAAAA,CAChD,MAAMC,UAA2BC,EAAAA,YAAYC,kBAAgBH,IAA7D,aAAAI,CAAAC,MAAAC,GAAAA,SAAAA,EACCC,KAAAC,qBAAuB,IACtBH,CAAAA,MAAMG,qBAAqB,CAAA,CAC5B,CAEM,CAAA,OAAAP,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("./litElement.mixin-
|
|
1
|
+
"use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("./litElement.mixin-IGVWivq2.cjs"),b=require("./tailwind.mixin-TcrSCY6e.cjs"),p=require("lit"),l=require("lit/decorators.js"),m=require("@floating-ui/dom");var y=Object.defineProperty,f=Object.getOwnPropertyDescriptor;let h=class extends d.$LitElement(p.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
}
|
|
@@ -28,4 +28,4 @@
|
|
|
28
28
|
<slot></slot>
|
|
29
29
|
</schmancy-list>
|
|
30
30
|
`}};u([l.state()],c.prototype,"open",2),u([l.queryAssignedElements({flatten:!0,slot:"button"})],c.prototype,"buttonElement",2),u([l.query("#menu")],c.prototype,"menuElement",2),c=u([l.customElement("schmancy-menu")],c);
|
|
31
|
-
//# sourceMappingURL=menu-
|
|
31
|
+
//# sourceMappingURL=menu-BMJZsO7u.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-
|
|
1
|
+
{"version":3,"file":"menu-BMJZsO7u.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { from, fromEvent, switchMap, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n`) {\n\t@state() open = false\n\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\topenMenu() {\n\t\tthis.open = true\n\t\tthis.positionMenu()\n\n\t\t// Approx. \"easeInQuad\" with a cubic-bezier:\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => resolve()\n\t\t})\n\t}\n\n\tcloseMenu(e?: Event) {\n\t\tif (e && e instanceof Event) {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t}\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => {\n\t\t\t\tthis.open = false\n\t\t\t\tresolve()\n\t\t\t}\n\t\t})\n\t}\n\n\tasync positionMenu() {\n\t\tif (this.buttonElement.length && this.menuElement) {\n\t\t\tconst { x, y } = await computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected firstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tswitchMap(() => from(this.openMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tswitchMap(() => from(this.closeMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert</schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<div class=\"fixed inset-0 z-50\" .hidden=${!this.open} @click=${this.closeMenu}></div>\n\t\t\t<schmancy-list\n\t\t\t\tid=\"menu\"\n\t\t\t\t.hidden=${!this.open}\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md \n min-w-[160px] max-w-[320px] w-max bg-surface-default\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","super","connectedCallback","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","html","customElement","SchmancyMenu","TailwindElement","constructor","arguments","open","positionMenu","animation","menuElement","animate","opacity","transform","duration","easing","Promise","resolve","onfinish","Event","preventDefault","buttonElement","length","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","style","left","top","position","firstUpdated","tap","switchMap","from","openMenu","closeMenu","render","__decorateClass","state","prototype","queryAssignedElements","flatten","slot","query"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { fromEvent as m, takeUntil as l, tap as p, switchMap as u, from as h } from "rxjs";
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as g } from "./litElement.mixin-
|
|
5
|
-
import { T as v } from "./tailwind.mixin-
|
|
4
|
+
import { $ as g } from "./litElement.mixin-BcBF7FRS.js";
|
|
5
|
+
import { T as v } from "./tailwind.mixin-Cwk3HTxV.js";
|
|
6
6
|
import { css as b, html as f } from "lit";
|
|
7
7
|
import { customElement as y, state as E, queryAssignedElements as w, query as k } from "lit/decorators.js";
|
|
8
8
|
import { computePosition as x, offset as P, flip as M, shift as O } from "@floating-ui/dom";
|
|
@@ -88,4 +88,4 @@ let r = class extends v(b`
|
|
|
88
88
|
}
|
|
89
89
|
};
|
|
90
90
|
c([E()], r.prototype, "open", 2), c([w({ flatten: !0, slot: "button" })], r.prototype, "buttonElement", 2), c([k("#menu")], r.prototype, "menuElement", 2), r = c([y("schmancy-menu")], r);
|
|
91
|
-
//# sourceMappingURL=menu-
|
|
91
|
+
//# sourceMappingURL=menu-CDsJkpu5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-
|
|
1
|
+
{"version":3,"file":"menu-CDsJkpu5.js","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { from, fromEvent, switchMap, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n`) {\n\t@state() open = false\n\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\topenMenu() {\n\t\tthis.open = true\n\t\tthis.positionMenu()\n\n\t\t// Approx. \"easeInQuad\" with a cubic-bezier:\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => resolve()\n\t\t})\n\t}\n\n\tcloseMenu(e?: Event) {\n\t\tif (e && e instanceof Event) {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t}\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => {\n\t\t\t\tthis.open = false\n\t\t\t\tresolve()\n\t\t\t}\n\t\t})\n\t}\n\n\tasync positionMenu() {\n\t\tif (this.buttonElement.length && this.menuElement) {\n\t\t\tconst { x, y } = await computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected firstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tswitchMap(() => from(this.openMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tswitchMap(() => from(this.closeMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert</schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<div class=\"fixed inset-0 z-50\" .hidden=${!this.open} @click=${this.closeMenu}></div>\n\t\t\t<schmancy-list\n\t\t\t\tid=\"menu\"\n\t\t\t\t.hidden=${!this.open}\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md \n min-w-[160px] max-w-[320px] w-max bg-surface-default\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","super","connectedCallback","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","arguments","open","openMenu","positionMenu","animation","menuElement","animate","opacity","transform","duration","easing","Promise","resolve","onfinish","Event","preventDefault","buttonElement","length","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","style","left","top","position","firstUpdated","tap","switchMap","from","closeMenu","__decorateClass","state","prototype","queryAssignedElements","flatten","slot","query"],"mappings":"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"}
|
package/dist/menu.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./menu-
|
|
1
|
+
"use strict";require("./menu-BMJZsO7u.cjs");
|
|
2
2
|
//# sourceMappingURL=menu.cjs.map
|
package/dist/menu.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./menu-
|
|
1
|
+
import "./menu-CDsJkpu5.js";
|
|
2
2
|
//# sourceMappingURL=menu.js.map
|