@mhmo91/schmancy 0.0.292 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{animated-text-BelKfCRb.js → animated-text-BEs62aGi.js} +3 -3
- package/dist/{animated-text-BelKfCRb.js.map → animated-text-BEs62aGi.js.map} +1 -1
- package/dist/{animated-text-BYy49xv3.cjs → animated-text-bpjLHVrJ.cjs} +2 -2
- package/dist/{animated-text-BYy49xv3.cjs.map → animated-text-bpjLHVrJ.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-BIircYdd.js → area.component-CALvijTk.js} +9 -9
- package/dist/area.component-CALvijTk.js.map +1 -0
- package/dist/{area.component-BAx9ljt5.cjs → area.component-n1vVLLtU.cjs} +3 -3
- package/dist/area.component-n1vVLLtU.cjs.map +1 -0
- package/dist/area.js +1 -1
- package/dist/{autocomplete-C-u4ICfa.js → autocomplete-BOF6Xp6-.js} +3 -3
- package/dist/{autocomplete-C-u4ICfa.js.map → autocomplete-BOF6Xp6-.js.map} +1 -1
- package/dist/{autocomplete-ecQ92UGe.cjs → autocomplete-DO0n5Jj_.cjs} +2 -2
- package/dist/{autocomplete-ecQ92UGe.cjs.map → autocomplete-DO0n5Jj_.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-BUrYs8Dg.js → checkbox-CN0Qnfgt.js} +3 -3
- package/dist/checkbox-CN0Qnfgt.js.map +1 -0
- package/dist/{checkbox-DeVnlyJb.cjs → checkbox-DVsTquW5.cjs} +3 -3
- package/dist/checkbox-DVsTquW5.cjs.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-DjiRqUBT.cjs → chips-BSB3gB9k.cjs} +2 -2
- package/dist/{chips-DjiRqUBT.cjs.map → chips-BSB3gB9k.cjs.map} +1 -1
- package/dist/{chips-BkjDE2Cx.js → chips-C2_LRVqx.js} +3 -3
- package/dist/{chips-BkjDE2Cx.js.map → chips-C2_LRVqx.js.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-BirYELq7.cjs → date-range-C8Lb-puJ.cjs} +2 -2
- package/dist/{date-range-BirYELq7.cjs.map → date-range-C8Lb-puJ.cjs.map} +1 -1
- package/dist/{date-range-BIdEZhGK.js → date-range-DpkivW9V.js} +3 -3
- package/dist/{date-range-BIdEZhGK.js.map → date-range-DpkivW9V.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-DGHDipnV.js → delay-3km-O8EO.js} +2 -2
- package/dist/{delay-DGHDipnV.js.map → delay-3km-O8EO.js.map} +1 -1
- package/dist/{delay-CqrzARsM.cjs → delay-BTjvUbKX.cjs} +2 -2
- package/dist/{delay-CqrzARsM.cjs.map → delay-BTjvUbKX.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{divider-DcEj-C2P.cjs → divider-DxeR9U-g.cjs} +5 -5
- package/dist/divider-DxeR9U-g.cjs.map +1 -0
- package/dist/{divider-DzwD07xW.js → divider-qmgmakQg.js} +12 -12
- package/dist/divider-qmgmakQg.js.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{form-DpOSrAUQ.cjs → form-BSEBYpYo.cjs} +2 -2
- package/dist/{form-DpOSrAUQ.cjs.map → form-BSEBYpYo.cjs.map} +1 -1
- package/dist/{form-DG0Kj--R.js → form-DACRd0Qm.js} +2 -2
- package/dist/{form-DG0Kj--R.js.map → form-DACRd0Qm.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-B9PnKxEE.js → icon-D14oGMjt.js} +10 -11
- package/dist/icon-D14oGMjt.js.map +1 -0
- package/dist/{icon-alyJW9vl.cjs → icon-DFxPGQPn.cjs} +2 -3
- package/dist/icon-DFxPGQPn.cjs.map +1 -0
- package/dist/icon-button-CBMjLTvY.cjs +37 -0
- package/dist/icon-button-CBMjLTvY.cjs.map +1 -0
- package/dist/icon-button-qrIUt9AY.js +122 -0
- package/dist/icon-button-qrIUt9AY.js.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +30 -30
- package/dist/input-4Viw-XtC.cjs +42 -0
- package/dist/input-4Viw-XtC.cjs.map +1 -0
- package/dist/{input-C50UsaQY.js → input-DfnjMfrf.js} +15 -15
- package/dist/input-DfnjMfrf.js.map +1 -0
- 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-dosTHO0i.cjs → litElement.mixin-DbB-1RYZ.cjs} +2 -2
- package/dist/{litElement.mixin-dosTHO0i.cjs.map → litElement.mixin-DbB-1RYZ.cjs.map} +1 -1
- package/dist/{litElement.mixin-kW4tqV-x.js → litElement.mixin-Dc8jFg3I.js} +2 -2
- package/dist/{litElement.mixin-kW4tqV-x.js.map → litElement.mixin-Dc8jFg3I.js.map} +1 -1
- package/dist/{menu-CjJdA5e1.cjs → menu-B26WJO68.cjs} +3 -3
- package/dist/{menu-CjJdA5e1.cjs.map → menu-B26WJO68.cjs.map} +1 -1
- package/dist/{menu-BPkKjcYr.js → menu-DRNk8wOZ.js} +4 -4
- package/dist/{menu-BPkKjcYr.js.map → menu-DRNk8wOZ.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins/tailwind.css +46 -3
- 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-Cf4MQSvl.js → option-ASJW1mHe.js} +2 -2
- package/dist/{option-Cf4MQSvl.js.map → option-ASJW1mHe.js.map} +1 -1
- package/dist/{option-DKovQczU.cjs → option-O4gaTzW0.cjs} +2 -2
- package/dist/{option-DKovQczU.cjs.map → option-O4gaTzW0.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{outlet-Dajn35eu.cjs → outlet-CVU8puhM.cjs} +9 -9
- package/dist/outlet-CVU8puhM.cjs.map +1 -0
- package/dist/{outlet-LHeYRUMN.js → outlet-Co1PWemZ.js} +25 -25
- package/dist/outlet-Co1PWemZ.js.map +1 -0
- package/dist/{payment-card-form-BwoSr0gi.js → payment-card-form-CBghOLaR.js} +3 -3
- package/dist/{payment-card-form-BwoSr0gi.js.map → payment-card-form-CBghOLaR.js.map} +1 -1
- package/dist/{payment-card-form-LKu9PsnX.cjs → payment-card-form-DZ9rk638.cjs} +2 -2
- package/dist/{payment-card-form-LKu9PsnX.cjs.map → payment-card-form-DZ9rk638.cjs.map} +1 -1
- package/dist/{radio-group-Czi9ftHc.js → radio-group-CleiMraQ.js} +2 -2
- package/dist/{radio-group-Czi9ftHc.js.map → radio-group-CleiMraQ.js.map} +1 -1
- package/dist/{radio-group-DyYcHKuk.cjs → radio-group-_AHbCbFl.cjs} +2 -2
- package/dist/{radio-group-DyYcHKuk.cjs.map → radio-group-_AHbCbFl.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{scroll-Kw278kXe.js → scroll-BoNtSF2C.js} +3 -3
- package/dist/{scroll-Kw278kXe.js.map → scroll-BoNtSF2C.js.map} +1 -1
- package/dist/{scroll-2nVgiEne.cjs → scroll-BsuuG2R3.cjs} +4 -4
- package/dist/{scroll-2nVgiEne.cjs.map → scroll-BsuuG2R3.cjs.map} +1 -1
- package/dist/{select-Brg9GSgM.cjs → select-B3jADBe0.cjs} +2 -2
- package/dist/{select-Brg9GSgM.cjs.map → select-B3jADBe0.cjs.map} +1 -1
- package/dist/{select-Bo8t1cUG.js → select-Cgno-nhO.js} +3 -3
- package/dist/{select-Bo8t1cUG.js.map → select-Cgno-nhO.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-m3ssA8RK.js → sheet-dIIufMKb.js} +5 -5
- package/dist/{sheet-m3ssA8RK.js.map → sheet-dIIufMKb.js.map} +1 -1
- package/dist/{sheet-Cn9oyd09.cjs → sheet-dLJ2FM2K.cjs} +4 -4
- package/dist/{sheet-Cn9oyd09.cjs.map → sheet-dLJ2FM2K.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DiOhZu0e.js → slider-B-A5YSsV.js} +3 -3
- package/dist/{slider-DiOhZu0e.js.map → slider-B-A5YSsV.js.map} +1 -1
- package/dist/{slider-C3u39UVs.cjs → slider-BNvNIn-x.cjs} +2 -2
- package/dist/{slider-C3u39UVs.cjs.map → slider-BNvNIn-x.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CB8tYfyA.cjs → spinner-BFE-eCrL.cjs} +2 -2
- package/dist/{spinner-CB8tYfyA.cjs.map → spinner-BFE-eCrL.cjs.map} +1 -1
- package/dist/{spinner-DVKR6oPO.js → spinner-BbFimyz2.js} +2 -2
- package/dist/{spinner-DVKR6oPO.js.map → spinner-BbFimyz2.js.map} +1 -1
- package/dist/{surface-COQfLMIb.cjs → surface-BK_CqFFO.cjs} +2 -2
- package/dist/{surface-COQfLMIb.cjs.map → surface-BK_CqFFO.cjs.map} +1 -1
- package/dist/{surface-_g6PVKz9.js → surface-D69ewpB9.js} +2 -2
- package/dist/{surface-_g6PVKz9.js.map → surface-D69ewpB9.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-XZOjesmO.cjs → table-C10KGRKq.cjs} +2 -2
- package/dist/{table-XZOjesmO.cjs.map → table-C10KGRKq.cjs.map} +1 -1
- package/dist/{table-CA_AEMW3.js → table-hXhsKfzr.js} +2 -2
- package/dist/{table-CA_AEMW3.js.map → table-hXhsKfzr.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-Bijey97W.js → tabs-group-BlihpSXj.js} +2 -2
- package/dist/{tabs-group-Bijey97W.js.map → tabs-group-BlihpSXj.js.map} +1 -1
- package/dist/{tabs-group-fV6A7jOd.cjs → tabs-group-UHjwCCnS.cjs} +2 -2
- package/dist/{tabs-group-fV6A7jOd.cjs.map → tabs-group-UHjwCCnS.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-7_DOUoA1.cjs +2 -0
- package/dist/{tailwind.mixin-Dts5Uk3L.cjs.map → tailwind.mixin-7_DOUoA1.cjs.map} +1 -1
- package/dist/tailwind.mixin-CZEnDYs-.js +43 -0
- package/dist/{tailwind.mixin-D6m-sJmB.js.map → tailwind.mixin-CZEnDYs-.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-BppTG7vC.js → textarea-BKwTvb_d.js} +3 -3
- package/dist/{textarea-BppTG7vC.js.map → textarea-BKwTvb_d.js.map} +1 -1
- package/dist/textarea-DJaCkK9O.cjs +42 -0
- package/dist/{textarea-DRm-XQyj.cjs.map → textarea-DJaCkK9O.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-lS8U2Zia.cjs → theme-button-3jqFNdPA.cjs} +11 -12
- package/dist/theme-button-3jqFNdPA.cjs.map +1 -0
- package/dist/{theme-button-BTQaux2v.js → theme-button-CtNkFVpC.js} +38 -39
- package/dist/theme-button-CtNkFVpC.js.map +1 -0
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{tree-F8M_QD0f.js → tree-CG_LxOJR.js} +2 -2
- package/dist/{tree-F8M_QD0f.js.map → tree-CG_LxOJR.js.map} +1 -1
- package/dist/{tree-BxpWT4HG.cjs → tree-CO1LREy0.cjs} +2 -2
- package/dist/{tree-BxpWT4HG.cjs.map → tree-CO1LREy0.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-m577B5AD.js → typewriter-BOmTmKQa.js} +4 -4
- package/dist/{typewriter-m577B5AD.js.map → typewriter-BOmTmKQa.js.map} +1 -1
- package/dist/{typewriter-B5nruGbg.cjs → typewriter-DcYUz_5P.cjs} +2 -2
- package/dist/{typewriter-B5nruGbg.cjs.map → typewriter-DcYUz_5P.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DFnAG6mR.js → typography-BbELuqEe.js} +2 -2
- package/dist/{typography-DFnAG6mR.js.map → typography-BbELuqEe.js.map} +1 -1
- package/dist/{typography-Depf5xNK.cjs → typography-Dsj6J9sM.cjs} +2 -2
- package/dist/{typography-Depf5xNK.cjs.map → typography-Dsj6J9sM.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +10 -8
- package/dist/area.component-BAx9ljt5.cjs.map +0 -1
- package/dist/area.component-BIircYdd.js.map +0 -1
- package/dist/checkbox-BUrYs8Dg.js.map +0 -1
- package/dist/checkbox-DeVnlyJb.cjs.map +0 -1
- package/dist/divider-DcEj-C2P.cjs.map +0 -1
- package/dist/divider-DzwD07xW.js.map +0 -1
- package/dist/icon-B9PnKxEE.js.map +0 -1
- package/dist/icon-alyJW9vl.cjs.map +0 -1
- package/dist/icon-button-CJwbffPV.js +0 -124
- package/dist/icon-button-CJwbffPV.js.map +0 -1
- package/dist/icon-button-D__Gnjzi.cjs +0 -39
- package/dist/icon-button-D__Gnjzi.cjs.map +0 -1
- package/dist/input-BgnA2aM_.cjs +0 -42
- package/dist/input-BgnA2aM_.cjs.map +0 -1
- package/dist/input-C50UsaQY.js.map +0 -1
- package/dist/outlet-Dajn35eu.cjs.map +0 -1
- package/dist/outlet-LHeYRUMN.js.map +0 -1
- package/dist/tailwind.mixin-D6m-sJmB.js +0 -43
- package/dist/tailwind.mixin-Dts5Uk3L.cjs +0 -2
- package/dist/textarea-DRm-XQyj.cjs +0 -42
- package/dist/theme-button-BTQaux2v.js.map +0 -1
- package/dist/theme-button-lS8U2Zia.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"area.component-BIircYdd.js","sources":["../src/area/area.service.ts","../src/area/router.types.ts","../src/area/area.component.ts"],"sourcesContent":["import { ReplaySubject, Subject, bufferTime, fromEvent, map, of, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from '../teleport'\nimport { ActiveRoute, RouteAction } from './router.types'\n\nexport const routerHistory = new Subject<RouteAction>()\n\nexport const FINDING_MORTIES = 'FINDING_MORTIES'\nexport const HERE_RICKY = 'HERE_RICKY'\nexport type HERE_RICKY_EVENT = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\nexport type FINDING_MORTIES_EVENT = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nclass AreaService {\n\tprivate static instance: AreaService\n\tpublic prettyURL = false\n\tpublic mode: 'SILENT' | 'HISTORY' = 'HISTORY'\n\tpublic request = new ReplaySubject<RouteAction>(1)\n\tpublic current = new Map<string, ActiveRoute>()\n\tpublic $current = new ReplaySubject<Map<string, ActiveRoute>>(1)\n\tpublic enableHistoryMode = true\n\tprivate findingMortiesEvent = new CustomEvent<FINDING_MORTIES_EVENT['detail']>(FINDING_MORTIES)\n\n\tconstructor() {\n\t\tthis.$current.next(this.current)\n\t}\n\n\tfind() {\n\t\treturn zip([\n\t\t\tfromEvent<HERE_RICKY_EVENT>(window, HERE_RICKY).pipe(\n\t\t\t\tmap(e => e.detail),\n\t\t\t\tbufferTime(0),\n\t\t\t\ttap(console.log),\n\t\t\t),\n\t\t\tof(1).pipe(tap(() => window.dispatchEvent(this.findingMortiesEvent))),\n\t\t]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(1),\n\t\t)\n\t}\n\n\tpush(r: RouteAction) {\n\t\tthis.request.next(r)\n\t}\n\n\tpop(name: string) {\n\t\tconst newState = JSON.parse(JSON.stringify(area.state))\n\t\tdelete newState[name]\n\t\tconsole.log(area.state, newState)\n\t\thistory.replaceState(null, '', encodeURIComponent(JSON.stringify(newState)))\n\t}\n\tstatic getInstance() {\n\t\tif (!AreaService.instance) {\n\t\t\tAreaService.instance = new AreaService()\n\t\t}\n\t\treturn AreaService.instance\n\t}\n\n\tget state() {\n\t\tconst pathname = location.pathname.split('/').pop()\n\t\tlet areaState = {}\n\t\ttry {\n\t\t\tareaState = pathname ? JSON.parse(decodeURIComponent(pathname)) : {}\n\t\t} catch {\n\t\t\tareaState = {}\n\t\t}\n\t\treturn areaState\n\t}\n}\n\nexport const area = AreaService.getInstance()\nexport default area\n","export type RouteAction = {\n\tcomponent: CustomElementConstructor | string | Promise<NodeModule> | HTMLElement | Promise<NodeModule>\n\tarea: string\n\tstate?: object\n\thistoryStrategy?: THistoryStrategy\n\tclearQueryParams?: string[] | null\n}\n\nexport type ActiveRoute = {\n\tcomponent: string\n\tarea: string\n\tstate?: object\n}\n\nexport type THistoryStrategy = 'push' | 'replace' | 'pop' | 'silent'\n\nexport enum HISTORY_STRATEGY {\n\tpush = 'push',\n\treplace = 'replace',\n\tpop = 'pop',\n\tsilent = 'silent',\n}\n","import { $LitElement } from '@mixins/index'\nimport { TemplateResult, css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport {\n\tEMPTY,\n\tbufferTime,\n\tcatchError,\n\tdistinctUntilChanged,\n\tfilter,\n\tfrom,\n\tfromEvent,\n\tmap,\n\tmerge,\n\tof,\n\tswitchMap,\n\ttake,\n\ttakeUntil,\n\ttap,\n\ttimeout,\n} from 'rxjs'\nimport { isPresent } from 'ts-is-present'\nimport area from './area.service'\nimport { HISTORY_STRATEGY, RouteAction } from './router.types'\n\ntype TRouteArea = {\n\tcomponent: string\n\tstate: object | undefined\n}\n\n@customElement('schmancy-area')\nexport class SchmancyArea extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: block;\n\t\tinset: 0;\n\t}\n`) {\n\t/**\n\t * The name of the router outlet\n\t * @attr\n\t * @type {string}\n\t * @public\n\t * @required\n\t */\n\t@property() name!: string\n\n\t@property() default!: string | Promise<NodeModule> | CustomElementConstructor | TemplateResult<1>\n\n\t/**\n\t *\n\t * @param pathname pathname from the browser location API\n\t * @param historyStrategy the history strategy to use for the route like PUSH, REPLACE, or SILENT\n\t * @returns rxjs pipes that will return the component to render and the history strategy to use\n\t */\n\tgetComponentFromPathname(pathname: string, historyStrategy: HISTORY_STRATEGY) {\n\t\treturn of(pathname).pipe(\n\t\t\tmap(path => path.split('/').pop() ?? ''),\n\t\t\tmap(path => decodeURIComponent(path)),\n\t\t\tmap(path => JSON.parse(path)),\n\t\t\tmap(routes => routes[this.name] as TRouteArea),\n\t\t\tmap(component =>\n\t\t\t\t!component && this.default\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcomponent: this.default,\n\t\t\t\t\t\t\tstate: undefined,\n\t\t\t\t\t\t}\n\t\t\t\t\t: component,\n\t\t\t),\n\t\t\tfilter(x => isPresent(x)),\n\t\t\tmap((component: TRouteArea) => ({\n\t\t\t\tarea: this.name,\n\t\t\t\tcomponent: component.component ?? this.default,\n\t\t\t\tstate: component.state,\n\t\t\t\thistoryStrategy,\n\t\t\t})),\n\t\t\tmap(x => x as RouteAction),\n\t\t\tcatchError(() => {\n\t\t\t\treturn this.default\n\t\t\t\t\t? of({\n\t\t\t\t\t\t\tarea: this.name,\n\t\t\t\t\t\t\tcomponent: this.default,\n\t\t\t\t\t\t\thistoryStrategy,\n\t\t\t\t\t\t} as RouteAction)\n\t\t\t\t\t: EMPTY\n\t\t\t}),\n\t\t)\n\t}\n\n\tprotected firstUpdated(): void {\n\t\tif (!this.name) {\n\t\t\t// TOOD: maybe enforce this to be unique\n\t\t\tthrow new Error('Area name or default component not set')\n\t\t}\n\n\t\t// active outlet changes\n\t\tmerge(\n\t\t\t// 1) initial load from location.pathname\n\t\t\tof(location.pathname).pipe(\n\t\t\t\tswitchMap(pathname => this.getComponentFromPathname(pathname, HISTORY_STRATEGY.silent)),\n\t\t\t\tmap(route => route as RouteAction),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) requests to change the route for this area\n\t\t\tarea.request.pipe(filter(({ area }) => area === this.name)),\n\t\t\t// 3) popstate events (back, forward)\n\t\t\tfromEvent<PopStateEvent>(window, 'popstate').pipe(\n\t\t\t\tmap(e => (e.target as Window).location.pathname),\n\t\t\t\tswitchMap(pathname => this.getComponentFromPathname(pathname, HISTORY_STRATEGY.silent)),\n\t\t\t\tmap(route => route as RouteAction),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(\n\t\t\t\tfilter(request => !!request.component),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdistinctUntilChanged((a, b) => {\n\t\t\t\t\tlet aComponent, bComponent\n\t\t\t\t\tif (typeof a.component === 'function') return false\n\t\t\t\t\telse if (typeof a.component === 'string') aComponent = a.component\n\n\t\t\t\t\tif (typeof b.component === 'function') return false\n\t\t\t\t\telse if (typeof b.component === 'string') bComponent = b.component\n\n\t\t\t\t\treturn bComponent?.replaceAll('-', '').toLowerCase() === aComponent?.replaceAll('-', '').toLowerCase()\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(route => {\n\t\t\t\t\tconst c = route.component\n\t\t\t\t\tif (c instanceof Promise) {\n\t\t\t\t\t\t// Dynamic import module\n\t\t\t\t\t\treturn from(c).pipe(map(x => ({ component: x.exports.default as CustomElementConstructor, route })))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Already a string, function, or element\n\t\t\t\t\t\treturn of({ component: c, route })\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tmap(({ component, route }) => {\n\t\t\t\t\tif (typeof component === 'string') {\n\t\t\t\t\t\t// Tag name\n\t\t\t\t\t\treturn { component: document.createElement(component), route }\n\t\t\t\t\t} else if (component instanceof HTMLElement) {\n\t\t\t\t\t\t// Already an element instance\n\t\t\t\t\t\treturn { component, route }\n\t\t\t\t\t} else if (typeof component === 'function') {\n\t\t\t\t\t\t// Custom element constructor\n\t\t\t\t\t\treturn { component: new component(), route }\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tdistinctUntilChanged((prev, curr) => prev.component.tagName === curr.component.tagName),\n\t\t\t\t// create the new view and add it to the DOM\n\t\t\t\tmap(({ component, route }) => {\n\t\t\t\t\tconst oldView = this.shadowRoot?.children[0]\n\t\t\t\t\tconst oldViewExists = !!oldView\n\n\t\t\t\t\t// Remove the old view (if any)\n\t\t\t\t\toldView?.remove()\n\n\t\t\t\t\t// Insert the new view\n\t\t\t\t\tthis.shadowRoot?.append(component)\n\n\t\t\t\t\t// Native Web Animations API - fade in\n\t\t\t\t\t// \"ease: cubic-bezier(0.25, 0.8, 0.25, 1)\" was used in the old code\n\t\t\t\t\tcomponent.animate([{ opacity: 0 }, { opacity: 1 }], {\n\t\t\t\t\t\tduration: oldViewExists ? 250 : 150,\n\t\t\t\t\t\teasing: 'cubic-bezier(0.25, 0.8, 0.25, 1)',\n\t\t\t\t\t})\n\n\t\t\t\t\treturn { component, route }\n\t\t\t\t}),\n\t\t\t\ttap(({ component, route }) => {\n\t\t\t\t\t// Handle history updates\n\t\t\t\t\tif (typeof route.historyStrategy === 'undefined' || route.historyStrategy === 'push') {\n\t\t\t\t\t\thistory.pushState(route.state, '', this.newPath(component.tagName, route))\n\t\t\t\t\t} else if (route.historyStrategy && ['replace', 'pop'].includes(route.historyStrategy)) {\n\t\t\t\t\t\thistory.replaceState(route.state, '', this.newPath(component.tagName, route))\n\t\t\t\t\t}\n\t\t\t\t\tarea.current.set(this.name, {\n\t\t\t\t\t\tcomponent: component.tagName,\n\t\t\t\t\t\tstate: route.state,\n\t\t\t\t\t\tarea: this.name,\n\t\t\t\t\t})\n\n\t\t\t\t\tarea.$current.next(area.current)\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tnewPath(tag: string, route: RouteAction) {\n\t\tconst oldPathname = location.pathname.split('/').pop()\n\t\tlet oldAreaState = {}\n\t\ttry {\n\t\t\toldAreaState = oldPathname ? JSON.parse(decodeURIComponent(oldPathname)) : {}\n\t\t} catch {\n\t\t\toldAreaState = {}\n\t\t}\n\t\troute.state = route.state ?? {}\n\t\tconst queryParams = route.clearQueryParams ? this.queryParamClear(route.clearQueryParams) : document.location.search\n\n\t\treturn encodeURIComponent(\n\t\t\tJSON.stringify({\n\t\t\t\t...oldAreaState,\n\t\t\t\t[this.name]: { component: tag.toLowerCase(), state: route.state },\n\t\t\t}),\n\t\t).concat(`${queryParams}`)\n\t}\n\n\tqueryParamClear(params?: string[]) {\n\t\tif (!params) {\n\t\t\treturn ''\n\t\t}\n\t\t// get query params from url\n\t\tconst urlParams = new URLSearchParams(location.search)\n\t\t// remove query params\n\t\tparams.forEach(param => urlParams.delete(param))\n\t\t// update url\n\t\tif (urlParams.toString() === '') return ''\n\t\treturn `?${urlParams.toString()}`\n\t}\n\n\tcheckForTeleportationRequests() {\n\t\treturn fromEvent<CustomEvent>(window, 'FLIP_REQUEST').pipe(\n\t\t\tmap(e => e.detail),\n\t\t\tbufferTime(0),\n\t\t\ttap(() => {\n\t\t\t\tthis.dispatchEvent(new CustomEvent('FLIP_STARTED'))\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting),\n\t\t\ttimeout(0),\n\t\t\tcatchError(() => of(null)),\n\t\t)\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\tthis.disconnecting.next(true)\n\t}\n\n\trender() {\n\t\treturn html` <slot> </slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-area': SchmancyArea\n\t}\n}\n"],"names":["routerHistory","Subject","FINDING_MORTIES","HERE_RICKY","AreaService","constructor","this","prettyURL","mode","request","ReplaySubject","current","Map","$current","enableHistoryMode","findingMortiesEvent","CustomEvent","next","find","zip","fromEvent","window","pipe","map","e","detail","bufferTime","tap","console","log","of","dispatchEvent","component","timeout","r","name","newState","JSON","parse","stringify","area","state","history","replaceState","encodeURIComponent","instance","pathname","location","split","pop","areaState","decodeURIComponent","getInstance","HISTORY_STRATEGY","SchmancyArea","$LitElement","css","historyStrategy","path","routes","default","filter","x","isPresent","catchError","EMPTY","firstUpdated","Error","merge","switchMap","getComponentFromPathname","silent","route","take","target","takeUntil","disconnecting","distinctUntilChanged","a","b","aComponent","bComponent","replaceAll","toLowerCase","c","Promise","from","exports","document","createElement","HTMLElement","prev","curr","tagName","oldView","shadowRoot","children","oldViewExists","remove","append","animate","opacity","duration","easing","pushState","newPath","includes","set","subscribe","tag","oldPathname","oldAreaState","queryParams","clearQueryParams","queryParamClear","search","concat","params","urlParams","URLSearchParams","forEach","param","delete","toString","disconnectedCallback","super","html","__decorateClass","property","prototype","customElement"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-BUrYs8Dg.js","sources":["../src/checkbox/checkbox.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nexport type schmancyCheckBoxChangeEvent = CustomEvent<{\n\tvalue: boolean\n}>\n\n/**\n * @element schmancy-checkbox\n * @slot - The label for the checkbox.\n * @fires valueChange - Event fired when the checkbox value changes.\n **/\n\n@customElement('schmancy-checkbox')\nexport class SchmancyCheckbox extends TailwindElement() {\n\t/**\n\t * @attr {boolean} value - The value of the checkbox.\n\t */\n\t@property({ type: Boolean })\n\tvalue = false\n\n\t/**\n\t * @attr {boolean} disabled - The disabled state of the checkbox.\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false\n\n\t/**\n\t * @attr {boolean} required - The required state of the checkbox.\n\t */\n\t@property({ type: Boolean })\n\trequired = false\n\n\t/**\n\t * @attr {string} name - The name of the checkbox.\n\t */\n\t@property({ type: String })\n\tname = 'checkbox-' + Math.random().toString(36)\n\n\t/**\n\t * @attr {string} id - The id of the checkbox.\n\t */\n\t@property({ type: String })\n\tid = 'checkbox-' + Math.random().toString(36)\n\n\t/**\n\t * @attr {sm | md | lg } size - The size of the checkbox.\n\t */\n\t@property({ type: String })\n\tsize: 'sm' | 'md' | 'lg' = 'md'\n\n\trender() {\n\t\tconst inputClasses = {\n\t\t\t'text-sm': this.size === 'sm',\n\t\t\t'text-base': this.size === 'md',\n\t\t\t'text-lg': this.size === 'lg',\n\t\t\t'h-4 w-4': this.size === 'sm',\n\t\t\t'h-6 w-6': this.size === 'md',\n\t\t\t'h-8 w-8': this.size === 'lg',\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"relative flex items-start\">\n\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t<input\n\t\t\t\t\t\t@change=${(e: any) => {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\tvalue: e.target.checked,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tid=${this.id}\n\t\t\t\t\t\taria-describedby=\"comments-description\"\n\t\t\t\t\t\tname=${this.name}\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tclass=\"rounded border-gray-300 text-secondary-key focus:text-secondary-key ${classMap(inputClasses)}\"\n\t\t\t\t\t\tvalue=${this.value}\n\t\t\t\t\t\t.checked=${this.value}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ml-3 text-sm\">\n\t\t\t\t\t<label for=${this.id} class=\"font-medium text-gray-700\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-checkbox': SchmancyCheckbox\n\t}\n}\n"],"names":["SchmancyCheckbox","TailwindElement","super","arguments","this","value","disabled","required","name","Math","random","toString","id","size","inputClasses","html","e","dispatchEvent","CustomEvent","detail","target","checked","classMap","__decorateClass","property","type","Boolean","prototype","String","customElement"],"mappings":";;;;;;;;;;AAgBa,IAAAA,IAAN,cAA+BC,EAA/B,EAAA;AAAA,EAAA,cAAAC;AAAAA,UAAAA,GAAAC,SAKEC,GAAAA,KAAAC,QAAA,IAMGD,KAAAE,WAAAA,IAMAF,KAAAG,WAAA,IAMXH,KAAAI,OAAO,cAAcC,KAAKC,OAASC,EAAAA,SAAS,EAM5CP,GAAAA,KAAAQ,KAAK,cAAcH,KAAKC,OAAAA,EAASC,SAAS,EAAA,GAMfP,KAAAS,OAAA;AAAA,EAAA;AAAA,EAE3B,SACC;AAAA,UAAMC,IAAe,EACpB,WAAWV,KAAKS,SAAS,MACzB,aAAaT,KAAKS,SAAS,MAC3B,WAAWT,KAAKS,SAAS,MACzB,WAAWT,KAAKS,SAAS,MACzB,WAAWT,KAAKS,SAAS,MACzB,WAAWT,KAAKS,SAAS,KAATA;AAEV,WAAAE;AAAAA;AAAAA;AAAAA;AAAAA,gBAIQC,CAAAA,MACLZ;AAAAA,WAAAa,cACJ,IAAIC,YAAY,UAAU,EACzBC,QAAQ,EACPd,OAAOW,EAAEI,OAAOC,QAGnB,EAAA,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA,WAEIjB,KAAKQ,EAAAA;AAAAA;AAAAA,aAEHR,KAAKI,IAAAA;AAAAA;AAAAA,mFAEiEc,EAASR,CAAAA,CAAAA;AAAAA,cAC9EV,KAAKC,KAAAA;AAAAA,iBACFD,KAAKC,KAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAIJD,KAAKQ,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAE;AAAA;AAhExBW,EAAA,CADCC,EAAS,EAAEC,MAAMC,QAAAA,CAAAA,CAAAA,GAJN1B,EAKZ2B,WAAA,SAAA,CAAA,GAMAJ,EAAA,CADCC,EAAS,EAAEC,MAAMC,QAVN1B,CAAAA,CAAAA,GAAAA,EAWZ2B,WAAA,YAAA,CAMAJ,GAAAA,EAAA,CADCC,EAAS,EAAEC,MAAMC,QAhBN1B,CAAAA,CAAAA,GAAAA,EAiBZ2B,WAAA,YAAA,IAMAJ,EAAA,CADCC,EAAS,EAAEC,MAAMG,OAAAA,CAAAA,CAAAA,GAtBN5B,EAuBZ2B,WAAA,QAAA,CAAA,GAMAJ,EAAA,CADCC,EAAS,EAAEC,MAAMG,OAAAA,CAAAA,CAAAA,GA5BN5B,EA6BZ2B,WAAA,MAAA,CAMAJ,GAAAA,EAAA,CADCC,EAAS,EAAEC,MAAMG,YAlCN5B,EAmCZ2B,WAAA,QAAA,CAAA,GAnCY3B,IAANuB,EAAA,CADNM,EAAc,uBACF7B;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-DeVnlyJb.cjs","sources":["../src/checkbox/checkbox.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nexport type schmancyCheckBoxChangeEvent = CustomEvent<{\n\tvalue: boolean\n}>\n\n/**\n * @element schmancy-checkbox\n * @slot - The label for the checkbox.\n * @fires valueChange - Event fired when the checkbox value changes.\n **/\n\n@customElement('schmancy-checkbox')\nexport class SchmancyCheckbox extends TailwindElement() {\n\t/**\n\t * @attr {boolean} value - The value of the checkbox.\n\t */\n\t@property({ type: Boolean })\n\tvalue = false\n\n\t/**\n\t * @attr {boolean} disabled - The disabled state of the checkbox.\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false\n\n\t/**\n\t * @attr {boolean} required - The required state of the checkbox.\n\t */\n\t@property({ type: Boolean })\n\trequired = false\n\n\t/**\n\t * @attr {string} name - The name of the checkbox.\n\t */\n\t@property({ type: String })\n\tname = 'checkbox-' + Math.random().toString(36)\n\n\t/**\n\t * @attr {string} id - The id of the checkbox.\n\t */\n\t@property({ type: String })\n\tid = 'checkbox-' + Math.random().toString(36)\n\n\t/**\n\t * @attr {sm | md | lg } size - The size of the checkbox.\n\t */\n\t@property({ type: String })\n\tsize: 'sm' | 'md' | 'lg' = 'md'\n\n\trender() {\n\t\tconst inputClasses = {\n\t\t\t'text-sm': this.size === 'sm',\n\t\t\t'text-base': this.size === 'md',\n\t\t\t'text-lg': this.size === 'lg',\n\t\t\t'h-4 w-4': this.size === 'sm',\n\t\t\t'h-6 w-6': this.size === 'md',\n\t\t\t'h-8 w-8': this.size === 'lg',\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"relative flex items-start\">\n\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t<input\n\t\t\t\t\t\t@change=${(e: any) => {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\tvalue: e.target.checked,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tid=${this.id}\n\t\t\t\t\t\taria-describedby=\"comments-description\"\n\t\t\t\t\t\tname=${this.name}\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tclass=\"rounded border-gray-300 text-secondary-key focus:text-secondary-key ${classMap(inputClasses)}\"\n\t\t\t\t\t\tvalue=${this.value}\n\t\t\t\t\t\t.checked=${this.value}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ml-3 text-sm\">\n\t\t\t\t\t<label for=${this.id} class=\"font-medium text-gray-700\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-checkbox': SchmancyCheckbox\n\t}\n}\n"],"names":["SchmancyCheckbox","TailwindElement","super","arguments","this","value","disabled","required","name","Math","random","toString","id","size","inputClasses","html","e","dispatchEvent","CustomEvent","detail","target","checked","classMap","__decorateClass","property","type","Boolean","prototype","String","customElement"],"mappings":"oZAgBaA,QAAAA,iBAAN,cAA+BC,EAAAA,gBAA/B,CAAA,CAAA,aAAAC,CAAAA,MAAAA,GAAAC,SAKEC,EAAAA,KAAAC,MAAA,GAMGD,KAAAE,SAAA,GAMAF,KAAAG,SAAAA,GAMXH,KAAAI,KAAO,YAAcC,KAAKC,OAASC,EAAAA,SAAS,EAM5CP,EAAAA,KAAAQ,GAAK,YAAcH,KAAKC,OAAAA,EAASC,SAAS,EAMfP,EAAAA,KAAAS,KAAA,IAAA,CAE3B,QACC,CAAA,MAAMC,EAAe,CACpB,UAAWV,KAAKS,OAAS,KACzB,YAAaT,KAAKS,OAAS,KAC3B,UAAWT,KAAKS,OAAS,KACzB,UAAWT,KAAKS,OAAS,KACzB,UAAWT,KAAKS,OAAS,KACzB,UAAWT,KAAKS,OAAS,IAEnB,EAAA,OAAAE,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,gBAIQC,GACLZ,CAAAA,KAAAa,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CACPd,MAAOW,EAAEI,OAAOC,OAGnB,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,WAEIjB,KAAKQ,EAAAA;AAAAA;AAAAA,aAEHR,KAAKI,IAAAA;AAAAA;AAAAA,mFAEiEc,EAAAA,SAASR,CAAAA,CAAAA;AAAAA,cAC9EV,KAAKC,KAAAA;AAAAA,iBACFD,KAAKC,KAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAIJD,KAAKQ,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAE,CAAA,EAhExBW,EAAA,CADCC,WAAS,CAAEC,KAAMC,OAJN1B,CAAAA,CAAAA,EAAAA,yBAKZ2B,UAAA,QAAA,CAMAJ,EAAAA,EAAA,CADCC,WAAS,CAAEC,KAAMC,OAVN1B,CAAAA,CAAAA,EAAAA,yBAWZ2B,UAAA,WAAA,CAMAJ,EAAAA,EAAA,CADCC,WAAS,CAAEC,KAAMC,WAhBN1B,yBAiBZ2B,UAAA,WAAA,CAAA,EAMAJ,EAAA,CADCC,WAAS,CAAEC,KAAMG,MAtBN5B,CAAAA,CAAAA,EAAAA,yBAuBZ2B,UAAA,OAAA,CAMAJ,EAAAA,EAAA,CADCC,WAAS,CAAEC,KAAMG,UA5BN5B,yBA6BZ2B,UAAA,KAAA,CAAA,EAMAJ,EAAA,CADCC,WAAS,CAAEC,KAAMG,MAAAA,CAAAA,CAAAA,EAlCN5B,yBAmCZ2B,UAAA,OAAA,CAAA,EAnCY3B,QAANA,iBAAAuB,EAAA,CADNM,EAAAA,cAAc,sBACF7B"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-B9PnKxEE.js","sources":["../src/icons/icon.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\n/**\n * @element schmancy-icon\n\n */\n@customElement('schmancy-icon')\nexport default class SchmancyIcon extends $LitElement(css`\n\t.material-symbols-outlined {\n\t\tfont-family: 'Material Symbols Outlined';\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tfont-size: 24px;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\tfont-variation-settings:\n\t\t\t'FILL' 0,\n\t\t\t'wght' 400,\n\t\t\t'GRAD' 0,\n\t\t\t'opsz' 24;\n\t}\n\t:host {\n\t\tdisplay: flex;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsize: string = '24px'\n\n\t@state() busy = false\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (!document.head.querySelector('#material-icons')) {\n\t\t\tlet link = document.createElement('link', {\n\t\t\t\tis: 'material-icons',\n\t\t\t})\n\t\t\tlink.rel = 'stylesheet'\n\t\t\tlink.id = 'material-icons'\n\t\t\tlink.href =\n\t\t\t\t'https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200'\n\t\t\tdocument.querySelector('head')?.append(link)\n\t\t\tthis.busy = false\n\t\t}\n\t}\n\tprotected render(): unknown {\n\t\tconst style = {\n\t\t\tfontSize: this.size,\n\t\t\tmaxWidth: this.size,\n\t\t\toverflow: 'hidden',\n\t\t}\n\t\treturn html`\n\t\t\t<span class=\"material-symbols-outlined\" style=${this.styleMap(style)}> <slot .hidden=${this.busy}></slot> </span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon': SchmancyIcon\n\t}\n}\n"],"names":["SchmancyIcon","$LitElement","css","super","arguments","this","size","busy","connectedCallback","document","head","querySelector","link","createElement","is","rel","id","href","append","style","fontSize","maxWidth","overflow","html","styleMap","__decorateClass","property","type","String","reflect","prototype","state","customElement"],"mappings":";;;;;;;;;;;AASA,IAAqBA,IAArB,cAA0CC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAtD,EAAA;AAAA,EAAA,cAAAC;AAAAA,UAAAA,GAAAC,SAyBgBC,GAAAA,KAAAC,OAAA,QAECD,KAAAE,OAAAA;AAAAA,EAAA;AAAA,EAChB,oBAAAC;;AAEC,QADAL,MAAMK,kBACDC,GAAAA,CAAAA,SAASC,KAAKC,cAAc,iBAAoB,GAAA;AAChD,UAAAC,IAAOH,SAASI,cAAc,QAAQ,EACzCC,IAAI,iBAAA,CAAA;AAELF,QAAKG,MAAM,cACXH,EAAKI,KAAK,kBACVJ,EAAKK,OACJ,yHACDR,IAAAA,SAASE,cAAc,MAAA,MAAvBF,QAAAA,EAAgCS,OAAON,IACvCP,KAAKE,OAAAA;AAAAA,IAAO;AAAA,EACb;AAAA,EAES,SACT;AAAA,UAAMY,IAAQ,EACbC,UAAUf,KAAKC,MACfe,UAAUhB,KAAKC,MACfgB,UAAU,SAAA;AAEJ,WAAAC;AAAAA,mDAC0ClB,KAAKmB,SAASL,qBAAyBd,KAAKE,IAAAA;AAAAA;AAAAA,EAAI;AAxBlGkB;AAAAA,EAAA,CADCC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GAxBN7B,CAAAA,CAAAA,GAAAA,EAyBpB8B,WAAA,QAAA,IAESL,EAAA,CAARM,EA3BmB/B,CAAAA,GAAAA,EA2BX8B,WAAA,QAAA,IA3BW9B,IAArByB,EAAA,CADCO,EAAc,eACMhC,CAAAA,GAAAA,CAAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-alyJW9vl.cjs","sources":["../src/icons/icon.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\n/**\n * @element schmancy-icon\n\n */\n@customElement('schmancy-icon')\nexport default class SchmancyIcon extends $LitElement(css`\n\t.material-symbols-outlined {\n\t\tfont-family: 'Material Symbols Outlined';\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tfont-size: 24px;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\tfont-variation-settings:\n\t\t\t'FILL' 0,\n\t\t\t'wght' 400,\n\t\t\t'GRAD' 0,\n\t\t\t'opsz' 24;\n\t}\n\t:host {\n\t\tdisplay: flex;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsize: string = '24px'\n\n\t@state() busy = false\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (!document.head.querySelector('#material-icons')) {\n\t\t\tlet link = document.createElement('link', {\n\t\t\t\tis: 'material-icons',\n\t\t\t})\n\t\t\tlink.rel = 'stylesheet'\n\t\t\tlink.id = 'material-icons'\n\t\t\tlink.href =\n\t\t\t\t'https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200'\n\t\t\tdocument.querySelector('head')?.append(link)\n\t\t\tthis.busy = false\n\t\t}\n\t}\n\tprotected render(): unknown {\n\t\tconst style = {\n\t\t\tfontSize: this.size,\n\t\t\tmaxWidth: this.size,\n\t\t\toverflow: 'hidden',\n\t\t}\n\t\treturn html`\n\t\t\t<span class=\"material-symbols-outlined\" style=${this.styleMap(style)}> <slot .hidden=${this.busy}></slot> </span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon': SchmancyIcon\n\t}\n}\n"],"names":["SchmancyIcon","$LitElement","css","super","arguments","this","size","busy","connectedCallback","document","head","querySelector","link","createElement","is","rel","id","href","append","render","style","fontSize","maxWidth","overflow","html","styleMap","__decorateClass","property","type","String","reflect","prototype","state","customElement"],"mappings":"6bASA,IAAqBA,EAArB,cAA0CC,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,CAAtD,CAAA,CAAA,aAAAC,CAAAA,MAAAA,GAAAC,SAyBgBC,EAAAA,KAAAC,KAAA,OAECD,KAAAE,KAAAA,EAAA,CAChB,mBAAAC,OAEC,GADAL,MAAMK,kBACDC,EAAAA,CAAAA,SAASC,KAAKC,cAAc,iBAAoB,EAAA,CAChD,IAAAC,EAAOH,SAASI,cAAc,OAAQ,CACzCC,GAAI,gBAAA,CAAA,EAELF,EAAKG,IAAM,aACXH,EAAKI,GAAK,iBACVJ,EAAKK,KACJ,wHACDR,EAAAA,SAASE,cAAc,MAASO,IAAhCT,MAAAA,EAAgCS,OAAON,GACvCP,KAAKE,KAAO,EAAA,CACb,CAES,QAAAY,CACT,MAAMC,EAAQ,CACbC,SAAUhB,KAAKC,KACfgB,SAAUjB,KAAKC,KACfiB,SAAU,QAEJ,EAAA,OAAAC,EAAAA;AAAAA,mDAC0CnB,KAAKoB,SAASL,qBAAyBf,KAAKE,IAAAA;AAAAA,GAAI,CAxBlGmB,EAAAA,EAAA,CADCC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,EAAA,CAAA,CAAA,EAxBf9B,EAyBpB+B,UAAA,OAAA,CAAA,EAESL,EAAA,CAARM,EAAMA,MA3BahC,CAAAA,EAAAA,EA2BX+B,UAAA,OAAA,CA3BW/B,EAAAA,EAArB0B,EAAA,CADCO,EAAAA,cAAc,eACMjC,CAAAA,EAAAA,CAAAA"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import "rxjs";
|
|
2
|
-
import "lit/directives/class-map.js";
|
|
3
|
-
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as f } from "./litElement.mixin-kW4tqV-x.js";
|
|
5
|
-
import "./tailwind.mixin-D6m-sJmB.js";
|
|
6
|
-
import { css as v, html as c, LitElement as m } from "lit";
|
|
7
|
-
import { query as y, property as i, queryAssignedElements as u, customElement as x } from "lit/decorators.js";
|
|
8
|
-
import { ifDefined as b } from "lit/directives/if-defined.js";
|
|
9
|
-
import { when as g } from "lit/directives/when.js";
|
|
10
|
-
var w = Object.defineProperty, L = Object.getOwnPropertyDescriptor, l = (t, e, r, n) => {
|
|
11
|
-
for (var p, a = n > 1 ? void 0 : n ? L(e, r) : e, h = t.length - 1; h >= 0; h--) (p = t[h]) && (a = (n ? p(e, r, a) : p(a)) || a);
|
|
12
|
-
return n && a && w(e, r, a), a;
|
|
13
|
-
};
|
|
14
|
-
let s = class extends f(v`
|
|
15
|
-
:host {
|
|
16
|
-
display: block;
|
|
17
|
-
height: 40px;
|
|
18
|
-
}
|
|
19
|
-
`) {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments), this.variant = "text", this.disabled = !1;
|
|
22
|
-
}
|
|
23
|
-
set ariaLabel(t) {
|
|
24
|
-
const e = this._ariaLabel;
|
|
25
|
-
this._ariaLabel = t, this.hasAttribute("aria-label") && this.removeAttribute("aria-label"), this.requestUpdate("ariaLabel", e);
|
|
26
|
-
}
|
|
27
|
-
get ariaLabel() {
|
|
28
|
-
return this._ariaLabel;
|
|
29
|
-
}
|
|
30
|
-
focus(t) {
|
|
31
|
-
this.nativeElement.focus(t);
|
|
32
|
-
}
|
|
33
|
-
blur() {
|
|
34
|
-
this.nativeElement.blur();
|
|
35
|
-
}
|
|
36
|
-
get imgClasses() {
|
|
37
|
-
return ["max-h-[24px]", "max-w-[24px]", "object-contain"];
|
|
38
|
-
}
|
|
39
|
-
firstUpdated() {
|
|
40
|
-
var t, e;
|
|
41
|
-
(t = this.prefixImgs) == null || t.forEach((r) => {
|
|
42
|
-
r.classList.add(...this.imgClasses);
|
|
43
|
-
}), (e = this.suffixImgs) == null || e.forEach((r) => {
|
|
44
|
-
r.classList.add(...this.imgClasses);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
click() {
|
|
48
|
-
this.dispatchEvent(new Event("click", { bubbles: !0, composed: !0 }));
|
|
49
|
-
}
|
|
50
|
-
render() {
|
|
51
|
-
const t = { "h-full z-10 px-[24px] transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] focus:outline-none": !0, "opacity-[0.38]": this.disabled, "hover:shadow-1": !this.disabled && (this.variant == "outlined" || this.variant == "text" || this.variant == "filled" || this.variant == "filled tonal"), "hover:shadow-2": !this.disabled && this.variant == "elevated", "w-full tex-center": this.width == "full", "bg-surface-low text-primary-default shadow-1": this.variant == "elevated", "bg-transparent text-primary-default border-1 border-outline": this.variant == "outlined", "bg-primary-default text-primary-on": this.variant == "filled", "bg-secondary-container text-secondary-onContainer": this.variant == "filled tonal", "text-primary-default": this.variant == "text" }, e = { "hover:opacity-[0.08] z-0 rounded-full": !0, "hover:bg-primary-on": this.variant == "filled", "hover:bg-primary-default": this.variant == "outlined" || this.variant == "elevated" || this.variant == "text", "hover:bg-secondary-container": this.variant == "filled tonal" };
|
|
52
|
-
return c`
|
|
53
|
-
<button
|
|
54
|
-
part="base"
|
|
55
|
-
aria-label=${b(this.ariaLabel)}
|
|
56
|
-
?disabled=${this.disabled}
|
|
57
|
-
class="${this.classMap(t)}"
|
|
58
|
-
type=${b(this.type)}
|
|
59
|
-
tabindex=${b(this.disabled ? "-1" : void 0)}
|
|
60
|
-
>
|
|
61
|
-
${g(!this.disabled, () => c` <div class="absolute inset-0 ${this.classMap(e)}"></div> `)}
|
|
62
|
-
<slot name="prefix"></slot>
|
|
63
|
-
<slot> placeholder </slot>
|
|
64
|
-
<slot name="suffix"></slot>
|
|
65
|
-
</button>
|
|
66
|
-
`;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
s.shadowRootOptions = { ...m.shadowRootOptions, mode: "open", delegatesFocus: !0 }, l([y('[part="base"]', !0)], s.prototype, "nativeElement", 2), l([i({ reflect: !0, type: String })], s.prototype, "variant", 2), l([i()], s.prototype, "width", 2), l([i({ reflect: !0, type: String })], s.prototype, "type", 2), l([i()], s.prototype, "href", 2), l([i({ type: Boolean, reflect: !0 })], s.prototype, "disabled", 2), l([i({ attribute: "aria-label" })], s.prototype, "ariaLabel", 1), l([u({ slot: "prefix", flatten: !0, selector: "img" })], s.prototype, "prefixImgs", 2), l([u({ slot: "suffix", flatten: !0, selector: "img" })], s.prototype, "suffixImgs", 2), s = l([x("schmancy-button")], s);
|
|
70
|
-
var $ = Object.defineProperty, E = Object.getOwnPropertyDescriptor, d = (t, e, r, n) => {
|
|
71
|
-
for (var p, a = n > 1 ? void 0 : n ? E(e, r) : e, h = t.length - 1; h >= 0; h--) (p = t[h]) && (a = (n ? p(e, r, a) : p(a)) || a);
|
|
72
|
-
return n && a && $(e, r, a), a;
|
|
73
|
-
};
|
|
74
|
-
let o = class extends f(v`
|
|
75
|
-
:host {
|
|
76
|
-
display: block;
|
|
77
|
-
}
|
|
78
|
-
`) {
|
|
79
|
-
constructor() {
|
|
80
|
-
super(...arguments), this.size = "md", this.variant = "text", this.disabled = !1;
|
|
81
|
-
}
|
|
82
|
-
set ariaLabel(t) {
|
|
83
|
-
const e = this._ariaLabel;
|
|
84
|
-
this._ariaLabel = t, this.hasAttribute("aria-label") && this.removeAttribute("aria-label"), this.requestUpdate("ariaLabel", e);
|
|
85
|
-
}
|
|
86
|
-
get ariaLabel() {
|
|
87
|
-
return this._ariaLabel;
|
|
88
|
-
}
|
|
89
|
-
focus(t) {
|
|
90
|
-
this.nativeElement.focus(t);
|
|
91
|
-
}
|
|
92
|
-
blur() {
|
|
93
|
-
this.nativeElement.blur();
|
|
94
|
-
}
|
|
95
|
-
click() {
|
|
96
|
-
this.dispatchEvent(new Event("click", { bubbles: !0, composed: !0 }));
|
|
97
|
-
}
|
|
98
|
-
firstUpdated(t) {
|
|
99
|
-
}
|
|
100
|
-
render() {
|
|
101
|
-
const t = { "h-full z-10 transition-all duration-200 relative rounded-full inline-flex justify-center items-center focus:outline-none": !0, "opacity-[0.38]": this.disabled, "hover:shadow-1": !this.disabled && (this.variant == "outlined" || this.variant == "text" || this.variant == "filled" || this.variant == "filled tonal"), "hover:shadow-2": !this.disabled && this.variant == "elevated", "w-full tex-center": this.width == "full", "bg-surface-low text-primary-default shadow-1": this.variant == "elevated", "bg-transparent text-primary-default border-1 border-outline": this.variant == "outlined", "bg-primary-default text-primary-on": this.variant == "filled", "bg-secondary-container text-secondary-onContainer": this.variant == "filled tonal", "text-primary-default": this.variant == "text", "px-[6px] py-[6px]": this.size == "sm", "px-[8px] py-[8px]": this.size == "md", "px-[12px] py-[12px]": this.size == "lg" }, e = { "hover:opacity-[0.08] rounded-full z-0": !0, "hover:bg-primary-on": this.variant == "filled", "hover:bg-primary-default": this.variant == "outlined" || this.variant == "elevated" || this.variant == "text", "hover:bg-secondary-container": this.variant == "filled tonal" };
|
|
102
|
-
return c`
|
|
103
|
-
<button
|
|
104
|
-
part="base"
|
|
105
|
-
aria-label=${b(this.ariaLabel)}
|
|
106
|
-
?disabled=${this.disabled}
|
|
107
|
-
class="${this.classMap(t)}"
|
|
108
|
-
type=${b(this.type)}
|
|
109
|
-
tabindex=${b(this.disabled ? "-1" : void 0)}
|
|
110
|
-
>
|
|
111
|
-
${g(!this.disabled, () => c` <div class="absolute inset-0 ${this.classMap(e)}"></div> `)}
|
|
112
|
-
<schmancy-icon size=${this.size === "sm" ? "18px" : this.size === "md" ? "24px" : "32px"}>
|
|
113
|
-
<slot> </slot
|
|
114
|
-
></schmancy-icon>
|
|
115
|
-
</button>
|
|
116
|
-
`;
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
o.shadowRootOptions = { ...m.shadowRootOptions, mode: "open", delegatesFocus: !0 }, d([y('[part="base"]', !0)], o.prototype, "nativeElement", 2), d([i({ type: String })], o.prototype, "size", 2), d([i({ reflect: !0, type: String })], o.prototype, "variant", 2), d([i()], o.prototype, "width", 2), d([i({ reflect: !0, type: String })], o.prototype, "type", 2), d([i()], o.prototype, "href", 2), d([i({ type: Boolean, reflect: !0 })], o.prototype, "disabled", 2), d([i({ attribute: "aria-label" })], o.prototype, "ariaLabel", 1), o = d([x("schmancy-icon-button")], o);
|
|
120
|
-
export {
|
|
121
|
-
s as S,
|
|
122
|
-
o as a
|
|
123
|
-
};
|
|
124
|
-
//# sourceMappingURL=icon-button-CJwbffPV.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button-CJwbffPV.js","sources":["../src/button/button.ts","../src/button/icon-button.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nexport interface SchmancyButtonEventMap {\n\tSchmancyFocus: CustomEvent<void>\n\tSchmancyBlur: CustomEvent<void>\n}\n\nexport type ButtonVariant = 'elevated' | 'filled' | 'filled tonal' | 'outlined' | 'text'\n\n/**\n * A button component.\n * @element schmancy-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-button')\nexport class SchmnacyButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\theight: 40px;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The variant of the button. Defaults to undefined.\n\t * @attr\n\t * @default 'filled'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button. Defaults to 'auto'.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width!: 'full' | 'auto'\n\n\t/**\n\t * The type of the button. Defaults to undefined.\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type!: 'button' | 'reset' | 'submit'\n\n\t/**\n\t * The URL the button points to.\n\t * @attr\n\t */\n\t@property()\n\tpublic href!: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t@queryAssignedElements({\n\t\tslot: 'prefix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate prefixImgs!: HTMLImageElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'suffix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate suffixImgs!: HTMLImageElement[]\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['max-h-[24px]', 'max-w-[24px]', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\tthis.prefixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t\tthis.suffixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full z-10 px-[24px] transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] focus:outline-none':\n\t\t\t\ttrue,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-1':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant == 'outlined' ||\n\t\t\t\t\tthis.variant == 'text' ||\n\t\t\t\t\tthis.variant == 'filled' ||\n\t\t\t\t\tthis.variant == 'filled tonal'),\n\t\t\t'hover:shadow-2': !this.disabled && this.variant == 'elevated',\n\t\t\t'w-full tex-center': this.width == 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-1': this.variant == 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': this.variant == 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant == 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant == 'filled tonal',\n\t\t\t'text-primary-default': this.variant == 'text',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'hover:opacity-[0.08] z-0 rounded-full': true,\n\t\t\t'hover:bg-primary-on': this.variant == 'filled',\n\t\t\t'hover:bg-primary-default': this.variant == 'outlined' || this.variant == 'elevated' || this.variant == 'text',\n\t\t\t'hover:bg-secondary-container': this.variant == 'filled tonal',\n\t\t}\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html` <div class=\"absolute inset-0 ${this.classMap(stateLayerClasses)}\"></div> `)}\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t<slot> placeholder </slot>\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-button': SchmnacyButton\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement, PropertyValueMap } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { ButtonVariant } from './button'\n\n/**\n * A button component.\n * @element schmancy-icon-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-icon-button')\nexport class SchmnacyIconButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t@property({ type: String })\n\tpublic size: 'sm' | 'md' | 'lg' = 'md'\n\n\t/**\n\t * The variant of the button. Defaults to undefined.\n\t * @attr\n\t * @default 'filled'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button. Defaults to 'auto'.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width!: 'full' | 'auto'\n\n\t/**\n\t * The type of the button. Defaults to undefined.\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type!: 'button' | 'reset' | 'submit'\n\n\t/**\n\t * The URL the button points to.\n\t * @attr\n\t */\n\t@property()\n\tpublic href!: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full z-10 transition-all duration-200 relative rounded-full inline-flex justify-center items-center focus:outline-none':\n\t\t\t\ttrue,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-1':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant == 'outlined' ||\n\t\t\t\t\tthis.variant == 'text' ||\n\t\t\t\t\tthis.variant == 'filled' ||\n\t\t\t\t\tthis.variant == 'filled tonal'),\n\t\t\t'hover:shadow-2': !this.disabled && this.variant == 'elevated',\n\t\t\t'w-full tex-center': this.width == 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-1': this.variant == 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': this.variant == 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant == 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant == 'filled tonal',\n\t\t\t'text-primary-default': this.variant == 'text',\n\t\t\t'px-[6px] py-[6px]': this.size == 'sm',\n\t\t\t'px-[8px] py-[8px]': this.size == 'md',\n\t\t\t'px-[12px] py-[12px]': this.size == 'lg',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'hover:opacity-[0.08] rounded-full z-0': true,\n\t\t\t'hover:bg-primary-on': this.variant == 'filled',\n\t\t\t'hover:bg-primary-default': this.variant == 'outlined' || this.variant == 'elevated' || this.variant == 'text',\n\t\t\t'hover:bg-secondary-container': this.variant == 'filled tonal',\n\t\t}\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html` <div class=\"absolute inset-0 ${this.classMap(stateLayerClasses)}\"></div> `)}\n\t\t\t\t<schmancy-icon size=${this.size === 'sm' ? '18px' : this.size === 'md' ? '24px' : '32px'}>\n\t\t\t\t\t<slot> </slot\n\t\t\t\t></schmancy-icon>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon-button': SchmnacyIconButton\n\t}\n}\n"],"names":["SchmnacyButton","$LitElement","css","super","arguments","this","variant","disabled","value","oldVal","_ariaLabel","hasAttribute","removeAttribute","requestUpdate","ariaLabel","options","nativeElement","focus","blur","imgClasses","firstUpdated","prefixImgs","forEach","img","classList","add","suffixImgs","dispatchEvent","Event","bubbles","composed","render","classes","width","stateLayerClasses","html","ifDefined","classMap","type","undefined","when","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","query","prototype","property","reflect","String","Boolean","attribute","queryAssignedElements","slot","flatten","selector","customElement","SchmnacyIconButton","size","click","_changedProperties"],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./litElement.mixin-dosTHO0i.cjs");require("./tailwind.mixin-Dts5Uk3L.cjs");const l=require("lit"),a=require("lit/decorators.js"),d=require("lit/directives/if-defined.js"),u=require("lit/directives/when.js");var y=Object.defineProperty,b=Object.getOwnPropertyDescriptor,n=(t,e,r,s)=>{for(var h,i=s>1?void 0:s?b(e,r):e,c=t.length-1;c>=0;c--)(h=t[c])&&(i=(s?h(e,r,i):h(i))||i);return s&&i&&y(e,r,i),i};exports.SchmnacyButton=class extends p.$LitElement(l.css`
|
|
2
|
-
:host {
|
|
3
|
-
display: block;
|
|
4
|
-
height: 40px;
|
|
5
|
-
}
|
|
6
|
-
`){constructor(){super(...arguments),this.variant="text",this.disabled=!1}set ariaLabel(t){const e=this._ariaLabel;this._ariaLabel=t,this.hasAttribute("aria-label")&&this.removeAttribute("aria-label"),this.requestUpdate("ariaLabel",e)}get ariaLabel(){return this._ariaLabel}focus(t){this.nativeElement.focus(t)}blur(){this.nativeElement.blur()}get imgClasses(){return["max-h-[24px]","max-w-[24px]","object-contain"]}firstUpdated(){var t,e;(t=this.prefixImgs)==null||t.forEach(r=>{r.classList.add(...this.imgClasses)}),(e=this.suffixImgs)==null||e.forEach(r=>{r.classList.add(...this.imgClasses)})}click(){this.dispatchEvent(new Event("click",{bubbles:!0,composed:!0}))}render(){const t={"h-full z-10 px-[24px] transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] focus:outline-none":!0,"opacity-[0.38]":this.disabled,"hover:shadow-1":!this.disabled&&(this.variant=="outlined"||this.variant=="text"||this.variant=="filled"||this.variant=="filled tonal"),"hover:shadow-2":!this.disabled&&this.variant=="elevated","w-full tex-center":this.width=="full","bg-surface-low text-primary-default shadow-1":this.variant=="elevated","bg-transparent text-primary-default border-1 border-outline":this.variant=="outlined","bg-primary-default text-primary-on":this.variant=="filled","bg-secondary-container text-secondary-onContainer":this.variant=="filled tonal","text-primary-default":this.variant=="text"},e={"hover:opacity-[0.08] z-0 rounded-full":!0,"hover:bg-primary-on":this.variant=="filled","hover:bg-primary-default":this.variant=="outlined"||this.variant=="elevated"||this.variant=="text","hover:bg-secondary-container":this.variant=="filled tonal"};return l.html`
|
|
7
|
-
<button
|
|
8
|
-
part="base"
|
|
9
|
-
aria-label=${d.ifDefined(this.ariaLabel)}
|
|
10
|
-
?disabled=${this.disabled}
|
|
11
|
-
class="${this.classMap(t)}"
|
|
12
|
-
type=${d.ifDefined(this.type)}
|
|
13
|
-
tabindex=${d.ifDefined(this.disabled?"-1":void 0)}
|
|
14
|
-
>
|
|
15
|
-
${u.when(!this.disabled,()=>l.html` <div class="absolute inset-0 ${this.classMap(e)}"></div> `)}
|
|
16
|
-
<slot name="prefix"></slot>
|
|
17
|
-
<slot> placeholder </slot>
|
|
18
|
-
<slot name="suffix"></slot>
|
|
19
|
-
</button>
|
|
20
|
-
`}},exports.SchmnacyButton.shadowRootOptions={...l.LitElement.shadowRootOptions,mode:"open",delegatesFocus:!0},n([a.query('[part="base"]',!0)],exports.SchmnacyButton.prototype,"nativeElement",2),n([a.property({reflect:!0,type:String})],exports.SchmnacyButton.prototype,"variant",2),n([a.property()],exports.SchmnacyButton.prototype,"width",2),n([a.property({reflect:!0,type:String})],exports.SchmnacyButton.prototype,"type",2),n([a.property()],exports.SchmnacyButton.prototype,"href",2),n([a.property({type:Boolean,reflect:!0})],exports.SchmnacyButton.prototype,"disabled",2),n([a.property({attribute:"aria-label"})],exports.SchmnacyButton.prototype,"ariaLabel",1),n([a.queryAssignedElements({slot:"prefix",flatten:!0,selector:"img"})],exports.SchmnacyButton.prototype,"prefixImgs",2),n([a.queryAssignedElements({slot:"suffix",flatten:!0,selector:"img"})],exports.SchmnacyButton.prototype,"suffixImgs",2),exports.SchmnacyButton=n([a.customElement("schmancy-button")],exports.SchmnacyButton);var m=Object.defineProperty,f=Object.getOwnPropertyDescriptor,o=(t,e,r,s)=>{for(var h,i=s>1?void 0:s?f(e,r):e,c=t.length-1;c>=0;c--)(h=t[c])&&(i=(s?h(e,r,i):h(i))||i);return s&&i&&m(e,r,i),i};exports.SchmnacyIconButton=class extends p.$LitElement(l.css`
|
|
21
|
-
:host {
|
|
22
|
-
display: block;
|
|
23
|
-
}
|
|
24
|
-
`){constructor(){super(...arguments),this.size="md",this.variant="text",this.disabled=!1}set ariaLabel(t){const e=this._ariaLabel;this._ariaLabel=t,this.hasAttribute("aria-label")&&this.removeAttribute("aria-label"),this.requestUpdate("ariaLabel",e)}get ariaLabel(){return this._ariaLabel}focus(t){this.nativeElement.focus(t)}blur(){this.nativeElement.blur()}click(){this.dispatchEvent(new Event("click",{bubbles:!0,composed:!0}))}firstUpdated(t){}render(){const t={"h-full z-10 transition-all duration-200 relative rounded-full inline-flex justify-center items-center focus:outline-none":!0,"opacity-[0.38]":this.disabled,"hover:shadow-1":!this.disabled&&(this.variant=="outlined"||this.variant=="text"||this.variant=="filled"||this.variant=="filled tonal"),"hover:shadow-2":!this.disabled&&this.variant=="elevated","w-full tex-center":this.width=="full","bg-surface-low text-primary-default shadow-1":this.variant=="elevated","bg-transparent text-primary-default border-1 border-outline":this.variant=="outlined","bg-primary-default text-primary-on":this.variant=="filled","bg-secondary-container text-secondary-onContainer":this.variant=="filled tonal","text-primary-default":this.variant=="text","px-[6px] py-[6px]":this.size=="sm","px-[8px] py-[8px]":this.size=="md","px-[12px] py-[12px]":this.size=="lg"},e={"hover:opacity-[0.08] rounded-full z-0":!0,"hover:bg-primary-on":this.variant=="filled","hover:bg-primary-default":this.variant=="outlined"||this.variant=="elevated"||this.variant=="text","hover:bg-secondary-container":this.variant=="filled tonal"};return l.html`
|
|
25
|
-
<button
|
|
26
|
-
part="base"
|
|
27
|
-
aria-label=${d.ifDefined(this.ariaLabel)}
|
|
28
|
-
?disabled=${this.disabled}
|
|
29
|
-
class="${this.classMap(t)}"
|
|
30
|
-
type=${d.ifDefined(this.type)}
|
|
31
|
-
tabindex=${d.ifDefined(this.disabled?"-1":void 0)}
|
|
32
|
-
>
|
|
33
|
-
${u.when(!this.disabled,()=>l.html` <div class="absolute inset-0 ${this.classMap(e)}"></div> `)}
|
|
34
|
-
<schmancy-icon size=${this.size==="sm"?"18px":this.size==="md"?"24px":"32px"}>
|
|
35
|
-
<slot> </slot
|
|
36
|
-
></schmancy-icon>
|
|
37
|
-
</button>
|
|
38
|
-
`}},exports.SchmnacyIconButton.shadowRootOptions={...l.LitElement.shadowRootOptions,mode:"open",delegatesFocus:!0},o([a.query('[part="base"]',!0)],exports.SchmnacyIconButton.prototype,"nativeElement",2),o([a.property({type:String})],exports.SchmnacyIconButton.prototype,"size",2),o([a.property({reflect:!0,type:String})],exports.SchmnacyIconButton.prototype,"variant",2),o([a.property()],exports.SchmnacyIconButton.prototype,"width",2),o([a.property({reflect:!0,type:String})],exports.SchmnacyIconButton.prototype,"type",2),o([a.property()],exports.SchmnacyIconButton.prototype,"href",2),o([a.property({type:Boolean,reflect:!0})],exports.SchmnacyIconButton.prototype,"disabled",2),o([a.property({attribute:"aria-label"})],exports.SchmnacyIconButton.prototype,"ariaLabel",1),exports.SchmnacyIconButton=o([a.customElement("schmancy-icon-button")],exports.SchmnacyIconButton);
|
|
39
|
-
//# sourceMappingURL=icon-button-D__Gnjzi.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button-D__Gnjzi.cjs","sources":["../src/button/button.ts","../src/button/icon-button.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nexport interface SchmancyButtonEventMap {\n\tSchmancyFocus: CustomEvent<void>\n\tSchmancyBlur: CustomEvent<void>\n}\n\nexport type ButtonVariant = 'elevated' | 'filled' | 'filled tonal' | 'outlined' | 'text'\n\n/**\n * A button component.\n * @element schmancy-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-button')\nexport class SchmnacyButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\theight: 40px;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The variant of the button. Defaults to undefined.\n\t * @attr\n\t * @default 'filled'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button. Defaults to 'auto'.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width!: 'full' | 'auto'\n\n\t/**\n\t * The type of the button. Defaults to undefined.\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type!: 'button' | 'reset' | 'submit'\n\n\t/**\n\t * The URL the button points to.\n\t * @attr\n\t */\n\t@property()\n\tpublic href!: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t@queryAssignedElements({\n\t\tslot: 'prefix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate prefixImgs!: HTMLImageElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'suffix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate suffixImgs!: HTMLImageElement[]\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['max-h-[24px]', 'max-w-[24px]', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\tthis.prefixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t\tthis.suffixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full z-10 px-[24px] transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] focus:outline-none':\n\t\t\t\ttrue,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-1':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant == 'outlined' ||\n\t\t\t\t\tthis.variant == 'text' ||\n\t\t\t\t\tthis.variant == 'filled' ||\n\t\t\t\t\tthis.variant == 'filled tonal'),\n\t\t\t'hover:shadow-2': !this.disabled && this.variant == 'elevated',\n\t\t\t'w-full tex-center': this.width == 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-1': this.variant == 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': this.variant == 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant == 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant == 'filled tonal',\n\t\t\t'text-primary-default': this.variant == 'text',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'hover:opacity-[0.08] z-0 rounded-full': true,\n\t\t\t'hover:bg-primary-on': this.variant == 'filled',\n\t\t\t'hover:bg-primary-default': this.variant == 'outlined' || this.variant == 'elevated' || this.variant == 'text',\n\t\t\t'hover:bg-secondary-container': this.variant == 'filled tonal',\n\t\t}\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html` <div class=\"absolute inset-0 ${this.classMap(stateLayerClasses)}\"></div> `)}\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t<slot> placeholder </slot>\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-button': SchmnacyButton\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement, PropertyValueMap } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { ButtonVariant } from './button'\n\n/**\n * A button component.\n * @element schmancy-icon-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-icon-button')\nexport class SchmnacyIconButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t@property({ type: String })\n\tpublic size: 'sm' | 'md' | 'lg' = 'md'\n\n\t/**\n\t * The variant of the button. Defaults to undefined.\n\t * @attr\n\t * @default 'filled'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button. Defaults to 'auto'.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width!: 'full' | 'auto'\n\n\t/**\n\t * The type of the button. Defaults to undefined.\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type!: 'button' | 'reset' | 'submit'\n\n\t/**\n\t * The URL the button points to.\n\t * @attr\n\t */\n\t@property()\n\tpublic href!: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full z-10 transition-all duration-200 relative rounded-full inline-flex justify-center items-center focus:outline-none':\n\t\t\t\ttrue,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-1':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant == 'outlined' ||\n\t\t\t\t\tthis.variant == 'text' ||\n\t\t\t\t\tthis.variant == 'filled' ||\n\t\t\t\t\tthis.variant == 'filled tonal'),\n\t\t\t'hover:shadow-2': !this.disabled && this.variant == 'elevated',\n\t\t\t'w-full tex-center': this.width == 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-1': this.variant == 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': this.variant == 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant == 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant == 'filled tonal',\n\t\t\t'text-primary-default': this.variant == 'text',\n\t\t\t'px-[6px] py-[6px]': this.size == 'sm',\n\t\t\t'px-[8px] py-[8px]': this.size == 'md',\n\t\t\t'px-[12px] py-[12px]': this.size == 'lg',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'hover:opacity-[0.08] rounded-full z-0': true,\n\t\t\t'hover:bg-primary-on': this.variant == 'filled',\n\t\t\t'hover:bg-primary-default': this.variant == 'outlined' || this.variant == 'elevated' || this.variant == 'text',\n\t\t\t'hover:bg-secondary-container': this.variant == 'filled tonal',\n\t\t}\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html` <div class=\"absolute inset-0 ${this.classMap(stateLayerClasses)}\"></div> `)}\n\t\t\t\t<schmancy-icon size=${this.size === 'sm' ? '18px' : this.size === 'md' ? '24px' : '32px'}>\n\t\t\t\t\t<slot> </slot\n\t\t\t\t></schmancy-icon>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon-button': SchmnacyIconButton\n\t}\n}\n"],"names":["SchmnacyButton","$LitElement","css","super","arguments","this","variant","disabled","value","oldVal","_ariaLabel","hasAttribute","removeAttribute","requestUpdate","ariaLabel","options","nativeElement","focus","blur","imgClasses","firstUpdated","prefixImgs","forEach","img","classList","add","suffixImgs","click","dispatchEvent","Event","bubbles","composed","classes","width","stateLayerClasses","html","ifDefined","classMap","type","undefined","when","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","query","prototype","property","reflect","String","Boolean","attribute","queryAssignedElements","slot","flatten","selector","customElement","SchmnacyIconButton","size","_changedProperties"],"mappings":"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"}
|
package/dist/input-BgnA2aM_.cjs
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";const o=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const b=require("./tailwind.mixin-Dts5Uk3L.cjs"),d=require("./ripple-C2BHbhcS.cjs"),a=require("./theme.interface-Xg5Zi46a.cjs"),l=require("lit"),i=require("lit/decorators.js"),s=require("lit/directives/if-defined.js"),m=require("lit/directives/ref.js"),f=require("lit/directives/when.js");var g=Object.defineProperty,v=Object.getOwnPropertyDescriptor,r=(t,n,u,h)=>{for(var c,p=h>1?void 0:h?v(n,u):n,y=t.length-1;y>=0;y--)(c=t[y])&&(p=(h?c(n,u,p):c(p))||p);return h&&p&&g(n,u,p),p};let e=class extends b.TailwindElement(":host{border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important;width:-webkit-fill-available}:host:focus{box-shadow:unset!important}input:focus-visible{outline:none!important}input{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-shadow:inherit;text-overflow:inherit;text-rendering:inherit;-webkit-text-size-adjust:inherit;-moz-text-size-adjust:inherit;text-size-adjust:inherit;-moz-text-align-last:inherit;text-align-last:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@keyframes onAutoFillStart{}input:-webkit-autofill{animation-name:onAutoFillStart}"){constructor(){super(),this.inputRef=m.createRef(),this.label="",this.type="text",this.clickable=!1,this.name="name_"+Date.now(),this.placeholder="",this.value="",this.required=!1,this.disabled=!1,this.readonly=!1,this.spellcheck=!1,this.align="left",this.autocomplete="off",this.tabIndex=0,this.error=!1;try{this.internals=this.attachInternals()}catch{this.internals=void 0}}firstUpdated(){this.autofocus&&this.focus(),o.fromEvent(this.inputElement,"input").pipe(o.map(t=>t.target.value),o.distinctUntilChanged()).subscribe(t=>{this.value=t,this.dispatchEvent(new CustomEvent("change",{detail:{value:t},bubbles:!0,composed:!0}))}),o.fromEvent(this.inputElement,"change").pipe(o.map(t=>t.target.value),o.distinctUntilChanged()).subscribe(t=>{this.value=t,this.dispatchEvent(new CustomEvent("change",{detail:{value:t},bubbles:!0,composed:!0}))}),o.fromEvent(this.inputElement,"keyup").pipe(o.filter(t=>t.key==="Enter"),o.map(t=>t.target.value),o.distinctUntilChanged()).subscribe(t=>{this.value=t,this.dispatchEvent(new CustomEvent("change",{detail:{value:t},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("enter",{detail:{value:t},bubbles:!0,composed:!0}))}),o.fromEvent(this.inputElement,"animationstart").pipe(o.filter(t=>t.animationName==="onAutoFillStart"),o.map(t=>t.target.value)).subscribe(t=>{this.value=t,this.dispatchEvent(new CustomEvent("change",{detail:{value:t},bubbles:!0,composed:!0}))})}get form(){var t;return(t=this.internals)==null?void 0:t.form}reportValidity(){var t;return(t=this.inputRef.value)==null?void 0:t.reportValidity()}checkValidity(){var t;return(t=this.inputRef.value)==null?void 0:t.checkValidity()}setCustomValidity(t){var n;return(n=this.inputRef.value)==null?void 0:n.setCustomValidity(t)}select(){var t;return(t=this.inputRef.value)==null?void 0:t.select()}validity(){var t;return(t=this.inputRef.value)==null?void 0:t.validity}focus(t={preventScroll:!0}){var n;(n=this.inputRef.value)==null||n.focus(t),this.dispatchEvent(new Event("focus"))}click(){var t;(t=this.inputRef.value)==null||t.click(),this.dispatchEvent(new Event("click"))}blur(){var t;(t=this.inputRef.value)==null||t.blur(),this.dispatchEvent(new Event("blur"))}render(){const t={"w-full flex-1 h-[50px] rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px]":!0,"disabled:opacity-40 disabled:cursor-not-allowed":!0,"placeholder:text-muted":!0,"ring-0 ring-inset focus:ring-1 focus:ring-inset":!0,"ring-primary-default ring-outline focus:ring-primary-default":!this.error,"ring-error-default focus:ring-error-default":this.error,"caret-transparent focus:outline-none cursor-pointer text-select-none":this.readonly,"cursor-pointer":this.clickable,"text-center":this.align==="center","text-right":this.align==="right"},n={"opacity-40":this.disabled,"block mb-[4px]":!0};return l.html`
|
|
2
|
-
${f.when(this.label,()=>l.html`<label
|
|
3
|
-
${d.color({color:this.error?a.SchmancyTheme.sys.color.error.default:a.SchmancyTheme.sys.color.primary.default})}
|
|
4
|
-
class="${this.classMap(n)}"
|
|
5
|
-
for=${this.id}
|
|
6
|
-
>
|
|
7
|
-
<schmancy-typography type="label" token="lg">${this.label}</schmancy-typography>
|
|
8
|
-
</label>`)}
|
|
9
|
-
|
|
10
|
-
<input
|
|
11
|
-
${d.color({bgColor:a.SchmancyTheme.sys.color.surface.highest,color:a.SchmancyTheme.sys.color.surface.on})}
|
|
12
|
-
${m.ref(this.inputRef)}
|
|
13
|
-
.value=${this.value}
|
|
14
|
-
.id=${this.id}
|
|
15
|
-
.name=${this.name}
|
|
16
|
-
.type=${this.type}
|
|
17
|
-
step=${s.ifDefined(this.step)}
|
|
18
|
-
.autocomplete=${this.autocomplete}
|
|
19
|
-
.placeholder=${this.placeholder}
|
|
20
|
-
.required=${this.required}
|
|
21
|
-
inputmode=${s.ifDefined(this.inputmode)}
|
|
22
|
-
class=${this.classMap(t)}
|
|
23
|
-
.disabled=${this.disabled}
|
|
24
|
-
.readOnly=${this.readonly}
|
|
25
|
-
min=${s.ifDefined(this.min)}
|
|
26
|
-
max=${s.ifDefined(this.max)}
|
|
27
|
-
minlength=${s.ifDefined(this.minlength)}
|
|
28
|
-
maxlength=${s.ifDefined(this.maxlength)}
|
|
29
|
-
.pattern=${s.ifDefined(this.pattern)??l.nothing}
|
|
30
|
-
/>
|
|
31
|
-
${f.when(this.hint,()=>l.html`
|
|
32
|
-
<schmancy-typography
|
|
33
|
-
${d.color({color:this.error?a.SchmancyTheme.sys.color.error.default:a.SchmancyTheme.sys.color.primary.default})}
|
|
34
|
-
class="pt-[4px]"
|
|
35
|
-
type="body"
|
|
36
|
-
token="sm"
|
|
37
|
-
>
|
|
38
|
-
${this.hint}
|
|
39
|
-
</schmancy-typography>
|
|
40
|
-
`)}
|
|
41
|
-
`}};e.shadowRootOptions={...l.LitElement.shadowRootOptions,delegatesFocus:!0},e.formAssociated=!0,r([i.property()],e.prototype,"label",2),r([i.property({reflect:!0})],e.prototype,"type",2),r([i.property({type:Boolean,reflect:!0})],e.prototype,"clickable",2),r([i.property()],e.prototype,"name",2),r([i.property()],e.prototype,"placeholder",2),r([i.property({type:String,reflect:!0})],e.prototype,"value",2),r([i.property({type:String,reflect:!0})],e.prototype,"pattern",2),r([i.property({type:Boolean,reflect:!0})],e.prototype,"required",2),r([i.property({type:Boolean,reflect:!0})],e.prototype,"disabled",2),r([i.property({type:Boolean,reflect:!0})],e.prototype,"readonly",2),r([i.property({type:Boolean,reflect:!0})],e.prototype,"spellcheck",2),r([i.property({type:String,reflect:!0})],e.prototype,"align",2),r([i.property()],e.prototype,"inputmode",2),r([i.property({type:Number})],e.prototype,"minlength",2),r([i.property({type:Number})],e.prototype,"maxlength",2),r([i.property()],e.prototype,"min",2),r([i.property()],e.prototype,"max",2),r([i.property({type:Number,reflect:!0})],e.prototype,"step",2),r([i.property({type:Boolean})],e.prototype,"autofocus",2),r([i.property()],e.prototype,"autocomplete",2),r([i.property({type:Number})],e.prototype,"tabIndex",2),r([i.query("input")],e.prototype,"inputElement",2),r([i.property()],e.prototype,"hint",2),r([i.property({type:Boolean,reflect:!0})],e.prototype,"error",2),e=r([i.customElement("schmancy-input")],e);
|
|
42
|
-
//# sourceMappingURL=input-BgnA2aM_.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-BgnA2aM_.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-none 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-C50UsaQY.js","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-none 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","render","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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"outlet-Dajn35eu.cjs","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { Subject, buffer, debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n action?: typeof Function\n duration?: number\n}\n\nfunction createNotificationComponent(message, type) {\n const notificationComponent = document.createElement('schmancy-notification')\n notificationComponent.setAttribute('type', type)\n notificationComponent.innerHTML = message\n return notificationComponent\n}\nconst $notifications = new Subject<{\n component: SchmancyNotification\n config?: TNotificationConfig\n}>()\nexport const $notify = {\n success: (message: string, config?: TNotificationConfig) => {\n const component = createNotificationComponent(message, 'success')\n $notifications.next({ component, config })\n return component\n },\n error: (message: string, config?: TNotificationConfig) => {\n const component = createNotificationComponent(message, 'error')\n $notifications.next({ component, config })\n return component\n },\n warning: (message: string, config?: TNotificationConfig) => {\n const component = createNotificationComponent(message, 'warning')\n $notifications.next({ component, config })\n return component\n },\n info: (message: string, config?: TNotificationConfig) => {\n const component = createNotificationComponent(message, 'info')\n $notifications.next({ component, config })\n return component\n }\n}\n\n$notifications.pipe(buffer($notifications.pipe(debounceTime(1000)))).subscribe((notifications) => {\n if (notifications.length > 1) {\n const notification = notifications[notifications.length - 1]\n $notifications.next({ component: notification.component, config: notification.config })\n }\n})\n$notifications.subscribe(({ component, config }) => {\n document.body?.appendChild(component)\n race(fromEvent(component, 'close'), timer(config?.duration ?? 3000)).subscribe(() => {\n component.remove()\n })\n})\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\taria-live=\"assertive\"\n\t\t\t\tclass=\"pointer-events-none z-[100] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6\"\n\t\t\t>\n\t\t\t\t<div class=\"flex w-full flex-col items-center space-y-4 sm:items-end\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-white shadow-lg ring-1 ring-black ring-opacity-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"p-2\">\n\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<div class=\"flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t${this.type === 'success'\n\t\t\t\t\t\t\t\t\t\t? html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-green-400\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`\n\t\t\t\t\t\t\t\t\t\t: html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-red-600\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-3 w-0 flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t\t<p class=\" text-sm text-gray-500\">\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-4 flex flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tclass=\"inline-flex rounded-md bg-white text-gray-400 hover:text-gray-900 hover:bg-gray-100 hover:rounded-full p-2 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2\"\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">Close</span>\n\t\t\t\t\t\t\t\t\t\t<svg class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["createNotificationComponent","message","type","notificationComponent","document","createElement","setAttribute","innerHTML","$notifications","Subject","$notify","success","config","component","next","error","warning","info","pipe","buffer","debounceTime","subscribe","notifications","length","notification","body","appendChild","race","fromEvent","timer","duration","remove","SchmancyNotification","TailwindElement","constructor","super","arguments","this","render","html","dispatchEvent","CustomEvent","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"oNASA,SAASA,EAA4BC,EAASC,EAAAA,CACtC,MAAAC,EAAwBC,SAASC,cAAc,uBAG9C,EAAA,OAFeF,EAAAG,aAAa,OAAQJ,CAC3CC,EAAAA,EAAsBI,UAAYN,EAC3BE,CACT,CACA,MAAMK,EAAiB,IAAIC,EAAAA,QAIdC,EAAU,CACrBC,QAAS,CAACV,EAAiBW,IACnB,CAAA,MAAAC,EAAYb,EAA4BC,EAAS,SAAA,EAEhD,OADPO,EAAeM,KAAK,CAAED,UAAWD,EAAAA,OAAAA,CAAAA,CAAAA,EAC1BC,CAAA,EAETE,MAAO,CAACd,EAAiBW,IACjB,CAAA,MAAAC,EAAYb,EAA4BC,EAAS,OAAA,EAEhD,OADPO,EAAeM,KAAK,CAAED,YAAWD,OAC1BC,CAAAA,CAAAA,EAAAA,CAAA,EAETG,QAAS,CAACf,EAAiBW,IACnB,CAAA,MAAAC,EAAYb,EAA4BC,EAAS,SAAA,EAEhD,OADPO,EAAeM,KAAK,CAAED,UAAAA,EAAWD,OAC1BC,CAAAA,CAAAA,EAAAA,CAAA,EAETI,KAAM,CAAChB,EAAiBW,IAChB,CAAA,MAAAC,EAAYb,EAA4BC,EAAS,MAAA,EAEhD,OADPO,EAAeM,KAAK,CAAED,UAAWD,EAAAA,OAAAA,CAAAA,CAAAA,EAC1BC,CAAA,CAAA,EAIXL,EAAeU,KAAKC,EAAAA,OAAOX,EAAeU,KAAKE,EAAAA,aAAa,QAASC,UAAWC,GAAAA,CAC1E,GAAAA,EAAcC,OAAS,EAAG,CAC5B,MAAMC,EAAeF,EAAcA,EAAcC,OAAS,CAC3Cf,EAAAA,EAAAM,KAAK,CAAED,UAAWW,EAAaX,UAAWD,OAAQY,EAAaZ,MAAQ,CAAA,CAAA,CAAA,CAAA,EAG1FJ,EAAea,UAAU,CAAGR,CAAAA,UAAAA,EAAWD,OAC5BR,CAAAA,IAAAA,QAAAA,EAAAA,SAAAqB,OAAArB,MAAAA,EAAMsB,YAAYb,GACtBc,EAAAA,KAAAC,EAAAA,UAAUf,EAAW,OAAA,EAAUgB,EAAAA,OAAMjB,GAAAA,YAAAA,EAAQkB,WAAY,GAAOT,CAAAA,EAAAA,UAAU,IAC7ER,CAAAA,EAAUkB,OAAO,CAAA,CAAA,CAClB,mMChDUC,QAAAA,qBAAN,cAAmCC,EAAAA,gBAAAA,CAAAA,CAAnC,aAAAC,CAAAC,MAAAC,GAAAA,SAAAA,EAE2CC,KAAAnC,KAAA,SAAA,CAEjD,QAAAoC,CACQ,OAAAC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAYEF,KAAKnC,OAAS,UACbqC;;;;;;;;;;;;;mBAcAA,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;;;;;;;;;;mBAwBO,IAAA,CACRF,KAAKG,cAAc,IAAIC,YAAY,OAAQ,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAC3C,CAxDVC,EAAAA,EAAA,CADCC,WAAS,CAAEzC,KAAM0C,MAAAA,CAAAA,CAAAA,EADNZ,6BAEZa,UAAA,OAAA,CAFYb,EAAAA,QAANA,qBAAAU,EAAA,CADNI,EAAAA,cAAc,uBAAA,CAAA,EACFd,4FCCAe,QAAAA,2BAAN,cAAyCd,EAAAA,gBAC/C,CAAA,CAAA,SACQ,OAAAM,EAAAA,qBAAA,CAAA,EAFIQ,QAANA,6JAAA,CADND,EAAAA,cAAc,8BACFC,CAAAA,EAAAA"}
|