@mhmo91/schmancy 0.7.5 → 0.7.6
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/ai/directives.md +214 -7
- package/ai/typewriter.md +151 -33
- package/dist/ai/directives.md +214 -7
- package/dist/ai/typewriter.md +151 -33
- package/dist/{animated-text-DnFenRS1.cjs → animated-text-1FDC-OTA.cjs} +2 -2
- package/dist/{animated-text-DnFenRS1.cjs.map → animated-text-1FDC-OTA.cjs.map} +1 -1
- package/dist/{animated-text-YBgWXuVJ.js → animated-text-1_latidd.js} +3 -3
- package/dist/{animated-text-YBgWXuVJ.js.map → animated-text-1_latidd.js.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-C_nUxyiY.js → area.component-CQq-Mh0Z.js} +47 -39
- package/dist/area.component-CQq-Mh0Z.js.map +1 -0
- package/dist/{area.component-BojFAcRk.cjs → area.component-Ciw7vGsx.cjs} +4 -4
- package/dist/area.component-Ciw7vGsx.cjs.map +1 -0
- package/dist/area.js +1 -1
- package/dist/{autocomplete-B-X_D8MC.js → autocomplete-DT9MFPEG.js} +5 -5
- package/dist/{autocomplete-B-X_D8MC.js.map → autocomplete-DT9MFPEG.js.map} +1 -1
- package/dist/{autocomplete-B8oOdRsV.cjs → autocomplete-auTO_M_w.cjs} +2 -2
- package/dist/{autocomplete-B8oOdRsV.cjs.map → autocomplete-auTO_M_w.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-DBdyON6Y.cjs → avatar-Bo8kRnA-.cjs} +2 -2
- package/dist/{avatar-DBdyON6Y.cjs.map → avatar-Bo8kRnA-.cjs.map} +1 -1
- package/dist/{avatar-Cro3M4Lw.js → avatar-Dm_qg-n1.js} +52 -52
- package/dist/{avatar-Cro3M4Lw.js.map → avatar-Dm_qg-n1.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-98He5-K8.cjs +97 -0
- package/dist/boat-98He5-K8.cjs.map +1 -0
- package/dist/boat-RNCKlx8b.js +301 -0
- package/dist/boat-RNCKlx8b.js.map +1 -0
- package/dist/boat.cjs +1 -1
- package/dist/boat.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-BOmazo-k.js → checkbox-Bdn1_WJg.js} +2 -2
- package/dist/{checkbox-BOmazo-k.js.map → checkbox-Bdn1_WJg.js.map} +1 -1
- package/dist/{checkbox-DMfwDgYx.cjs → checkbox-Dj06r6MD.cjs} +2 -2
- package/dist/{checkbox-DMfwDgYx.cjs.map → checkbox-Dj06r6MD.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-DgyY3Jlw.js → code-preview-Br7zBkyM.js} +2 -2
- package/dist/{code-preview-DgyY3Jlw.js.map → code-preview-Br7zBkyM.js.map} +1 -1
- package/dist/{code-preview-CbZzYTk2.cjs → code-preview-ByxcwPma.cjs} +2 -2
- package/dist/{code-preview-CbZzYTk2.cjs.map → code-preview-ByxcwPma.cjs.map} +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-BV0479CW.js → date-range-VkIMcQdT.js} +3 -3
- package/dist/{date-range-BV0479CW.js.map → date-range-VkIMcQdT.js.map} +1 -1
- package/dist/{date-range-inline-HNDLTnYi.cjs → date-range-inline-kbokz03Z.cjs} +2 -2
- package/dist/{date-range-inline-HNDLTnYi.cjs.map → date-range-inline-kbokz03Z.cjs.map} +1 -1
- package/dist/{date-range-inline-GfLao0NN.js → date-range-inline-l2G48xTX.js} +3 -3
- package/dist/{date-range-inline-GfLao0NN.js.map → date-range-inline-l2G48xTX.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/{date-range-47SnbVM6.cjs → date-range-xYUr_KKx.cjs} +2 -2
- package/dist/{date-range-47SnbVM6.cjs.map → date-range-xYUr_KKx.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-Dr3Fr5YB.cjs → delay-CCreUpYu.cjs} +2 -2
- package/dist/{delay-Dr3Fr5YB.cjs.map → delay-CCreUpYu.cjs.map} +1 -1
- package/dist/{delay-B40l99jW.js → delay-Nu7RVtYd.js} +2 -2
- package/dist/{delay-B40l99jW.js.map → delay-Nu7RVtYd.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/details-CjQrqBli.cjs +98 -0
- package/dist/details-CjQrqBli.cjs.map +1 -0
- package/dist/details-DVIWpEsI.js +137 -0
- package/dist/details-DVIWpEsI.js.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-B_amCfq7.js → dialog-content-BgxKi73O.js} +3 -3
- package/dist/{dialog-content-B_amCfq7.js.map → dialog-content-BgxKi73O.js.map} +1 -1
- package/dist/{dialog-content-Emd7BLQA.cjs → dialog-content-CM3-RXQQ.cjs} +2 -2
- package/dist/{dialog-content-Emd7BLQA.cjs.map → dialog-content-CM3-RXQQ.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +10 -6
- package/dist/divider-0yHQS8kR.cjs +58 -0
- package/dist/divider-0yHQS8kR.cjs.map +1 -0
- package/dist/divider-CqyzFfn1.js +84 -0
- package/dist/divider-CqyzFfn1.js.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-BpJq8Q1u.cjs → dropdown-content-BmHQE5-P.cjs} +2 -2
- package/dist/{dropdown-content-BpJq8Q1u.cjs.map → dropdown-content-BmHQE5-P.cjs.map} +1 -1
- package/dist/{dropdown-content-Bw9jnfCR.js → dropdown-content-iFlLupVo.js} +3 -3
- package/dist/{dropdown-content-Bw9jnfCR.js.map → dropdown-content-iFlLupVo.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-Bxvu6zi9.cjs → email-recipients-Cioc3U0Z.cjs} +2 -2
- package/dist/{email-recipients-Bxvu6zi9.cjs.map → email-recipients-Cioc3U0Z.cjs.map} +1 -1
- package/dist/{email-recipients-DZGMhyg4.js → email-recipients-CmAEJDMC.js} +6 -6
- package/dist/{email-recipients-DZGMhyg4.js.map → email-recipients-CmAEJDMC.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-DakK9gco.cjs → flex-BEB1yuMF.cjs} +2 -2
- package/dist/{flex-DakK9gco.cjs.map → flex-BEB1yuMF.cjs.map} +1 -1
- package/dist/{flex-DUgMxT_9.js → flex-BgcbHlPo.js} +2 -2
- package/dist/{flex-DUgMxT_9.js.map → flex-BgcbHlPo.js.map} +1 -1
- package/dist/{form-yZ1fh3h9.js → form-CxrvY530.js} +2 -2
- package/dist/{form-yZ1fh3h9.js.map → form-CxrvY530.js.map} +1 -1
- package/dist/{form-CPmMvWvE.cjs → form-DFDTspmH.cjs} +2 -2
- package/dist/{form-CPmMvWvE.cjs.map → form-DFDTspmH.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-D51klHq7.cjs → formField.mixin-C7H5DaEl.cjs} +2 -2
- package/dist/{formField.mixin-D51klHq7.cjs.map → formField.mixin-C7H5DaEl.cjs.map} +1 -1
- package/dist/{formField.mixin-Cmb9YpmX.js → formField.mixin-hZ2qP4iG.js} +2 -2
- package/dist/{formField.mixin-Cmb9YpmX.js.map → formField.mixin-hZ2qP4iG.js.map} +1 -1
- package/dist/{icon-DHT8YsE3.js → icon-D0FAI5uJ.js} +2 -2
- package/dist/{icon-DHT8YsE3.js.map → icon-D0FAI5uJ.js.map} +1 -1
- package/dist/{icon-Dsa_BddL.cjs → icon-DJnGMAQ2.cjs} +2 -2
- package/dist/{icon-Dsa_BddL.cjs.map → icon-DJnGMAQ2.cjs.map} +1 -1
- package/dist/{icon-button-BRcfLsJL.cjs → icon-button-CSZtSmOy.cjs} +8 -8
- package/dist/icon-button-CSZtSmOy.cjs.map +1 -0
- package/dist/{icon-button-PpRHFLCj.js → icon-button-CbgQp3AL.js} +19 -19
- package/dist/icon-button-CbgQp3AL.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 +196 -192
- package/dist/{input-CYGSlByl.js → input-DLnKAj3B.js} +4 -4
- package/dist/{input-CYGSlByl.js.map → input-DLnKAj3B.js.map} +1 -1
- package/dist/{input-chip-CKYO8Lww.cjs → input-chip-C3EPsHcP.cjs} +2 -2
- package/dist/{input-chip-CKYO8Lww.cjs.map → input-chip-C3EPsHcP.cjs.map} +1 -1
- package/dist/{input-chip-CTKPIRVA.js → input-chip-dmqYCExV.js} +2 -2
- package/dist/{input-chip-CTKPIRVA.js.map → input-chip-dmqYCExV.js.map} +1 -1
- package/dist/input-wZ6ORWru.cjs +51 -0
- package/dist/{input-DB269a2X.cjs.map → input-wZ6ORWru.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-BbzeVuby.js → list-BegNkhOn.js} +2 -2
- package/dist/{list-BbzeVuby.js.map → list-BegNkhOn.js.map} +1 -1
- package/dist/{list-BQVTFNkq.cjs → list-CLKiZ6lk.cjs} +2 -2
- package/dist/{list-BQVTFNkq.cjs.map → list-CLKiZ6lk.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-DzCpXwcY.cjs → litElement.mixin-CPQYJnK_.cjs} +2 -2
- package/dist/{litElement.mixin-DzCpXwcY.cjs.map → litElement.mixin-CPQYJnK_.cjs.map} +1 -1
- package/dist/{litElement.mixin-BzbZQbxa.js → litElement.mixin-DWDPaNoc.js} +2 -2
- package/dist/{litElement.mixin-BzbZQbxa.js.map → litElement.mixin-DWDPaNoc.js.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-CgwU5Px4.js → map-CUKZ6LrR.js} +2 -2
- package/dist/{map-CgwU5Px4.js.map → map-CUKZ6LrR.js.map} +1 -1
- package/dist/{map-DuTFI2lm.cjs → map-w4Kdtycx.cjs} +2 -2
- package/dist/{map-DuTFI2lm.cjs.map → map-w4Kdtycx.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-BnktmFRW.js → media-CjdCchz8.js} +2 -2
- package/dist/{media-BnktmFRW.js.map → media-CjdCchz8.js.map} +1 -1
- package/dist/{media-gtpSHRFx.cjs → media-DDNmuoV0.cjs} +2 -2
- package/dist/{media-gtpSHRFx.cjs.map → media-DDNmuoV0.cjs.map} +1 -1
- package/dist/menu-D9-9vipn.cjs +26 -0
- package/dist/menu-D9-9vipn.cjs.map +1 -0
- package/dist/menu-ofiPDY2a.js +61 -0
- package/dist/menu-ofiPDY2a.js.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +3 -3
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-D8otIR2P.cjs → navigation-rail-CEDLJTrH.cjs} +2 -2
- package/dist/{navigation-rail-D8otIR2P.cjs.map → navigation-rail-CEDLJTrH.cjs.map} +1 -1
- package/dist/{navigation-rail-CUMNSz0h.js → navigation-rail-weSW6BCv.js} +3 -3
- package/dist/{navigation-rail-CUMNSz0h.js.map → navigation-rail-weSW6BCv.js.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-E16lPsiT.js → notification-service-B4nvP2Jc.js} +5 -5
- package/dist/{notification-service-E16lPsiT.js.map → notification-service-B4nvP2Jc.js.map} +1 -1
- package/dist/{notification-service-CP6kGXVL.cjs → notification-service-B_pa74hl.cjs} +2 -2
- package/dist/{notification-service-CP6kGXVL.cjs.map → notification-service-B_pa74hl.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-D865xIlu.js → notify-Ci0HrUIo.js} +2 -2
- package/dist/{notify-D865xIlu.js.map → notify-Ci0HrUIo.js.map} +1 -1
- package/dist/{notify-Czdp7BbG.cjs → notify-aasSKQGA.cjs} +2 -2
- package/dist/{notify-Czdp7BbG.cjs.map → notify-aasSKQGA.cjs.map} +1 -1
- package/dist/{option-cJ8fM5qJ.js → option-Cs4e3CzF.js} +2 -2
- package/dist/{option-cJ8fM5qJ.js.map → option-Cs4e3CzF.js.map} +1 -1
- package/dist/{option-B1r0hb3H.cjs → option-Uze_q9Ef.cjs} +2 -2
- package/dist/{option-B1r0hb3H.cjs.map → option-Uze_q9Ef.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-RBjpMc2m.js → payment-card-form-BLoUTYiB.js} +3 -3
- package/dist/{payment-card-form-RBjpMc2m.js.map → payment-card-form-BLoUTYiB.js.map} +1 -1
- package/dist/{payment-card-form-EO3auDS8.cjs → payment-card-form-rJCPUtWE.cjs} +2 -2
- package/dist/{payment-card-form-EO3auDS8.cjs.map → payment-card-form-rJCPUtWE.cjs.map} +1 -1
- package/dist/{progress-4v9FzvOT.js → progress-B1f3y-Mf.js} +2 -2
- package/dist/{progress-4v9FzvOT.js.map → progress-B1f3y-Mf.js.map} +1 -1
- package/dist/{progress-DnhvJMz_.cjs → progress-DdBHNIMT.cjs} +2 -2
- package/dist/{progress-DnhvJMz_.cjs.map → progress-DdBHNIMT.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-BVegeFKE.cjs → radio-button-BAS7gKmA.cjs} +2 -2
- package/dist/{radio-button-BVegeFKE.cjs.map → radio-button-BAS7gKmA.cjs.map} +1 -1
- package/dist/{radio-button-DDavzgCz.js → radio-button-CaDaw5VH.js} +3 -3
- package/dist/{radio-button-DDavzgCz.js.map → radio-button-CaDaw5VH.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/ripple-QoNZUUw_.js +148 -0
- package/dist/ripple-QoNZUUw_.js.map +1 -0
- package/dist/ripple-Ujq_REH4.cjs +16 -0
- package/dist/ripple-Ujq_REH4.cjs.map +1 -0
- package/dist/{schmancy-steps-container-DN9c-HeX.js → schmancy-steps-container-BInNput3.js} +2 -2
- package/dist/{schmancy-steps-container-DN9c-HeX.js.map → schmancy-steps-container-BInNput3.js.map} +1 -1
- package/dist/{schmancy-steps-container-s6kZWhcr.cjs → schmancy-steps-container-wQsksygx.cjs} +2 -2
- package/dist/{schmancy-steps-container-s6kZWhcr.cjs.map → schmancy-steps-container-wQsksygx.cjs.map} +1 -1
- package/dist/search-B1s7thB0.cjs +2 -0
- package/dist/search-B1s7thB0.cjs.map +1 -0
- package/dist/search-DxxnLa5u.js +95 -0
- package/dist/search-DxxnLa5u.js.map +1 -0
- package/dist/{select--D6l5ru7.js → select-ApLZefMf.js} +4 -4
- package/dist/{select--D6l5ru7.js.map → select-ApLZefMf.js.map} +1 -1
- package/dist/{select-DVT_kFNR.cjs → select-_2Ag_znm.cjs} +2 -2
- package/dist/{select-DVT_kFNR.cjs.map → select-_2Ag_znm.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/selector-hook-Cok22ifx.cjs +2 -0
- package/dist/selector-hook-Cok22ifx.cjs.map +1 -0
- package/dist/selector-hook-l2fe2UO5.js +319 -0
- package/dist/selector-hook-l2fe2UO5.js.map +1 -0
- package/dist/{sheet-CNn_huhz.js → sheet-DovyNsok.js} +14 -14
- package/dist/sheet-DovyNsok.js.map +1 -0
- package/dist/{sheet-Bza5jVS2.cjs → sheet-wjDOQ8Hs.cjs} +4 -4
- package/dist/sheet-wjDOQ8Hs.cjs.map +1 -0
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-CmNDL4f6.js → sheet.service-BvOiOFMm.js} +2 -2
- package/dist/{sheet.service-CmNDL4f6.js.map → sheet.service-BvOiOFMm.js.map} +1 -1
- package/dist/{sheet.service--zUgftN3.cjs → sheet.service-DfHrOxyc.cjs} +2 -2
- package/dist/{sheet.service--zUgftN3.cjs.map → sheet.service-DfHrOxyc.cjs.map} +1 -1
- package/dist/{slider-Cf0pED-U.cjs → slider-BgJccHrg.cjs} +2 -2
- package/dist/{slider-Cf0pED-U.cjs.map → slider-BgJccHrg.cjs.map} +1 -1
- package/dist/{slider-DPxBmmFD.js → slider-CeVgx4pL.js} +3 -3
- package/dist/{slider-DPxBmmFD.js.map → slider-CeVgx4pL.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-BDSDxr_W.cjs → spinner-BKeA2bdB.cjs} +3 -3
- package/dist/spinner-BKeA2bdB.cjs.map +1 -0
- package/dist/{spinner-Dyz6HBFa.js → spinner-Brq1TenP.js} +3 -3
- package/dist/spinner-Brq1TenP.js.map +1 -0
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/store.cjs +1 -1
- package/dist/store.js +1 -1
- package/dist/{suggestion-chip-CCW8g_3S.js → suggestion-chip-CWBSzu7C.js} +3 -3
- package/dist/{suggestion-chip-CCW8g_3S.js.map → suggestion-chip-CWBSzu7C.js.map} +1 -1
- package/dist/{suggestion-chip-B7COqb4l.cjs → suggestion-chip-dq20NKWy.cjs} +2 -2
- package/dist/{suggestion-chip-B7COqb4l.cjs.map → suggestion-chip-dq20NKWy.cjs.map} +1 -1
- package/dist/{surface-B4CxtF38.js → surface-Bf8pvmdG.js} +34 -10
- package/dist/{surface-B4CxtF38.js.map → surface-Bf8pvmdG.js.map} +1 -1
- package/dist/{surface-CkzbeSYN.cjs → surface-fEPJ-cuu.cjs} +27 -3
- package/dist/{surface-CkzbeSYN.cjs.map → surface-fEPJ-cuu.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-D-g4ZBys.cjs → table-DEnB9_Rf.cjs} +4 -3
- package/dist/{table-D-g4ZBys.cjs.map → table-DEnB9_Rf.cjs.map} +1 -1
- package/dist/{table-KPNVMJtn.js → table-MLd3oXm6.js} +14 -10
- package/dist/{table-KPNVMJtn.js.map → table-MLd3oXm6.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-sMoQP12I.cjs → tabs-compatibility-CXVHOR5X.cjs} +2 -2
- package/dist/{tabs-compatibility-sMoQP12I.cjs.map → tabs-compatibility-CXVHOR5X.cjs.map} +1 -1
- package/dist/{tabs-compatibility-xUK4vD1M.js → tabs-compatibility-KWKzYolX.js} +2 -2
- package/dist/{tabs-compatibility-xUK4vD1M.js.map → tabs-compatibility-KWKzYolX.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-3TPVvhYf.cjs +2 -0
- package/dist/{tailwind.mixin-scDxsqaX.cjs.map → tailwind.mixin-3TPVvhYf.cjs.map} +1 -1
- package/dist/tailwind.mixin-DIW0B_of.js +67 -0
- package/dist/{tailwind.mixin-xIIxrXd8.js.map → tailwind.mixin-DIW0B_of.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-BSBYVs99.cjs → textarea-B7arkA7y.cjs} +2 -2
- package/dist/{textarea-BSBYVs99.cjs.map → textarea-B7arkA7y.cjs.map} +1 -1
- package/dist/{textarea-CFrirT5y.js → textarea-BK1m_CFR.js} +3 -3
- package/dist/{textarea-CFrirT5y.js.map → textarea-BK1m_CFR.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-B8Xqrz1M.cjs → theme-button-BTKwL3oC.cjs} +2 -2
- package/dist/{theme-button-B8Xqrz1M.cjs.map → theme-button-BTKwL3oC.cjs.map} +1 -1
- package/dist/{theme-button-D-LTPh88.js → theme-button-C6kk8bay.js} +2 -2
- package/dist/{theme-button-D-LTPh88.js.map → theme-button-C6kk8bay.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{theme-controller-boat-BOddzVdU.js → theme-controller-boat-BK59LqH9.js} +3 -3
- package/dist/{theme-controller-boat-BOddzVdU.js.map → theme-controller-boat-BK59LqH9.js.map} +1 -1
- package/dist/{theme-controller-boat-C2F-qRyu.cjs → theme-controller-boat-Y5QXwJxW.cjs} +2 -2
- package/dist/{theme-controller-boat-C2F-qRyu.cjs.map → theme-controller-boat-Y5QXwJxW.cjs.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-BvOWa9Nt.js → timezone-D_skWX6Z.js} +3 -3
- package/dist/{timezone-BvOWa9Nt.js.map → timezone-D_skWX6Z.js.map} +1 -1
- package/dist/{timezone-xHmnktrm.cjs → timezone-nbn0o5GC.cjs} +2 -2
- package/dist/{timezone-xHmnktrm.cjs.map → timezone-nbn0o5GC.cjs.map} +1 -1
- package/dist/{tooltip-D3ZZJEAk.js → tooltip-Btl0IKYC.js} +2 -2
- package/dist/{tooltip-D3ZZJEAk.js.map → tooltip-Btl0IKYC.js.map} +1 -1
- package/dist/{tooltip-D24v5bvM.cjs → tooltip-DyuMJEjL.cjs} +2 -2
- package/dist/{tooltip-D24v5bvM.cjs.map → tooltip-DyuMJEjL.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-CfVyhRIH.js → tree-B_2eIFQi.js} +2 -2
- package/dist/{tree-CfVyhRIH.js.map → tree-B_2eIFQi.js.map} +1 -1
- package/dist/{tree-DC_jbDRu.cjs → tree-N4Y6MoQe.cjs} +2 -2
- package/dist/{tree-DC_jbDRu.cjs.map → tree-N4Y6MoQe.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-By-3T0Jm.js → typewriter-Blyrk_4c.js} +247 -118
- package/dist/typewriter-Blyrk_4c.js.map +1 -0
- package/dist/typewriter-CFQAeOaw.cjs +124 -0
- package/dist/typewriter-CFQAeOaw.cjs.map +1 -0
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-B7kvO8iJ.js → typography-DjGWK58I.js} +2 -2
- package/dist/{typography-B7kvO8iJ.js.map → typography-DjGWK58I.js.map} +1 -1
- package/dist/{typography-9lVCjAbj.cjs → typography-DsIU0TGe.cjs} +2 -2
- package/dist/{typography-9lVCjAbj.cjs.map → typography-DsIU0TGe.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/types/src/area/router.types.d.ts +1 -0
- package/types/src/boat/boat.d.ts +0 -1
- package/types/src/button/button.d.ts +8 -0
- package/types/src/details/details.d.ts +3 -11
- package/types/src/directives/drag.d.ts +30 -0
- package/types/src/directives/index.d.ts +1 -0
- package/types/src/divider/divider.d.ts +6 -1
- package/types/src/menu/menu-item.d.ts +0 -1
- package/types/src/store/filter-directive.d.ts +1 -1
- package/types/src/surface/surface.d.ts +2 -1
- package/types/src/types/surface.d.ts +1 -1
- package/types/src/typewriter/typewriter.d.ts +15 -0
- package/types/src/utils/index.d.ts +4 -4
- package/types/src/utils/search.d.ts +39 -1
- package/dist/area.component-BojFAcRk.cjs.map +0 -1
- package/dist/area.component-C_nUxyiY.js.map +0 -1
- package/dist/boat-B7AKN6Ge.js +0 -276
- package/dist/boat-B7AKN6Ge.js.map +0 -1
- package/dist/boat-BhAuteUk.cjs +0 -93
- package/dist/boat-BhAuteUk.cjs.map +0 -1
- package/dist/details-CQPpI_la.js +0 -211
- package/dist/details-CQPpI_la.js.map +0 -1
- package/dist/details-DydvHvfw.cjs +0 -143
- package/dist/details-DydvHvfw.cjs.map +0 -1
- package/dist/divider-BF9xljgI.cjs +0 -2
- package/dist/divider-BF9xljgI.cjs.map +0 -1
- package/dist/divider-BHruVdsE.js +0 -23
- package/dist/divider-BHruVdsE.js.map +0 -1
- package/dist/icon-button-BRcfLsJL.cjs.map +0 -1
- package/dist/icon-button-PpRHFLCj.js.map +0 -1
- package/dist/input-DB269a2X.cjs +0 -51
- package/dist/menu-DA2pO48m.cjs +0 -26
- package/dist/menu-DA2pO48m.cjs.map +0 -1
- package/dist/menu-DwFriXTu.js +0 -63
- package/dist/menu-DwFriXTu.js.map +0 -1
- package/dist/ripple-Cy-nvO8W.js +0 -80
- package/dist/ripple-Cy-nvO8W.js.map +0 -1
- package/dist/ripple-DqQrvaTe.cjs +0 -16
- package/dist/ripple-DqQrvaTe.cjs.map +0 -1
- package/dist/search-BeEqIiuO.js +0 -53
- package/dist/search-BeEqIiuO.js.map +0 -1
- package/dist/search-bfOHCuHZ.cjs +0 -2
- package/dist/search-bfOHCuHZ.cjs.map +0 -1
- package/dist/selector-hook-BG6g_IEN.cjs +0 -2
- package/dist/selector-hook-BG6g_IEN.cjs.map +0 -1
- package/dist/selector-hook-CrwQCPxL.js +0 -313
- package/dist/selector-hook-CrwQCPxL.js.map +0 -1
- package/dist/sheet-Bza5jVS2.cjs.map +0 -1
- package/dist/sheet-CNn_huhz.js.map +0 -1
- package/dist/spinner-BDSDxr_W.cjs.map +0 -1
- package/dist/spinner-Dyz6HBFa.js.map +0 -1
- package/dist/tailwind.mixin-scDxsqaX.cjs +0 -2
- package/dist/tailwind.mixin-xIIxrXd8.js +0 -67
- package/dist/typewriter-By-3T0Jm.js.map +0 -1
- package/dist/typewriter-vit0P1N1.cjs +0 -9
- package/dist/typewriter-vit0P1N1.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea-BSBYVs99.cjs","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } 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 './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n\n/**\n * Textarea component with auto-resize and form integration.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} value - Current value of the textarea\n * @prop {string} placeholder - Placeholder text\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} disabled - Whether the field is disabled\n * @prop {boolean} readonly - Whether the field is read-only\n * @prop {number} rows - Number of visible text rows\n * @prop {number} maxlength - Maximum character length\n */\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea 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\ttextareaRef = createRef<HTMLTextAreaElement>()\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 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 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 number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Makes the textarea fill the height of its container.\n\t * @attr fillHeight\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) fillHeight = false\n\n\t/**\n\t * Automatically adjusts height based on content.\n\t * @attr autoHeight\n\t * @type {boolean}\n\t * @default true\n\t * @public\n\t */\n\t@property({ type: Boolean }) autoHeight = true\n\n\t/**\n\t * Controls whether the textarea can be resized by the user.\n\t * @attr resize\n\t * @type {'none' | 'vertical' | 'horizontal' | 'both'}\n\t * @default 'vertical'\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical'\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\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\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@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\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\tif (this.autoHeight) {\n\t\t\t// Initial adjustment for pre-filled content\n\t\t\tsetTimeout(() => this.adjustHeight(), 0)\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\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.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\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.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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}\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.textareaRef.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.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\t// Only grow, never shrink\n\t\t\tconst currentHeight = textarea.offsetHeight\n\t\t\tconst scrollHeight = textarea.scrollHeight\n\t\t\tif (scrollHeight > currentHeight) {\n\t\t\t\ttextarea.style.height = scrollHeight + 'px'\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.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.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.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 rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': 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'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t'h-full': this.fillHeight,\n\t\t\t'resize-none': this.resize === 'none',\n\t\t\t'resize-y': this.resize === 'vertical',\n\t\t\t'resize-x': this.resize === 'horizontal',\n\t\t\t'resize': this.resize === 'both',\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\tconst containerClasses = {\n\t\t\t'flex flex-col h-full': this.fillHeight,\n\t\t}\n\t\treturn html`\n\t\t<div class=\"${this.classMap(containerClasses)}\">\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<schmancy-typography type=\"body\" token=\"lg\" class=\"${this.fillHeight ? 'flex-grow flex flex-col' : ''}\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\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</div>\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","fillHeight","autoHeight","resize","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","firstUpdated","autofocus","focus","setTimeout","adjustHeight","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","textarea","currentHeight","offsetHeight","scrollHeight","style","height","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","containerClasses","html","classMap","when","color","SchmancyTheme","sys","default","primary","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"textarea-B7arkA7y.cjs","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } 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 './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n\n/**\n * Textarea component with auto-resize and form integration.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} value - Current value of the textarea\n * @prop {string} placeholder - Placeholder text\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} disabled - Whether the field is disabled\n * @prop {boolean} readonly - Whether the field is read-only\n * @prop {number} rows - Number of visible text rows\n * @prop {number} maxlength - Maximum character length\n */\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea 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\ttextareaRef = createRef<HTMLTextAreaElement>()\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 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 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 number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Makes the textarea fill the height of its container.\n\t * @attr fillHeight\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) fillHeight = false\n\n\t/**\n\t * Automatically adjusts height based on content.\n\t * @attr autoHeight\n\t * @type {boolean}\n\t * @default true\n\t * @public\n\t */\n\t@property({ type: Boolean }) autoHeight = true\n\n\t/**\n\t * Controls whether the textarea can be resized by the user.\n\t * @attr resize\n\t * @type {'none' | 'vertical' | 'horizontal' | 'both'}\n\t * @default 'vertical'\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical'\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\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\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@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\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\tif (this.autoHeight) {\n\t\t\t// Initial adjustment for pre-filled content\n\t\t\tsetTimeout(() => this.adjustHeight(), 0)\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\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.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\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.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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}\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.textareaRef.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.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\t// Only grow, never shrink\n\t\t\tconst currentHeight = textarea.offsetHeight\n\t\t\tconst scrollHeight = textarea.scrollHeight\n\t\t\tif (scrollHeight > currentHeight) {\n\t\t\t\ttextarea.style.height = scrollHeight + 'px'\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.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.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.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 rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': 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'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t'h-full': this.fillHeight,\n\t\t\t'resize-none': this.resize === 'none',\n\t\t\t'resize-y': this.resize === 'vertical',\n\t\t\t'resize-x': this.resize === 'horizontal',\n\t\t\t'resize': this.resize === 'both',\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\tconst containerClasses = {\n\t\t\t'flex flex-col h-full': this.fillHeight,\n\t\t}\n\t\treturn html`\n\t\t<div class=\"${this.classMap(containerClasses)}\">\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<schmancy-typography type=\"body\" token=\"lg\" class=\"${this.fillHeight ? 'flex-grow flex flex-col' : ''}\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\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</div>\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","fillHeight","autoHeight","resize","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","firstUpdated","autofocus","focus","setTimeout","adjustHeight","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","textarea","currentHeight","offsetHeight","scrollHeight","style","height","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","containerClasses","html","classMap","when","color","SchmancyTheme","sys","default","primary","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as u } from "./ripple-
|
|
1
|
+
import { c as u } from "./ripple-QoNZUUw_.js";
|
|
2
2
|
import "lit/directives/guard.js";
|
|
3
3
|
import { S as l } from "./theme.interface-BLfE5J_1.js";
|
|
4
4
|
import { html as d, LitElement as x } from "lit";
|
|
@@ -10,7 +10,7 @@ import { fromEvent as y, map as f, distinctUntilChanged as m, filter as E } from
|
|
|
10
10
|
import "rxjs/operators";
|
|
11
11
|
import "lit/directives/class-map.js";
|
|
12
12
|
import "lit/directives/style-map.js";
|
|
13
|
-
import { T as R } from "./tailwind.mixin-
|
|
13
|
+
import { T as R } from "./tailwind.mixin-DIW0B_of.js";
|
|
14
14
|
var k = Object.defineProperty, H = Object.getOwnPropertyDescriptor, i = (t, s, a, h) => {
|
|
15
15
|
for (var p, o = h > 1 ? void 0 : h ? H(s, a) : s, c = t.length - 1; c >= 0; c--) (p = t[c]) && (o = (h ? p(s, a, o) : p(o)) || o);
|
|
16
16
|
return h && o && k(s, a, o), o;
|
|
@@ -130,4 +130,4 @@ let e = class extends R(":host{border:unset!important;line-height:unset!importan
|
|
|
130
130
|
}
|
|
131
131
|
};
|
|
132
132
|
e.shadowRootOptions = { ...x.shadowRootOptions, delegatesFocus: !0 }, e.formAssociated = !0, i([r()], e.prototype, "label", 2), i([r()], e.prototype, "name", 2), i([r()], e.prototype, "placeholder", 2), i([r({ type: String, reflect: !0 })], e.prototype, "value", 2), i([r({ type: Number })], e.prototype, "minlength", 2), i([r({ type: Number })], e.prototype, "maxlength", 2), i([r({ type: Number })], e.prototype, "cols", 2), i([r({ type: Number })], e.prototype, "rows", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "fillHeight", 2), i([r({ type: Boolean })], e.prototype, "autoHeight", 2), i([r({ type: String, reflect: !0 })], e.prototype, "resize", 2), i([r({ type: String })], e.prototype, "wrap", 2), i([r({ type: String })], e.prototype, "dirname", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "required", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "disabled", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "readonly", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "spellcheck", 2), i([r({ type: String, reflect: !0 })], e.prototype, "align", 2), i([r({ type: Boolean })], e.prototype, "autofocus", 2), i([r({ type: Number })], e.prototype, "tabIndex", 2), i([b("textarea")], e.prototype, "textareaElement", 2), i([r()], e.prototype, "hint", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "error", 2), e = i([v("schmancy-textarea")], e);
|
|
133
|
-
//# sourceMappingURL=textarea-
|
|
133
|
+
//# sourceMappingURL=textarea-BK1m_CFR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea-CFrirT5y.js","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } 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 './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n\n/**\n * Textarea component with auto-resize and form integration.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} value - Current value of the textarea\n * @prop {string} placeholder - Placeholder text\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} disabled - Whether the field is disabled\n * @prop {boolean} readonly - Whether the field is read-only\n * @prop {number} rows - Number of visible text rows\n * @prop {number} maxlength - Maximum character length\n */\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea 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\ttextareaRef = createRef<HTMLTextAreaElement>()\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 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 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 number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Makes the textarea fill the height of its container.\n\t * @attr fillHeight\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) fillHeight = false\n\n\t/**\n\t * Automatically adjusts height based on content.\n\t * @attr autoHeight\n\t * @type {boolean}\n\t * @default true\n\t * @public\n\t */\n\t@property({ type: Boolean }) autoHeight = true\n\n\t/**\n\t * Controls whether the textarea can be resized by the user.\n\t * @attr resize\n\t * @type {'none' | 'vertical' | 'horizontal' | 'both'}\n\t * @default 'vertical'\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical'\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\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\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@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\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\tif (this.autoHeight) {\n\t\t\t// Initial adjustment for pre-filled content\n\t\t\tsetTimeout(() => this.adjustHeight(), 0)\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\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.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\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.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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}\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.textareaRef.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.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\t// Only grow, never shrink\n\t\t\tconst currentHeight = textarea.offsetHeight\n\t\t\tconst scrollHeight = textarea.scrollHeight\n\t\t\tif (scrollHeight > currentHeight) {\n\t\t\t\ttextarea.style.height = scrollHeight + 'px'\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.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.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.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 rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': 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'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t'h-full': this.fillHeight,\n\t\t\t'resize-none': this.resize === 'none',\n\t\t\t'resize-y': this.resize === 'vertical',\n\t\t\t'resize-x': this.resize === 'horizontal',\n\t\t\t'resize': this.resize === 'both',\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\tconst containerClasses = {\n\t\t\t'flex flex-col h-full': this.fillHeight,\n\t\t}\n\t\treturn html`\n\t\t<div class=\"${this.classMap(containerClasses)}\">\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<schmancy-typography type=\"body\" token=\"lg\" class=\"${this.fillHeight ? 'flex-grow flex flex-col' : ''}\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\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</div>\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","fillHeight","autoHeight","resize","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","firstUpdated","autofocus","focus","setTimeout","adjustHeight","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","textarea","currentHeight","offsetHeight","scrollHeight","style","height","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","containerClasses","html","classMap","when","color","SchmancyTheme","sys","default","primary","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"textarea-BK1m_CFR.js","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } 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 './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n\n/**\n * Textarea component with auto-resize and form integration.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} value - Current value of the textarea\n * @prop {string} placeholder - Placeholder text\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} disabled - Whether the field is disabled\n * @prop {boolean} readonly - Whether the field is read-only\n * @prop {number} rows - Number of visible text rows\n * @prop {number} maxlength - Maximum character length\n */\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea 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\ttextareaRef = createRef<HTMLTextAreaElement>()\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 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 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 number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Makes the textarea fill the height of its container.\n\t * @attr fillHeight\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) fillHeight = false\n\n\t/**\n\t * Automatically adjusts height based on content.\n\t * @attr autoHeight\n\t * @type {boolean}\n\t * @default true\n\t * @public\n\t */\n\t@property({ type: Boolean }) autoHeight = true\n\n\t/**\n\t * Controls whether the textarea can be resized by the user.\n\t * @attr resize\n\t * @type {'none' | 'vertical' | 'horizontal' | 'both'}\n\t * @default 'vertical'\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical'\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\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\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@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\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\tif (this.autoHeight) {\n\t\t\t// Initial adjustment for pre-filled content\n\t\t\tsetTimeout(() => this.adjustHeight(), 0)\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\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.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\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.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).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}\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.textareaRef.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.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\t// Only grow, never shrink\n\t\t\tconst currentHeight = textarea.offsetHeight\n\t\t\tconst scrollHeight = textarea.scrollHeight\n\t\t\tif (scrollHeight > currentHeight) {\n\t\t\t\ttextarea.style.height = scrollHeight + 'px'\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.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.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.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 rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': 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'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t'h-full': this.fillHeight,\n\t\t\t'resize-none': this.resize === 'none',\n\t\t\t'resize-y': this.resize === 'vertical',\n\t\t\t'resize-x': this.resize === 'horizontal',\n\t\t\t'resize': this.resize === 'both',\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\tconst containerClasses = {\n\t\t\t'flex flex-col h-full': this.fillHeight,\n\t\t}\n\t\treturn html`\n\t\t<div class=\"${this.classMap(containerClasses)}\">\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<schmancy-typography type=\"body\" token=\"lg\" class=\"${this.fillHeight ? 'flex-grow flex flex-col' : ''}\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\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</div>\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","fillHeight","autoHeight","resize","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","firstUpdated","autofocus","focus","setTimeout","adjustHeight","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","textarea","currentHeight","offsetHeight","scrollHeight","style","height","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","containerClasses","html","classMap","when","color","SchmancyTheme","sys","default","primary","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":";;;;;;;;;;;;;;;;;AAwBA,IAAqBA,IAArB,cAA8CC;EAqJ7C,cAAAC;AACCC,UAAAA,GA9IDC,KAAAC,cAAcC,EAAAA,GASFF,KAAAG,QAAQ,IASRH,KAAAI,OAAO,UAAUC,KAAKC,IAAAA,GAStBN,KAAAO,cAAc,IASiBP,KAAOQ,QAAQ,IAuB9BR,KAAAS,OAAO,IASPT,KAAAU,OAAO,GASSV,KAAAW,aAAAA,IASfX,KAAAY,aAAAA,IAScZ,KAAAa,SAAsD,YASrEb,KAAAc,OAAwB,QAWRd,KAAAe,WAAAA,IACAf,KAAAgB,WAAAA,IACAhB,KAAAiB,WAAAA,IACAjB,KAAAkB,aAAAA,IAEDlB,KAAAmB,QAAqC,QAahFnB,KAAgBoB,WAAW,GAMiBpB,KAAOqB,QAAAA;AAIlD,QAAA;AACCrB,WAAKsB,YAAYtB,KAAKuB,gBAAAA;AAAAA,IACvB,QAAA;AACCvB,WAAKsB,YAAAA;AAAAA,IACN;AAAA,EACD;AAAA,EAEA,eAAAE;AACKxB,SAAKyB,aACRzB,KAAK0B,MAAAA,GAEF1B,KAAKY,cAERe,WAAW,MAAM3B,KAAK4B,aAAAA,GAAgB,CAAA,GAEvCC,EAAU7B,KAAK8B,iBAAiB,OAAA,EAC9BC,KACAC,EAAIC,OAAUA,EAAMC,OAA+B1B,KAAAA,GACnD2B,EAAAA,CAAAA,EAEAC,UAAU5B,OAAAA;AACVR,WAAKQ,QAAQA,GACTR,KAAKY,cACRZ,KAAK4B,aAAAA,GAEN5B,KAAKqC,cACJ,IAAIC,YAA0B,UAAU,EACvCC,QAAQ,EAAE/B,OAAAA,EAAAA,GACVgC,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,IAAA,CAAA,GAIdZ,EAAU7B,KAAK8B,iBAAiB,QAAA,EAC9BC,KACAC,EAAIC,OAAUA,EAAMC,OAA+B1B,KAAAA,GACnD2B,EAAAA,CAAAA,EAEAC,UAAU5B,OAAAA;AACVR,WAAKQ,QAAQA,GACTR,KAAKY,cACRZ,KAAK4B,aAAAA,GAEN5B,KAAKqC,cACJ,IAAIC,YAA0B,UAAU,EACvCC,QAAQ,EAAE/B,OAAAA,EAAAA,GACVgC,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,IAAA,CAAA,GAKdZ,EAAyB7B,KAAK8B,iBAAiB,OAAA,EAC7CC,KACAW,EAAOT,OAASA,EAAMU,QAAQ,OAARA,GACtBX,EAAIC,OAAUA,EAAMC,OAA+B1B,KAAAA,GACnD2B,EAAAA,CAAAA,EAEAC,UAAU5B,OAAAA;AACVR,WAAKQ,QAAQA,GACbR,KAAKqC,cACJ,IAAIC,YAA0B,UAAU,EACvCC,QAAQ,EAAE/B,OAAAA,EAAAA,GACVgC,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA,GAGZzC,KAAKqC,cACJ,IAAIC,YAA0B,SAAS,EACtCC,QAAQ,EAAE/B,OAAAA,EAAAA,GACVgC,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA,EAIf;AAAA,EAEA,IAAA,OAAIG;AACH,WAAO5C,KAAKsB,WAAWsB;AAAAA,EACxB;AAAA,EAGO,iBAAAC;AACN,WAAO7C,KAAKC,YAAYO,OAAOqC,eAAAA;AAAAA,EAChC;AAAA,EAGO,gBAAAC;AACN,WAAO9C,KAAKC,YAAYO,OAAOsC,cAAAA;AAAAA,EAChC;AAAA,EAGO,kBAAkBC,GAAAA;AACxB,WAAO/C,KAAKC,YAAYO,OAAOwC,kBAAkBD,CAAAA;AAAAA,EAClD;AAAA,EAGO,SAAAE;AACN,WAAOjD,KAAKC,YAAYO,OAAOyC,OAAAA;AAAAA,EAChC;AAAA,EAGO,kBAAkBC,GAAeC,GAAaC,GAAAA;AACpDpD,SAAKC,YAAYO,OAAO6C,kBAAkBH,GAAOC,GAAKC,CAAAA;AAAAA,EACvD;AAAA,EAGA,IAAA,iBAAWE;AACV,WAAOtD,KAAKC,YAAYO,OAAO8C,kBAAkB;AAAA,EAClD;AAAA,EAEA,IAAA,eAAWC;AACV,WAAOvD,KAAKC,YAAYO,OAAO+C,gBAAgB;AAAA,EAChD;AAAA,EAEA,IAAA,qBAAWC;AACV,WAAOxD,KAAKC,YAAYO,OAAOgD,sBAAsB;AAAA,EACtD;AAAA,EAGO,aAAaC,GAAAA;AACnBzD,SAAKC,YAAYO,OAAOkD,aAAaD,CAAAA;AAAAA,EACtC;AAAA,EAGO,eAAA7B;AACN,UAAM+B,IAAW3D,KAAKC,YAAYO;AAClC,QAAImD,GAAU;AAEb,YAAMC,IAAgBD,EAASE,cACzBC,IAAeH,EAASG;AAC1BA,MAAAA,IAAeF,MAClBD,EAASI,MAAMC,SAASF,IAAe;AAAA,IAEzC;AAAA,EACD;AAAA,EAEO,WAAAG;AACN,WAAOjE,KAAKC,YAAYO,OAAOyD;AAAAA,EAChC;AAAA,EAEgB,MACfC,IAAwB,EACvBC,eAAAA,GAAe,GAAA;AAGhBnE,SAAKC,YAAYO,OAAOkB,MAAMwC,CAAAA,GAC9BlE,KAAKqC,cAAc,IAAI+B,MAAM,OAAA,CAAA;AAAA,EAC9B;AAAA,EAEgB,QAAAC;AACfrE,SAAKC,YAAYO,OAAO6D,MAAAA,GACxBrE,KAAKqC,cAAc,IAAI+B,MAAM,OAAA,CAAA;AAAA,EAC9B;AAAA,EAEgB,OAAAE;AACftE,SAAKC,YAAYO,OAAO8D,KAAAA,GACxBtE,KAAKqC,cAAc,IAAI+B,MAAM,MAAA,CAAA;AAAA,EAC9B;AAAA,EAEU,SAAAG;AACT,UAAMC,IAAU,EACf,6EAAA,IACA,mDAAA,IACA,0BAAA,IACA,mDAAA,IACA,gEAAA,CAAiExE,KAAKqB,OACtE,+CAA+CrB,KAAKqB,OACpD,eAAerB,KAAKmB,UAAU,UAC9B,cAAcnB,KAAKmB,UAAU,SAC7B,UAAUnB,KAAKW,YACf,eAAeX,KAAKa,WAAW,QAC/B,YAAYb,KAAKa,WAAW,YAC5B,YAAYb,KAAKa,WAAW,cAC5BA,QAAUb,KAAKa,WAAW,OAAXA,GAEV4D,IAAe,EACpB,cAAczE,KAAKgB,UACnB,kBAAA,GAAkB,GAEb0D,IAAmB,EACxB,wBAAwB1E,KAAKW,WAAAA;AAE9B,WAAOgE;AAAAA,gBACO3E,KAAK4E,SAASF,CAAAA,CAAAA;AAAAA,KACzBG,EACD7E,KAAKG,OACL,MACCwE;AAAAA,QACGG,EAAM,EACPA,OAAO9E,KAAKqB,QAAQ0D,EAAcC,IAAIF,MAAMzD,MAAM4D,UAAUF,EAAcC,IAAIF,MAAMI,QAAQD,QAAAA,CAAAA,CAAAA;AAAAA,eAEpFjF,KAAK4E,SAASH,CAAAA,CAAAA;AAAAA,YACjBzE,KAAKmF,EAAAA;AAAAA;AAAAA,qDAEoCnF,KAAKG,KAAAA;AAAAA;;wDAIFH,KAAKW,aAAa,4BAA4B,EAAA;AAAA;AAAA,OAE/FmE,EAAM,EACPM,SAASL,EAAcC,IAAIF,MAAMO,QAAQC,SACzCR,OAAOC,EAAcC,IAAIF,MAAMO,QAAQE,GAAAA,CAAAA,CAAAA;AAAAA,OAEtCC,EAAIxF,KAAKC,WAAAA,CAAAA;AAAAA,cACFD,KAAKQ,KAAAA;AAAAA,WACRR,KAAKmF,EAAAA;AAAAA,aACHnF,KAAKI,IAAAA;AAAAA,oBACEJ,KAAKO,WAAAA;AAAAA,iBACRP,KAAKe,QAAAA;AAAAA,aACTf,KAAK4E,SAASJ,CAAAA,CAAAA;AAAAA,iBACVxE,KAAKgB,QAAAA;AAAAA,iBACLyE,EAAUzF,KAAK0F,SAAAA,CAAAA;AAAAA,iBACfD,EAAUzF,KAAK2F,SAAAA,CAAAA;AAAAA,iBACf3F,KAAKiB,QAAAA;AAAAA,mBACHjB,KAAKkB,UAAAA;AAAAA,YACZuE,EAAUzF,KAAKS,IAAAA,CAAAA;AAAAA,YACfgF,EAAUzF,KAAKU,IAAAA,CAAAA;AAAAA,YACf+E,EAAUzF,KAAKc,IAAAA,CAAAA;AAAAA,eACZ2E,EAAUzF,KAAK4F,OAAAA,CAAAA;AAAAA;AAAAA;AAAAA,KAGzBf,EACD7E,KAAK6F,MACL,MAAMlB;AAAAA;AAAAA,QAEFG,EAAM,EACPA,OAAO9E,KAAKqB,QAAQ0D,EAAcC,IAAIF,MAAMzD,MAAM4D,UAAUF,EAAcC,IAAIF,MAAMI,QAAQD,QAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAM3FjF,KAAK6F,IAAAA;AAAAA;AAAAA;;;EAMZ;AAAA;AAvYoBjG,EACHkG,oBAAoB,EAAA,GACjCC,EAAWD,mBACdE,gBAAAA,GAAgB,GAHGpG,EAKbqG,iBAAAA,IAYKC,EAAA,CAAXC,EAAAA,CAAAA,GAjBmBvG,EAiBRwG,WAAA,SAAA,CAAA,GASAF,EAAA,CAAXC,EAAAA,CAAAA,GA1BmBvG,EA0BRwG,WAAA,QAAA,CAAA,GASAF,EAAA,CAAXC,EAAAA,CAAAA,GAnCmBvG,EAmCRwG,WAAA,eAAA,CAAA,GASsCF,EAAA,CAAjDC,EAAS,EAAEE,MAAMC,QAAQC,SAAAA,GAAS,CAAA,CAAA,GA5Cf3G,EA4C8BwG,WAAA,SAAA,CAAA,GAO3CF,EAAA,CADNC,EAAS,EAAEE,MAAMG,OAAAA,CAAAA,CAAAA,GAlDE5G,EAmDbwG,WAAA,aAAA,CAAA,GAOAF,EAAA,CADNC,EAAS,EAAEE,MAAMG,OAAAA,CAAAA,CAAAA,GAzDE5G,EA0DbwG,WAAA,aAAA,CAAA,GASqBF,EAAA,CAA3BC,EAAS,EAAEE,MAAMG,OAAAA,CAAAA,CAAAA,GAnEE5G,EAmEQwG,WAAA,QAAA,CAAA,GASAF,EAAA,CAA3BC,EAAS,EAAEE,MAAMG,OAAAA,CAAAA,CAAAA,GA5EE5G,EA4EQwG,WAAA,QAAA,CAAA,GASgBF,EAAA,CAA3CC,EAAS,EAAEE,MAAMI,SAASF,SAAAA,GAAS,CAAA,CAAA,GArFhB3G,EAqFwBwG,WAAA,cAAA,CAAA,GASfF,EAAA,CAA5BC,EAAS,EAAEE,MAAMI,QAAAA,CAAAA,CAAAA,GA9FE7G,EA8FSwG,WAAA,cAAA,CAAA,GAScF,EAAA,CAA1CC,EAAS,EAAEE,MAAMC,QAAQC,SAAAA,GAAS,CAAA,CAAA,GAvGf3G,EAuGuBwG,WAAA,UAAA,CAAA,GASfF,EAAA,CAA3BC,EAAS,EAAEE,MAAMC,OAAAA,CAAAA,CAAAA,GAhHE1G,EAgHQwG,WAAA,QAAA,CAAA,GASAF,EAAA,CAA3BC,EAAS,EAAEE,MAAMC,OAAAA,CAAAA,CAAAA,GAzHE1G,EAyHQwG,WAAA,WAAA,CAAA,GAEgBF,EAAA,CAA3CC,EAAS,EAAEE,MAAMI,SAASF,SAAAA,GAAS,CAAA,CAAA,GA3HhB3G,EA2HwBwG,WAAA,YAAA,CAAA,GACAF,EAAA,CAA3CC,EAAS,EAAEE,MAAMI,SAASF,SAAAA,GAAS,CAAA,CAAA,GA5HhB3G,EA4HwBwG,WAAA,YAAA,CAAA,GACAF,EAAA,CAA3CC,EAAS,EAAEE,MAAMI,SAASF,SAAAA,GAAS,CAAA,CAAA,GA7HhB3G,EA6HwBwG,WAAA,YAAA,CAAA,GACAF,EAAA,CAA3CC,EAAS,EAAEE,MAAMI,SAASF,SAAAA,GAAS,CAAA,CAAA,GA9HhB3G,EA8HwBwG,WAAA,cAAA,CAAA,GAEDF,EAAA,CAA1CC,EAAS,EAAEE,MAAMC,QAAQC,SAAAA,GAAS,CAAA,CAAA,GAhIf3G,EAgIuBwG,WAAA,SAAA,CAAA,GAU3BF,EAAA,CADfC,EAAS,EAAEE,MAAMI,QAAAA,CAAAA,CAAAA,GAzIE7G,EA0IJwG,WAAA,aAAA,CAAA,GAGAF,EAAA,CADfC,EAAS,EAAEE,MAAMG,OAAAA,CAAAA,CAAAA,GA5IE5G,EA6IJwG,WAAA,YAAA,CAAA,GAEGF,EAAA,CAAlBQ,EAAM,UAAA,CAAA,GA/Ia9G,EA+IDwG,WAAA,mBAAA,CAAA,GAEPF,EAAA,CAAXC,EAAAA,CAAAA,GAjJmBvG,EAiJRwG,WAAA,QAAA,CAAA,GAEuCF,EAAA,CAAlDC,EAAS,EAAEE,MAAMI,SAASF,SAAAA,GAAS,CAAA,CAAA,GAnJhB3G,EAmJ+BwG,WAAA,SAAA,CAAA,GAnJ/BxG,IAArBsG,EAAA,CADCS,EAAc,mBAAA,CAAA,GACM/G,CAAAA;"}
|
package/dist/textarea.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./textarea-
|
|
1
|
+
"use strict";require("./textarea-B7arkA7y.cjs");
|
|
2
2
|
//# sourceMappingURL=textarea.cjs.map
|
package/dist/textarea.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./textarea-
|
|
1
|
+
import "./textarea-BK1m_CFR.js";
|
|
2
2
|
//# sourceMappingURL=textarea.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const s=require("lit/decorators.js"),l=require("./tailwind.mixin-
|
|
1
|
+
"use strict";require("rxjs"),require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const s=require("lit/decorators.js"),l=require("./tailwind.mixin-3TPVvhYf.cjs"),m=require("lit");var d=Object.defineProperty,h=Object.getOwnPropertyDescriptor,a=(u,r,c,t)=>{for(var o,e=t>1?void 0:t?h(r,c):r,n=u.length-1;n>=0;n--)(o=u[n])&&(e=(t?o(r,c,e):o(e))||e);return t&&e&&d(r,c,e),e};let i=class extends l.TailwindElement(){render(){return m.html`
|
|
2
2
|
<schmancy-button
|
|
3
3
|
@click=${()=>{this.color.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:300})}}
|
|
4
4
|
variant="text"
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
<schmancy-icon id="color">palette</schmancy-icon>
|
|
7
7
|
</schmancy-button>
|
|
8
8
|
`}};a([s.query("#color")],i.prototype,"color",2),i=a([s.customElement("schmancy-theme-button")],i);
|
|
9
|
-
//# sourceMappingURL=theme-button-
|
|
9
|
+
//# sourceMappingURL=theme-button-BTKwL3oC.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-button-
|
|
1
|
+
{"version":3,"file":"theme-button-BTKwL3oC.cjs","sources":["../src/theme-button/theme-button.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\n@customElement('schmancy-theme-button')\nexport default class SchmancyThemeButton extends TailwindElement() {\n\t@query('#color') color!: HTMLElement\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-button\n\t\t\t\t@click=${() => {\n\t\t\t\t\t// Trigger any other effects you have\n\t\t\t\t\t// $newSchmancyTheme.next(undefined)\n\n\t\t\t\t\t// Native Web Animations API usage:\n\t\t\t\t\tthis.color.animate([{ transform: 'rotate(0deg)' }, { transform: 'rotate(360deg)' }], {\n\t\t\t\t\t\tduration: 300,\n\t\t\t\t\t\t// fill: 'forwards', // Use if you want it to remain rotated at 360°\n\t\t\t\t\t\t// easing: 'ease-out', // Or another easing function\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t\tvariant=\"text\"\n\t\t\t>\n\t\t\t\t<schmancy-icon id=\"color\">palette</schmancy-icon>\n\t\t\t</schmancy-button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-theme-button': SchmancyThemeButton\n\t}\n}\n"],"names":["SchmancyThemeButton","TailwindElement","render","html","this","color","animate","transform","duration","__decorateClass","query","prototype","customElement"],"mappings":"saAKA,IAAqBA,EAArB,cAAiDC,EAAAA,gBAAAA,CAAAA,CAGtC,QAAAC,CACT,OAAOC,EAAAA;AAAAA;AAAAA,aAEI,IAAA,CAKRC,KAAKC,MAAMC,QAAQ,CAAC,CAAEC,UAAW,cAAA,EAAkB,CAAEA,UAAW,gBAAA,CAAA,EAAqB,CACpFC,SAAU,GAAA,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUf,CAAA,EArBiBC,EAAA,CAAhBC,EAAAA,MAAM,WADaV,EACHW,UAAA,QAAA,CAAA,EADGX,EAArBS,EAAA,CADCG,EAAAA,cAAc,uBAAA,CAAA,EACMZ,CAAAA"}
|
|
@@ -3,7 +3,7 @@ import "rxjs/operators";
|
|
|
3
3
|
import "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
5
5
|
import { query as i, customElement as p } from "lit/decorators.js";
|
|
6
|
-
import { T as l } from "./tailwind.mixin-
|
|
6
|
+
import { T as l } from "./tailwind.mixin-DIW0B_of.js";
|
|
7
7
|
import { html as h } from "lit";
|
|
8
8
|
var y = Object.defineProperty, d = Object.getOwnPropertyDescriptor, a = (s, r, e, o) => {
|
|
9
9
|
for (var n, t = o > 1 ? void 0 : o ? d(r, e) : r, c = s.length - 1; c >= 0; c--) (n = s[c]) && (t = (o ? n(r, e, t) : n(t)) || t);
|
|
@@ -24,4 +24,4 @@ let m = class extends l() {
|
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
26
|
a([i("#color")], m.prototype, "color", 2), m = a([p("schmancy-theme-button")], m);
|
|
27
|
-
//# sourceMappingURL=theme-button-
|
|
27
|
+
//# sourceMappingURL=theme-button-C6kk8bay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-button-
|
|
1
|
+
{"version":3,"file":"theme-button-C6kk8bay.js","sources":["../src/theme-button/theme-button.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\n@customElement('schmancy-theme-button')\nexport default class SchmancyThemeButton extends TailwindElement() {\n\t@query('#color') color!: HTMLElement\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-button\n\t\t\t\t@click=${() => {\n\t\t\t\t\t// Trigger any other effects you have\n\t\t\t\t\t// $newSchmancyTheme.next(undefined)\n\n\t\t\t\t\t// Native Web Animations API usage:\n\t\t\t\t\tthis.color.animate([{ transform: 'rotate(0deg)' }, { transform: 'rotate(360deg)' }], {\n\t\t\t\t\t\tduration: 300,\n\t\t\t\t\t\t// fill: 'forwards', // Use if you want it to remain rotated at 360°\n\t\t\t\t\t\t// easing: 'ease-out', // Or another easing function\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t\tvariant=\"text\"\n\t\t\t>\n\t\t\t\t<schmancy-icon id=\"color\">palette</schmancy-icon>\n\t\t\t</schmancy-button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-theme-button': SchmancyThemeButton\n\t}\n}\n"],"names":["SchmancyThemeButton","TailwindElement","render","html","this","color","animate","transform","duration","__decorateClass","query","prototype","customElement"],"mappings":";;;;;;;;;;;AAKA,IAAqBA,IAArB,cAAiDC,EAAAA,EAAAA;AAAAA,EAGtC,SAAAC;AACT,WAAOC;AAAAA;AAAAA,aAEI,MAAA;AAKRC,WAAKC,MAAMC,QAAQ,CAAC,EAAEC,WAAW,eAAA,GAAkB,EAAEA,WAAW,iBAAA,CAAA,GAAqB,EACpFC,UAAU,IAAA,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUf;AAAA;AArBiBC,EAAA,CAAhBC,EAAM,QAAA,CAAA,GADaV,EACHW,WAAA,SAAA,CAAA,GADGX,IAArBS,EAAA,CADCG,EAAc,uBAAA,CAAA,GACMZ,CAAAA;"}
|
package/dist/theme-button.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./theme-button-
|
|
1
|
+
"use strict";require("./theme-button-BTKwL3oC.cjs");
|
|
2
2
|
//# sourceMappingURL=theme-button.cjs.map
|
package/dist/theme-button.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./theme-button-
|
|
1
|
+
import "./theme-button-C6kk8bay.js";
|
|
2
2
|
//# sourceMappingURL=theme-button.js.map
|
|
@@ -4,9 +4,9 @@ import { c as er } from "./context-create-BvxbWTgj.js";
|
|
|
4
4
|
import { property as ce, customElement as Le, state as Ce } from "lit/decorators.js";
|
|
5
5
|
import "rxjs/operators";
|
|
6
6
|
import { n as rr, e as tr } from "./provide-tcktw8xB.js";
|
|
7
|
-
import { T as or } from "./tailwind.mixin-
|
|
7
|
+
import { T as or } from "./tailwind.mixin-DIW0B_of.js";
|
|
8
8
|
import { unsafeCSS as nr, html as we } from "lit";
|
|
9
|
-
import { $ as ar } from "./litElement.mixin-
|
|
9
|
+
import { $ as ar } from "./litElement.mixin-DWDPaNoc.js";
|
|
10
10
|
function H(r) {
|
|
11
11
|
return r < 0 ? -1 : r === 0 ? 0 : 1;
|
|
12
12
|
}
|
|
@@ -964,4 +964,4 @@ export {
|
|
|
964
964
|
Br as s,
|
|
965
965
|
ur as t
|
|
966
966
|
};
|
|
967
|
-
//# sourceMappingURL=theme-controller-boat-
|
|
967
|
+
//# sourceMappingURL=theme-controller-boat-BK59LqH9.js.map
|