@tylertech/forge 2.7.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +4428 -86
- package/dist/esm/accordion/index.js +7 -7
- package/dist/esm/app-bar/help-button/index.js +9 -9
- package/dist/esm/app-bar/index.js +15 -15
- package/dist/esm/app-bar/menu-button/index.js +6 -6
- package/dist/esm/app-bar/notification-button/index.js +6 -6
- package/dist/esm/app-bar/profile-button/index.js +7 -7
- package/dist/esm/app-bar/search/index.js +5 -5
- package/dist/esm/autocomplete/index.js +13 -13
- package/dist/esm/banner/index.js +6 -6
- package/dist/esm/bottom-sheet/index.js +5 -5
- package/dist/esm/busy-indicator/index.js +4 -4
- package/dist/esm/button/index.js +3 -3
- package/dist/esm/calendar/calendar-dropdown/index.js +2 -2
- package/dist/esm/calendar/calendar-menu/index.js +2 -2
- package/dist/esm/calendar/index.js +7 -7
- package/dist/esm/checkbox/index.js +2 -2
- package/dist/esm/chip-field/index.js +9 -9
- package/dist/esm/chips/chip/index.js +6 -6
- package/dist/esm/chips/chip-set/index.js +6 -6
- package/dist/esm/chips/index.js +7 -7
- package/dist/esm/chunks/{chunk.VXVE7KEM.js → chunk.2QB3WXEH.js} +4 -4
- package/dist/esm/chunks/{chunk.VXVE7KEM.js.map → chunk.2QB3WXEH.js.map} +0 -0
- package/dist/esm/chunks/{chunk.3QXCVTCP.js → chunk.2Z23LQVW.js} +2 -2
- package/dist/esm/chunks/{chunk.3QXCVTCP.js.map → chunk.2Z23LQVW.js.map} +0 -0
- package/dist/esm/chunks/{chunk.GL72QT42.js → chunk.35BJJH5E.js} +2 -2
- package/dist/esm/chunks/{chunk.GL72QT42.js.map → chunk.35BJJH5E.js.map} +1 -1
- package/dist/esm/chunks/{chunk.BEAJZPWS.js → chunk.3TFBNPQF.js} +2 -2
- package/dist/esm/chunks/{chunk.BEAJZPWS.js.map → chunk.3TFBNPQF.js.map} +0 -0
- package/dist/esm/chunks/{chunk.2MBI5DLT.js → chunk.3ULPDQ2I.js} +71 -15
- package/dist/esm/chunks/chunk.3ULPDQ2I.js.map +7 -0
- package/dist/esm/chunks/{chunk.JC2PZ4TS.js → chunk.5DJS3K7V.js} +10 -8
- package/dist/esm/chunks/chunk.5DJS3K7V.js.map +7 -0
- package/dist/esm/chunks/{chunk.GHZ75UPO.js → chunk.5EBM357P.js} +3 -3
- package/dist/esm/chunks/{chunk.GHZ75UPO.js.map → chunk.5EBM357P.js.map} +0 -0
- package/dist/esm/chunks/{chunk.J5NUYQ4D.js → chunk.5XUOWRCK.js} +3 -3
- package/dist/esm/chunks/{chunk.J5NUYQ4D.js.map → chunk.5XUOWRCK.js.map} +0 -0
- package/dist/esm/chunks/{chunk.6EGTLHJS.js → chunk.65ZCTZEM.js} +6 -2
- package/dist/esm/chunks/{chunk.6EGTLHJS.js.map → chunk.65ZCTZEM.js.map} +2 -2
- package/dist/esm/chunks/chunk.A5GIQB6E.js +20 -0
- package/dist/esm/chunks/{chunk.JUXKYUD4.js.map → chunk.A5GIQB6E.js.map} +3 -3
- package/dist/esm/chunks/{chunk.PM7D2SUE.js → chunk.A6YZB7UK.js} +33 -2
- package/dist/esm/chunks/{chunk.PM7D2SUE.js.map → chunk.A6YZB7UK.js.map} +2 -2
- package/dist/esm/chunks/chunk.AJJILT3A.js +6 -0
- package/dist/esm/chunks/chunk.AJJILT3A.js.map +7 -0
- package/dist/esm/chunks/chunk.CGKWQIL3.js +1236 -0
- package/dist/esm/chunks/chunk.CGKWQIL3.js.map +7 -0
- package/dist/esm/chunks/chunk.CGOYP37Z.js +345 -0
- package/dist/esm/chunks/chunk.CGOYP37Z.js.map +7 -0
- package/dist/esm/chunks/{chunk.QYWAZCBX.js → chunk.CTMCTMRO.js} +2 -2
- package/dist/esm/chunks/{chunk.QYWAZCBX.js.map → chunk.CTMCTMRO.js.map} +0 -0
- package/dist/esm/chunks/{chunk.JUXKYUD4.js → chunk.D2AL6QLF.js} +60 -40
- package/dist/esm/chunks/chunk.D2AL6QLF.js.map +7 -0
- package/dist/esm/chunks/{chunk.U5ECVIX5.js → chunk.D3MXPNTL.js} +2 -2
- package/dist/esm/chunks/{chunk.U5ECVIX5.js.map → chunk.D3MXPNTL.js.map} +0 -0
- package/dist/esm/chunks/{chunk.HAWYW54W.js → chunk.D45QN7JA.js} +5 -5
- package/dist/esm/chunks/{chunk.HAWYW54W.js.map → chunk.D45QN7JA.js.map} +0 -0
- package/dist/esm/chunks/{chunk.2WBHHTUM.js → chunk.EFQZGAM5.js} +2 -2
- package/dist/esm/chunks/{chunk.2WBHHTUM.js.map → chunk.EFQZGAM5.js.map} +0 -0
- package/dist/esm/chunks/{chunk.L344BPCW.js → chunk.F5O63UF4.js} +2 -2
- package/dist/esm/chunks/{chunk.L344BPCW.js.map → chunk.F5O63UF4.js.map} +0 -0
- package/dist/esm/chunks/{chunk.RL7ZFLMG.js → chunk.FRT7RD5L.js} +2 -2
- package/dist/esm/chunks/{chunk.RL7ZFLMG.js.map → chunk.FRT7RD5L.js.map} +0 -0
- package/dist/esm/chunks/{chunk.LK2DN5KX.js → chunk.GG3O42UP.js} +4 -4
- package/dist/esm/chunks/{chunk.LK2DN5KX.js.map → chunk.GG3O42UP.js.map} +0 -0
- package/dist/esm/chunks/{chunk.WSH4S3GM.js → chunk.GVR5LXMJ.js} +2 -2
- package/dist/esm/chunks/{chunk.WSH4S3GM.js.map → chunk.GVR5LXMJ.js.map} +0 -0
- package/dist/esm/chunks/{chunk.LHWZ4KZU.js → chunk.HL2ORG3A.js} +4 -4
- package/dist/esm/chunks/{chunk.LHWZ4KZU.js.map → chunk.HL2ORG3A.js.map} +1 -1
- package/dist/esm/chunks/{chunk.65GHMPX2.js → chunk.J2FCOFOE.js} +6 -6
- package/dist/esm/chunks/chunk.J2FCOFOE.js.map +7 -0
- package/dist/esm/chunks/{chunk.PKZ43JNW.js → chunk.JM6SZSUI.js} +50 -4
- package/dist/esm/chunks/{chunk.PKZ43JNW.js.map → chunk.JM6SZSUI.js.map} +2 -2
- package/dist/esm/chunks/{chunk.VXAPRFMK.js → chunk.K4B7NJ2G.js} +4 -4
- package/dist/esm/chunks/{chunk.VXAPRFMK.js.map → chunk.K4B7NJ2G.js.map} +0 -0
- package/dist/esm/chunks/{chunk.67B6JDOJ.js → chunk.KVOXJKCU.js} +3 -3
- package/dist/esm/chunks/{chunk.67B6JDOJ.js.map → chunk.KVOXJKCU.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ITQ55IPH.js → chunk.LTN47GWQ.js} +4 -4
- package/dist/esm/chunks/{chunk.ITQ55IPH.js.map → chunk.LTN47GWQ.js.map} +0 -0
- package/dist/esm/chunks/{chunk.UPW5HUKB.js → chunk.NU3XRT37.js} +5 -5
- package/dist/esm/chunks/{chunk.UPW5HUKB.js.map → chunk.NU3XRT37.js.map} +0 -0
- package/dist/esm/chunks/{chunk.I6PJGNJS.js → chunk.NWPH4FRE.js} +6 -6
- package/dist/esm/chunks/chunk.NWPH4FRE.js.map +7 -0
- package/dist/esm/chunks/{chunk.KNR5DXE4.js → chunk.OTJJU35B.js} +2 -2
- package/dist/esm/chunks/{chunk.KNR5DXE4.js.map → chunk.OTJJU35B.js.map} +0 -0
- package/dist/esm/chunks/{chunk.BVGJFMEG.js → chunk.PRRL5C6Z.js} +7 -7
- package/dist/esm/chunks/{chunk.BVGJFMEG.js.map → chunk.PRRL5C6Z.js.map} +0 -0
- package/dist/esm/chunks/{chunk.TIUNGGBF.js → chunk.QFG7SPQV.js} +3 -3
- package/dist/esm/chunks/{chunk.TIUNGGBF.js.map → chunk.QFG7SPQV.js.map} +0 -0
- package/dist/esm/chunks/{chunk.C73AZRT4.js → chunk.QKCIMRRG.js} +36 -19
- package/dist/esm/chunks/chunk.QKCIMRRG.js.map +7 -0
- package/dist/esm/chunks/{chunk.IGBDDH3J.js → chunk.QRGWP6Z2.js} +3 -3
- package/dist/esm/chunks/chunk.QRGWP6Z2.js.map +7 -0
- package/dist/esm/chunks/{chunk.MUP3NY6M.js → chunk.QSFE3J74.js} +5 -5
- package/dist/esm/chunks/{chunk.MUP3NY6M.js.map → chunk.QSFE3J74.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ZXMJB7OW.js → chunk.R357QRWX.js} +54 -50
- package/dist/esm/chunks/chunk.R357QRWX.js.map +7 -0
- package/dist/esm/chunks/{chunk.46BED43J.js → chunk.SVS3G6Y7.js} +5 -19
- package/dist/esm/chunks/chunk.SVS3G6Y7.js.map +7 -0
- package/dist/esm/chunks/{chunk.S3UVF647.js → chunk.TBQ72CBS.js} +3 -3
- package/dist/esm/chunks/{chunk.S3UVF647.js.map → chunk.TBQ72CBS.js.map} +0 -0
- package/dist/esm/chunks/{chunk.MF3IZXQG.js → chunk.TSHHEAIC.js} +2 -2
- package/dist/esm/chunks/{chunk.MF3IZXQG.js.map → chunk.TSHHEAIC.js.map} +0 -0
- package/dist/esm/chunks/{chunk.EBC2HGO3.js → chunk.UAW46BWM.js} +3 -3
- package/dist/esm/chunks/{chunk.EBC2HGO3.js.map → chunk.UAW46BWM.js.map} +0 -0
- package/dist/esm/chunks/{chunk.FJJVIMZ2.js → chunk.V6ESTGWD.js} +5 -5
- package/dist/esm/chunks/chunk.V6ESTGWD.js.map +7 -0
- package/dist/esm/chunks/{chunk.5OYAJ36F.js → chunk.VLAUYV76.js} +2 -2
- package/dist/esm/chunks/{chunk.5OYAJ36F.js.map → chunk.VLAUYV76.js.map} +0 -0
- package/dist/esm/chunks/{chunk.L4OUV7W6.js → chunk.VSKPHQZE.js} +4 -4
- package/dist/esm/chunks/{chunk.L4OUV7W6.js.map → chunk.VSKPHQZE.js.map} +0 -0
- package/dist/esm/chunks/{chunk.GS2AXUCN.js → chunk.WOL4KRZK.js} +6 -1
- package/dist/esm/chunks/{chunk.GS2AXUCN.js.map → chunk.WOL4KRZK.js.map} +1 -1
- package/dist/esm/chunks/{chunk.TM46MNYN.js → chunk.WQRR5OGK.js} +5 -5
- package/dist/esm/chunks/{chunk.TM46MNYN.js.map → chunk.WQRR5OGK.js.map} +0 -0
- package/dist/esm/chunks/chunk.X2RP4QW3.js +6 -0
- package/dist/esm/chunks/chunk.X2RP4QW3.js.map +7 -0
- package/dist/esm/chunks/{chunk.GOWHXADJ.js → chunk.X3TV6IHS.js} +23 -15
- package/dist/esm/chunks/chunk.X3TV6IHS.js.map +7 -0
- package/dist/esm/chunks/{chunk.U37G47LH.js → chunk.XC56O73Q.js} +6 -6
- package/dist/esm/chunks/{chunk.U37G47LH.js.map → chunk.XC56O73Q.js.map} +0 -0
- package/dist/esm/chunks/{chunk.QWW6A7AF.js → chunk.XRK62M5E.js} +2 -2
- package/dist/esm/chunks/{chunk.QWW6A7AF.js.map → chunk.XRK62M5E.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ZLF2G3YT.js → chunk.XSS7BYJS.js} +3 -3
- package/dist/esm/chunks/{chunk.ZLF2G3YT.js.map → chunk.XSS7BYJS.js.map} +0 -0
- package/dist/esm/chunks/{chunk.XHMNHBZD.js → chunk.YCHKXJLN.js} +3 -3
- package/dist/esm/chunks/{chunk.XHMNHBZD.js.map → chunk.YCHKXJLN.js.map} +1 -1
- package/dist/esm/chunks/{chunk.UQ3QTUUB.js → chunk.YMP3JQQQ.js} +2 -2
- package/dist/esm/chunks/{chunk.UQ3QTUUB.js.map → chunk.YMP3JQQQ.js.map} +0 -0
- package/dist/esm/chunks/{chunk.7I2XNJBL.js → chunk.YTFOQNFU.js} +6 -16
- package/dist/esm/chunks/chunk.YTFOQNFU.js.map +7 -0
- package/dist/esm/chunks/{chunk.IJW2YKP3.js → chunk.Z5KLXKMB.js} +21 -15
- package/dist/esm/chunks/chunk.Z5KLXKMB.js.map +7 -0
- package/dist/esm/chunks/{chunk.MBZLA635.js → chunk.ZIZGRSAX.js} +6 -6
- package/dist/esm/chunks/{chunk.MBZLA635.js.map → chunk.ZIZGRSAX.js.map} +1 -1
- package/dist/esm/chunks/{chunk.CLEUHAZ6.js → chunk.ZLX3L6KW.js} +2 -2
- package/dist/esm/chunks/{chunk.CLEUHAZ6.js.map → chunk.ZLX3L6KW.js.map} +0 -0
- package/dist/esm/color-picker/index.js +6 -6
- package/dist/esm/core/index.js +14 -2
- package/dist/esm/core/utils/index.js +14 -2
- package/dist/esm/date-picker/index.js +11 -11
- package/dist/esm/date-range-picker/index.js +11 -11
- package/dist/esm/dialog/index.js +5 -5
- package/dist/esm/drawer/base/index.js +2 -2
- package/dist/esm/drawer/drawer/index.js +3 -3
- package/dist/esm/drawer/index.js +5 -5
- package/dist/esm/drawer/mini-drawer/index.js +3 -3
- package/dist/esm/drawer/modal-drawer/index.js +3 -3
- package/dist/esm/expansion-panel/index.js +6 -6
- package/dist/esm/file-picker/index.js +4 -4
- package/dist/esm/icon/index.js +3 -3
- package/dist/esm/icon-button/index.js +4 -4
- package/dist/esm/index.js +169 -94
- package/dist/esm/inline-message/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +5 -5
- package/dist/esm/menu/index.js +7 -7
- package/dist/esm/open-icon/index.js +5 -5
- package/dist/esm/paginator/index.js +12 -12
- package/dist/esm/profile-card/index.js +4 -4
- package/dist/esm/quantity-field/index.js +6 -7
- package/dist/esm/select/core/index.js +7 -7
- package/dist/esm/select/index.js +11 -11
- package/dist/esm/select/select/index.js +9 -9
- package/dist/esm/select/select-dropdown/index.js +9 -9
- package/dist/esm/slider/index.js +2 -2
- package/dist/esm/split-view/core/index.js +7 -0
- package/dist/esm/split-view/core/index.js.map +7 -0
- package/dist/esm/split-view/index.js +92 -0
- package/dist/esm/split-view/index.js.map +7 -0
- package/dist/esm/split-view/split-view/index.js +44 -0
- package/dist/esm/split-view/split-view/index.js.map +7 -0
- package/dist/esm/split-view/split-view-panel/index.js +78 -0
- package/dist/esm/split-view/split-view-panel/index.js.map +7 -0
- package/dist/esm/stepper/index.js +6 -6
- package/dist/esm/stepper/step/index.js +5 -5
- package/dist/esm/stepper/stepper/index.js +6 -6
- package/dist/esm/switch/index.js +2 -2
- package/dist/esm/table/index.js +7 -7
- package/dist/esm/tabs/index.js +6 -6
- package/dist/esm/tabs/tab-bar/index.js +6 -6
- package/dist/esm/text-field/index.js +2 -2
- package/dist/esm/time-picker/index.js +11 -10
- package/dist/esm/toast/index.js +7 -7
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +6 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +30 -12
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +4 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +8 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +22 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +4 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.js +14 -0
- package/esm/autocomplete/autocomplete-adapter.d.ts +2 -0
- package/esm/autocomplete/autocomplete-adapter.js +4 -0
- package/esm/autocomplete/autocomplete-foundation.js +10 -7
- package/esm/chip-field/chip-field-adapter.d.ts +1 -1
- package/esm/chip-field/chip-field-adapter.js +2 -2
- package/esm/chip-field/chip-field.js +1 -1
- package/esm/chips/chip/chip.js +1 -1
- package/esm/core/utils/event-utils.d.ts +1 -0
- package/esm/core/utils/event-utils.js +3 -0
- package/esm/core/utils/utils.d.ts +36 -0
- package/esm/core/utils/utils.js +57 -0
- package/esm/date-picker/date-picker-foundation.js +3 -1
- package/esm/drawer/base/base-drawer-foundation.d.ts +4 -2
- package/esm/drawer/base/base-drawer-foundation.js +22 -14
- package/esm/drawer/modal-drawer/modal-drawer-foundation.d.ts +2 -2
- package/esm/drawer/modal-drawer/modal-drawer-foundation.js +4 -4
- package/esm/field/field-adapter.d.ts +4 -4
- package/esm/field/field-adapter.js +4 -13
- package/esm/field/field-foundation.js +2 -2
- package/esm/file-picker/file-picker.js +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +3 -0
- package/esm/inline-message/inline-message.js +1 -1
- package/esm/profile-card/profile-card-adapter.d.ts +4 -0
- package/esm/profile-card/profile-card-adapter.js +6 -0
- package/esm/profile-card/profile-card-constants.d.ts +4 -0
- package/esm/profile-card/profile-card-constants.js +5 -1
- package/esm/profile-card/profile-card-foundation.d.ts +6 -0
- package/esm/profile-card/profile-card-foundation.js +22 -0
- package/esm/profile-card/profile-card.d.ts +4 -0
- package/esm/profile-card/profile-card.js +15 -1
- package/esm/quantity-field/quantity-field-adapter.d.ts +0 -2
- package/esm/quantity-field/quantity-field-adapter.js +1 -13
- package/esm/quantity-field/quantity-field-foundation.js +0 -1
- package/esm/quantity-field/quantity-field.js +1 -1
- package/esm/select/select/select.js +1 -1
- package/esm/split-view/core/index.d.ts +6 -0
- package/esm/split-view/core/index.js +6 -0
- package/esm/split-view/core/split-view-base.d.ts +14 -0
- package/esm/split-view/core/split-view-base.js +6 -0
- package/esm/split-view/index.d.ts +8 -0
- package/esm/split-view/index.js +8 -0
- package/esm/split-view/split-view/index.d.ts +10 -0
- package/esm/split-view/split-view/index.js +14 -0
- package/esm/split-view/split-view/split-view-adapter.d.ts +29 -0
- package/esm/split-view/split-view/split-view-adapter.js +62 -0
- package/esm/split-view/split-view/split-view-constants.d.ts +41 -0
- package/esm/split-view/split-view/split-view-constants.js +40 -0
- package/esm/split-view/split-view/split-view-foundation.d.ts +86 -0
- package/esm/split-view/split-view/split-view-foundation.js +179 -0
- package/esm/split-view/split-view/split-view.d.ts +67 -0
- package/esm/split-view/split-view/split-view.js +103 -0
- package/esm/split-view/split-view-panel/index.d.ts +11 -0
- package/esm/split-view/split-view-panel/index.js +15 -0
- package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +171 -0
- package/esm/split-view/split-view-panel/split-view-panel-adapter.js +295 -0
- package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +97 -0
- package/esm/split-view/split-view-panel/split-view-panel-constants.js +78 -0
- package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +235 -0
- package/esm/split-view/split-view-panel/split-view-panel-foundation.js +667 -0
- package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +130 -0
- package/esm/split-view/split-view-panel/split-view-panel-utils.js +300 -0
- package/esm/split-view/split-view-panel/split-view-panel.d.ts +105 -0
- package/esm/split-view/split-view-panel/split-view-panel.js +173 -0
- package/esm/table/table-utils.d.ts +2 -2
- package/esm/table/table-utils.js +30 -14
- package/esm/table/table.js +3 -1
- package/esm/text-field/text-field-adapter.d.ts +1 -1
- package/esm/text-field/text-field-adapter.js +2 -2
- package/esm/text-field/text-field.js +1 -1
- package/esm/time-picker/time-picker-constants.d.ts +1 -0
- package/esm/time-picker/time-picker-constants.js +1 -0
- package/esm/time-picker/time-picker-foundation.d.ts +4 -0
- package/esm/time-picker/time-picker-foundation.js +44 -29
- package/esm/time-picker/time-picker.d.ts +3 -0
- package/esm/time-picker/time-picker.js +7 -0
- package/package.json +2 -2
- package/styles/chip-field/_base.scss +2 -2
- package/styles/chip-field/_selector.scss +1 -1
- package/styles/chip-field/_variables.scss +1 -1
- package/styles/chips/chip/_mixins.scss +4 -3
- package/styles/chips/chip/_variables.scss +3 -2
- package/styles/field/_base.scss +16 -4
- package/styles/field/_selector.scss +4 -4
- package/styles/file-picker/_mixins.scss +3 -1
- package/styles/inline-message/inline-message.scss +4 -0
- package/styles/quantity-field/_mixins.scss +1 -1
- package/styles/select/select/_selector.scss +1 -1
- package/styles/split-view/split-view/_mixins.scss +48 -0
- package/styles/split-view/split-view/split-view.scss +25 -0
- package/styles/split-view/split-view-panel/_mixins.scss +260 -0
- package/styles/split-view/split-view-panel/_variables.scss +7 -0
- package/styles/split-view/split-view-panel/split-view-panel.scss +23 -0
- package/dist/esm/chunks/chunk.2MBI5DLT.js.map +0 -7
- package/dist/esm/chunks/chunk.46BED43J.js.map +0 -7
- package/dist/esm/chunks/chunk.65GHMPX2.js.map +0 -7
- package/dist/esm/chunks/chunk.7I2XNJBL.js.map +0 -7
- package/dist/esm/chunks/chunk.C73AZRT4.js.map +0 -7
- package/dist/esm/chunks/chunk.FJJVIMZ2.js.map +0 -7
- package/dist/esm/chunks/chunk.GOWHXADJ.js.map +0 -7
- package/dist/esm/chunks/chunk.I6PJGNJS.js.map +0 -7
- package/dist/esm/chunks/chunk.IGBDDH3J.js.map +0 -7
- package/dist/esm/chunks/chunk.IJW2YKP3.js.map +0 -7
- package/dist/esm/chunks/chunk.JC2PZ4TS.js.map +0 -7
- package/dist/esm/chunks/chunk.ZXMJB7OW.js.map +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/quantity-field/quantity-field-constants.ts", "../../src/quantity-field/quantity-field-adapter.ts", "../../src/quantity-field/quantity-field-foundation.ts", "../../src/quantity-field/quantity-field.ts", "../../src/quantity-field/quantity-field-component-delegate.ts", "../../src/quantity-field/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}quantity-field`;\n\nconst attributes = {\n INVALID: 'invalid',\n REQUIRED: 'required',\n DISABLED: 'disabled'\n};\n\nconst classes = {\n ROOT: 'forge-quantity-field',\n INVALID: 'forge-quantity-field--invalid',\n REQUIRED: 'forge-quantity-field--required'\n};\n\nconst slots = {\n INCREMENT_BUTTON: 'increment-button',\n DECREMENT_BUTTON: 'decrement-button',\n LABEL: 'label',\n HELPER_TEXT: 'helper-text'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n INCREMENT_BUTTON_SLOT: `slot[name=${slots.INCREMENT_BUTTON}]`,\n DECREMENT_BUTTON_SLOT: `slot[name=${slots.DECREMENT_BUTTON}]`,\n INCREMENT_BUTTON: `[slot=${slots.INCREMENT_BUTTON}] button, button[slot=${slots.INCREMENT_BUTTON}]`,\n DECREMENT_BUTTON: `[slot=${slots.DECREMENT_BUTTON}] button, button[slot=${slots.DECREMENT_BUTTON}]`,\n TEXT_FIELD: 'forge-text-field',\n INPUT: 'input[type=number]',\n LABEL: `[slot=${slots.LABEL}]`,\n HELPER_TEXT: `[slot=${slots.HELPER_TEXT}]`\n};\n\nexport const QUANTITY_FIELD_CONSTANTS = {\n elementName,\n classes,\n slots,\n selectors,\n attributes\n};\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IQuantityFieldComponent } from './quantity-field';\nimport { getShadowElement, Platform } from '@tylertech/forge-core';\nimport { QUANTITY_FIELD_CONSTANTS } from './quantity-field-constants';\nimport { TextFieldComponent } from '../text-field';\n\nexport interface IQuantityFieldAdapter extends IBaseAdapter {\n addRootClass(name: string): void;\n removeRootClass(name: string): void;\n inputHasAttribute(name: string): boolean;\n addIncrementButtonSlotListener(listener: () => void): void;\n removeIncrementButtonSlotListener(listener: () => void): void;\n addDecrementButtonSlotListener(listener: (evt: Event) => void): void;\n removeDecrementButtonSlotListener(listener: (evt: Event) => void): void;\n addIncrementEventListener(event: string, callback: (event: Event) => void): void;\n addDecrementEventListener(event: string, callback: (event: Event) => void): void;\n removeIncrementEventListener(event: string, callback: (event: Event) => void): void;\n removeDecrementEventListener(event: string, callback: (event: Event) => void): void;\n addIncrementButtonAttribute(name: string, value?: string): void;\n removeIncrementButtonAttribute(name: string): void;\n addDecrementButtonAttribute(name: string, value?: string): void;\n removeDecrementButtonAttribute(name: string): void;\n addInputDisabledAttributeChangeListener(callback: () => void): void;\n addTextFieldAttribute(name: string, value?: string): void;\n removeTextFieldAttribute(name: string): void;\n removeInputDisabledAttributeChangeListener(): void;\n setLabelAsRequired(required: boolean): void;\n increment(): void;\n decrement(): void;\n}\n\nexport class QuantityFieldAdapter extends BaseAdapter<IQuantityFieldComponent> implements IQuantityFieldAdapter {\n private _rootElement: HTMLElement;\n private _incrementButtonSlot: HTMLSlotElement;\n private _decrementButtonSlot: HTMLSlotElement;\n private _incrementButton: HTMLButtonElement;\n private _decrementButton: HTMLButtonElement;\n private _textField: TextFieldComponent;\n private _inputElement: HTMLInputElement | null;\n private _inputAttributeMutationObserver: MutationObserver | undefined;\n\n constructor(component: IQuantityFieldComponent) {\n super(component);\n this._rootElement = getShadowElement(component, QUANTITY_FIELD_CONSTANTS.selectors.ROOT);\n this._incrementButtonSlot = getShadowElement(this._component, QUANTITY_FIELD_CONSTANTS.selectors.INCREMENT_BUTTON_SLOT) as HTMLSlotElement;\n this._decrementButtonSlot = getShadowElement(this._component, QUANTITY_FIELD_CONSTANTS.selectors.DECREMENT_BUTTON_SLOT) as HTMLSlotElement;\n }\n\n public addRootClass(name: string): void {\n this._rootElement.classList.add(name);\n }\n\n public removeRootClass(name: string): void {\n this._rootElement.classList.remove(name);\n }\n\n public inputHasAttribute(name: string): boolean {\n if (!this.inputElement) {\n return false;\n }\n\n return this.inputElement.hasAttribute(name);\n }\n\n public addIncrementButtonSlotListener(listener: () => void): void {\n this._incrementButtonSlot.addEventListener('slotchange', listener);\n }\n\n public removeIncrementButtonSlotListener(listener: () => void): void {\n if (this._incrementButtonSlot) {\n this._incrementButtonSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addDecrementButtonSlotListener(listener: (evt: Event) => void): void {\n this._decrementButtonSlot.addEventListener('slotchange', listener);\n }\n\n public removeDecrementButtonSlotListener(listener: (evt: Event) => void): void {\n if (this._decrementButtonSlot) {\n this._decrementButtonSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addTextFieldAttribute(name: string, value = ''): void {\n if (this._textFieldComponent) {\n this._textFieldComponent.setAttribute(name, value);\n }\n }\n\n public removeTextFieldAttribute(name: string): void {\n if (this._textFieldComponent) {\n this._textFieldComponent.removeAttribute(name);\n }\n }\n\n public addIncrementEventListener(event: string, callback: (event: Event) => void): void {\n this._incrementButtonElement.addEventListener(event, callback);\n }\n\n public removeIncrementEventListener(event: string, callback: (event: Event) => void): void {\n if (this._incrementButtonElement) {\n this._incrementButtonElement.removeEventListener(event, callback);\n }\n }\n\n public addDecrementEventListener(event: string, callback: (event: Event) => void): void {\n this._decrementButtonElement.addEventListener(event, callback);\n }\n\n public removeDecrementEventListener(event: string, callback: (event: Event) => void): void {\n if (this._decrementButtonElement) {\n this._decrementButtonElement.removeEventListener(event, callback);\n }\n }\n\n public addIncrementButtonAttribute(name: string, value = ''): void {\n this._incrementButtonElement.setAttribute(name, value);\n }\n\n public removeIncrementButtonAttribute(name: string): void {\n this._incrementButtonElement.removeAttribute(name);\n }\n\n public addDecrementButtonAttribute(name: string, value = ''): void {\n this._decrementButtonElement.setAttribute(name, value);\n }\n\n public removeDecrementButtonAttribute(name: string): void {\n this._decrementButtonElement.removeAttribute(name);\n }\n\n public setLabelAsRequired(required: boolean): void {\n const labelElement = this._component.querySelector(QUANTITY_FIELD_CONSTANTS.selectors.LABEL) as HTMLLabelElement;\n\n // Due to a Safari bug with ::slotted::after selectors, we need to manually append the required \"asterisk\" to the label text\n // https://bugs.webkit.org/show_bug.cgi?id=178237\n if (required && Platform.WEBKIT && labelElement && !labelElement.innerText.endsWith('*')) {\n const asterisk = document.createElement('span');\n asterisk.style.color = 'var(--mdc-theme-error)';\n asterisk.style.marginLeft = '1px';\n asterisk.textContent = '*';\n labelElement.appendChild(asterisk);\n }\n }\n\n public increment(): void {\n const input = this.inputElement;\n if (!input) {\n return;\n }\n\n const curValue = +input.value;\n const precision = this._calcPrecision(this._inputStep);\n let newValue = parseFloat((curValue + this._inputStep).toFixed(precision));\n if (!!this._inputMax && this._inputMax < newValue) {\n newValue = this._inputMax;\n }\n\n this._setInputValue(newValue);\n }\n\n public decrement(): void {\n const input = this.inputElement;\n if (!input) {\n return;\n }\n\n const curValue = +input.value;\n const precision = this._calcPrecision(this._inputStep);\n let newValue = parseFloat((curValue - this._inputStep).toFixed(precision));\n if (!!this._inputMin && this._inputMin > newValue) {\n newValue = this._inputMin;\n }\n\n this._setInputValue(newValue);\n }\n\n public addInputDisabledAttributeChangeListener(callback: () => void): void {\n this._setupInputDisabledAttributeMutationObserver(callback);\n }\n\n public removeInputDisabledAttributeChangeListener(): void {\n this._cleanupInputDisabledAttributeMutationObserver();\n }\n\n private _setInputValue(value: string | number): void {\n if (!this.inputElement) {\n return;\n }\n\n this.inputElement.value = `${value}`;\n this.inputElement.dispatchEvent(new Event('input'));\n this.inputElement.dispatchEvent(new Event('change'));\n }\n\n private _isNullOrUndefinedOrEmpty(value: any): value is null | undefined {\n return value === null || value === undefined || value === '';\n }\n\n private _setupInputDisabledAttributeMutationObserver(callback: () => void): void {\n if (!this.inputElement) {\n return;\n }\n\n this._cleanupInputDisabledAttributeMutationObserver();\n const mutationCallback = (mutationRecords: MutationRecord[]): void => this._inputDisabledAttributeMutationCallback(mutationRecords, callback);\n this._inputAttributeMutationObserver = new MutationObserver(mutationCallback);\n const mutationOptions: MutationObserverInit = {\n attributes: true,\n attributeOldValue: true,\n attributeFilter: [QUANTITY_FIELD_CONSTANTS.attributes.DISABLED]\n };\n this._inputAttributeMutationObserver.observe(this.inputElement, mutationOptions);\n }\n\n private _cleanupInputDisabledAttributeMutationObserver(): void {\n if (this._inputAttributeMutationObserver) {\n this._inputAttributeMutationObserver.disconnect();\n delete this._inputAttributeMutationObserver;\n }\n }\n\n private _inputDisabledAttributeMutationCallback(mutationRecords: MutationRecord[], callback: () => void): void {\n for (const mutationRecord of mutationRecords) {\n // Skip:\n // - Non-attribute mutations.\n // - Mutations without an attribute name.\n // - Mutations without a matching attribute name.\n // - Mutations that did not change the attribute value.\n if (mutationRecord.type !== 'attributes'\n || !mutationRecord.attributeName\n || mutationRecord.attributeName !== QUANTITY_FIELD_CONSTANTS.attributes.DISABLED\n || mutationRecord.target[mutationRecord.attributeName] === mutationRecord.oldValue) {\n continue;\n }\n\n callback();\n }\n }\n\n private get _incrementButtonElement(): HTMLButtonElement {\n if (!this._incrementButton) {\n this._incrementButton = this._component.querySelector(QUANTITY_FIELD_CONSTANTS.selectors.INCREMENT_BUTTON) as HTMLButtonElement;\n }\n return this._incrementButton;\n }\n\n private get _decrementButtonElement(): HTMLButtonElement {\n if (!this._decrementButton) {\n this._decrementButton = this._component.querySelector(QUANTITY_FIELD_CONSTANTS.selectors.DECREMENT_BUTTON) as HTMLButtonElement;\n }\n return this._decrementButton;\n }\n\n private get _textFieldComponent(): TextFieldComponent {\n if (!this._textField) {\n this._textField = this._component.querySelector(QUANTITY_FIELD_CONSTANTS.selectors.TEXT_FIELD) as TextFieldComponent;\n }\n return this._textField;\n }\n\n public get inputElement(): HTMLInputElement | null {\n if (!this._inputElement) {\n this._inputElement = this._component.querySelector<HTMLInputElement>(QUANTITY_FIELD_CONSTANTS.selectors.INPUT);\n }\n return this._inputElement;\n }\n\n private get _inputStep(): number {\n const input = this.inputElement;\n if (!input || this._isNullOrUndefinedOrEmpty(input.step)) {\n return 1;\n }\n\n return +input.step;\n }\n\n private get _inputMax(): number | null {\n const input = this.inputElement;\n if (!input || this._isNullOrUndefinedOrEmpty(input.max)) {\n return null;\n }\n\n return +input.max;\n }\n\n private get _inputMin(): number | null {\n const input = this.inputElement;\n if (!input || this._isNullOrUndefinedOrEmpty(input.min)) {\n return null;\n }\n\n return +input.min;\n }\n\n private _calcPrecision(value: number): number {\n const strVal = String(value);\n if (strVal.includes('.')) {\n return strVal.split('.')[1].length;\n }\n return 0;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IQuantityFieldAdapter } from './quantity-field-adapter';\nimport { QUANTITY_FIELD_CONSTANTS } from './quantity-field-constants';\n\nexport interface IQuantityFieldFoundation extends ICustomElementFoundation {\n required: boolean;\n invalid: boolean;\n}\n\nexport class QuantityFieldFoundation implements IQuantityFieldFoundation {\n private _required: boolean;\n private _invalid: boolean;\n private _incrementButtonSlotChanged: () => void;\n private _decrementButtonSlotChanged: () => void;\n private _incrementValue: () => void;\n private _decrementValue: () => void;\n\n constructor(private _adapter: IQuantityFieldAdapter) {\n this._incrementValue = () => this._adapter.increment();\n this._decrementValue = () => this._adapter.decrement();\n this._incrementButtonSlotChanged = () => this._onIncrementButtonSlotChanged();\n this._decrementButtonSlotChanged = () => this._onDecrementButtonSlotChanged();\n\n this._adapter.addIncrementButtonSlotListener(this._incrementButtonSlotChanged);\n this._adapter.addDecrementButtonSlotListener(this._decrementButtonSlotChanged);\n }\n\n public connect(): void {\n this._adapter.addInputDisabledAttributeChangeListener(() => this._syncDisabledStateOfButtons());\n this._syncDisabledStateOfButtons();\n }\n\n public disconnect(): void {\n this._removeIncrementEventListener();\n this._removeDecrementEventListener();\n this._removeIncrementButtonSlotListener();\n this._removeDecrementButtonSlotListener();\n this._adapter.removeInputDisabledAttributeChangeListener();\n }\n\n private _onIncrementButtonSlotChanged(): void {\n this._addIncrementEventListener();\n }\n\n private _onDecrementButtonSlotChanged(): void {\n this._addDecrementEventListener();\n }\n\n private _addIncrementEventListener(): void {\n this._adapter.addIncrementEventListener('click', this._incrementValue);\n }\n\n private _addDecrementEventListener(): void {\n this._adapter.addDecrementEventListener('click', this._decrementValue);\n }\n\n private _removeIncrementEventListener(): void {\n this._adapter.removeIncrementEventListener('click', this._incrementValue);\n }\n\n private _removeDecrementEventListener(): void {\n this._adapter.removeDecrementEventListener('click', this._decrementValue);\n }\n\n private _removeIncrementButtonSlotListener(): void {\n this._adapter.removeIncrementButtonSlotListener(this._incrementButtonSlotChanged);\n }\n\n private _removeDecrementButtonSlotListener(): void {\n this._adapter.removeDecrementButtonSlotListener(this._decrementButtonSlotChanged);\n }\n\n private _syncDisabledStateOfButtons(): void {\n const isDisabled = this._adapter.inputHasAttribute(QUANTITY_FIELD_CONSTANTS.attributes.DISABLED);\n if (isDisabled) {\n this._adapter.addDecrementButtonAttribute(QUANTITY_FIELD_CONSTANTS.attributes.DISABLED);\n this._adapter.addIncrementButtonAttribute(QUANTITY_FIELD_CONSTANTS.attributes.DISABLED);\n } else {\n this._adapter.removeIncrementButtonAttribute(QUANTITY_FIELD_CONSTANTS.attributes.DISABLED);\n this._adapter.removeDecrementButtonAttribute(QUANTITY_FIELD_CONSTANTS.attributes.DISABLED);\n }\n }\n\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required === value) {\n return;\n }\n\n this._required = value;\n\n if (this._required) {\n this._adapter.setHostAttribute(QUANTITY_FIELD_CONSTANTS.attributes.REQUIRED);\n this._adapter.addRootClass(QUANTITY_FIELD_CONSTANTS.classes.REQUIRED);\n } else {\n this._adapter.removeHostAttribute(QUANTITY_FIELD_CONSTANTS.attributes.REQUIRED);\n this._adapter.removeRootClass(QUANTITY_FIELD_CONSTANTS.classes.REQUIRED);\n }\n\n this._adapter.setLabelAsRequired(this._required);\n }\n\n public get invalid(): boolean {\n return this._invalid;\n }\n public set invalid(value: boolean) {\n if (this._invalid === value) {\n return;\n }\n\n this._invalid = value;\n\n if (this._invalid) {\n this._adapter.setHostAttribute(QUANTITY_FIELD_CONSTANTS.attributes.INVALID);\n this._adapter.addRootClass(QUANTITY_FIELD_CONSTANTS.classes.INVALID);\n this._adapter.addTextFieldAttribute(QUANTITY_FIELD_CONSTANTS.attributes.INVALID);\n } else {\n this._adapter.removeHostAttribute(QUANTITY_FIELD_CONSTANTS.attributes.INVALID);\n this._adapter.removeRootClass(QUANTITY_FIELD_CONSTANTS.classes.INVALID);\n this._adapter.removeTextFieldAttribute(QUANTITY_FIELD_CONSTANTS.attributes.INVALID);\n }\n }\n\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { QuantityFieldAdapter } from './quantity-field-adapter';\nimport { QuantityFieldFoundation } from './quantity-field-foundation';\nimport { QUANTITY_FIELD_CONSTANTS } from './quantity-field-constants';\nimport { IconButtonComponent } from '../icon-button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-quantity-field\\\" part=\\\"root\\\"><slot name=\\\"label\\\"></slot><div class=\\\"forge-quantity-field__row\\\" part=\\\"row\\\"><slot name=\\\"decrement-button\\\"></slot><slot></slot><slot name=\\\"increment-button\\\"></slot></div><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-quantity-field ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}.forge-quantity-field__row{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.forge-quantity-field ::slotted(forge-icon-button:first-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-right:4px}.forge-quantity-field ::slotted(forge-icon-button:last-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-left:4px}.forge-quantity-field ::slotted(forge-text-field){--forge-text-field-margin-top:0;--forge-text-field-margin-bottom:0}.forge-quantity-field--required ::slotted([slot=label])::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\\\"*\\\";margin-right:1px}.forge-quantity-field--invalid ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}:host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IQuantityFieldComponent extends IBaseComponent {\n invalid: boolean;\n required: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-quantity-field': IQuantityFieldComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-quantity-field>` custom element.\n * \n * @tag forge-quantity-field\n */\n@CustomElement({\n name: QUANTITY_FIELD_CONSTANTS.elementName,\n dependencies: [\n IconButtonComponent\n ]\n})\nexport class QuantityFieldComponent extends BaseComponent implements IQuantityFieldComponent {\n public static get observedAttributes(): string[] {\n return [\n QUANTITY_FIELD_CONSTANTS.attributes.INVALID,\n QUANTITY_FIELD_CONSTANTS.attributes.REQUIRED\n ];\n }\n\n private _foundation: QuantityFieldFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new QuantityFieldFoundation(new QuantityFieldAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this._requiredElementsPresent()) {\n this._foundation.connect();\n } else {\n this._ensureElementsPresent().then(() => {\n this._foundation.connect();\n });\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case QUANTITY_FIELD_CONSTANTS.attributes.INVALID:\n this.invalid = coerceBoolean(newValue);\n break;\n case QUANTITY_FIELD_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n break;\n }\n }\n\n private _ensureElementsPresent(): Promise<void> {\n return new Promise<void>(resolve => {\n if (this._requiredElementsPresent()) {\n resolve();\n return;\n }\n\n const observer = new MutationObserver(changes => {\n const hasAddedNodes = changes.reduce((prev, curr) => prev + curr.addedNodes.length, 0) > 0;\n if (hasAddedNodes) {\n if (this._requiredElementsPresent()) {\n observer.disconnect();\n resolve();\n }\n }\n });\n observer.observe(this, { childList: true, subtree: true });\n });\n }\n\n private _requiredElementsPresent(): boolean {\n const inputElement = this.querySelector(QUANTITY_FIELD_CONSTANTS.selectors.INPUT);\n const decrementElement = this.querySelector(QUANTITY_FIELD_CONSTANTS.selectors.DECREMENT_BUTTON);\n const incrementElement = this.querySelector(QUANTITY_FIELD_CONSTANTS.selectors.INCREMENT_BUTTON);\n return !!inputElement && !!decrementElement && !!incrementElement;\n }\n\n /** Gets/sets the invalid state. */\n @FoundationProperty()\n public invalid: boolean;\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n @FoundationProperty()\n public required: boolean;\n}\n", "import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';\nimport { IconButtonComponentDelegate } from '../icon-button';\nimport { ITextFieldComponentDelegateConfig, TextFieldComponentDelegate } from '../text-field/text-field-component-delegate';\nimport { IQuantityFieldComponent } from './quantity-field';\nimport { QUANTITY_FIELD_CONSTANTS } from './quantity-field-constants';\nimport { tylIconRemoveCircleOutline, tylIconControlPoint } from '@tylertech/tyler-icons/standard';\nimport { IconRegistry } from '../icon';\n\nexport type QuantityFieldComponentDelegateProps = Partial<IQuantityFieldComponent>;\nexport interface IQuantityFieldComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n id?: string;\n label?: string;\n value?: string;\n step?: string;\n helperText?: string;\n textFieldDelegateConfig?: ITextFieldComponentDelegateConfig;\n}\nexport interface IQuantityFieldComponentDelegateConfig extends IBaseComponentDelegateConfig<IQuantityFieldComponent, IQuantityFieldComponentDelegateOptions> {}\n\nexport class QuantityFieldComponentDelegate extends FormFieldComponentDelegate<IQuantityFieldComponent, IQuantityFieldComponentDelegateOptions> {\n private _textFieldDelegate: TextFieldComponentDelegate;\n private _labelElement: HTMLLabelElement | undefined;\n private _helperTextElement: HTMLSpanElement | undefined;\n\n constructor(config?: IQuantityFieldComponentDelegateConfig) {\n super(config);\n IconRegistry.define([tylIconRemoveCircleOutline, tylIconControlPoint]);\n }\n\n protected _build(): IQuantityFieldComponent {\n const quantityField = document.createElement(QUANTITY_FIELD_CONSTANTS.elementName);\n this._attachButton(quantityField, tylIconRemoveCircleOutline.name, 'decrement-button');\n this._attachTextField(quantityField);\n this._attachButton(quantityField, tylIconControlPoint.name, 'increment-button');\n return quantityField;\n }\n\n protected override _configure(): void {\n this.inputElement.value = this._config.options?.value ?? '0';\n this.inputElement.style.textAlign = 'center';\n this.inputElement.style.width = '64px';\n\n if (this._config.options?.helperText) {\n this.setHelperText(this._config.options.helperText);\n }\n if (typeof this._config.options?.label === 'string') {\n this._createLabel(this._config.options.label);\n }\n if (this._config.options?.step !== undefined) {\n this.inputElement.step = this._config.options.step;\n }\n }\n\n public get value(): string {\n return this._textFieldDelegate.inputElement.value;\n }\n public set value(value: string) {\n this._textFieldDelegate.inputElement.value = value;\n }\n\n public get disabled(): boolean {\n return this._textFieldDelegate.inputElement.disabled;\n }\n public set disabled(value: boolean) {\n this._textFieldDelegate.inputElement.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._element.invalid || false;\n }\n public set invalid(value: boolean) {\n this._element.invalid = value;\n }\n\n public get inputElement(): HTMLInputElement {\n return this._textFieldDelegate.inputElement;\n }\n\n public get labelElement(): HTMLLabelElement | undefined {\n return this._labelElement;\n }\n\n public onChange(listener: (value: string) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('input', evt => listener((evt.target as HTMLInputElement).value));\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('blur', evt => listener(evt));\n }\n\n private _attachTextField(quantityField: IQuantityFieldComponent): void {\n const textFieldConfig: ITextFieldComponentDelegateConfig = {\n props: { ...this._config.options?.textFieldDelegateConfig?.props },\n options: {\n ...this._config.options?.textFieldDelegateConfig?.options,\n id: this._config.options?.id,\n type: 'number'\n }\n };\n this._textFieldDelegate = new TextFieldComponentDelegate(textFieldConfig);\n quantityField.appendChild(this._textFieldDelegate.element);\n }\n\n public setLabel(text: string | null): void {\n if (text) {\n if (this._labelElement) {\n this._labelElement.textContent = text;\n } else {\n this._createLabel(text);\n }\n } else if (this._labelElement) {\n this._element.removeChild(this._labelElement);\n this._labelElement = undefined;\n }\n }\n\n public setHelperText(text: string | null): void {\n if (text) {\n if (!this._helperTextElement) {\n this._helperTextElement = document.createElement('span');\n this._helperTextElement.slot = 'helper-text';\n this._element.appendChild(this._helperTextElement);\n }\n this._helperTextElement.textContent = text;\n } else if (this._helperTextElement) {\n this._element.removeChild(this._helperTextElement);\n this._helperTextElement = undefined;\n }\n }\n\n private _createLabel(text: string): void {\n this._labelElement = document.createElement('label');\n this._labelElement.textContent = text;\n this._labelElement.slot = 'label';\n if (this._config.options?.id) {\n this._labelElement.setAttribute('for', this._config.options.id);\n }\n this._element.appendChild(this._labelElement);\n }\n\n private _attachButton(parent: HTMLElement, iconName: string, slot: string): IconButtonComponentDelegate {\n const iconButtonDelegate = new IconButtonComponentDelegate({\n options: {\n iconName,\n parent,\n attributes: { slot }\n }\n });\n return iconButtonDelegate;\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { QuantityFieldComponent } from './quantity-field';\n\nexport * from './quantity-field-adapter';\nexport * from './quantity-field-constants';\nexport * from './quantity-field-foundation';\nexport * from './quantity-field';\nexport * from './quantity-field-component-delegate';\n\nexport function defineQuantityFieldComponent(): void {\n defineCustomElement(QuantityFieldComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/drawer/modal-drawer/modal-drawer-adapter.ts", "../../src/drawer/modal-drawer/modal-drawer-constants.ts", "../../src/drawer/modal-drawer/modal-drawer-foundation.ts", "../../src/drawer/modal-drawer/modal-drawer.ts", "../../src/drawer/modal-drawer/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { getShadowElement, toggleClass } from '@tylertech/forge-core';\nimport { BACKDROP_CONSTANTS, IBackdropComponent } from '../../backdrop';\nimport { BaseDrawerAdapter, IBaseDrawerAdapter } from '../base';\nimport { IModalDrawerComponent } from './modal-drawer';\n\nexport interface IModalDrawerAdapter extends IBaseDrawerAdapter {\n setBackdropCloseListener(listener: (evt: Event) => void): void;\n setBackdropVisibility(visible: boolean): Promise<void>;\n toggleBackdropClass(hasClass: boolean, className: string): void;\n}\n\nexport class ModalDrawerAdapter extends BaseDrawerAdapter implements IModalDrawerAdapter {\n private _backdropElement: IBackdropComponent;\n\n constructor(protected _component: IModalDrawerComponent) {\n super(_component);\n this._backdropElement = getShadowElement(this._component, BACKDROP_CONSTANTS.elementName) as IBackdropComponent;\n }\n\n public setBackdropCloseListener(listener: (evt: Event) => void): void {\n this._backdropElement.addEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, listener);\n }\n\n public setBackdropVisibility(visible: boolean): Promise<void> {\n if (this._backdropElement.hasAttribute('hidden')) {\n this._backdropElement.removeAttribute('hidden');\n }\n if (!this._backdropElement.fadeIn || !this._backdropElement.fadeOut) {\n return Promise.resolve();\n }\n return visible ? this._backdropElement.fadeIn() : this._backdropElement.fadeOut();\n }\n\n public toggleBackdropClass(hasClass: boolean, className: string): void {\n toggleClass(this._backdropElement, hasClass, className);\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}modal-drawer`;\n\nconst classes = {\n DISPLAY_NONE: 'forge-drawer--display-none',\n SCRIM_CLOSED: 'forge-drawer__scrim--closed'\n};\n\nconst events = {\n CLOSE: `${elementName}-close`\n};\n\nexport const MODAL_DRAWER_CONSTANTS = {\n elementName,\n classes,\n events\n};\n", "import { Platform } from '@tylertech/forge-core';\nimport { BaseDrawerFoundation, IBaseDrawerFoundation } from '../base';\n\nimport { IModalDrawerAdapter } from './modal-drawer-adapter';\nimport { MODAL_DRAWER_CONSTANTS } from './modal-drawer-constants';\n\nexport interface IModalDrawerFoundation extends IBaseDrawerFoundation {}\n\nexport class ModalDrawerFoundation extends BaseDrawerFoundation implements IModalDrawerFoundation {\n protected _open = false;\n private _backdropClickListener: (evt: Event) => void;\n private _isInitialized = false;\n\n constructor(protected _adapter: IModalDrawerAdapter) {\n super(_adapter);\n this._backdropClickListener = evt => this._onBackdropClick(evt);\n }\n\n public connect(): void {\n super.connect();\n this._adapter.setBackdropCloseListener(this._backdropClickListener);\n this._setBackdrop(this._open);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n }\n\n protected _setDrawerOpenState(): void {\n super._setDrawerOpenState();\n this._setBackdrop(true);\n }\n\n protected _setDrawerClosedState(): void {\n super._setDrawerClosedState();\n this._setBackdrop(false);\n }\n\n private _onBackdropClick(evt: Event): void {\n const canClose = this._adapter.emitHostEvent(MODAL_DRAWER_CONSTANTS.events.CLOSE, undefined, true, true);\n if (canClose) {\n this.open = false;\n }\n }\n\n private _setBackdrop(open: boolean): void {\n if (open) {\n this._adapter.toggleBackdropClass(false, MODAL_DRAWER_CONSTANTS.classes.SCRIM_CLOSED);\n this._adapter.setBackdropVisibility(true);\n } else if (this._isInitialized) {\n this._adapter.setBackdropVisibility(false).then(() => {\n if (!this._open) {\n this._adapter.toggleBackdropClass(true, MODAL_DRAWER_CONSTANTS.classes.SCRIM_CLOSED);\n }\n });\n }\n }\n}\n", "import { attachShadowTemplate, CustomElement } from '@tylertech/forge-core';\nimport { BackdropComponent } from '../../backdrop';\nimport { BaseDrawerComponent, IBaseDrawerComponent } from '../base';\nimport { ModalDrawerAdapter } from './modal-drawer-adapter';\nimport { MODAL_DRAWER_CONSTANTS } from './modal-drawer-constants';\nimport { ModalDrawerFoundation } from './modal-drawer-foundation';\n\nconst template = '<template><forge-backdrop class=\\\"forge-drawer__scrim\\\" hidden part=\\\"scrim\\\"></forge-backdrop><div class=\\\"forge-drawer forge-drawer--modal\\\" part=\\\"root\\\"><slot name=\\\"header\\\"></slot><div class=\\\"forge-drawer__content\\\" part=\\\"content\\\"><slot></slot></div><slot name=\\\"footer\\\"></slot></div></template>';\nconst styles = '.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:\\\"touch\\\";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-drawer__content::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-drawer__content::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}.forge-drawer--modal{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);z-index:8;z-index:var(--forge-z-index-dialog,8);position:absolute;top:0;max-width:80%}.forge-drawer--modal+.mdc-drawer-scrim{background-color:rgba(0,0,0,.32)}.forge-drawer--modal.forge-drawer--closed,.forge-drawer--modal.forge-drawer--closing{-webkit-box-shadow:none;box-shadow:none}.forge-drawer--modal.forge-drawer--closing.forge-drawer--right{-webkit-transform:translateX(100%);transform:translateX(100%)}.forge-drawer__scrim{z-index:8;z-index:var(--forge-z-index-dialog,8)}.forge-drawer__scrim--closed{display:none}.forge-drawer.forge-drawer--right{right:0}.forge-drawer--display-none{display:none!important}';\n\nexport interface IModalDrawerComponent extends IBaseDrawerComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-modal-drawer': IModalDrawerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-modal-drawer-close': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-modal-drawer>` custom element.\n * \n * @tag forge-modal-drawer\n */\n@CustomElement({\n name: MODAL_DRAWER_CONSTANTS.elementName,\n dependencies: [BackdropComponent]\n})\nexport class ModalDrawerComponent extends BaseDrawerComponent<ModalDrawerFoundation> implements IModalDrawerComponent {\n protected _foundation: ModalDrawerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ModalDrawerFoundation(new ModalDrawerAdapter(this));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { ModalDrawerComponent } from './modal-drawer';\n\nexport * from './modal-drawer-adapter';\nexport * from './modal-drawer-constants';\nexport * from './modal-drawer-foundation';\nexport * from './modal-drawer';\n\nexport function defineModalDrawerComponent(): void {\n defineCustomElement(ModalDrawerComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/field/field-adapter.ts", "../../src/field/field-foundation.ts", "../../src/field/field.ts"],
|
|
4
|
-
"sourcesContent": ["import { addClass, calculateFontWidth, getShadowElement, IFontInfo, listenOwnProperty, Platform, removeClass, getActiveElement, createElementAttributeObserver, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { FloatingLabel, IFloatingLabel } from '../floating-label/floating-label';\nimport { IFieldComponent } from './field';\nimport { FIELD_CONSTANTS } from './field-constants';\n\nexport interface IFieldAdapter extends IBaseAdapter {\n // root\n setRootClass(classes: string | string[]): void;\n removeRootClass(classes: string | string[]): void;\n\n // input\n addInputListener(type: string, listener: (evt: Event) => void): void;\n removeInputListener(type: string, listener: (evt: Event) => void): void;\n setInputClass(className: string): void;\n removeInputClass(className: string): void;\n\n // label\n addLabelSlotListener(listener: (evt: Event) => void): void;\n removeLabelSlotListener(listener: (evt: Event) => void): void;\n setLabelClass(name: string): void;\n removeLabelClass(name: string): void;\n\n // leading\n addLeadingSlotListener(listener: (evt: Event) => void): void;\n removeLeadingSlotListener(listener: (evt: Event) => void): void;\n\n // trailing\n addTrailingSlotListener(listener: (evt: Event) => void): void;\n removeTrailingSlotListener(listener: (evt: Event) => void): void;\n\n // add on end\n addAddonEndSlotListener(listener: (evt: Event) => void): void;\n removeAddonEndSlotListener(listener: (evt: Event) => void): void;\n\n // state selectors\n hasAddonEndNodes(): boolean;\n hasLabel(): boolean;\n hasLeadingNodes(): boolean;\n hasPlaceholder(): boolean;\n hasTrailingNodes(): boolean;\n inputHasFocus(): boolean;\n inputHasValue(): boolean;\n fieldHasValue(): boolean;\n isDisabled(): boolean;\n isReadonly(): boolean;\n getLabelFontMetrics(): IFontInfo;\n getLabelWidth(fontSize: number, fontFamily: string): number;\n\n // state actions\n initialize(required: boolean, rootSelector: string): void;\n initializeFloatingLabel(): IFloatingLabel;\n ensureLabelOrder(): void;\n ensureSlottedLabel(): void;\n destroy(): void;\n setValueChangedListener(context: any, listener: (value: any) => void): void;\n destroyValueChangeListener(): void;\n detectLabel(required: boolean): void;\n setRoomy(isRoomy: boolean): void;\n setDense(isDense: boolean): void;\n setInputAttributeObserver(listener: (name: string, value: string | null) => void): void;\n}\n\nexport class FieldAdapter extends BaseAdapter<IFieldComponent> implements IFieldAdapter {\n protected _rootElement: HTMLElement;\n protected _labelSlot: HTMLSlotElement;\n protected _leadingSlot: HTMLSlotElement;\n protected _trailingSlot: HTMLSlotElement;\n protected _addonEndSlot: HTMLSlotElement;\n protected _labelElement: HTMLLabelElement;\n protected _inputElement: HTMLInputElement;\n protected _inputMutationObserver: MutationObserver;\n protected _valueChangeListeners: Array<() => void> = [];\n\n constructor(component: IFieldComponent) {\n super(component);\n }\n\n public initialize(required: boolean, rootSelector: string): void {\n this._rootElement = getShadowElement(this._component, rootSelector);\n this._labelSlot = getShadowElement(this._component, 'slot[name=label]') as HTMLSlotElement;\n this._leadingSlot = getShadowElement(this._component, 'slot[name=leading]') as HTMLSlotElement;\n this._trailingSlot = getShadowElement(this._component, 'slot[name=trailing]') as HTMLSlotElement;\n this._addonEndSlot = getShadowElement(this._component, 'slot[name=addon-end]') as HTMLSlotElement;\n this._inputElement = this._component.querySelector('input:not([type=checkbox]):not([type=radio])') as HTMLInputElement;\n this.detectLabel(required);\n }\n\n public destroy(): void {\n if (this._inputMutationObserver) {\n this._inputMutationObserver.disconnect();\n }\n }\n\n public hasLabel(): boolean {\n return !!this._labelElement;\n }\n\n public ensureSlottedLabel(): void {\n this._labelElement.slot = 'label';\n }\n\n public ensureLabelOrder(): void {\n if (this._labelElement) {\n const children = Array.from(this._component.children);\n if (children.length > 1 && children.indexOf(this._labelElement) < children.indexOf(this._inputElement)) {\n this._component.appendChild(this._labelElement);\n }\n }\n }\n\n public addLabelSlotListener(listener: (evt: Event) => void): void {\n this._labelSlot.addEventListener('slotchange', listener);\n }\n\n public removeLabelSlotListener(listener: (evt: Event) => void): void {\n if (this._labelSlot) {\n this._labelSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addLeadingSlotListener(listener: (evt: Event) => void): void {\n this._leadingSlot.addEventListener('slotchange', listener);\n }\n\n public removeLeadingSlotListener(listener: (evt: Event) => void): void {\n if (this._leadingSlot) {\n this._leadingSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addTrailingSlotListener(listener: (evt: Event) => void): void {\n this._trailingSlot.addEventListener('slotchange', listener);\n }\n\n public removeTrailingSlotListener(listener: (evt: Event) => void): void {\n if (this._trailingSlot) {\n this._trailingSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addAddonEndSlotListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.addEventListener('slotchange', listener);\n }\n\n public removeAddonEndSlotListener(listener: (evt: Event) => void): void {\n if (this._addonEndSlot) {\n this._addonEndSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addInputListener(type: string, listener: (evt: Event) => void): void {\n this._inputElement.addEventListener(type, listener);\n }\n public removeInputListener(type: string, listener: (evt: Event) => void): void {\n if (this._inputElement) {\n this._inputElement.removeEventListener(type, listener);\n }\n }\n\n public setValueChangedListener(context: any, listener: (value: any) => void): void {\n this.destroyValueChangeListener();\n const destroyListener = listenOwnProperty(context, this._inputElement, 'value', listener);\n this._valueChangeListeners.push(destroyListener);\n }\n\n public destroyValueChangeListener(): void {\n this._valueChangeListeners.forEach(cb => cb());\n }\n\n public detectLabel(required: boolean): void {\n this._labelElement = this._component.querySelector('label') as HTMLLabelElement;\n\n // Due to a Safari bug with ::slotted::after selectors, we need to manually append the required 'asterisk' to the label text\n // https://bugs.webkit.org/show_bug.cgi?id=178237\n if (required && Platform.WEBKIT && this._labelElement && !this._labelElement.innerText.endsWith('*')) {\n const asterisk = document.createElement('span');\n asterisk.style.color = 'var(--mdc-theme-error)';\n asterisk.style.marginLeft = '1px';\n asterisk.textContent = '*';\n this._labelElement.appendChild(asterisk);\n }\n }\n\n public initializeFloatingLabel(): IFloatingLabel {\n return new FloatingLabel(this._labelElement);\n }\n\n public inputHasValue(): boolean {\n return this._inputElement.value ? this._inputElement.value.trim().length > 0 : false;\n }\n\n // An overrideable method for more generic field values where input.value is not the value.\n public fieldHasValue(): boolean {\n return this.inputHasValue();\n }\n\n public hasPlaceholder(): boolean {\n return this._inputElement.placeholder ? this._inputElement.placeholder.trim().length > 0 : false;\n }\n\n public inputHasFocus(): boolean {\n return this._inputElement === getActiveElement();\n }\n\n public setLabelClass(name: string): void {\n if (this._labelElement) {\n this._labelElement.classList.add(name);\n }\n }\n\n public removeLabelClass(name: string): void {\n if (this._labelElement) {\n this._labelElement.classList.remove(name);\n }\n }\n\n public setRoomy(isRoomy: boolean): void {\n toggleClass(this._rootElement, isRoomy, FIELD_CONSTANTS.classes.ROOMY);\n }\n\n public setDense(isDense: boolean): void {\n toggleClass(this._rootElement, isDense, FIELD_CONSTANTS.classes.DENSE);\n }\n\n public hasLeadingNodes(): boolean {\n if (!this._leadingSlot) {\n return false;\n }\n return this._leadingSlot.assignedNodes().length > 0;\n }\n\n public hasTrailingNodes(): boolean {\n if (!this._trailingSlot) {\n return false;\n }\n return this._trailingSlot.assignedNodes().length > 0;\n }\n\n public hasAddonEndNodes(): boolean {\n if (!this._addonEndSlot) {\n return false;\n }\n return this._addonEndSlot.assignedNodes().length > 0;\n }\n\n public setInputClass(className: string): void {\n this._inputElement.classList.add(className);\n }\n\n public removeInputClass(className: string): void {\n this._inputElement.classList.remove(className);\n }\n\n public setRootClass(classes: string | string[]): void {\n addClass(classes, this._rootElement);\n }\n\n public removeRootClass(classes: string | string[]): void {\n removeClass(classes, this._rootElement);\n }\n\n public setInputAttributeObserver(listener: (name: string, value: string | null) => void): void {\n this._inputMutationObserver = createElementAttributeObserver(this._inputElement, listener, FIELD_CONSTANTS.observedInputAttributes);\n }\n\n public isDisabled(): boolean {\n return this._inputElement.hasAttribute('disabled');\n }\n\n public isReadonly(): boolean {\n return this._inputElement.hasAttribute('readonly');\n }\n\n public getLabelWidth(fontSize: number, fontFamily: string): number {\n return calculateFontWidth(this._labelElement.innerText, { fontSize, fontFamily });\n }\n\n public getLabelFontMetrics(): IFontInfo {\n const style = getComputedStyle(this._labelElement);\n return {\n fontSize: parseInt(style.fontSize || '16', 10),\n fontFamily: style.fontFamily || 'Roboto'\n };\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IFloatingLabel } from '../floating-label/floating-label';\nimport { IFieldAdapter } from './field-adapter';\nimport { FIELD_CONSTANTS, FieldFloatLabelType, FieldShapeType, FieldDensityType } from './field-constants';\n\nexport interface IFieldFoundation extends ICustomElementFoundation {\n density: FieldDensityType;\n floatLabelType: FieldFloatLabelType;\n shape: FieldShapeType;\n invalid: boolean;\n required: boolean;\n floatLabel(value: boolean, alwaysFloat?: boolean): void;\n}\n\nexport class FieldFoundation {\n protected _density: FieldDensityType = 'default';\n protected _floatingLabel: IFloatingLabel | undefined;\n protected _shape: FieldShapeType = 'default';\n protected _invalid = false;\n protected _required = false;\n protected _floatLabelType: FieldFloatLabelType = 'auto';\n protected _isInitialized = false;\n protected _labelSlotListener: (evt: Event) => void;\n protected _leadingSlotListener: (evt: Event) => void;\n protected _trailingSlotListener: (evt: Event) => void;\n protected _addonEndSlotListener: (evt: Event) => void;\n protected _focusListener: (evt: Event) => void;\n protected _blurListener: (evt: Event) => void;\n protected _valueChangedListener: (value: any) => void;\n protected _inputAttributeChangedListener: (name: string, value: string) => void;\n\n constructor(protected _adapter: IFieldAdapter) {\n this._labelSlotListener = evt => this._onLabelSlotChanged(evt);\n this._leadingSlotListener = evt => this._onLeadingSlotChanged(evt);\n this._trailingSlotListener = evt => this._onTrailingSlotChanged(evt);\n this._addonEndSlotListener = evt => this._onAddonEndSlotChanged(evt);\n this._focusListener = (evt: Event) => this._onFocus(evt);\n this._blurListener = (evt: Event) => this._onBlur(evt);\n this._valueChangedListener = (value: any) => this._onValueChanged(value);\n this._inputAttributeChangedListener = (name, value) => this._onInputAttributeChanged(name, value);\n }\n\n //\n // Public\n //\n\n public initialize(): void {\n this._adapter.initialize(this._required, '');\n\n if (this._adapter.hasLabel()) {\n this._adapter.ensureSlottedLabel();\n }\n\n this._initializeLabel();\n\n if (this._adapter.hasPlaceholder()) {\n this._floatLabelType = 'always';\n }\n\n this._detectSlottedContent();\n this._adapter.addLabelSlotListener(this._labelSlotListener);\n this._adapter.addLeadingSlotListener(this._leadingSlotListener);\n this._adapter.addTrailingSlotListener(this._trailingSlotListener);\n this._adapter.addAddonEndSlotListener(this._addonEndSlotListener);\n this._adapter.setValueChangedListener(this, this._valueChangedListener);\n this._adapter.addInputListener('focus', this._focusListener);\n this._adapter.addInputListener('blur', this._blurListener);\n this._adapter.setInputAttributeObserver(this._inputAttributeChangedListener);\n this._applyDensity();\n this._setShapeType();\n this._setValidity();\n\n if (this._adapter.isDisabled()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.DISABLED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.DISABLED);\n }\n\n if (this._adapter.isReadonly()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.READONLY);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.READONLY);\n }\n\n if (this._floatLabelType === 'always') {\n this.floatLabel(true);\n }\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n this._adapter.destroy();\n\n if (this._floatingLabel) {\n this._floatingLabel.destroy();\n this._floatingLabel = undefined;\n }\n\n this._adapter.removeLabelSlotListener(this._labelSlotListener);\n this._adapter.removeLeadingSlotListener(this._leadingSlotListener);\n this._adapter.removeTrailingSlotListener(this._trailingSlotListener);\n this._adapter.removeAddonEndSlotListener(this._addonEndSlotListener);\n this._adapter.removeInputListener('focus', this._focusListener);\n this._adapter.removeInputListener('blur', this._blurListener);\n this._adapter.destroyValueChangeListener();\n }\n\n public get density(): FieldDensityType {\n return this._density;\n }\n public set density(value: FieldDensityType) {\n if (this._density !== value) {\n this._density = value;\n\n if (this._isInitialized) {\n this._applyDensity();\n this._initializeLabel();\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.DENSITY, this._density.toString());\n }\n }\n\n public get floatLabelType(): FieldFloatLabelType {\n return this._floatLabelType;\n }\n public set floatLabelType(value: FieldFloatLabelType) {\n if (this._floatLabelType !== value) {\n this._floatLabelType = value;\n\n if (this._isInitialized) {\n this.floatLabel(this._floatLabelType === 'always');\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE, this._floatLabelType);\n }\n }\n\n public get shape(): FieldShapeType {\n return this._shape;\n }\n public set shape(value: FieldShapeType) {\n if (this._shape !== value) {\n this._shape = value;\n\n if (this._isInitialized) {\n this._setShapeType();\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SHAPE, this._shape);\n }\n }\n\n public get invalid(): boolean {\n return this._invalid;\n }\n public set invalid(value: boolean) {\n if (this._invalid !== value) {\n this._invalid = value;\n\n if (this._isInitialized) {\n this._setValidity();\n }\n }\n }\n\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n\n if (this._isInitialized) {\n this._setValidity();\n }\n\n if (this._required) {\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED);\n } else {\n this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED);\n }\n }\n }\n\n public floatLabel(value: boolean): void {\n if (this._floatingLabel?.isFloating === value) {\n return;\n }\n\n if (!value && this._floatLabelType === 'always') {\n if (this._floatingLabel) {\n this._floatingLabel.float(true, true);\n }\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING, '');\n return;\n }\n\n if (this._floatingLabel) {\n this._floatingLabel.float(value, this._floatLabelType === 'always');\n\n if (value) {\n this._adapter.setInputClass(FIELD_CONSTANTS.classes.INPUT_FOCUSED);\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING, '');\n } else {\n this._adapter.removeInputClass(FIELD_CONSTANTS.classes.INPUT_FOCUSED);\n this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);\n }\n }\n }\n\n //\n // Protected\n //\n\n protected _onLabelSlotChanged(evt: Event): void {\n this._initializeLabel();\n }\n\n protected _onLeadingSlotChanged(evt: Event): void {\n this._detectLeadingContent();\n }\n\n protected _onTrailingSlotChanged(evt: Event): void {\n this._detectTrailingContent();\n }\n\n protected _onAddonEndSlotChanged(evt: Event): void {\n this._detectAddonEndContent();\n }\n\n protected _initializeLabel(): void {\n if (this._floatingLabel) {\n this._floatingLabel.destroy();\n }\n this._adapter.detectLabel(this._required);\n if (this._adapter.hasLabel() && this._density !== 'dense') {\n this._floatingLabel = this._adapter.initializeFloatingLabel();\n this._adapter.ensureLabelOrder();\n this.floatLabel(this._floatLabelType === 'always' || this._adapter.fieldHasValue() || this._adapter.hasPlaceholder());\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.LABEL);\n } else {\n this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LABEL);\n this._floatingLabel = undefined;\n }\n }\n\n protected _detectLeadingContent(): void {\n if (this._adapter.hasLeadingNodes()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.LEADING);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LEADING);\n }\n }\n\n protected _detectTrailingContent(): void {\n if (this._adapter.hasTrailingNodes()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.TRAILING);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.TRAILING);\n }\n }\n\n protected _detectAddonEndContent(): void {\n if (this._adapter.hasAddonEndNodes()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n }\n }\n\n protected _detectSlottedContent(): void {\n this._detectLeadingContent();\n this._detectTrailingContent();\n this._detectAddonEndContent();\n }\n\n protected _onFocus(event: Event): void {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._adapter.setLabelClass(FIELD_CONSTANTS.classes.LABEL_FOCUSED);\n this.floatLabel(true);\n }\n\n protected _onBlur(event: Event): void {\n if (this._adapter.inputHasFocus()) {\n return;\n }\n\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._adapter.removeLabelClass(FIELD_CONSTANTS.classes.LABEL_FOCUSED);\n\n if (!this._adapter.fieldHasValue() && !this._adapter.hasPlaceholder()) {\n this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);\n this.floatLabel(false);\n }\n }\n\n protected _onValueChanged(value: any): void {\n if (this._adapter.fieldHasValue()) {\n this.floatLabel(true);\n } else if (!this._adapter.inputHasFocus() && !this._adapter.hasPlaceholder()) {\n this.floatLabel(false);\n }\n }\n\n protected _onInputAttributeChanged(name: string, value: string | null): void {\n if (this._adapter.isDisabled()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.DISABLED);\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._adapter.removeInputClass(FIELD_CONSTANTS.classes.INPUT_FOCUSED);\n this._adapter.removeLabelClass(FIELD_CONSTANTS.classes.LABEL_FOCUSED);\n\n if (!this._adapter.fieldHasValue() && !this._adapter.hasPlaceholder() && this._floatingLabel) {\n this.floatLabel(false);\n }\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.DISABLED);\n }\n\n if (this._adapter.isReadonly()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.READONLY);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.READONLY);\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._adapter.removeInputClass(FIELD_CONSTANTS.classes.INPUT_FOCUSED);\n }\n\n switch (name) {\n case 'readonly':\n case 'disabled':\n // If we are changing the readonly or disabled attribute, we want to make sure that we apply\n // the focus state properly if the input element also now has focus\n if (this._adapter.inputHasFocus()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._adapter.setInputClass(FIELD_CONSTANTS.classes.INPUT_FOCUSED);\n this._adapter.setLabelClass(FIELD_CONSTANTS.classes.LABEL_FOCUSED);\n }\n break;\n case 'value':\n if (this._floatingLabel) {\n this.floatLabel(this._adapter.fieldHasValue());\n }\n break;\n case 'placeholder':\n if (this._floatingLabel) {\n const float = (!!value && !!value.trim()) || this._adapter.fieldHasValue();\n if (float !== this._floatingLabel.isFloating) {\n this.floatLabel(float);\n }\n }\n break;\n }\n }\n\n protected _setShapeType(): void {\n if (this._shape === 'rounded') {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n }\n }\n\n protected _setValidity(): void {\n if (this._invalid) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.INVALID);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.INVALID);\n }\n\n if (this._required) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.REQUIRED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.REQUIRED);\n }\n }\n\n protected _applyDensity(): void {\n this._adapter.setRoomy(this._density === 'roomy');\n this._adapter.setDense(this._density === 'dense');\n }\n}\n", "import { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from './field-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { FieldFoundation } from './field-foundation';\nimport { coerceBoolean, ensureChildren, FoundationProperty } from '@tylertech/forge-core';\n\nexport interface IFieldComponent extends IBaseComponent {\n density: FieldDensityType;\n floatLabelType: FieldFloatLabelType;\n shape: FieldShapeType;\n invalid: boolean;\n required: boolean;\n floatLabel(value: boolean): void;\n}\n\nexport abstract class FieldComponent<T extends FieldFoundation> extends BaseComponent implements IFieldComponent {\n public static get observedAttributes(): string[] {\n return [\n FIELD_CONSTANTS.attributes.DENSITY,\n FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE,\n FIELD_CONSTANTS.attributes.SHAPE,\n FIELD_CONSTANTS.attributes.INVALID,\n FIELD_CONSTANTS.attributes.REQUIRED\n ];\n }\n\n protected _foundation: T;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n if (this.children.length) {\n this._initialize();\n } else {\n ensureChildren(this).then(() => this._initialize());\n }\n }\n\n private _initialize(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FIELD_CONSTANTS.attributes.DENSITY:\n this.density = newValue as FieldDensityType;\n break;\n case FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE:\n this.floatLabelType = newValue as FieldFloatLabelType;\n break;\n case FIELD_CONSTANTS.attributes.SHAPE:\n this.shape = newValue as FieldShapeType;\n break;\n case FIELD_CONSTANTS.attributes.INVALID:\n this.invalid = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls the density type. */\n @FoundationProperty()\n public density: FieldDensityType;\n\n /** Whether the label should always float, never float or float as the user types. */\n @FoundationProperty()\n public floatLabelType: FieldFloatLabelType;\n\n /** The shape type to use. */\n @FoundationProperty()\n public shape: FieldShapeType;\n\n /** Gets/sets the invalid state. */\n @FoundationProperty()\n public invalid: boolean;\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n @FoundationProperty()\n public required: boolean;\n\n /**\n * Controls whether the label should be floating or not.\n * @param {boolean} value\n */\n public floatLabel(value: boolean): void {\n this._foundation.floatLabel(value);\n }\n}\n\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|