@paperless/core 2.2.12 → 2.2.14
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/CHANGELOG.md +24 -0
- package/dist/build/index.esm.js +1 -1
- package/dist/build/index.esm.js.map +1 -1
- package/dist/build/p-116fe39b.entry.js +2 -0
- package/dist/{paperless/p-6b4e7631.entry.js.map → build/p-116fe39b.entry.js.map} +1 -1
- package/dist/build/{p-fe3e8997.js → p-1bfbc653.js} +1 -1
- package/dist/build/p-3d174b05.entry.js +2 -0
- package/dist/build/{p-699db32c.entry.js.map → p-3d174b05.entry.js.map} +1 -1
- package/dist/build/p-54428a6a.entry.js +2 -0
- package/dist/build/p-54428a6a.entry.js.map +1 -0
- package/dist/build/{p-a7ea8b65.entry.js → p-586ca05c.entry.js} +2 -2
- package/dist/build/p-586ca05c.entry.js.map +1 -0
- package/dist/build/p-720963cf.entry.js +2 -0
- package/dist/{paperless/p-6916ad9d.entry.js.map → build/p-720963cf.entry.js.map} +1 -1
- package/dist/build/{p-af3ffe40.entry.js → p-85402959.entry.js} +2 -2
- package/dist/{paperless/p-af3ffe40.entry.js.map → build/p-85402959.entry.js.map} +1 -1
- package/dist/{paperless/p-d620c128.entry.js → build/p-8fc3da2f.entry.js} +2 -2
- package/dist/{paperless/p-d620c128.entry.js.map → build/p-8fc3da2f.entry.js.map} +1 -1
- package/dist/build/p-96be5968.entry.js +2 -0
- package/dist/build/{p-23169a44.entry.js.map → p-96be5968.entry.js.map} +1 -1
- package/dist/build/p-attachment.entry.esm.js.map +1 -1
- package/dist/build/p-avatar.entry.esm.js.map +1 -1
- package/dist/build/p-b334b27d.entry.js +2 -0
- package/dist/build/p-b334b27d.entry.js.map +1 -0
- package/dist/build/p-b588b2ca.entry.js +2 -0
- package/dist/build/{p-978e217e.entry.js.map → p-b588b2ca.entry.js.map} +1 -1
- package/dist/build/p-button.p-icon.p-loader.entry.esm.js.map +1 -1
- package/dist/build/p-card-container.entry.esm.js.map +1 -1
- package/dist/build/p-checkbox.p-dropdown.p-dropdown-menu-container.p-dropdown-menu-item.entry.esm.js.map +1 -1
- package/dist/build/p-content-slider.entry.esm.js.map +1 -1
- package/dist/build/p-e74def55.entry.js +2 -0
- package/dist/build/p-e74def55.entry.js.map +1 -0
- package/dist/build/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.esm.js.map +1 -1
- package/dist/build/p-f866e7de.entry.js +2 -0
- package/dist/{paperless/p-7682e7f2.entry.js.map → build/p-f866e7de.entry.js.map} +1 -1
- package/dist/build/p-field.p-field-container.entry.esm.js.map +1 -1
- package/dist/build/p-helper.p-tooltip.entry.esm.js.map +1 -1
- package/dist/build/p-navigation-item.entry.esm.js.map +1 -1
- package/dist/build/p-select.entry.esm.js.map +1 -1
- package/dist/build/p-stepper-item.p-stepper-line.entry.esm.js.map +1 -1
- package/dist/build/paperless.esm.js +1 -1
- package/dist/cjs/index.cjs.js +1 -42
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/p-attachment.cjs.entry.js +1 -1
- package/dist/cjs/p-attachment.cjs.entry.js.map +1 -1
- package/dist/cjs/p-attachment.entry.cjs.js.map +1 -1
- package/dist/cjs/p-avatar.cjs.entry.js +3 -3
- package/dist/cjs/p-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/p-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/p-button.p-icon.p-loader.entry.cjs.js.map +1 -1
- package/dist/cjs/p-button_3.cjs.entry.js +1 -1
- package/dist/cjs/p-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/p-card-container.cjs.entry.js +1 -1
- package/dist/cjs/p-card-container.cjs.entry.js.map +1 -1
- package/dist/cjs/p-card-container.entry.cjs.js.map +1 -1
- package/dist/cjs/p-checkbox.p-dropdown.p-dropdown-menu-container.p-dropdown-menu-item.entry.cjs.js.map +1 -1
- package/dist/cjs/p-checkbox_4.cjs.entry.js +1 -1
- package/dist/cjs/p-checkbox_4.cjs.entry.js.map +1 -1
- package/dist/cjs/p-content-slider.cjs.entry.js +3 -3
- package/dist/cjs/p-content-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/p-content-slider.entry.cjs.js.map +1 -1
- package/dist/cjs/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.cjs.js.map +1 -1
- package/dist/cjs/p-empty-state_8.cjs.entry.js +2 -2
- package/dist/cjs/p-empty-state_8.cjs.entry.js.map +1 -1
- package/dist/cjs/p-field.p-field-container.entry.cjs.js.map +1 -1
- package/dist/cjs/p-field_2.cjs.entry.js +1 -1
- package/dist/cjs/p-field_2.cjs.entry.js.map +1 -1
- package/dist/cjs/p-helper.p-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/p-helper_2.cjs.entry.js +1 -1
- package/dist/cjs/p-helper_2.cjs.entry.js.map +1 -1
- package/dist/cjs/p-navigation-item.cjs.entry.js +4 -4
- package/dist/cjs/p-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/p-navigation-item.entry.cjs.js.map +1 -1
- package/dist/cjs/p-select.cjs.entry.js +3 -3
- package/dist/cjs/p-select.cjs.entry.js.map +1 -1
- package/dist/cjs/p-select.entry.cjs.js.map +1 -1
- package/dist/cjs/p-stepper-item.p-stepper-line.entry.cjs.js.map +1 -1
- package/dist/cjs/p-stepper-item_2.cjs.entry.js +1 -1
- package/dist/cjs/p-stepper-item_2.cjs.entry.js.map +1 -1
- package/dist/collection/components/atoms/avatar/avatar/avatar.component.css +1 -1
- package/dist/collection/components/atoms/avatar/avatar/avatar.component.js +2 -2
- package/dist/collection/components/atoms/avatar/avatar/avatar.component.js.map +1 -1
- package/dist/collection/components/atoms/card/container/card-container.component.css +1 -1
- package/dist/collection/components/atoms/dropdown-menu/item/dropdown-menu-item.component.css +1 -1
- package/dist/collection/components/atoms/stepper/line/stepper-line.component.css +1 -1
- package/dist/collection/components/atoms/tooltip/tooltip.component.css +1 -1
- package/dist/collection/components/molecules/attachment/attachment.component.css +1 -1
- package/dist/collection/components/molecules/button/button.component.css +1 -1
- package/dist/collection/components/molecules/content-slider/content-slider.component.css +1 -1
- package/dist/collection/components/molecules/content-slider/content-slider.component.js +2 -2
- package/dist/collection/components/molecules/content-slider/content-slider.component.js.map +1 -1
- package/dist/collection/components/molecules/empty-state/empty-state.component.css +1 -1
- package/dist/collection/components/molecules/empty-state/empty-state.component.js +1 -1
- package/dist/collection/components/molecules/empty-state/empty-state.component.js.map +1 -1
- package/dist/collection/components/molecules/field/field/field.component.css +1 -1
- package/dist/collection/components/molecules/navigation/item/navigation-item.component.css +1 -1
- package/dist/collection/components/molecules/navigation/item/navigation-item.component.js +3 -3
- package/dist/collection/components/molecules/navigation/item/navigation-item.component.js.map +1 -1
- package/dist/collection/components/molecules/select/select.component.css +1 -1
- package/dist/collection/components/molecules/select/select.component.js +2 -2
- package/dist/collection/components/molecules/select/select.component.js.map +1 -1
- package/dist/collection/tailwind/theme/colors.js +1 -42
- package/dist/collection/tailwind/theme/colors.js.map +1 -1
- package/dist/components/index.js +1 -42
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-BusAjANB.js → p-8nSHGIIM.js} +3 -3
- package/dist/components/{p-BusAjANB.js.map → p-8nSHGIIM.js.map} +1 -1
- package/dist/components/{p-CgLTJDD-.js → p-BDOjPhMD.js} +7 -7
- package/dist/components/{p-CgLTJDD-.js.map → p-BDOjPhMD.js.map} +1 -1
- package/dist/components/{p-b3rSkcGt.js → p-BKMU86hK.js} +3 -3
- package/dist/components/{p-b3rSkcGt.js.map → p-BKMU86hK.js.map} +1 -1
- package/dist/components/{p-HV-e66iQ.js → p-C72s8DWi.js} +3 -3
- package/dist/components/{p-HV-e66iQ.js.map → p-C72s8DWi.js.map} +1 -1
- package/dist/components/{p-ddPhcRIf.js → p-CK9srR2x.js} +3 -3
- package/dist/components/{p-ddPhcRIf.js.map → p-CK9srR2x.js.map} +1 -1
- package/dist/components/{p-yY_48RFJ.js → p-CUoNtUST.js} +7 -7
- package/dist/components/{p-yY_48RFJ.js.map → p-CUoNtUST.js.map} +1 -1
- package/dist/components/{p-CvdTkdj3.js → p-CZqRXeXV.js} +3 -3
- package/dist/components/{p-CvdTkdj3.js.map → p-CZqRXeXV.js.map} +1 -1
- package/dist/components/{p-77UcQXtn.js → p-CavnvGs9.js} +5 -5
- package/dist/components/{p-77UcQXtn.js.map → p-CavnvGs9.js.map} +1 -1
- package/dist/components/{p-DN6scyTT.js → p-DHG4q2rF.js} +4 -4
- package/dist/components/{p-DN6scyTT.js.map → p-DHG4q2rF.js.map} +1 -1
- package/dist/components/{p-CiciRExf.js → p-DRnTySb-.js} +5 -5
- package/dist/components/p-DRnTySb-.js.map +1 -0
- package/dist/components/{p-BvptV8CQ.js → p-PRAbsw0W.js} +5 -5
- package/dist/components/{p-BvptV8CQ.js.map → p-PRAbsw0W.js.map} +1 -1
- package/dist/components/{p-m6MLhFiO.js → p-XX6wJEoM.js} +3 -3
- package/dist/components/{p-m6MLhFiO.js.map → p-XX6wJEoM.js.map} +1 -1
- package/dist/components/p-attachment.js +5 -5
- package/dist/components/p-attachment.js.map +1 -1
- package/dist/components/p-avatar.js +1 -1
- package/dist/components/p-button.js +1 -1
- package/dist/components/p-calendar.js +1 -1
- package/dist/components/p-card-container.js +1 -1
- package/dist/components/p-card-container.js.map +1 -1
- package/dist/components/p-content-slider.js +3 -3
- package/dist/components/p-content-slider.js.map +1 -1
- package/dist/components/p-datepicker.js +6 -6
- package/dist/components/p-drawer-header.js +1 -1
- package/dist/components/p-drawer.js +2 -2
- package/dist/components/p-dropdown-menu-item.js +1 -1
- package/dist/components/p-empty-state.js +1 -1
- package/dist/components/{p-QJn8YEh5.js → p-fbONfJmY.js} +3 -3
- package/dist/components/{p-QJn8YEh5.js.map → p-fbONfJmY.js.map} +1 -1
- package/dist/components/p-field-container.js +1 -1
- package/dist/components/p-field.js +1 -1
- package/dist/components/p-helper.js +1 -1
- package/dist/components/{p-BjaBV6wd.js → p-iZJBhVLg.js} +3 -3
- package/dist/components/{p-BjaBV6wd.js.map → p-iZJBhVLg.js.map} +1 -1
- package/dist/components/{p-CEK29GCc.js → p-jeMjHYNm.js} +4 -4
- package/dist/components/{p-CEK29GCc.js.map → p-jeMjHYNm.js.map} +1 -1
- package/dist/components/p-modal-header.js +1 -1
- package/dist/components/p-modal.js +2 -2
- package/dist/components/p-navbar.js +1 -1
- package/dist/components/p-navigation-item.js +4 -4
- package/dist/components/p-navigation-item.js.map +1 -1
- package/dist/components/p-pagination-size.js +1 -1
- package/dist/components/p-pagination.js +1 -1
- package/dist/components/p-profile.js +1 -1
- package/dist/components/p-select.js +10 -10
- package/dist/components/p-select.js.map +1 -1
- package/dist/components/p-stepper-line.js +1 -1
- package/dist/components/p-stepper.js +1 -1
- package/dist/components/p-table-footer.js +1 -1
- package/dist/components/p-table-header.js +1 -1
- package/dist/components/p-table.js +11 -11
- package/dist/components/p-tooltip.js +1 -1
- package/dist/components/{p-BdYH3tmI.js → p-xL5NUFmL.js} +4 -4
- package/dist/components/{p-BdYH3tmI.js.map → p-xL5NUFmL.js.map} +1 -1
- package/dist/esm/index.js +1 -42
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/p-attachment.entry.js +1 -1
- package/dist/esm/p-attachment.entry.js.map +1 -1
- package/dist/esm/p-avatar.entry.js +3 -3
- package/dist/esm/p-avatar.entry.js.map +1 -1
- package/dist/esm/p-button.p-icon.p-loader.entry.js.map +1 -1
- package/dist/esm/p-button_3.entry.js +1 -1
- package/dist/esm/p-button_3.entry.js.map +1 -1
- package/dist/esm/p-card-container.entry.js +1 -1
- package/dist/esm/p-card-container.entry.js.map +1 -1
- package/dist/esm/p-checkbox.p-dropdown.p-dropdown-menu-container.p-dropdown-menu-item.entry.js.map +1 -1
- package/dist/esm/p-checkbox_4.entry.js +1 -1
- package/dist/esm/p-checkbox_4.entry.js.map +1 -1
- package/dist/esm/p-content-slider.entry.js +3 -3
- package/dist/esm/p-content-slider.entry.js.map +1 -1
- package/dist/esm/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.js.map +1 -1
- package/dist/esm/p-empty-state_8.entry.js +2 -2
- package/dist/esm/p-empty-state_8.entry.js.map +1 -1
- package/dist/esm/p-field.p-field-container.entry.js.map +1 -1
- package/dist/esm/p-field_2.entry.js +1 -1
- package/dist/esm/p-field_2.entry.js.map +1 -1
- package/dist/esm/p-helper.p-tooltip.entry.js.map +1 -1
- package/dist/esm/p-helper_2.entry.js +1 -1
- package/dist/esm/p-helper_2.entry.js.map +1 -1
- package/dist/esm/p-navigation-item.entry.js +4 -4
- package/dist/esm/p-navigation-item.entry.js.map +1 -1
- package/dist/esm/p-select.entry.js +3 -3
- package/dist/esm/p-select.entry.js.map +1 -1
- package/dist/esm/p-stepper-item.p-stepper-line.entry.js.map +1 -1
- package/dist/esm/p-stepper-item_2.entry.js +1 -1
- package/dist/esm/p-stepper-item_2.entry.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/paperless/index.esm.js +1 -1
- package/dist/paperless/index.esm.js.map +1 -1
- package/dist/paperless/p-116fe39b.entry.js +2 -0
- package/dist/{build/p-6b4e7631.entry.js.map → paperless/p-116fe39b.entry.js.map} +1 -1
- package/dist/paperless/p-3d174b05.entry.js +2 -0
- package/dist/paperless/{p-699db32c.entry.js.map → p-3d174b05.entry.js.map} +1 -1
- package/dist/paperless/p-54428a6a.entry.js +2 -0
- package/dist/paperless/p-54428a6a.entry.js.map +1 -0
- package/dist/paperless/{p-a7ea8b65.entry.js → p-586ca05c.entry.js} +2 -2
- package/dist/paperless/p-586ca05c.entry.js.map +1 -0
- package/dist/paperless/p-720963cf.entry.js +2 -0
- package/dist/{build/p-6916ad9d.entry.js.map → paperless/p-720963cf.entry.js.map} +1 -1
- package/dist/paperless/{p-af3ffe40.entry.js → p-85402959.entry.js} +2 -2
- package/dist/{build/p-af3ffe40.entry.js.map → paperless/p-85402959.entry.js.map} +1 -1
- package/dist/{build/p-d620c128.entry.js → paperless/p-8fc3da2f.entry.js} +2 -2
- package/dist/{build/p-d620c128.entry.js.map → paperless/p-8fc3da2f.entry.js.map} +1 -1
- package/dist/paperless/p-96be5968.entry.js +2 -0
- package/dist/paperless/{p-23169a44.entry.js.map → p-96be5968.entry.js.map} +1 -1
- package/dist/paperless/p-attachment.entry.esm.js.map +1 -1
- package/dist/paperless/p-avatar.entry.esm.js.map +1 -1
- package/dist/paperless/p-b334b27d.entry.js +2 -0
- package/dist/paperless/p-b334b27d.entry.js.map +1 -0
- package/dist/paperless/p-b588b2ca.entry.js +2 -0
- package/dist/paperless/{p-978e217e.entry.js.map → p-b588b2ca.entry.js.map} +1 -1
- package/dist/paperless/p-button.p-icon.p-loader.entry.esm.js.map +1 -1
- package/dist/paperless/p-card-container.entry.esm.js.map +1 -1
- package/dist/paperless/p-checkbox.p-dropdown.p-dropdown-menu-container.p-dropdown-menu-item.entry.esm.js.map +1 -1
- package/dist/paperless/p-content-slider.entry.esm.js.map +1 -1
- package/dist/paperless/p-e74def55.entry.js +2 -0
- package/dist/paperless/p-e74def55.entry.js.map +1 -0
- package/dist/paperless/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.esm.js.map +1 -1
- package/dist/paperless/p-f866e7de.entry.js +2 -0
- package/dist/{build/p-7682e7f2.entry.js.map → paperless/p-f866e7de.entry.js.map} +1 -1
- package/dist/paperless/p-field.p-field-container.entry.esm.js.map +1 -1
- package/dist/paperless/p-helper.p-tooltip.entry.esm.js.map +1 -1
- package/dist/paperless/p-navigation-item.entry.esm.js.map +1 -1
- package/dist/paperless/p-select.entry.esm.js.map +1 -1
- package/dist/paperless/p-stepper-item.p-stepper-line.entry.esm.js.map +1 -1
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist/tailwind/theme/colors.ts +1 -43
- package/dist/types/tailwind/theme/colors.d.ts +1 -42
- package/package.json +1 -1
- package/dist/build/p-23169a44.entry.js +0 -2
- package/dist/build/p-6916ad9d.entry.js +0 -2
- package/dist/build/p-699db32c.entry.js +0 -2
- package/dist/build/p-6b4e7631.entry.js +0 -2
- package/dist/build/p-7682e7f2.entry.js +0 -2
- package/dist/build/p-922d3fb4.entry.js +0 -2
- package/dist/build/p-922d3fb4.entry.js.map +0 -1
- package/dist/build/p-978e217e.entry.js +0 -2
- package/dist/build/p-a7ea8b65.entry.js.map +0 -1
- package/dist/build/p-a8394124.entry.js +0 -2
- package/dist/build/p-a8394124.entry.js.map +0 -1
- package/dist/build/p-cfa138a1.entry.js +0 -2
- package/dist/build/p-cfa138a1.entry.js.map +0 -1
- package/dist/components/p-CiciRExf.js.map +0 -1
- package/dist/paperless/p-23169a44.entry.js +0 -2
- package/dist/paperless/p-6916ad9d.entry.js +0 -2
- package/dist/paperless/p-699db32c.entry.js +0 -2
- package/dist/paperless/p-6b4e7631.entry.js +0 -2
- package/dist/paperless/p-7682e7f2.entry.js +0 -2
- package/dist/paperless/p-922d3fb4.entry.js +0 -2
- package/dist/paperless/p-922d3fb4.entry.js.map +0 -1
- package/dist/paperless/p-978e217e.entry.js +0 -2
- package/dist/paperless/p-a7ea8b65.entry.js.map +0 -1
- package/dist/paperless/p-a8394124.entry.js +0 -2
- package/dist/paperless/p-a8394124.entry.js.map +0 -1
- package/dist/paperless/p-cfa138a1.entry.js +0 -2
- package/dist/paperless/p-cfa138a1.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["attachmentComponentCss","attachment","cva","variants","click","false","true","error","Attachment","enableCameraOnMobile","value","fileId","accept","label","helper","required","mode","placeholder","cameraTooltip","downloadTooltip","uploadTooltip","deleteTooltip","loading","upload","download","delete","_fileRef","_cameraFileRef","render","prefix","h","key","class","variant","this","isMobileDevice","isTablet","baseText","Fragment","forceShowTooltip","length","slot","onClick","_uploadClick","cn","content","iconOnly","icon","disabled","onOnClick","emit","_cameraClick","type","Array","isArray","join","ref","el","onChange","ev","_onFileChange","capture","isMobile","target","file","files","reader","FileReader","onload","e","_onLoad","currentTarget","result","readAsDataURL"],"sources":["src/components/molecules/attachment/attachment.component.css?tag=p-attachment&encapsulation=shadow","src/components/molecules/attachment/attachment.component.tsx"],"sourcesContent":[":host {\n\t@apply block w-full;\n}\n","import {\n\tComponent,\n\tEvent,\n\tEventEmitter,\n\tFragment,\n\th,\n\tProp,\n} from '@stencil/core';\nimport { cn, isMobile, isTablet } from '../../../utils';\nimport { cva } from 'class-variance-authority';\n\nconst attachment = cva(\n\t[\n\t\t'flex flex-1 items-center justify-start gap-2',\n\t\t'h-8 min-w-0 px-2 rounded-lg',\n\t\t'border border-solid bg-white-600',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tclick: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: 'cursor-pointer',\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tfalse: 'bg-white-600 border-storm-100 text-storm-200',\n\t\t\t\ttrue: 'border-negative-red',\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-attachment',\n\tstyleUrl: 'attachment.component.css',\n\tshadow: true,\n})\nexport class Attachment {\n\t/**\n\t * Wether to enable the camera button on mobile\n\t */\n\t@Prop() enableCameraOnMobile = false;\n\n\t/**\n\t * The value of the attachment (usually the file name)\n\t */\n\t@Prop() value: string;\n\n\t/**\n\t * The fileID to use to track the file\n\t */\n\t@Prop() fileId: string;\n\n\t/**\n\t * The type of files to accept\n\t */\n\t@Prop() accept: string[] | string = null;\n\n\t/**\n\t * The label of the attachment\n\t */\n\t@Prop() label: string | HTMLSlotElement;\n\n\t/**\n\t * The helper of the attachment\n\t */\n\t@Prop() helper: string | HTMLSlotElement;\n\n\t/**\n\t * Wether the attachment is required\n\t */\n\t@Prop({ reflect: true }) required = true;\n\n\t/**\n\t * The variant of the attachment\n\t */\n\t@Prop() mode: 'read' | 'write' = 'read';\n\n\t/**\n\t * The placeholder of the attachment\n\t */\n\t@Prop() placeholder: string = 'Upload a file...';\n\n\t/**\n\t * The text for the camera tooltip\n\t */\n\t@Prop() cameraTooltip: string = 'Camera';\n\n\t/**\n\t * The text for the download tooltip\n\t */\n\t@Prop() downloadTooltip: string = 'Download';\n\n\t/**\n\t * The text for the upload tooltip\n\t */\n\t@Prop() uploadTooltip: string = 'Upload';\n\n\t/**\n\t * The text for the delete tooltip\n\t */\n\t@Prop() deleteTooltip: string = 'Delete';\n\n\t/**\n\t * Wether the attachment is loading\n\t */\n\t@Prop() loading = false;\n\n\t/**\n\t * The error to show\n\t */\n\t@Prop() error: string;\n\n\t/**\n\t * Event when upload is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tupload: EventEmitter<{\n\t\tfile: File;\n\t\tfileId: string;\n\t\tresult: string;\n\t}>;\n\n\t/**\n\t * Event when download is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdownload: EventEmitter<void>;\n\n\t/**\n\t * Event when delete is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdelete: EventEmitter<void>;\n\n\tprivate _fileRef: HTMLInputElement;\n\tprivate _cameraFileRef: HTMLInputElement;\n\n\trender() {\n\t\tlet prefix = (\n\t\t\t<p-icon\n\t\t\t\tclass='text-storm-300'\n\t\t\t\tvariant='attachment'\n\t\t\t/>\n\t\t);\n\n\t\tif (this.error) {\n\t\t\tprefix = (\n\t\t\t\t<p-icon\n\t\t\t\t\tvariant='warning'\n\t\t\t\t\tclass='text-negative-red'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// const isMobileDevice = isMobile();\n\t\tconst isMobileDevice = isTablet();\n\n\t\tconst baseText =\n\t\t\t'min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-sm';\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<p-field-container\n\t\t\t\t\tvariant='write'\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tforceShowTooltip={!!this.error?.length}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\tclass='flex w-full items-start gap-2'\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={attachment({\n\t\t\t\t\t\t\t\tclick: this.mode === 'write' && !this.value?.length,\n\t\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tonClick={() => this._uploadClick()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{prefix}\n\n\t\t\t\t\t\t\t<span class={cn(baseText, 'peer empty:hidden')}>\n\t\t\t\t\t\t\t\t{this.value}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span class={cn(baseText, 'hidden peer-empty:block')}>\n\t\t\t\t\t\t\t\t{this.placeholder}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\tclass='w-8'\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\tthis.mode === 'read'\n\t\t\t\t\t\t\t\t\t? this.downloadTooltip\n\t\t\t\t\t\t\t\t\t: this.value?.length\n\t\t\t\t\t\t\t\t\t? this.deleteTooltip\n\t\t\t\t\t\t\t\t\t: this.uploadTooltip\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\tthis.mode === 'read'\n\t\t\t\t\t\t\t\t\t\t? 'download'\n\t\t\t\t\t\t\t\t\t\t: this.value?.length\n\t\t\t\t\t\t\t\t\t\t? 'trash'\n\t\t\t\t\t\t\t\t\t\t: 'upload'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={this.loading}\n\t\t\t\t\t\t\t\tloading={this.loading}\n\t\t\t\t\t\t\t\tonOnClick={() =>\n\t\t\t\t\t\t\t\t\tthis.mode === 'write' && !this.value?.length\n\t\t\t\t\t\t\t\t\t\t? this._uploadClick()\n\t\t\t\t\t\t\t\t\t\t: (this.mode === 'read'\n\t\t\t\t\t\t\t\t\t\t\t\t? this.download\n\t\t\t\t\t\t\t\t\t\t\t\t: this.delete\n\t\t\t\t\t\t\t\t\t\t ).emit()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</p-tooltip>\n\n\t\t\t\t\t\t{this.enableCameraOnMobile &&\n\t\t\t\t\t\t\tthis.mode === 'write' &&\n\t\t\t\t\t\t\tisMobileDevice &&\n\t\t\t\t\t\t\t!this.value?.length && (\n\t\t\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\t\t\tcontent={this.cameraTooltip}\n\t\t\t\t\t\t\t\t\tclass='w-8 desktop-xs:hidden'\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\t\t\ticon='camera'\n\t\t\t\t\t\t\t\t\t\tonOnClick={() => this._cameraClick()}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</p-field-container>\n\n\t\t\t\t<input\n\t\t\t\t\tclass='hidden'\n\t\t\t\t\ttype='file'\n\t\t\t\t\taccept={\n\t\t\t\t\t\tArray.isArray(this.accept) ? this.accept?.join(',') : this.accept\n\t\t\t\t\t}\n\t\t\t\t\tref={el => (this._fileRef = el)}\n\t\t\t\t\tonChange={ev => this._onFileChange(ev)}\n\t\t\t\t/>\n\n\t\t\t\t<input\n\t\t\t\t\tclass='hidden'\n\t\t\t\t\ttype='file'\n\t\t\t\t\taccept='image/*'\n\t\t\t\t\tcapture='true'\n\t\t\t\t\tref={el => (this._cameraFileRef = el)}\n\t\t\t\t\tonChange={ev => this._onFileChange(ev)}\n\t\t\t\t/>\n\t\t\t</Fragment>\n\t\t);\n\t}\n\n\tprivate _uploadClick() {\n\t\tif (!this._fileRef || this.mode !== 'write' || this.value?.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._fileRef.click();\n\t}\n\n\tprivate _cameraClick() {\n\t\tif (!this.enableCameraOnMobile || isMobile()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._cameraFileRef || this.mode !== 'write') {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._cameraFileRef?.click();\n\t}\n\n\tprivate _onFileChange(ev: Event) {\n\t\tconst target = ev.target as HTMLInputElement;\n\t\tconst file = target.files?.[0];\n\n\t\tif (file) {\n\t\t\tthis.loading = true;\n\n\t\t\tconst reader = new FileReader();\n\t\t\treader.onload = (e: any) => this._onLoad(file, e?.currentTarget?.result);\n\t\t\treader.readAsDataURL(file);\n\t\t}\n\t}\n\n\tprivate _onLoad(file: File, result: string) {\n\t\tthis.upload.emit({\n\t\t\tfileId: this.fileId,\n\t\t\tresult,\n\t\t\tfile,\n\t\t});\n\n\t\tif (this._fileRef) {\n\t\t\tthis._fileRef.value = '';\n\t\t}\n\n\t\tif (this._cameraFileRef) {\n\t\t\tthis._cameraFileRef.value = '';\n\t\t}\n\n\t\tthis.loading = false;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["attachmentComponentCss","attachment","cva","variants","click","false","true","error","Attachment","enableCameraOnMobile","value","fileId","accept","label","helper","required","mode","placeholder","cameraTooltip","downloadTooltip","uploadTooltip","deleteTooltip","loading","upload","download","delete","_fileRef","_cameraFileRef","render","prefix","h","key","class","variant","this","isMobileDevice","isTablet","baseText","Fragment","forceShowTooltip","length","slot","onClick","_uploadClick","cn","content","iconOnly","icon","disabled","onOnClick","emit","_cameraClick","type","Array","isArray","join","ref","el","onChange","ev","_onFileChange","capture","isMobile","target","file","files","reader","FileReader","onload","e","_onLoad","currentTarget","result","readAsDataURL"],"sources":["src/components/molecules/attachment/attachment.component.css?tag=p-attachment&encapsulation=shadow","src/components/molecules/attachment/attachment.component.tsx"],"sourcesContent":[":host {\n\t@apply block w-full;\n}\n","import {\n\tComponent,\n\tEvent,\n\tEventEmitter,\n\tFragment,\n\th,\n\tProp,\n} from '@stencil/core';\nimport { cn, isMobile, isTablet } from '../../../utils';\nimport { cva } from 'class-variance-authority';\n\nconst attachment = cva(\n\t[\n\t\t'flex flex-1 items-center justify-start gap-2',\n\t\t'h-8 min-w-0 px-2 rounded-lg',\n\t\t'border border-solid bg-white-600',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tclick: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: 'cursor-pointer',\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tfalse: 'bg-white-600 border-storm-100 text-storm-200',\n\t\t\t\ttrue: 'border-negative-red',\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-attachment',\n\tstyleUrl: 'attachment.component.css',\n\tshadow: true,\n})\nexport class Attachment {\n\t/**\n\t * Wether to enable the camera button on mobile\n\t */\n\t@Prop() enableCameraOnMobile = false;\n\n\t/**\n\t * The value of the attachment (usually the file name)\n\t */\n\t@Prop() value: string;\n\n\t/**\n\t * The fileID to use to track the file\n\t */\n\t@Prop() fileId: string;\n\n\t/**\n\t * The type of files to accept\n\t */\n\t@Prop() accept: string[] | string = null;\n\n\t/**\n\t * The label of the attachment\n\t */\n\t@Prop() label: string | HTMLSlotElement;\n\n\t/**\n\t * The helper of the attachment\n\t */\n\t@Prop() helper: string | HTMLSlotElement;\n\n\t/**\n\t * Wether the attachment is required\n\t */\n\t@Prop({ reflect: true }) required = true;\n\n\t/**\n\t * The variant of the attachment\n\t */\n\t@Prop() mode: 'read' | 'write' = 'read';\n\n\t/**\n\t * The placeholder of the attachment\n\t */\n\t@Prop() placeholder: string = 'Upload a file...';\n\n\t/**\n\t * The text for the camera tooltip\n\t */\n\t@Prop() cameraTooltip: string = 'Camera';\n\n\t/**\n\t * The text for the download tooltip\n\t */\n\t@Prop() downloadTooltip: string = 'Download';\n\n\t/**\n\t * The text for the upload tooltip\n\t */\n\t@Prop() uploadTooltip: string = 'Upload';\n\n\t/**\n\t * The text for the delete tooltip\n\t */\n\t@Prop() deleteTooltip: string = 'Delete';\n\n\t/**\n\t * Wether the attachment is loading\n\t */\n\t@Prop() loading = false;\n\n\t/**\n\t * The error to show\n\t */\n\t@Prop() error: string;\n\n\t/**\n\t * Event when upload is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tupload: EventEmitter<{\n\t\tfile: File;\n\t\tfileId: string;\n\t\tresult: string;\n\t}>;\n\n\t/**\n\t * Event when download is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdownload: EventEmitter<void>;\n\n\t/**\n\t * Event when delete is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdelete: EventEmitter<void>;\n\n\tprivate _fileRef: HTMLInputElement;\n\tprivate _cameraFileRef: HTMLInputElement;\n\n\trender() {\n\t\tlet prefix = (\n\t\t\t<p-icon\n\t\t\t\tclass='text-storm-300'\n\t\t\t\tvariant='attachment'\n\t\t\t/>\n\t\t);\n\n\t\tif (this.error) {\n\t\t\tprefix = (\n\t\t\t\t<p-icon\n\t\t\t\t\tvariant='warning'\n\t\t\t\t\tclass='text-negative-red'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// const isMobileDevice = isMobile();\n\t\tconst isMobileDevice = isTablet();\n\n\t\tconst baseText =\n\t\t\t'min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-sm';\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<p-field-container\n\t\t\t\t\tvariant='write'\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tforceShowTooltip={!!this.error?.length}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\tclass='flex w-full items-start gap-2'\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={attachment({\n\t\t\t\t\t\t\t\tclick: this.mode === 'write' && !this.value?.length,\n\t\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tonClick={() => this._uploadClick()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{prefix}\n\n\t\t\t\t\t\t\t<span class={cn(baseText, 'peer empty:hidden')}>\n\t\t\t\t\t\t\t\t{this.value}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span class={cn(baseText, 'hidden peer-empty:block')}>\n\t\t\t\t\t\t\t\t{this.placeholder}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\tclass='w-8'\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\tthis.mode === 'read'\n\t\t\t\t\t\t\t\t\t? this.downloadTooltip\n\t\t\t\t\t\t\t\t\t: this.value?.length\n\t\t\t\t\t\t\t\t\t? this.deleteTooltip\n\t\t\t\t\t\t\t\t\t: this.uploadTooltip\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\tthis.mode === 'read'\n\t\t\t\t\t\t\t\t\t\t? 'download'\n\t\t\t\t\t\t\t\t\t\t: this.value?.length\n\t\t\t\t\t\t\t\t\t\t? 'trash'\n\t\t\t\t\t\t\t\t\t\t: 'upload'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={this.loading}\n\t\t\t\t\t\t\t\tloading={this.loading}\n\t\t\t\t\t\t\t\tonOnClick={() =>\n\t\t\t\t\t\t\t\t\tthis.mode === 'write' && !this.value?.length\n\t\t\t\t\t\t\t\t\t\t? this._uploadClick()\n\t\t\t\t\t\t\t\t\t\t: (this.mode === 'read'\n\t\t\t\t\t\t\t\t\t\t\t\t? this.download\n\t\t\t\t\t\t\t\t\t\t\t\t: this.delete\n\t\t\t\t\t\t\t\t\t\t ).emit()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</p-tooltip>\n\n\t\t\t\t\t\t{this.enableCameraOnMobile &&\n\t\t\t\t\t\t\tthis.mode === 'write' &&\n\t\t\t\t\t\t\tisMobileDevice &&\n\t\t\t\t\t\t\t!this.value?.length && (\n\t\t\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\t\t\tcontent={this.cameraTooltip}\n\t\t\t\t\t\t\t\t\tclass='w-8 desktop-xs:hidden'\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\t\t\ticon='camera'\n\t\t\t\t\t\t\t\t\t\tonOnClick={() => this._cameraClick()}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</p-field-container>\n\n\t\t\t\t<input\n\t\t\t\t\tclass='hidden'\n\t\t\t\t\ttype='file'\n\t\t\t\t\taccept={\n\t\t\t\t\t\tArray.isArray(this.accept) ? this.accept?.join(',') : this.accept\n\t\t\t\t\t}\n\t\t\t\t\tref={el => (this._fileRef = el)}\n\t\t\t\t\tonChange={ev => this._onFileChange(ev)}\n\t\t\t\t/>\n\n\t\t\t\t<input\n\t\t\t\t\tclass='hidden'\n\t\t\t\t\ttype='file'\n\t\t\t\t\taccept='image/*'\n\t\t\t\t\tcapture='true'\n\t\t\t\t\tref={el => (this._cameraFileRef = el)}\n\t\t\t\t\tonChange={ev => this._onFileChange(ev)}\n\t\t\t\t/>\n\t\t\t</Fragment>\n\t\t);\n\t}\n\n\tprivate _uploadClick() {\n\t\tif (!this._fileRef || this.mode !== 'write' || this.value?.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._fileRef.click();\n\t}\n\n\tprivate _cameraClick() {\n\t\tif (!this.enableCameraOnMobile || isMobile()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._cameraFileRef || this.mode !== 'write') {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._cameraFileRef?.click();\n\t}\n\n\tprivate _onFileChange(ev: Event) {\n\t\tconst target = ev.target as HTMLInputElement;\n\t\tconst file = target.files?.[0];\n\n\t\tif (file) {\n\t\t\tthis.loading = true;\n\n\t\t\tconst reader = new FileReader();\n\t\t\treader.onload = (e: any) => this._onLoad(file, e?.currentTarget?.result);\n\t\t\treader.readAsDataURL(file);\n\t\t}\n\t}\n\n\tprivate _onLoad(file: File, result: string) {\n\t\tthis.upload.emit({\n\t\t\tfileId: this.fileId,\n\t\t\tresult,\n\t\t\tfile,\n\t\t});\n\n\t\tif (this._fileRef) {\n\t\t\tthis._fileRef.value = '';\n\t\t}\n\n\t\tif (this._cameraFileRef) {\n\t\t\tthis._cameraFileRef.value = '';\n\t\t}\n\n\t\tthis.loading = false;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-attachment.entry.esm.js","sources":["src/components/molecules/attachment/attachment.component.css?tag=p-attachment&encapsulation=shadow","src/components/molecules/attachment/attachment.component.tsx"],"sourcesContent":[":host {\n\t@apply block w-full;\n}\n","import {\n\tComponent,\n\tEvent,\n\tEventEmitter,\n\tFragment,\n\th,\n\tProp,\n} from '@stencil/core';\nimport { cn, isMobile, isTablet } from '../../../utils';\nimport { cva } from 'class-variance-authority';\n\nconst attachment = cva(\n\t[\n\t\t'flex flex-1 items-center justify-start gap-2',\n\t\t'h-8 min-w-0 px-2 rounded-lg',\n\t\t'border border-solid bg-white-600',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tclick: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: 'cursor-pointer',\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tfalse: 'bg-white-600 border-storm-100 text-storm-200',\n\t\t\t\ttrue: 'border-negative-red',\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-attachment',\n\tstyleUrl: 'attachment.component.css',\n\tshadow: true,\n})\nexport class Attachment {\n\t/**\n\t * Wether to enable the camera button on mobile\n\t */\n\t@Prop() enableCameraOnMobile = false;\n\n\t/**\n\t * The value of the attachment (usually the file name)\n\t */\n\t@Prop() value: string;\n\n\t/**\n\t * The fileID to use to track the file\n\t */\n\t@Prop() fileId: string;\n\n\t/**\n\t * The type of files to accept\n\t */\n\t@Prop() accept: string[] | string = null;\n\n\t/**\n\t * The label of the attachment\n\t */\n\t@Prop() label: string | HTMLSlotElement;\n\n\t/**\n\t * The helper of the attachment\n\t */\n\t@Prop() helper: string | HTMLSlotElement;\n\n\t/**\n\t * Wether the attachment is required\n\t */\n\t@Prop({ reflect: true }) required = true;\n\n\t/**\n\t * The variant of the attachment\n\t */\n\t@Prop() mode: 'read' | 'write' = 'read';\n\n\t/**\n\t * The placeholder of the attachment\n\t */\n\t@Prop() placeholder: string = 'Upload a file...';\n\n\t/**\n\t * The text for the camera tooltip\n\t */\n\t@Prop() cameraTooltip: string = 'Camera';\n\n\t/**\n\t * The text for the download tooltip\n\t */\n\t@Prop() downloadTooltip: string = 'Download';\n\n\t/**\n\t * The text for the upload tooltip\n\t */\n\t@Prop() uploadTooltip: string = 'Upload';\n\n\t/**\n\t * The text for the delete tooltip\n\t */\n\t@Prop() deleteTooltip: string = 'Delete';\n\n\t/**\n\t * Wether the attachment is loading\n\t */\n\t@Prop() loading = false;\n\n\t/**\n\t * The error to show\n\t */\n\t@Prop() error: string;\n\n\t/**\n\t * Event when upload is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tupload: EventEmitter<{\n\t\tfile: File;\n\t\tfileId: string;\n\t\tresult: string;\n\t}>;\n\n\t/**\n\t * Event when download is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdownload: EventEmitter<void>;\n\n\t/**\n\t * Event when delete is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdelete: EventEmitter<void>;\n\n\tprivate _fileRef: HTMLInputElement;\n\tprivate _cameraFileRef: HTMLInputElement;\n\n\trender() {\n\t\tlet prefix = (\n\t\t\t<p-icon\n\t\t\t\tclass='text-storm-300'\n\t\t\t\tvariant='attachment'\n\t\t\t/>\n\t\t);\n\n\t\tif (this.error) {\n\t\t\tprefix = (\n\t\t\t\t<p-icon\n\t\t\t\t\tvariant='warning'\n\t\t\t\t\tclass='text-negative-red'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// const isMobileDevice = isMobile();\n\t\tconst isMobileDevice = isTablet();\n\n\t\tconst baseText =\n\t\t\t'min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-sm';\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<p-field-container\n\t\t\t\t\tvariant='write'\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tforceShowTooltip={!!this.error?.length}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\tclass='flex w-full items-start gap-2'\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={attachment({\n\t\t\t\t\t\t\t\tclick: this.mode === 'write' && !this.value?.length,\n\t\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tonClick={() => this._uploadClick()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{prefix}\n\n\t\t\t\t\t\t\t<span class={cn(baseText, 'peer empty:hidden')}>\n\t\t\t\t\t\t\t\t{this.value}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span class={cn(baseText, 'hidden peer-empty:block')}>\n\t\t\t\t\t\t\t\t{this.placeholder}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\tclass='w-8'\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\tthis.mode === 'read'\n\t\t\t\t\t\t\t\t\t? this.downloadTooltip\n\t\t\t\t\t\t\t\t\t: this.value?.length\n\t\t\t\t\t\t\t\t\t? this.deleteTooltip\n\t\t\t\t\t\t\t\t\t: this.uploadTooltip\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\tthis.mode === 'read'\n\t\t\t\t\t\t\t\t\t\t? 'download'\n\t\t\t\t\t\t\t\t\t\t: this.value?.length\n\t\t\t\t\t\t\t\t\t\t? 'trash'\n\t\t\t\t\t\t\t\t\t\t: 'upload'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={this.loading}\n\t\t\t\t\t\t\t\tloading={this.loading}\n\t\t\t\t\t\t\t\tonOnClick={() =>\n\t\t\t\t\t\t\t\t\tthis.mode === 'write' && !this.value?.length\n\t\t\t\t\t\t\t\t\t\t? this._uploadClick()\n\t\t\t\t\t\t\t\t\t\t: (this.mode === 'read'\n\t\t\t\t\t\t\t\t\t\t\t\t? this.download\n\t\t\t\t\t\t\t\t\t\t\t\t: this.delete\n\t\t\t\t\t\t\t\t\t\t ).emit()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</p-tooltip>\n\n\t\t\t\t\t\t{this.enableCameraOnMobile &&\n\t\t\t\t\t\t\tthis.mode === 'write' &&\n\t\t\t\t\t\t\tisMobileDevice &&\n\t\t\t\t\t\t\t!this.value?.length && (\n\t\t\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\t\t\tcontent={this.cameraTooltip}\n\t\t\t\t\t\t\t\t\tclass='w-8 desktop-xs:hidden'\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\t\t\ticon='camera'\n\t\t\t\t\t\t\t\t\t\tonOnClick={() => this._cameraClick()}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</p-field-container>\n\n\t\t\t\t<input\n\t\t\t\t\tclass='hidden'\n\t\t\t\t\ttype='file'\n\t\t\t\t\taccept={\n\t\t\t\t\t\tArray.isArray(this.accept) ? this.accept?.join(',') : this.accept\n\t\t\t\t\t}\n\t\t\t\t\tref={el => (this._fileRef = el)}\n\t\t\t\t\tonChange={ev => this._onFileChange(ev)}\n\t\t\t\t/>\n\n\t\t\t\t<input\n\t\t\t\t\tclass='hidden'\n\t\t\t\t\ttype='file'\n\t\t\t\t\taccept='image/*'\n\t\t\t\t\tcapture='true'\n\t\t\t\t\tref={el => (this._cameraFileRef = el)}\n\t\t\t\t\tonChange={ev => this._onFileChange(ev)}\n\t\t\t\t/>\n\t\t\t</Fragment>\n\t\t);\n\t}\n\n\tprivate _uploadClick() {\n\t\tif (!this._fileRef || this.mode !== 'write' || this.value?.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._fileRef.click();\n\t}\n\n\tprivate _cameraClick() {\n\t\tif (!this.enableCameraOnMobile || isMobile()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._cameraFileRef || this.mode !== 'write') {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._cameraFileRef?.click();\n\t}\n\n\tprivate _onFileChange(ev: Event) {\n\t\tconst target = ev.target as HTMLInputElement;\n\t\tconst file = target.files?.[0];\n\n\t\tif (file) {\n\t\t\tthis.loading = true;\n\n\t\t\tconst reader = new FileReader();\n\t\t\treader.onload = (e: any) => this._onLoad(file, e?.currentTarget?.result);\n\t\t\treader.readAsDataURL(file);\n\t\t}\n\t}\n\n\tprivate _onLoad(file: File, result: string) {\n\t\tthis.upload.emit({\n\t\t\tfileId: this.fileId,\n\t\t\tresult,\n\t\t\tfile,\n\t\t});\n\n\t\tif (this._fileRef) {\n\t\t\tthis._fileRef.value = '';\n\t\t}\n\n\t\tif (this._cameraFileRef) {\n\t\t\tthis._cameraFileRef.value = '';\n\t\t}\n\n\t\tthis.loading = false;\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-attachment.entry.esm.js","sources":["src/components/molecules/attachment/attachment.component.css?tag=p-attachment&encapsulation=shadow","src/components/molecules/attachment/attachment.component.tsx"],"sourcesContent":[":host {\n\t@apply block w-full;\n}\n","import {\n\tComponent,\n\tEvent,\n\tEventEmitter,\n\tFragment,\n\th,\n\tProp,\n} from '@stencil/core';\nimport { cn, isMobile, isTablet } from '../../../utils';\nimport { cva } from 'class-variance-authority';\n\nconst attachment = cva(\n\t[\n\t\t'flex flex-1 items-center justify-start gap-2',\n\t\t'h-8 min-w-0 px-2 rounded-lg',\n\t\t'border border-solid bg-white-600',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tclick: {\n\t\t\t\tfalse: null,\n\t\t\t\ttrue: 'cursor-pointer',\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tfalse: 'bg-white-600 border-storm-100 text-storm-200',\n\t\t\t\ttrue: 'border-negative-red',\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-attachment',\n\tstyleUrl: 'attachment.component.css',\n\tshadow: true,\n})\nexport class Attachment {\n\t/**\n\t * Wether to enable the camera button on mobile\n\t */\n\t@Prop() enableCameraOnMobile = false;\n\n\t/**\n\t * The value of the attachment (usually the file name)\n\t */\n\t@Prop() value: string;\n\n\t/**\n\t * The fileID to use to track the file\n\t */\n\t@Prop() fileId: string;\n\n\t/**\n\t * The type of files to accept\n\t */\n\t@Prop() accept: string[] | string = null;\n\n\t/**\n\t * The label of the attachment\n\t */\n\t@Prop() label: string | HTMLSlotElement;\n\n\t/**\n\t * The helper of the attachment\n\t */\n\t@Prop() helper: string | HTMLSlotElement;\n\n\t/**\n\t * Wether the attachment is required\n\t */\n\t@Prop({ reflect: true }) required = true;\n\n\t/**\n\t * The variant of the attachment\n\t */\n\t@Prop() mode: 'read' | 'write' = 'read';\n\n\t/**\n\t * The placeholder of the attachment\n\t */\n\t@Prop() placeholder: string = 'Upload a file...';\n\n\t/**\n\t * The text for the camera tooltip\n\t */\n\t@Prop() cameraTooltip: string = 'Camera';\n\n\t/**\n\t * The text for the download tooltip\n\t */\n\t@Prop() downloadTooltip: string = 'Download';\n\n\t/**\n\t * The text for the upload tooltip\n\t */\n\t@Prop() uploadTooltip: string = 'Upload';\n\n\t/**\n\t * The text for the delete tooltip\n\t */\n\t@Prop() deleteTooltip: string = 'Delete';\n\n\t/**\n\t * Wether the attachment is loading\n\t */\n\t@Prop() loading = false;\n\n\t/**\n\t * The error to show\n\t */\n\t@Prop() error: string;\n\n\t/**\n\t * Event when upload is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tupload: EventEmitter<{\n\t\tfile: File;\n\t\tfileId: string;\n\t\tresult: string;\n\t}>;\n\n\t/**\n\t * Event when download is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdownload: EventEmitter<void>;\n\n\t/**\n\t * Event when delete is pressed\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdelete: EventEmitter<void>;\n\n\tprivate _fileRef: HTMLInputElement;\n\tprivate _cameraFileRef: HTMLInputElement;\n\n\trender() {\n\t\tlet prefix = (\n\t\t\t<p-icon\n\t\t\t\tclass='text-storm-300'\n\t\t\t\tvariant='attachment'\n\t\t\t/>\n\t\t);\n\n\t\tif (this.error) {\n\t\t\tprefix = (\n\t\t\t\t<p-icon\n\t\t\t\t\tvariant='warning'\n\t\t\t\t\tclass='text-negative-red'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// const isMobileDevice = isMobile();\n\t\tconst isMobileDevice = isTablet();\n\n\t\tconst baseText =\n\t\t\t'min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-sm';\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<p-field-container\n\t\t\t\t\tvariant='write'\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tforceShowTooltip={!!this.error?.length}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\tclass='flex w-full items-start gap-2'\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={attachment({\n\t\t\t\t\t\t\t\tclick: this.mode === 'write' && !this.value?.length,\n\t\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tonClick={() => this._uploadClick()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{prefix}\n\n\t\t\t\t\t\t\t<span class={cn(baseText, 'peer empty:hidden')}>\n\t\t\t\t\t\t\t\t{this.value}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span class={cn(baseText, 'hidden peer-empty:block')}>\n\t\t\t\t\t\t\t\t{this.placeholder}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\tclass='w-8'\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\tthis.mode === 'read'\n\t\t\t\t\t\t\t\t\t? this.downloadTooltip\n\t\t\t\t\t\t\t\t\t: this.value?.length\n\t\t\t\t\t\t\t\t\t? this.deleteTooltip\n\t\t\t\t\t\t\t\t\t: this.uploadTooltip\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\tthis.mode === 'read'\n\t\t\t\t\t\t\t\t\t\t? 'download'\n\t\t\t\t\t\t\t\t\t\t: this.value?.length\n\t\t\t\t\t\t\t\t\t\t? 'trash'\n\t\t\t\t\t\t\t\t\t\t: 'upload'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={this.loading}\n\t\t\t\t\t\t\t\tloading={this.loading}\n\t\t\t\t\t\t\t\tonOnClick={() =>\n\t\t\t\t\t\t\t\t\tthis.mode === 'write' && !this.value?.length\n\t\t\t\t\t\t\t\t\t\t? this._uploadClick()\n\t\t\t\t\t\t\t\t\t\t: (this.mode === 'read'\n\t\t\t\t\t\t\t\t\t\t\t\t? this.download\n\t\t\t\t\t\t\t\t\t\t\t\t: this.delete\n\t\t\t\t\t\t\t\t\t\t ).emit()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</p-tooltip>\n\n\t\t\t\t\t\t{this.enableCameraOnMobile &&\n\t\t\t\t\t\t\tthis.mode === 'write' &&\n\t\t\t\t\t\t\tisMobileDevice &&\n\t\t\t\t\t\t\t!this.value?.length && (\n\t\t\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\t\t\tcontent={this.cameraTooltip}\n\t\t\t\t\t\t\t\t\tclass='w-8 desktop-xs:hidden'\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\t\t\ticon='camera'\n\t\t\t\t\t\t\t\t\t\tonOnClick={() => this._cameraClick()}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</p-field-container>\n\n\t\t\t\t<input\n\t\t\t\t\tclass='hidden'\n\t\t\t\t\ttype='file'\n\t\t\t\t\taccept={\n\t\t\t\t\t\tArray.isArray(this.accept) ? this.accept?.join(',') : this.accept\n\t\t\t\t\t}\n\t\t\t\t\tref={el => (this._fileRef = el)}\n\t\t\t\t\tonChange={ev => this._onFileChange(ev)}\n\t\t\t\t/>\n\n\t\t\t\t<input\n\t\t\t\t\tclass='hidden'\n\t\t\t\t\ttype='file'\n\t\t\t\t\taccept='image/*'\n\t\t\t\t\tcapture='true'\n\t\t\t\t\tref={el => (this._cameraFileRef = el)}\n\t\t\t\t\tonChange={ev => this._onFileChange(ev)}\n\t\t\t\t/>\n\t\t\t</Fragment>\n\t\t);\n\t}\n\n\tprivate _uploadClick() {\n\t\tif (!this._fileRef || this.mode !== 'write' || this.value?.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._fileRef.click();\n\t}\n\n\tprivate _cameraClick() {\n\t\tif (!this.enableCameraOnMobile || isMobile()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._cameraFileRef || this.mode !== 'write') {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._cameraFileRef?.click();\n\t}\n\n\tprivate _onFileChange(ev: Event) {\n\t\tconst target = ev.target as HTMLInputElement;\n\t\tconst file = target.files?.[0];\n\n\t\tif (file) {\n\t\t\tthis.loading = true;\n\n\t\t\tconst reader = new FileReader();\n\t\t\treader.onload = (e: any) => this._onLoad(file, e?.currentTarget?.result);\n\t\t\treader.readAsDataURL(file);\n\t\t}\n\t}\n\n\tprivate _onLoad(file: File, result: string) {\n\t\tthis.upload.emit({\n\t\t\tfileId: this.fileId,\n\t\t\tresult,\n\t\t\tfile,\n\t\t});\n\n\t\tif (this._fileRef) {\n\t\t\tthis._fileRef.value = '';\n\t\t}\n\n\t\tif (this._cameraFileRef) {\n\t\t\tthis._cameraFileRef.value = '';\n\t\t}\n\n\t\tthis.loading = false;\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-avatar.entry.esm.js","sources":["src/components/atoms/avatar/avatar/avatar.component.css?tag=p-avatar","src/components/atoms/avatar/avatar/avatar.component.tsx"],"sourcesContent":["","import { Component, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { cva } from 'class-variance-authority';\n\nconst avatar = cva(\n\t[\n\t\t'p-avatar rounded-full aspect-branding ring-inset ring-1 ring-storm-500/20 p-[1px] flex items-center justify-center font-ambit leading-none font-bold',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsecondary: 'bg-off-white text-storm-300',\n\t\t\t\tprimary: 'bg-indigo-500 text-storm-500',\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: 'h-4 text-xxs',\n\t\t\t\tsm: 'h-6 text-xs',\n\t\t\t\tbase: 'h-8 text-base',\n\t\t\t\tlg: 'h-10 text-xl',\n\t\t\t\txl: 'h-14 text-xl',\n\t\t\t\t'2xl': 'h-20 text-4xl',\n\t\t\t\t'3xl': 'h-[6.5rem] text-[3.5rem] leading-[4rem]',\n\t\t\t\t'4xl': 'h-[8.5rem] text-[4.5rem] leading-[5rem]',\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-avatar',\n\tstyleUrl: 'avatar.component.css',\n\t// shadow: true,\n})\nexport class Avatar {\n\t/**\n\t * The variant of the avatar in case of \"letters\"\n\t */\n\t@Prop() variant: 'secondary' | 'primary' = 'secondary';\n\n\t/**\n\t * The size of the avatar\n\t */\n\t@Prop({ reflect: true }) size:\n\t\t| 'xs'\n\t\t| 'sm'\n\t\t| 'base'\n\t\t| 'lg'\n\t\t| 'xl'\n\t\t| '2xl'\n\t\t| '3xl'\n\t\t| '4xl' = 'base';\n\n\t/**\n\t * The default image to show on errors\n\t */\n\t@Prop() defaultImage: string;\n\n\t/**\n\t * The image used for the avatar\n\t */\n\t@Prop() src!: string;\n\n\t/**\n\t * The letters to show on the empty state variant\n\t */\n\t@Prop() letters: string;\n\n\t@State() private _src: string;\n\t@State() private _failed: boolean = false;\n\n\t@Watch('src')\n\tonSrchChange(src: string) {\n\t\tthis._failed = false;\n\t\tthis._src = src;\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.onSrchChange(this.src);\n\t\tif (!this._src) {\n\t\t\tthis._setFailed();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={avatar({\n\t\t\t\t\tsize: this.size,\n\t\t\t\t\tvariant: this.variant,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this._failed ? (\n\t\t\t\t\t<span>{this.letters?.[0] ?? ' '}</span>\n\t\t\t\t) : (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={this._src}\n\t\t\t\t\t\tclass='z-0 aspect-branding h-full rounded-full object-cover'\n\t\t\t\t\t\tonError={() => this._setFailed()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _setFailed() {\n\t\tthis._failed = true;\n\t\tthis._src = undefined;\n\t}\n}\n"],"names":[],"mappings":";;;;AAAA,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"p-avatar.entry.esm.js","sources":["src/components/atoms/avatar/avatar/avatar.component.css?tag=p-avatar","src/components/atoms/avatar/avatar/avatar.component.tsx"],"sourcesContent":["","import { Component, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { cva } from 'class-variance-authority';\n\nconst avatar = cva(\n\t[\n\t\t'p-avatar rounded-full aspect-branding ring-inset ring-1 ring-storm-500/20 p-[1px] flex items-center justify-center font-ambit leading-none font-bold',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsecondary: 'bg-off-white-500 text-storm-300',\n\t\t\t\tprimary: 'bg-indigo-500 text-storm-500',\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: 'h-4 text-xxs',\n\t\t\t\tsm: 'h-6 text-xs',\n\t\t\t\tbase: 'h-8 text-base',\n\t\t\t\tlg: 'h-10 text-xl',\n\t\t\t\txl: 'h-14 text-xl',\n\t\t\t\t'2xl': 'h-20 text-4xl',\n\t\t\t\t'3xl': 'h-[6.5rem] text-[3.5rem] leading-[4rem]',\n\t\t\t\t'4xl': 'h-[8.5rem] text-[4.5rem] leading-[5rem]',\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-avatar',\n\tstyleUrl: 'avatar.component.css',\n\t// shadow: true,\n})\nexport class Avatar {\n\t/**\n\t * The variant of the avatar in case of \"letters\"\n\t */\n\t@Prop() variant: 'secondary' | 'primary' = 'secondary';\n\n\t/**\n\t * The size of the avatar\n\t */\n\t@Prop({ reflect: true }) size:\n\t\t| 'xs'\n\t\t| 'sm'\n\t\t| 'base'\n\t\t| 'lg'\n\t\t| 'xl'\n\t\t| '2xl'\n\t\t| '3xl'\n\t\t| '4xl' = 'base';\n\n\t/**\n\t * The default image to show on errors\n\t */\n\t@Prop() defaultImage: string;\n\n\t/**\n\t * The image used for the avatar\n\t */\n\t@Prop() src!: string;\n\n\t/**\n\t * The letters to show on the empty state variant\n\t */\n\t@Prop() letters: string;\n\n\t@State() private _src: string;\n\t@State() private _failed: boolean = false;\n\n\t@Watch('src')\n\tonSrchChange(src: string) {\n\t\tthis._failed = false;\n\t\tthis._src = src;\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.onSrchChange(this.src);\n\t\tif (!this._src) {\n\t\t\tthis._setFailed();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={avatar({\n\t\t\t\t\tsize: this.size,\n\t\t\t\t\tvariant: this.variant,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this._failed ? (\n\t\t\t\t\t<span>{this.letters?.[0] ?? ' '}</span>\n\t\t\t\t) : (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={this._src}\n\t\t\t\t\t\tclass='z-0 aspect-branding h-full rounded-full object-cover'\n\t\t\t\t\t\tonError={() => this._setFailed()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _setFailed() {\n\t\tthis._failed = true;\n\t\tthis._src = undefined;\n\t}\n}\n"],"names":[],"mappings":";;;;AAAA,MAAM,kBAAkB,GAAG,onEAAonE;;ACG/oE,MAAM,MAAM,GAAG,GAAG,CACjB;IACC,sJAAsJ;CACtJ,EACD;AACC,IAAA,QAAQ,EAAE;AACT,QAAA,OAAO,EAAE;AACR,YAAA,SAAS,EAAE,iCAAiC;AAC5C,YAAA,OAAO,EAAE,8BAA8B;AACvC,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,EAAE,EAAE,cAAc;AAClB,YAAA,EAAE,EAAE,aAAa;AACjB,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,EAAE,EAAE,cAAc;AAClB,YAAA,EAAE,EAAE,cAAc;AAClB,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,KAAK,EAAE,yCAAyC;AAChD,YAAA,KAAK,EAAE,yCAAyC;AAChD,SAAA;AACD,KAAA;AACD,CAAA,CACD;MAOY,MAAM,GAAA,MAAA;;;;AAClB;;AAEG;IACK,OAAO,GAA4B,WAAW;AAEtD;;AAEG;IACsB,IAAI,GAQlB,MAAM;AAEjB;;AAEG;AACK,IAAA,YAAY;AAEpB;;AAEG;AACK,IAAA,GAAG;AAEX;;AAEG;AACK,IAAA,OAAO;AAEE,IAAA,IAAI;IACJ,OAAO,GAAY,KAAK;AAGzC,IAAA,YAAY,CAAC,GAAW,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;;IAGhB,iBAAiB,GAAA;AAChB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACf,IAAI,CAAC,UAAU,EAAE;;;IAInB,MAAM,GAAA;AACL,QAAA,QACC,CAAC,CAAA,IAAI,qDACJ,KAAK,EAAE,MAAM,CAAC;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;aACrB,CAAC,EAAA,EAED,IAAI,CAAC,OAAO,IACZ,CAAA,CAAA,MAAA,EAAA,IAAA,EAAO,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,CAAQ,KAEvC,WACC,GAAG,EAAE,IAAI,CAAC,IAAI,EACd,KAAK,EAAC,sDAAsD,EAC5D,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,EAC/B,CAAA,CACF,CACK;;IAID,UAAU,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,SAAS;;;;;;;;;;"}
|