@mhmo91/schmancy 0.5.35 → 0.5.37
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/content-drawer.md +114 -140
- package/ai/navigation-bar.md +30 -4
- package/ai/navigation-rail.md +72 -0
- package/ai/theme.md +779 -716
- package/dist/ai/content-drawer.md +114 -140
- package/dist/ai/navigation-bar.md +30 -4
- package/dist/ai/navigation-rail.md +72 -0
- package/dist/ai/theme.md +779 -716
- package/dist/{animated-text-COvhr8E3.js → animated-text-Cfs1zx2e.js} +4 -3
- package/dist/{animated-text-COvhr8E3.js.map → animated-text-Cfs1zx2e.js.map} +1 -1
- package/dist/{animated-text-BZUrBdvN.cjs → animated-text-DoLx8YhT.cjs} +2 -2
- package/dist/{animated-text-BZUrBdvN.cjs.map → animated-text-DoLx8YhT.cjs.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-BHtBHWVt.js → area.component-A6Xw-dfF.js} +4 -3
- package/dist/{area.component-BHtBHWVt.js.map → area.component-A6Xw-dfF.js.map} +1 -1
- package/dist/area.component-DMRF1lD-.cjs +12 -0
- package/dist/{area.component-Ch2Eaa4i.cjs.map → area.component-DMRF1lD-.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-9RkU9LmA.js → autocomplete-C5DIxpTG.js} +18 -18
- package/dist/{autocomplete-9RkU9LmA.js.map → autocomplete-C5DIxpTG.js.map} +1 -1
- package/dist/{autocomplete-CenwFcT1.cjs → autocomplete-DkJqOYTg.cjs} +2 -2
- package/dist/{autocomplete-CenwFcT1.cjs.map → autocomplete-DkJqOYTg.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-CjjwZDsw.js → avatar-BDy0wAek.js} +144 -134
- package/dist/avatar-BDy0wAek.js.map +1 -0
- package/dist/avatar-BmcocEQ4.cjs +306 -0
- package/dist/avatar-BmcocEQ4.cjs.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-CfIXRMn-.cjs +78 -0
- package/dist/boat-CfIXRMn-.cjs.map +1 -0
- package/dist/boat-DumUFcmT.js +276 -0
- package/dist/boat-DumUFcmT.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-D6-WQeEk.js → checkbox-CHG-gT2P.js} +3 -2
- package/dist/{checkbox-D6-WQeEk.js.map → checkbox-CHG-gT2P.js.map} +1 -1
- package/dist/{checkbox-8djp_8NK.cjs → checkbox-CsMLbxBY.cjs} +2 -2
- package/dist/{checkbox-8djp_8NK.cjs.map → checkbox-CsMLbxBY.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-BFoEmN8y.cjs → code-preview-BgUU7bPR.cjs} +5 -5
- package/dist/{code-preview-BFoEmN8y.cjs.map → code-preview-BgUU7bPR.cjs.map} +1 -1
- package/dist/{code-preview-Z02-2suM.js → code-preview-Bp4OemTD.js} +8 -8
- package/dist/{code-preview-Z02-2suM.js.map → code-preview-Bp4OemTD.js.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/context-create-CA907mdD.cjs +2 -0
- package/dist/context-create-CA907mdD.cjs.map +1 -0
- package/dist/{context-object-BE1o2XB3.js → context-create-DCiujzV2.js} +262 -212
- package/dist/context-create-DCiujzV2.js.map +1 -0
- package/dist/{date-range-kFnTrnHN.js → date-range-BcJ0YN2n.js} +141 -140
- package/dist/{date-range-kFnTrnHN.js.map → date-range-BcJ0YN2n.js.map} +1 -1
- package/dist/{date-range-DoCtnpW6.cjs → date-range-D_DBil9n.cjs} +2 -2
- package/dist/{date-range-DoCtnpW6.cjs.map → date-range-D_DBil9n.cjs.map} +1 -1
- package/dist/date-range-inline-DQjOVUxD.cjs +44 -0
- package/dist/{date-range-inline-DNr7C5X-.cjs.map → date-range-inline-DQjOVUxD.cjs.map} +1 -1
- package/dist/{date-range-inline-BXeX6T7R.js → date-range-inline-Dqxqgu2s.js} +8 -7
- package/dist/{date-range-inline-BXeX6T7R.js.map → date-range-inline-Dqxqgu2s.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-CrdOikhP.cjs → delay-BbtlKEc4.cjs} +2 -2
- package/dist/{delay-CrdOikhP.cjs.map → delay-BbtlKEc4.cjs.map} +1 -1
- package/dist/{delay-Cz-9rZxi.js → delay-CC_14mn4.js} +2 -2
- package/dist/{delay-Cz-9rZxi.js.map → delay-CC_14mn4.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-CsqhGMjL.cjs → details-CTdm7rbG.cjs} +2 -2
- package/dist/{details-CsqhGMjL.cjs.map → details-CTdm7rbG.cjs.map} +1 -1
- package/dist/{details-DeBtsJlp.js → details-dk2hnRIp.js} +3 -2
- package/dist/{details-DeBtsJlp.js.map → details-dk2hnRIp.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-DTKdAF_l.js → dialog-content-BM-lfqHq.js} +4 -4
- package/dist/{dialog-content-DTKdAF_l.js.map → dialog-content-BM-lfqHq.js.map} +1 -1
- package/dist/{dialog-content-BzSQoM2J.cjs → dialog-content-BSZ5dwnP.cjs} +2 -2
- package/dist/{dialog-content-BzSQoM2J.cjs.map → dialog-content-BSZ5dwnP.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/discovery.cjs +2 -0
- package/dist/discovery.cjs.map +1 -0
- package/dist/discovery.js +6 -0
- package/dist/discovery.js.map +1 -0
- package/dist/discovery.service-BbYjU5x8.js +21 -0
- package/dist/discovery.service-BbYjU5x8.js.map +1 -0
- package/dist/discovery.service-BpGCuXPd.cjs +2 -0
- package/dist/discovery.service-BpGCuXPd.cjs.map +1 -0
- package/dist/{divider-7iyyEd8k.js → divider-BWVdeJm1.js} +4 -3
- package/dist/{divider-7iyyEd8k.js.map → divider-BWVdeJm1.js.map} +1 -1
- package/dist/divider-DgJXEKxB.cjs +2 -0
- package/dist/{divider-CNxOc8ep.cjs.map → divider-DgJXEKxB.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-_GMpqsNq.js → dropdown-content-BgLy9dwU.js} +4 -3
- package/dist/{dropdown-content-_GMpqsNq.js.map → dropdown-content-BgLy9dwU.js.map} +1 -1
- package/dist/{dropdown-content-De0OkNoq.cjs → dropdown-content-ZAB82v-h.cjs} +2 -2
- package/dist/{dropdown-content-De0OkNoq.cjs.map → dropdown-content-ZAB82v-h.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-CPZlUiRR.js → email-recipients-IXQLqBaI.js} +6 -5
- package/dist/{email-recipients-CPZlUiRR.js.map → email-recipients-IXQLqBaI.js.map} +1 -1
- package/dist/{email-recipients-DS01C3V3.cjs → email-recipients-R7jCXy_I.cjs} +2 -2
- package/dist/{email-recipients-DS01C3V3.cjs.map → email-recipients-R7jCXy_I.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-BeSoRNTu.js → flex-Cp1nomar.js} +3 -2
- package/dist/{flex-BeSoRNTu.js.map → flex-Cp1nomar.js.map} +1 -1
- package/dist/{flex-CHf9Gc5V.cjs → flex-sAQsXdsk.cjs} +2 -2
- package/dist/{flex-CHf9Gc5V.cjs.map → flex-sAQsXdsk.cjs.map} +1 -1
- package/dist/form-DHTbrnEl.cjs +2 -0
- package/dist/{form-DzDksPgv.cjs.map → form-DHTbrnEl.cjs.map} +1 -1
- package/dist/{form-DNeKagke.js → form-Dtc128QU.js} +3 -2
- package/dist/{form-DNeKagke.js.map → form-Dtc128QU.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-BNj75WQ4.js → formField.mixin-CCB_CKYb.js} +2 -2
- package/dist/{formField.mixin-BNj75WQ4.js.map → formField.mixin-CCB_CKYb.js.map} +1 -1
- package/dist/{formField.mixin-D5YAYIS1.cjs → formField.mixin-CZQ7alVs.cjs} +2 -2
- package/dist/{formField.mixin-D5YAYIS1.cjs.map → formField.mixin-CZQ7alVs.cjs.map} +1 -1
- package/dist/{icon-CCMpTJTp.js → icon-BHhOyVjB.js} +9 -9
- package/dist/{icon-CCMpTJTp.js.map → icon-BHhOyVjB.js.map} +1 -1
- package/dist/{icon-DebIySqv.cjs → icon-CocdSdlX.cjs} +3 -3
- package/dist/{icon-DebIySqv.cjs.map → icon-CocdSdlX.cjs.map} +1 -1
- package/dist/{icon-button-D6DH52j4.js → icon-button-CjSaBrg0.js} +4 -3
- package/dist/{icon-button-D6DH52j4.js.map → icon-button-CjSaBrg0.js.map} +1 -1
- package/dist/{icon-button-DwnnW2oj.cjs → icon-button-m8kXxOvS.cjs} +2 -2
- package/dist/{icon-button-DwnnW2oj.cjs.map → icon-button-m8kXxOvS.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +187 -182
- package/dist/index.js.map +1 -1
- package/dist/input-BuDPnk5e.cjs +51 -0
- package/dist/{input-C2Vz-51i.cjs.map → input-BuDPnk5e.cjs.map} +1 -1
- package/dist/{input-DtHPCCyd.js → input-D_gdNxxR.js} +4 -3
- package/dist/{input-DtHPCCyd.js.map → input-D_gdNxxR.js.map} +1 -1
- package/dist/{input-chip-B7ANrtLF.cjs → input-chip-CDLblIp9.cjs} +2 -2
- package/dist/{input-chip-B7ANrtLF.cjs.map → input-chip-CDLblIp9.cjs.map} +1 -1
- package/dist/{input-chip-DbIvSyvP.js → input-chip-CLnR4vSR.js} +2 -2
- package/dist/{input-chip-DbIvSyvP.js.map → input-chip-CLnR4vSR.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-BBo0--_Q.js → list-C069T9ey.js} +3 -2
- package/dist/{list-BBo0--_Q.js.map → list-C069T9ey.js.map} +1 -1
- package/dist/{list-BH8OJ3Rv.cjs → list-KCakyWxw.cjs} +2 -2
- package/dist/{list-BH8OJ3Rv.cjs.map → list-KCakyWxw.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-LplXbzd8.cjs → litElement.mixin-DoBMt4ia.cjs} +2 -2
- package/dist/{litElement.mixin-LplXbzd8.cjs.map → litElement.mixin-DoBMt4ia.cjs.map} +1 -1
- package/dist/{litElement.mixin-CzF0mNQd.js → litElement.mixin-Dp4mBSNw.js} +2 -2
- package/dist/{litElement.mixin-CzF0mNQd.js.map → litElement.mixin-Dp4mBSNw.js.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-DeiCBxMP.js → map-pn_6ziZf.js} +19 -19
- package/dist/{map-DeiCBxMP.js.map → map-pn_6ziZf.js.map} +1 -1
- package/dist/{map-C7lxYU4A.cjs → map-vNMrrat-.cjs} +2 -2
- package/dist/{map-C7lxYU4A.cjs.map → map-vNMrrat-.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-CsYVcfaX.cjs → media-CAtXPif3.cjs} +6 -6
- package/dist/{media-CsYVcfaX.cjs.map → media-CAtXPif3.cjs.map} +1 -1
- package/dist/{media-CEnaqjig.js → media-DC3r4y8-.js} +9 -8
- package/dist/{media-CEnaqjig.js.map → media-DC3r4y8-.js.map} +1 -1
- package/dist/{menu-wtkHGlyc.js → menu-BAs2snSu.js} +4 -3
- package/dist/{menu-wtkHGlyc.js.map → menu-BAs2snSu.js.map} +1 -1
- package/dist/{menu-Boqsyfmh.cjs → menu-C2ZKJe1g.cjs} +2 -2
- package/dist/{menu-Boqsyfmh.cjs.map → menu-C2ZKJe1g.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins/baseElement.ts +33 -1
- package/dist/mixins/discovery.service.ts +60 -0
- 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-6ONc-XE-.cjs → navigation-rail-B0zofile.cjs} +14 -11
- package/dist/navigation-rail-B0zofile.cjs.map +1 -0
- package/dist/{navigation-rail-D-lK9oVd.js → navigation-rail-KdVjbO1I.js} +43 -31
- package/dist/navigation-rail-KdVjbO1I.js.map +1 -0
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-ZiGUSd63.js → notification-service-BOCdK7B0.js} +7 -6
- package/dist/{notification-service-ZiGUSd63.js.map → notification-service-BOCdK7B0.js.map} +1 -1
- package/dist/{notification-service-9HXSKWcw.cjs → notification-service-DXsySIdG.cjs} +2 -2
- package/dist/{notification-service-9HXSKWcw.cjs.map → notification-service-DXsySIdG.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-DbfX6Z2P.js → notify-Cglpgay3.js} +2 -2
- package/dist/{notify-DbfX6Z2P.js.map → notify-Cglpgay3.js.map} +1 -1
- package/dist/{notify-W-NrP0cC.cjs → notify-CvDL-o79.cjs} +2 -2
- package/dist/{notify-W-NrP0cC.cjs.map → notify-CvDL-o79.cjs.map} +1 -1
- package/dist/{option-D2bxihLu.cjs → option-ezGy71aI.cjs} +2 -2
- package/dist/{option-D2bxihLu.cjs.map → option-ezGy71aI.cjs.map} +1 -1
- package/dist/{option-BFlWiCu0.js → option-tDU1Z_vP.js} +11 -10
- package/dist/{option-BFlWiCu0.js.map → option-tDU1Z_vP.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/payment-card-form-B5b-LA2Y.cjs +74 -0
- package/dist/{payment-card-form--v94EhJF.cjs.map → payment-card-form-B5b-LA2Y.cjs.map} +1 -1
- package/dist/{payment-card-form-DLRNX9NX.js → payment-card-form-CZpc-zfO.js} +4 -3
- package/dist/{payment-card-form-DLRNX9NX.js.map → payment-card-form-CZpc-zfO.js.map} +1 -1
- package/dist/{progress-BYohUvYO.js → progress-Bqih11TQ.js} +10 -9
- package/dist/{progress-BYohUvYO.js.map → progress-Bqih11TQ.js.map} +1 -1
- package/dist/{progress-CjkD8QBy.cjs → progress-OMGbiNv5.cjs} +2 -2
- package/dist/{progress-CjkD8QBy.cjs.map → progress-OMGbiNv5.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-CGmGOAil.cjs → radio-button-BuSpPTO4.cjs} +2 -2
- package/dist/{radio-button-CGmGOAil.cjs.map → radio-button-BuSpPTO4.cjs.map} +1 -1
- package/dist/{radio-button-BlxeCjdq.js → radio-button-mHT1573u.js} +4 -3
- package/dist/{radio-button-BlxeCjdq.js.map → radio-button-mHT1573u.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-CydL78yk.cjs → schmancy-steps-container-Bht_BlLU.cjs} +2 -2
- package/dist/{schmancy-steps-container-CydL78yk.cjs.map → schmancy-steps-container-Bht_BlLU.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-BtAHCm73.js → schmancy-steps-container-DDMiJJyw.js} +2 -2
- package/dist/{schmancy-steps-container-BtAHCm73.js.map → schmancy-steps-container-DDMiJJyw.js.map} +1 -1
- package/dist/{select-BiN334GN.js → select-CKtpFPTr.js} +13 -13
- package/dist/{select-BiN334GN.js.map → select-CKtpFPTr.js.map} +1 -1
- package/dist/{select-CrB02cIO.cjs → select-HPtumqyg.cjs} +2 -2
- package/dist/{select-CrB02cIO.cjs.map → select-HPtumqyg.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/selector-hook-BWMY8npH.cjs +2 -0
- package/dist/selector-hook-BWMY8npH.cjs.map +1 -0
- package/dist/selector-hook-CKeyK4K-.js +313 -0
- package/dist/selector-hook-CKeyK4K-.js.map +1 -0
- package/dist/{sheet-DpJv4DRi.js → sheet-B-vTiTi8.js} +4 -3
- package/dist/{sheet-DpJv4DRi.js.map → sheet-B-vTiTi8.js.map} +1 -1
- package/dist/{sheet-sgVoRMi1.cjs → sheet-DP7nFOEo.cjs} +2 -2
- package/dist/{sheet-sgVoRMi1.cjs.map → sheet-DP7nFOEo.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-D7qdxfvX.js → slider-Bu7kQ0_w.js} +9 -9
- package/dist/{slider-D7qdxfvX.js.map → slider-Bu7kQ0_w.js.map} +1 -1
- package/dist/{slider-Dd1L6oYm.cjs → slider-Diqgkt3E.cjs} +4 -4
- package/dist/{slider-Dd1L6oYm.cjs.map → slider-Diqgkt3E.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CaXU45TV.cjs → spinner-b6hiAljR.cjs} +2 -2
- package/dist/{spinner-CaXU45TV.cjs.map → spinner-b6hiAljR.cjs.map} +1 -1
- package/dist/{spinner-XN4W5ihQ.js → spinner-paAzgY93.js} +3 -2
- package/dist/{spinner-XN4W5ihQ.js.map → spinner-paAzgY93.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/store.cjs +1 -1
- package/dist/store.js +26 -26
- package/dist/{suggestion-chip-PI24Hc3s.cjs → suggestion-chip--FVeCUSI.cjs} +2 -2
- package/dist/{suggestion-chip-PI24Hc3s.cjs.map → suggestion-chip--FVeCUSI.cjs.map} +1 -1
- package/dist/{suggestion-chip-CdhoATv9.js → suggestion-chip-DnnfUAqx.js} +3 -3
- package/dist/{suggestion-chip-CdhoATv9.js.map → suggestion-chip-DnnfUAqx.js.map} +1 -1
- package/dist/{surface-CKrYJ58l.js → surface-BBhAIoZq.js} +2 -2
- package/dist/{surface-CKrYJ58l.js.map → surface-BBhAIoZq.js.map} +1 -1
- package/dist/{surface-Ax6I7ldp.cjs → surface-SICYUsoB.cjs} +2 -2
- package/dist/{surface-Ax6I7ldp.cjs.map → surface-SICYUsoB.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CP6_NkPm.js → table-CepjNGT6.js} +2 -2
- package/dist/{table-CP6_NkPm.js.map → table-CepjNGT6.js.map} +1 -1
- package/dist/{table-BlwUyf_4.cjs → table-yYKET4qQ.cjs} +2 -2
- package/dist/{table-BlwUyf_4.cjs.map → table-yYKET4qQ.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-CX0cIu_Y.cjs → tabs-compatibility-BWaRkr9s.cjs} +4 -4
- package/dist/{tabs-compatibility-CX0cIu_Y.cjs.map → tabs-compatibility-BWaRkr9s.cjs.map} +1 -1
- package/dist/{tabs-compatibility-7QKuXX4i.js → tabs-compatibility-BXdyrybs.js} +7 -6
- package/dist/{tabs-compatibility-7QKuXX4i.js.map → tabs-compatibility-BXdyrybs.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CYhJgwwb.cjs +2 -0
- package/dist/tailwind.mixin-CYhJgwwb.cjs.map +1 -0
- package/dist/tailwind.mixin-Cn7vup-6.js +64 -0
- package/dist/tailwind.mixin-Cn7vup-6.js.map +1 -0
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DHrDn-O6.js → textarea-BpNEwBP9.js} +3 -2
- package/dist/{textarea-DHrDn-O6.js.map → textarea-BpNEwBP9.js.map} +1 -1
- package/dist/textarea-Xgbs3rjA.cjs +44 -0
- package/dist/{textarea-qLA0vP78.cjs.map → textarea-Xgbs3rjA.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-BEUsbH5m.js → theme-button-77xbTIaH.js} +6 -5
- package/dist/{theme-button-BEUsbH5m.js.map → theme-button-77xbTIaH.js.map} +1 -1
- package/dist/theme-button-BsjsULjH.cjs +9 -0
- package/dist/{theme-button-D7fBEUGf.cjs.map → theme-button-BsjsULjH.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.controls-BeNS8iSM.cjs +67 -0
- package/dist/theme.controls-BeNS8iSM.cjs.map +1 -0
- package/dist/{theme.component-ByGua01V.js → theme.controls-DtcpHuz9.js} +367 -238
- package/dist/theme.controls-DtcpHuz9.js.map +1 -0
- package/dist/theme.js +13 -11
- package/dist/{timezone-BpDMR26D.js → timezone-CtH2a7Hw.js} +10 -9
- package/dist/{timezone-BpDMR26D.js.map → timezone-CtH2a7Hw.js.map} +1 -1
- package/dist/{timezone-Bw4EXBt7.cjs → timezone-D3kdUX6c.cjs} +2 -2
- package/dist/{timezone-Bw4EXBt7.cjs.map → timezone-D3kdUX6c.cjs.map} +1 -1
- package/dist/{tooltip-Dhs4HL3A.cjs → tooltip-BwZ_zIEI.cjs} +2 -2
- package/dist/{tooltip-Dhs4HL3A.cjs.map → tooltip-BwZ_zIEI.cjs.map} +1 -1
- package/dist/{tooltip-B1jynZOH.js → tooltip-DgGZouB5.js} +2 -2
- package/dist/{tooltip-B1jynZOH.js.map → tooltip-DgGZouB5.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-D-ezei_U.cjs → tree-B9fWtaGW.cjs} +4 -4
- package/dist/{tree-D-ezei_U.cjs.map → tree-B9fWtaGW.cjs.map} +1 -1
- package/dist/{tree-BH1qCJ_U.js → tree-BSENnhB2.js} +3 -2
- package/dist/{tree-BH1qCJ_U.js.map → tree-BSENnhB2.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-DQbpNPtY.js → typewriter-BCXtlffJ.js} +5 -4
- package/dist/{typewriter-DQbpNPtY.js.map → typewriter-BCXtlffJ.js.map} +1 -1
- package/dist/typewriter-DeNR2E_p.cjs +9 -0
- package/dist/{typewriter-CtPh4Pyj.cjs.map → typewriter-DeNR2E_p.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-BrIaOYmC.cjs → typography-Cm7pGqRe.cjs} +2 -2
- package/dist/{typography-BrIaOYmC.cjs.map → typography-Cm7pGqRe.cjs.map} +1 -1
- package/dist/{typography-D71cmr0R.js → typography-sxQLtA6a.js} +2 -2
- package/dist/{typography-D71cmr0R.js.map → typography-sxQLtA6a.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/mixins/baseElement.d.ts +2 -1
- package/types/mixins/discovery.service.d.ts +17 -0
- package/types/src/boat/boat.d.ts +10 -5
- package/types/src/discovery/discovery.service.d.ts +17 -0
- package/types/src/discovery/index.d.ts +1 -0
- package/types/src/index.d.ts +1 -0
- package/types/src/navigation-bar/navigation-bar.d.ts +15 -1
- package/types/src/navigation-rail/navigation-rail.d.ts +13 -0
- package/types/src/theme/index.d.ts +1 -0
- package/types/src/theme/theme.controls.d.ts +27 -0
- package/types/src/theme/theme.service.d.ts +58 -2
- package/dist/area.component-Ch2Eaa4i.cjs +0 -12
- package/dist/avatar-CjjwZDsw.js.map +0 -1
- package/dist/avatar-DlhBTIc8.cjs +0 -303
- package/dist/avatar-DlhBTIc8.cjs.map +0 -1
- package/dist/boat-CUsJXaLf.js +0 -240
- package/dist/boat-CUsJXaLf.js.map +0 -1
- package/dist/boat-Dfx9-P8c.cjs +0 -83
- package/dist/boat-Dfx9-P8c.cjs.map +0 -1
- package/dist/context-object-BE1o2XB3.js.map +0 -1
- package/dist/context-object-DA9DM9QJ.cjs +0 -2
- package/dist/context-object-DA9DM9QJ.cjs.map +0 -1
- package/dist/date-range-inline-DNr7C5X-.cjs +0 -44
- package/dist/divider-CNxOc8ep.cjs +0 -2
- package/dist/form-DzDksPgv.cjs +0 -2
- package/dist/input-C2Vz-51i.cjs +0 -51
- package/dist/navigation-rail-6ONc-XE-.cjs.map +0 -1
- package/dist/navigation-rail-D-lK9oVd.js.map +0 -1
- package/dist/payment-card-form--v94EhJF.cjs +0 -74
- package/dist/selector-hook-DOsvFxG2.js +0 -364
- package/dist/selector-hook-DOsvFxG2.js.map +0 -1
- package/dist/selector-hook-DQ9zoDM4.cjs +0 -2
- package/dist/selector-hook-DQ9zoDM4.cjs.map +0 -1
- package/dist/tailwind.mixin-BjDGMGbj.js +0 -43
- package/dist/tailwind.mixin-BjDGMGbj.js.map +0 -1
- package/dist/tailwind.mixin-ClfV2_Nh.cjs +0 -2
- package/dist/tailwind.mixin-ClfV2_Nh.cjs.map +0 -1
- package/dist/textarea-qLA0vP78.cjs +0 -44
- package/dist/theme-button-D7fBEUGf.cjs +0 -9
- package/dist/theme.component-ByGua01V.js.map +0 -1
- package/dist/theme.component-CQ1trrZB.cjs +0 -3
- package/dist/theme.component-CQ1trrZB.cjs.map +0 -1
- package/dist/typewriter-CtPh4Pyj.cjs +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea-DHrDn-O6.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@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-BpNEwBP9.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@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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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";const d=require("./ripple-DqQrvaTe.cjs");require("lit/directives/guard.js");const n=require("./theme.interface-BMeNadVb.cjs"),c=require("lit"),r=require("lit/decorators.js"),h=require("lit/directives/if-defined.js"),f=require("lit/directives/ref.js"),m=require("lit/directives/when.js"),s=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const g=require("./tailwind.mixin-CYhJgwwb.cjs");var x=Object.defineProperty,b=Object.getOwnPropertyDescriptor,i=(e,o,a,p)=>{for(var u,l=p>1?void 0:p?b(o,a):o,y=e.length-1;y>=0;y--)(u=e[y])&&(l=(p?u(o,a,l):u(l))||l);return p&&l&&x(o,a,l),l};let t=class extends g.TailwindElement(":host{border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important;width:-webkit-fill-available;display:block}:host([fillHeight]){height:100%;display:flex;flex-direction:column}:host:focus{box-shadow:unset!important}textarea:focus-visible{outline:none!important}textarea{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-shadow:inherit;text-overflow:inherit;text-rendering:inherit;text-size-adjust:inherit;text-align-last:inherit;overflow-y:auto}@keyframes onAutoFillStart{}textarea:-webkit-autofill{animation-name:onAutoFillStart}"){constructor(){super(),this.textareaRef=f.createRef(),this.label="",this.name="name_"+Date.now(),this.placeholder="",this.value="",this.cols=20,this.rows=2,this.fillHeight=!1,this.autoHeight=!0,this.resize="vertical",this.wrap="soft",this.required=!1,this.disabled=!1,this.readonly=!1,this.spellcheck=!1,this.align="left",this.tabIndex=0,this.error=!1;try{this.internals=this.attachInternals()}catch{this.internals=void 0}}firstUpdated(){this.autofocus&&this.focus(),this.autoHeight&&setTimeout(()=>this.adjustHeight(),0),s.fromEvent(this.textareaElement,"input").pipe(s.map(e=>e.target.value),s.distinctUntilChanged()).subscribe(e=>{this.value=e,this.autoHeight&&this.adjustHeight(),this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0}))}),s.fromEvent(this.textareaElement,"change").pipe(s.map(e=>e.target.value),s.distinctUntilChanged()).subscribe(e=>{this.value=e,this.autoHeight&&this.adjustHeight(),this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0}))}),s.fromEvent(this.textareaElement,"keyup").pipe(s.filter(e=>e.key==="Enter"),s.map(e=>e.target.value),s.distinctUntilChanged()).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("enter",{detail:{value:e},bubbles:!0,composed:!0}))})}get form(){return this.internals?.form}reportValidity(){return this.textareaRef.value?.reportValidity()}checkValidity(){return this.textareaRef.value?.checkValidity()}setCustomValidity(e){return this.textareaRef.value?.setCustomValidity(e)}select(){return this.textareaRef.value?.select()}setSelectionRange(e,o,a){this.textareaRef.value?.setSelectionRange(e,o,a)}get selectionStart(){return this.textareaRef.value?.selectionStart??null}get selectionEnd(){return this.textareaRef.value?.selectionEnd??null}get selectionDirection(){return this.textareaRef.value?.selectionDirection??null}setRangeText(e){this.textareaRef.value?.setRangeText(e)}adjustHeight(){const e=this.textareaRef.value;if(e){const o=e.offsetHeight,a=e.scrollHeight;a>o&&(e.style.height=a+"px")}}validity(){return this.textareaRef.value?.validity}focus(e={preventScroll:!0}){this.textareaRef.value?.focus(e),this.dispatchEvent(new Event("focus"))}click(){this.textareaRef.value?.click(),this.dispatchEvent(new Event("click"))}blur(){this.textareaRef.value?.blur(),this.dispatchEvent(new Event("blur"))}render(){const e={"w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]":!0,"disabled:opacity-40 disabled:cursor-not-allowed":!0,"placeholder:text-muted":!0,"ring-0 ring-inset focus:ring-1 focus:ring-inset":!0,"ring-primary-default ring-outline focus:ring-primary-default":!this.error,"ring-error-default focus:ring-error-default":this.error,"text-center":this.align==="center","text-right":this.align==="right","h-full":this.fillHeight,"resize-none":this.resize==="none","resize-y":this.resize==="vertical","resize-x":this.resize==="horizontal",resize:this.resize==="both"},o={"opacity-40":this.disabled,"block mb-[4px]":!0},a={"flex flex-col h-full":this.fillHeight};return c.html`
|
|
2
|
+
<div class="${this.classMap(a)}">
|
|
3
|
+
${m.when(this.label,()=>c.html`<label
|
|
4
|
+
${d.color({color:this.error?n.SchmancyTheme.sys.color.error.default:n.SchmancyTheme.sys.color.primary.default})}
|
|
5
|
+
class="${this.classMap(o)}"
|
|
6
|
+
for=${this.id}
|
|
7
|
+
>
|
|
8
|
+
<schmancy-typography type="label" token="lg">${this.label}</schmancy-typography>
|
|
9
|
+
</label>`)}
|
|
10
|
+
|
|
11
|
+
<schmancy-typography type="body" token="lg" class="${this.fillHeight?"flex-grow flex flex-col":""}">
|
|
12
|
+
<textarea
|
|
13
|
+
${d.color({bgColor:n.SchmancyTheme.sys.color.surface.highest,color:n.SchmancyTheme.sys.color.surface.on})}
|
|
14
|
+
${f.ref(this.textareaRef)}
|
|
15
|
+
.value=${this.value}
|
|
16
|
+
.id=${this.id}
|
|
17
|
+
.name=${this.name}
|
|
18
|
+
.placeholder=${this.placeholder}
|
|
19
|
+
.required=${this.required}
|
|
20
|
+
class=${this.classMap(e)}
|
|
21
|
+
.disabled=${this.disabled}
|
|
22
|
+
minlength=${h.ifDefined(this.minlength)}
|
|
23
|
+
maxlength=${h.ifDefined(this.maxlength)}
|
|
24
|
+
.readonly=${this.readonly}
|
|
25
|
+
.spellcheck=${this.spellcheck}
|
|
26
|
+
cols=${h.ifDefined(this.cols)}
|
|
27
|
+
rows=${h.ifDefined(this.rows)}
|
|
28
|
+
wrap=${h.ifDefined(this.wrap)}
|
|
29
|
+
dirname=${h.ifDefined(this.dirname)}
|
|
30
|
+
></textarea>
|
|
31
|
+
</schmancy-typography>
|
|
32
|
+
${m.when(this.hint,()=>c.html`
|
|
33
|
+
<schmancy-typography
|
|
34
|
+
${d.color({color:this.error?n.SchmancyTheme.sys.color.error.default:n.SchmancyTheme.sys.color.primary.default})}
|
|
35
|
+
class="pt-[4px]"
|
|
36
|
+
type="body"
|
|
37
|
+
token="sm"
|
|
38
|
+
>
|
|
39
|
+
${this.hint}
|
|
40
|
+
</schmancy-typography>
|
|
41
|
+
`)}
|
|
42
|
+
</div>
|
|
43
|
+
`}};t.shadowRootOptions={...c.LitElement.shadowRootOptions,delegatesFocus:!0},t.formAssociated=!0,i([r.property()],t.prototype,"label",2),i([r.property()],t.prototype,"name",2),i([r.property()],t.prototype,"placeholder",2),i([r.property({type:String,reflect:!0})],t.prototype,"value",2),i([r.property({type:Number})],t.prototype,"minlength",2),i([r.property({type:Number})],t.prototype,"maxlength",2),i([r.property({type:Number})],t.prototype,"cols",2),i([r.property({type:Number})],t.prototype,"rows",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"fillHeight",2),i([r.property({type:Boolean})],t.prototype,"autoHeight",2),i([r.property({type:String,reflect:!0})],t.prototype,"resize",2),i([r.property({type:String})],t.prototype,"wrap",2),i([r.property({type:String})],t.prototype,"dirname",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"required",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"disabled",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"readonly",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"spellcheck",2),i([r.property({type:String,reflect:!0})],t.prototype,"align",2),i([r.property({type:Boolean})],t.prototype,"autofocus",2),i([r.property({type:Number})],t.prototype,"tabIndex",2),i([r.query("textarea")],t.prototype,"textareaElement",2),i([r.property()],t.prototype,"hint",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"error",2),t=i([r.customElement("schmancy-textarea")],t);
|
|
44
|
+
//# sourceMappingURL=textarea-Xgbs3rjA.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea-qLA0vP78.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@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-Xgbs3rjA.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@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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"}
|
package/dist/textarea.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./textarea-
|
|
1
|
+
"use strict";require("./textarea-Xgbs3rjA.cjs");
|
|
2
2
|
//# sourceMappingURL=textarea.cjs.map
|
package/dist/textarea.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./textarea-
|
|
1
|
+
import "./textarea-BpNEwBP9.js";
|
|
2
2
|
//# sourceMappingURL=textarea.js.map
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import "rxjs";
|
|
2
|
+
import "rxjs/operators";
|
|
2
3
|
import "lit/directives/class-map.js";
|
|
3
4
|
import "lit/directives/style-map.js";
|
|
4
5
|
import { query as i, customElement as p } from "lit/decorators.js";
|
|
5
|
-
import { T as l } from "./tailwind.mixin-
|
|
6
|
+
import { T as l } from "./tailwind.mixin-Cn7vup-6.js";
|
|
6
7
|
import { html as h } from "lit";
|
|
7
|
-
var y = Object.defineProperty, d = Object.getOwnPropertyDescriptor,
|
|
8
|
-
for (var
|
|
8
|
+
var y = Object.defineProperty, d = Object.getOwnPropertyDescriptor, a = (s, r, e, o) => {
|
|
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);
|
|
9
10
|
return o && t && y(r, e, t), t;
|
|
10
11
|
};
|
|
11
12
|
let m = class extends l() {
|
|
@@ -22,5 +23,5 @@ let m = class extends l() {
|
|
|
22
23
|
`;
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
|
-
|
|
26
|
-
//# sourceMappingURL=theme-button-
|
|
26
|
+
a([i("#color")], m.prototype, "color", 2), m = a([p("schmancy-theme-button")], m);
|
|
27
|
+
//# sourceMappingURL=theme-button-77xbTIaH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-button-
|
|
1
|
+
{"version":3,"file":"theme-button-77xbTIaH.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;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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-CYhJgwwb.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
|
+
<schmancy-button
|
|
3
|
+
@click=${()=>{this.color.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:300})}}
|
|
4
|
+
variant="text"
|
|
5
|
+
>
|
|
6
|
+
<schmancy-icon id="color">palette</schmancy-icon>
|
|
7
|
+
</schmancy-button>
|
|
8
|
+
`}};a([s.query("#color")],i.prototype,"color",2),i=a([s.customElement("schmancy-theme-button")],i);
|
|
9
|
+
//# sourceMappingURL=theme-button-BsjsULjH.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-button-
|
|
1
|
+
{"version":3,"file":"theme-button-BsjsULjH.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"}
|
package/dist/theme-button.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./theme-button-
|
|
1
|
+
"use strict";require("./theme-button-BsjsULjH.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-77xbTIaH.js";
|
|
2
2
|
//# sourceMappingURL=theme-button.js.map
|
package/dist/theme.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./theme.interface-BMeNadVb.cjs"),e=require("./theme.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./theme.interface-BMeNadVb.cjs"),e=require("./theme.controls-BeNS8iSM.cjs"),t=require("./theme.events-Car6U_SQ.cjs");exports.SchmancyTheme=r.SchmancyTheme,Object.defineProperty(exports,"SchmancyThemeComponent",{enumerable:!0,get:()=>e.SchmancyThemeComponent}),Object.defineProperty(exports,"ThemeControls",{enumerable:!0,get:()=>e.ThemeControls}),exports.createDarkTonalPaletteFromBaseColor=e.createDarkTonalPaletteFromBaseColor,exports.createLightTonalPaletteFromBaseColor=e.createLightTonalPaletteFromBaseColor,exports.formateTheme=e.formateTheme,exports.schmancyTheme=e.schmancyTheme,exports.tailwindStyles=e.tailwindStyles,exports.theme=e.theme,exports.themeContext=e.themeContext,exports.ThemeHereIAm=t.ThemeHereIAm,exports.ThemeWhereAreYou=t.ThemeWhereAreYou;
|
|
2
2
|
//# sourceMappingURL=theme.cjs.map
|