@acorex/platform 19.1.5 → 19.1.7
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/auth/lib/permission/index.d.ts +4 -3
- package/auth/lib/permission/permission.service.d.ts +18 -0
- package/auth/lib/permission/permission.types.d.ts +5 -0
- package/common/index.d.ts +3 -2
- package/common/lib/app/application.types.d.ts +16 -4
- package/common/lib/layout/menu/index.d.ts +4 -2
- package/common/lib/layout/menu/search-definition.provider.d.ts +4 -0
- package/common/lib/layout/menu/search.provider.d.ts +20 -0
- package/common/lib/search/index.d.ts +5 -0
- package/common/lib/search/search-definition.builder.d.ts +23 -0
- package/common/lib/search/search-definition.provider.d.ts +18 -0
- package/common/lib/search/search.provider.d.ts +4 -0
- package/common/lib/search/search.service.d.ts +12 -0
- package/common/lib/search/search.types.d.ts +42 -0
- package/common/lib/settings/search-definition.provider.d.ts +4 -0
- package/common/lib/settings/search.provider.d.ts +10 -0
- package/fesm2022/acorex-platform-auth.mjs +78 -43
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common.mjs +1439 -2234
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +20 -7
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-filters.mjs +0 -2
- package/fesm2022/acorex-platform-layout-filters.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-search.mjs +183 -0
- package/fesm2022/acorex-platform-layout-search.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-setting.mjs +21 -20
- package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-K9B_-q_K.mjs → acorex-platform-themes-default-entity-master-create-view.component-DpWOMxW9.mjs} +5 -5
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-K9B_-q_K.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-DpWOMxW9.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-xlBBA76O.mjs → acorex-platform-themes-default-entity-master-list-view.component-BUL6ti4U.mjs} +14 -14
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BUL6ti4U.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-Cd2gxLZt.mjs → acorex-platform-themes-default-entity-master-modify-view.component-C1kGZwYp.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-Cd2gxLZt.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-C1kGZwYp.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-6sZdw013.mjs → acorex-platform-themes-default-entity-master-single-view.component-CAgt5S3B.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-6sZdw013.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-CAgt5S3B.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default-search-popup.component-Blpan821.mjs +62 -0
- package/fesm2022/acorex-platform-themes-default-search-popup.component-Blpan821.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-setting-page.component-BYpCgHZb.mjs → acorex-platform-themes-default-setting-page.component-BXwdFLy4.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-setting-page.component-BYpCgHZb.mjs.map → acorex-platform-themes-default-setting-page.component-BXwdFLy4.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-setting-view.component-CdmIphX1.mjs → acorex-platform-themes-default-setting-view.component-BXsmvaIi.mjs} +5 -5
- package/fesm2022/{acorex-platform-themes-default-setting-view.component-CdmIphX1.mjs.map → acorex-platform-themes-default-setting-view.component-BXsmvaIi.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +29 -17
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +2 -2
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +164 -99
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/entity/lib/index.d.ts +1 -0
- package/{layouts/lib/admin/entity-layout → layout/entity/lib}/workflows/index.d.ts +1 -1
- package/layout/search/README.md +3 -0
- package/layout/search/index.d.ts +1 -0
- package/layout/search/lib/index.d.ts +3 -0
- package/layout/search/lib/search-slot.component.d.ts +9 -0
- package/layout/search/lib/search.config.d.ts +5 -0
- package/layout/search/lib/search.module.d.ts +11 -0
- package/layout/search/lib/search.viewmodel.d.ts +13 -0
- package/layout/search/lib/workflows/search.workflow.d.ts +10 -0
- package/layout/setting/lib/setting.viewmodel.d.ts +1 -1
- package/package.json +13 -13
- package/themes/default/lib/layouts/search-layout/search-popup.component.d.ts +11 -0
- package/themes/shared/index.d.ts +1 -1
- package/themes/shared/lib/components/layout-elements/index.d.ts +1 -1
- package/themes/shared/lib/components/layout-elements/{layout-list-component.d.ts → layout-list.component.d.ts} +1 -1
- package/themes/shared/lib/components/{theme-slot.component.d.ts → slots/theme-slot.component.d.ts} +7 -7
- package/widgets/lib/widgets/filters/date-time-filter/date-time-filter-widget-edit.component.d.ts +2 -3
- package/widgets/lib/widgets/filters/select-filter/select-filter-widget-edit.component.d.ts +1 -1
- package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.d.ts +15 -9
- package/widgets/lib/widgets/property-editors/property-editor-helper.d.ts +6 -5
- package/widgets/lib/widgets/property-editors/spacing/spacing-widget-editor.component.d.ts +1 -0
- package/common/lib/schema/component-loader.d.ts +0 -24
- package/common/lib/schema/entity/entity-registery.service.d.ts +0 -34
- package/common/lib/schema/entity/entity.class.d.ts +0 -161
- package/common/lib/schema/entity/entity.loader.d.ts +0 -9
- package/common/lib/schema/entity/index.d.ts +0 -3
- package/common/lib/schema/formats.d.ts +0 -8
- package/common/lib/schema/index.d.ts +0 -8
- package/common/lib/schema/schema-registery.service.d.ts +0 -20
- package/common/lib/schema/schema.module.d.ts +0 -12
- package/common/lib/schema/schema.types.d.ts +0 -16
- package/common/lib/schema/widget/index.d.ts +0 -5
- package/common/lib/schema/widget/widget-base.d.ts +0 -45
- package/common/lib/schema/widget/widget-column-renderer.d.ts +0 -34
- package/common/lib/schema/widget/widget-filter-renderer.d.ts +0 -30
- package/common/lib/schema/widget/widget-renderer.d.ts +0 -27
- package/common/lib/schema/widget/widget-token.d.ts +0 -16
- package/common/lib/schema/widgets/avatar/avatar-widget-edit.component.d.ts +0 -16
- package/common/lib/schema/widgets/avatar/avatar-widget-view.component.d.ts +0 -13
- package/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.d.ts +0 -11
- package/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.d.ts +0 -6
- package/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.d.ts +0 -11
- package/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +0 -18
- package/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.d.ts +0 -12
- package/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.d.ts +0 -12
- package/common/lib/schema/widgets/common-widgets.module.d.ts +0 -32
- package/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.d.ts +0 -11
- package/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.d.ts +0 -24
- package/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.d.ts +0 -19
- package/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.d.ts +0 -11
- package/common/lib/schema/widgets/email/email-widget-column.component.d.ts +0 -16
- package/common/lib/schema/widgets/email/email-widget-edit.component.d.ts +0 -26
- package/common/lib/schema/widgets/email/email-widget-view.component.d.ts +0 -16
- package/common/lib/schema/widgets/file/file-widget-column.component.d.ts +0 -8
- package/common/lib/schema/widgets/file/file-widget-edit.component.d.ts +0 -17
- package/common/lib/schema/widgets/file/file-widget-filter.component.d.ts +0 -6
- package/common/lib/schema/widgets/file/file-widget-view.component.d.ts +0 -17
- package/common/lib/schema/widgets/gallery/gallery-widget-edit.component.d.ts +0 -15
- package/common/lib/schema/widgets/gallery/gallery-widget-filter.component.d.ts +0 -6
- package/common/lib/schema/widgets/gallery/gallery-widget-types.d.ts +0 -10
- package/common/lib/schema/widgets/gallery/gallery-widget-view.component.d.ts +0 -16
- package/common/lib/schema/widgets/index.d.ts +0 -1
- package/common/lib/schema/widgets/lookup/lookup-widget-column.component.d.ts +0 -17
- package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +0 -18
- package/common/lib/schema/widgets/lookup/lookup-widget-filter.component.d.ts +0 -17
- package/common/lib/schema/widgets/lookup/lookup-widget-view.component.d.ts +0 -18
- package/common/lib/schema/widgets/map/map-widget-edit.component.d.ts +0 -15
- package/common/lib/schema/widgets/map/map-widget-view.component.d.ts +0 -17
- package/common/lib/schema/widgets/messenger/messenger-widget-column.component.d.ts +0 -15
- package/common/lib/schema/widgets/messenger/messenger-widget-edit.component.d.ts +0 -14
- package/common/lib/schema/widgets/messenger/messenger-widget-view.component.d.ts +0 -17
- package/common/lib/schema/widgets/number/number-widget-edit.component.d.ts +0 -7
- package/common/lib/schema/widgets/number/number-widget-view.component.d.ts +0 -8
- package/common/lib/schema/widgets/password/change-password.component.d.ts +0 -16
- package/common/lib/schema/widgets/password/password-widget-column.component.d.ts +0 -14
- package/common/lib/schema/widgets/password/password-widget-edit.component.d.ts +0 -6
- package/common/lib/schema/widgets/password/password-widget-view.component.d.ts +0 -18
- package/common/lib/schema/widgets/phone/phone-widget-column.component.d.ts +0 -15
- package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +0 -29
- package/common/lib/schema/widgets/phone/phone-widget-view.component.d.ts +0 -18
- package/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.d.ts +0 -11
- package/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.d.ts +0 -33
- package/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.d.ts +0 -10
- package/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.d.ts +0 -16
- package/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.d.ts +0 -12
- package/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.d.ts +0 -9
- package/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.d.ts +0 -15
- package/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.d.ts +0 -19
- package/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.d.ts +0 -8
- package/common/lib/schema/widgets/text/largetext-widget-edit.component.d.ts +0 -6
- package/common/lib/schema/widgets/text/text-widget-column.component.d.ts +0 -12
- package/common/lib/schema/widgets/text/text-widget-edit.component.d.ts +0 -21
- package/common/lib/schema/widgets/text/text-widget-view.component.d.ts +0 -11
- package/common/lib/schema/widgets/toggle/toggle-widget-column.component.d.ts +0 -11
- package/common/lib/schema/widgets/toggle/toggle-widget-edit.component.d.ts +0 -6
- package/common/lib/schema/widgets/toggle/toggle-widget-view.component.d.ts +0 -11
- package/fesm2022/acorex-platform-common-avatar-widget-edit.component-syRKKn21.mjs +0 -166
- package/fesm2022/acorex-platform-common-avatar-widget-edit.component-syRKKn21.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-DSju_bgg.mjs +0 -64
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-DSju_bgg.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-aaKT0FyC.mjs +0 -155
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-aaKT0FyC.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-change-password.component-DFoC5nP2.mjs +0 -176
- package/fesm2022/acorex-platform-common-change-password.component-DFoC5nP2.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-checkbox-widget-column.component-DZxykkVr.mjs +0 -55
- package/fesm2022/acorex-platform-common-checkbox-widget-column.component-DZxykkVr.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-CNmYVpMu.mjs +0 -24
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-CNmYVpMu.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-checkbox-widget-view.component-3XLnJx9A.mjs +0 -49
- package/fesm2022/acorex-platform-common-checkbox-widget-view.component-3XLnJx9A.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-CKaMC189.mjs +0 -46
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-CKaMC189.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-B50J-bwp.mjs +0 -178
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-B50J-bwp.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-CTV2a3c0.mjs +0 -286
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-CTV2a3c0.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-view.component-C7hmUXLz.mjs +0 -73
- package/fesm2022/acorex-platform-common-dateTime-widget-view.component-C7hmUXLz.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-column.component-BPoSZTqM.mjs +0 -75
- package/fesm2022/acorex-platform-common-email-widget-column.component-BPoSZTqM.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-edit.component-aLPGOG3r.mjs +0 -249
- package/fesm2022/acorex-platform-common-email-widget-edit.component-aLPGOG3r.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-view.component-dMByK5bc.mjs +0 -109
- package/fesm2022/acorex-platform-common-email-widget-view.component-dMByK5bc.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-column.component-Dafc2zLc.mjs +0 -29
- package/fesm2022/acorex-platform-common-file-widget-column.component-Dafc2zLc.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-edit.component-C31kfJSw.mjs +0 -202
- package/fesm2022/acorex-platform-common-file-widget-edit.component-C31kfJSw.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-filter.component-BNCcBun4.mjs +0 -29
- package/fesm2022/acorex-platform-common-file-widget-filter.component-BNCcBun4.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-view.component-T3r6musY.mjs +0 -155
- package/fesm2022/acorex-platform-common-file-widget-view.component-T3r6musY.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-edit.component-zBsaBkzu.mjs +0 -191
- package/fesm2022/acorex-platform-common-gallery-widget-edit.component-zBsaBkzu.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-BhLYuB6p.mjs +0 -29
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-BhLYuB6p.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-view.component-Dxf4Oj1E.mjs +0 -175
- package/fesm2022/acorex-platform-common-gallery-widget-view.component-Dxf4Oj1E.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BYMIaLCI.mjs +0 -38
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BYMIaLCI.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-BB0Mdx2u.mjs +0 -45
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-BB0Mdx2u.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-DUPsS_ZW.mjs +0 -96
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-DUPsS_ZW.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-CLyl94AJ.mjs +0 -161
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-CLyl94AJ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-CJijszjn.mjs +0 -56
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-CJijszjn.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-edit.component-BTHORlG5.mjs +0 -94
- package/fesm2022/acorex-platform-common-map-widget-edit.component-BTHORlG5.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-view.component-CQzW1ZeD.mjs +0 -66
- package/fesm2022/acorex-platform-common-map-widget-view.component-CQzW1ZeD.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-Brm4vLGA.mjs +0 -73
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-Brm4vLGA.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-CJHvut2C.mjs +0 -138
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-CJHvut2C.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-view.component-DVylp_2t.mjs +0 -133
- package/fesm2022/acorex-platform-common-messenger-widget-view.component-DVylp_2t.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-edit.component-DZf-n-yr.mjs +0 -48
- package/fesm2022/acorex-platform-common-number-widget-edit.component-DZf-n-yr.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-filter.component-womVAhSr.mjs +0 -137
- package/fesm2022/acorex-platform-common-number-widget-filter.component-womVAhSr.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-view.component-L2pxAqqz.mjs +0 -33
- package/fesm2022/acorex-platform-common-number-widget-view.component-L2pxAqqz.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-column.component-3ubqJk-d.mjs +0 -68
- package/fesm2022/acorex-platform-common-password-widget-column.component-3ubqJk-d.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-edit.component-BokyEDfK.mjs +0 -43
- package/fesm2022/acorex-platform-common-password-widget-edit.component-BokyEDfK.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-view.component-BuFoE2fz.mjs +0 -110
- package/fesm2022/acorex-platform-common-password-widget-view.component-BuFoE2fz.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-phone-widget-column.component-79Me_VNP.mjs +0 -93
- package/fesm2022/acorex-platform-common-phone-widget-column.component-79Me_VNP.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-CIayMoT1.mjs +0 -249
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-CIayMoT1.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-phone-widget-view.component-B1Xu_rxC.mjs +0 -124
- package/fesm2022/acorex-platform-common-phone-widget-view.component-B1Xu_rxC.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-column.component-Dbn3JMOu.mjs +0 -63
- package/fesm2022/acorex-platform-common-rich-text-widget-column.component-Dbn3JMOu.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CHT12edE.mjs +0 -69
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CHT12edE.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-qvUpx39D.mjs +0 -37
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-qvUpx39D.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-column.component-E7yRTViz.mjs +0 -47
- package/fesm2022/acorex-platform-common-selection-list-widget-column.component-E7yRTViz.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-B8dmJ_jJ.mjs +0 -55
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-B8dmJ_jJ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-i4syx0Bj.mjs +0 -47
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-i4syx0Bj.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-B7disiIF.mjs +0 -47
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-B7disiIF.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-CMoiIhgJ.mjs +0 -130
- package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-CMoiIhgJ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-HfArY6VQ.mjs +0 -43
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-HfArY6VQ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-string-widget-filter.component-CDssxMLR.mjs +0 -127
- package/fesm2022/acorex-platform-common-string-widget-filter.component-CDssxMLR.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-text-widget-column.component-7yp4qqIb.mjs +0 -49
- package/fesm2022/acorex-platform-common-text-widget-column.component-7yp4qqIb.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-text-widget-edit.component-5koh5Aws.mjs +0 -162
- package/fesm2022/acorex-platform-common-text-widget-edit.component-5koh5Aws.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-text-widget-view.component-BH0LTD80.mjs +0 -69
- package/fesm2022/acorex-platform-common-text-widget-view.component-BH0LTD80.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-column.component-C5dMjerm.mjs +0 -59
- package/fesm2022/acorex-platform-common-toggle-widget-column.component-C5dMjerm.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-JOnGMn-9.mjs +0 -27
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-JOnGMn-9.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-view.component-DguoIz_c.mjs +0 -51
- package/fesm2022/acorex-platform-common-toggle-widget-view.component-DguoIz_c.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-1Yw4H3CW.mjs +0 -121
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-1Yw4H3CW.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-import-view.component-BIHTWoXR.mjs +0 -91
- package/fesm2022/acorex-platform-layouts-entity-import-view.component-BIHTWoXR.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Cb2Yvtav.mjs +0 -96
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Cb2Yvtav.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts.mjs +0 -2483
- package/fesm2022/acorex-platform-layouts.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-xlBBA76O.mjs.map +0 -1
- package/layouts/README.md +0 -3
- package/layouts/index.d.ts +0 -2
- package/layouts/lib/admin/admin.module.d.ts +0 -11
- package/layouts/lib/admin/admin.routes.d.ts +0 -2
- package/layouts/lib/admin/custom-reuse.strategy.d.ts +0 -8
- package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.d.ts +0 -20
- package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.d.ts +0 -54
- package/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.d.ts +0 -48
- package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +0 -83
- package/layouts/lib/admin/entity-layout/entity-details-view/index.d.ts +0 -2
- package/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.d.ts +0 -27
- package/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.d.ts +0 -46
- package/layouts/lib/admin/entity-layout/entity-list-view/components/index.d.ts +0 -5
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.d.ts +0 -20
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.d.ts +0 -33
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.d.ts +0 -18
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.d.ts +0 -21
- package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +0 -79
- package/layouts/lib/admin/entity-layout/entity-list-view/index.d.ts +0 -4
- package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +0 -113
- package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +0 -42
- package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.d.ts +0 -25
- package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.d.ts +0 -31
- package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +0 -24
- package/layouts/lib/admin/entity-layout/entity-quick-view/index.d.ts +0 -1
- package/layouts/lib/admin/entity-layout/index.d.ts +0 -4
- package/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.d.ts +0 -31
- package/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.d.ts +0 -33
- package/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.d.ts +0 -27
- package/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.d.ts +0 -32
- package/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.d.ts +0 -12
- package/layouts/lib/admin/entity-layout/workflows/show-details.workflow.d.ts +0 -10
- package/layouts/lib/admin/entity-layout/workflows/show-list.workflow.d.ts +0 -10
- package/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.d.ts +0 -12
- package/layouts/lib/admin/entity.resolver.d.ts +0 -4
- package/layouts/lib/admin/index.d.ts +0 -5
- package/layouts/lib/layout.module.d.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-widgets.mjs","sources":["../../../../libs/platform/widgets/src/lib/widgets/actions/button/button-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/properties/groups.ts","../../../../libs/platform/widgets/src/lib/properties/data-source.props.ts","../../../../libs/platform/widgets/src/lib/properties/general.props.ts","../../../../libs/platform/widgets/src/lib/properties/editors.props.ts","../../../../libs/platform/widgets/src/lib/properties/layout.props.ts","../../../../libs/platform/widgets/src/lib/properties/table-column.props.ts","../../../../libs/platform/widgets/src/lib/widgets/actions/button/button-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/checkbox/checkbox-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/checkbox/checkbox-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/popup-component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget.service.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/map/map-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/map/map-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/map/map-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/block/block-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/block/block-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/block/block-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/page/page-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/page/page-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/repeater/repeater-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/repeater/repeater-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/repeater/repeater-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/repeater/repeater-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/repeater/repeater-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/property-editor-helper.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/property-editor.type.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/border/border-widget-editor.component.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/border/border-widget-editor.component.html","../../../../libs/platform/widgets/src/lib/widgets/property-editors/border/border-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/flex-options/flex-options-widget.type.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.html","../../../../libs/platform/widgets/src/lib/widgets/property-editors/flex-options/flex-options-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/spacing/spacing-widget-editor.component.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/spacing/spacing-widget-editor.component.html","../../../../libs/platform/widgets/src/lib/widgets/property-editors/spacing/spacing-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/qrcode/qrcode-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/qrcode/qrcode-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/boolean-filter/boolean-filter-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/boolean-filter/boolean-filter-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/date-time-filter/date-time-filter-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/date-time-filter/date-time-filter-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/operations/operations.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/operations/operations.component.html","../../../../libs/platform/widgets/src/lib/widgets/filters/number-filter/number-filter-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/number-filter/number-filter-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/select-filter/select-filter-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/select-filter/select-filter-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/string-filter/string-filter-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/string-filter/string-filter-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/document/document-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/form-field/form-field-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/form-field/form-field-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/form-field/form-field-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid/grid-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid/grid-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid/grid-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid/grid-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-item/grid-item-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-item/grid-item-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-item/grid-item-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-item/grid-item-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-row/grid-row-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-row/grid-row-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-row/grid-row-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-row/grid-row-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/text-block/text-block-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/text-block/text-block-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets.module.ts","../../../../libs/platform/widgets/src/acorex-platform-widgets.ts"],"sourcesContent":["import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXClickEvent, AXStyleColorType, AXStyleLookType } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPLayoutElementAPI, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, EventEmitter } from '@angular/core';\n@Component({\n selector: 'axp-button-widget',\n template: `\n <ax-button [disabled]=\"disabled()\" [color]=\"color()\" [look]=\"look()\" [text]=\"text()\">\n @if(icon() && text()){\n <ax-prefix\n ><ax-icon> <i class=\"fa-solid\" [class]=\"icon()\"></i> </ax-icon\n ></ax-prefix>\n } @else if(icon() && !text()) {\n <ax-icon> <i class=\"fa-solid\" [class]=\"icon()\"></i> </ax-icon>\n } @if(loading()){\n <ax-loading> </ax-loading>\n }\n </ax-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXLoadingModule, AXDecoratorModule, AXBadgeModule]\n})\nexport class AXPButtonWidgetViewComponent extends AXPWidgetComponent<any> {\n protected disabled = computed<boolean>(() => this.options()['disabled']);\n protected color = computed<AXStyleColorType>(() => this.options()['color']?.id ?? 'primary');\n protected look = computed<AXStyleLookType>(() => this.options()['look']?.id ?? 'solid');\n protected text = computed<string | undefined>(() => this.options()['text']);\n protected loading = computed<boolean>(() => this.options()['loading'] ?? false);\n protected icon = computed<string | undefined>(() => this.options()['icon']);\n\n public onClick = new EventEmitter<AXClickEvent>();\n\n protected handleClick(e: AXClickEvent) {\n this.onClick.emit(e);\n }\n\n override api(): AXPLayoutElementAPI {\n return {\n onClick: this.onClick,\n };\n }\n}\n","import { AXPWidgetPropertyGroup } from \"@acorex/platform/layout/builder\"\n\nexport const AXP_STYLING_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: \"styling\",\n order: 1,\n title: \"Styling\"\n}\n\nexport const AXP_DATA_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: \"data\",\n order: 3,\n title: \"Data\"\n}\n\nexport const AXP_BEHAVIOR_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: \"behavior\",\n order: 2,\n title: \"Behavior\"\n}\n\n\nexport const AXP_WIDGET_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: \"widget\",\n order: 0,\n title: \"Widget\"\n}","import { AXPWidgetProperty, AXPWidgetsCatalog } from \"@acorex/platform/layout/builder\";\nimport { AXP_DATA_PROPERTY_GROUP } from \"./groups\";\n\nexport const AXP_DATA_SOURCE_PROPERTY: AXPWidgetProperty = {\n name: 'dataSource',\n title: 'Data Source',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'object',\n interface: {\n name: 'dataSource',\n path: 'options.dataSource',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: \"{{ methods.getDataSourceNames() }}\",\n hasClearButton: true,\n },\n },\n },\n visible: true,\n};","import { AXPWidgetProperty, AXPWidgetsCatalog, createStringProperty } from '@acorex/platform/layout/builder';\nimport { AXP_STYLING_PROPERTY_GROUP, AXP_WIDGET_PROPERTY_GROUP } from './groups';\n\nexport const AXP_NAME_PROPERTY = createStringProperty({\n name: 'name',\n title: 'Name',\n group: AXP_WIDGET_PROPERTY_GROUP,\n});\n\nexport const AXP_THEME_PROPERTY: AXPWidgetProperty = {\n name: 'theme',\n title: 'Theme',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'default', title: 'Default' },\n interface: {\n name: 'theme',\n path: 'options.theme',\n type: AXPWidgetsCatalog.select,\n options: {\n\n dataSource: [\n {\n id: 'default',\n title: 'Default',\n },\n {\n id: 'light',\n title: 'Light',\n },\n {\n id: 'dark',\n title: 'Dark',\n },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_DIRECTION_PROPERTY: AXPWidgetProperty = {\n name: 'direction',\n title: 'Direction',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'horizontal' },\n interface: {\n name: 'direction',\n path: 'options.direction',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n {\n id: 'horizontal',\n title: 'Horizontal',\n },\n {\n id: 'vertical',\n title: 'Vertical',\n },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_COLOR_PROPERTY: AXPWidgetProperty = {\n name: 'color',\n title: 'Color',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n path: 'options.color',\n options: {\n hasClearButton: true,\n },\n type: AXPWidgetsCatalog.color,\n },\n },\n visible: true,\n};\n\nexport const AXP_FONT_SIZE_PROPERTY: AXPWidgetProperty = {\n name: 'fontSize',\n title: 'Font Size',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: '12px',\n interface: {\n name: 'fontSize',\n path: 'options.fontSize',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_BG_COLOR_PROPERTY: AXPWidgetProperty = {\n name: 'backgroundColor',\n title: 'Background Color',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n path: 'options.backgroundColor',\n options: {\n hasClearButton: true,\n },\n type: AXPWidgetsCatalog.color,\n },\n },\n visible: true,\n};\n","import { AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES } from '@acorex/components/common';\nimport {\n AXPWidgetProperty,\n AXPWidgetsCatalog,\n createBooleanProperty,\n createSelectProperty,\n createStringProperty,\n} from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_DATA_PROPERTY_GROUP, AXP_STYLING_PROPERTY_GROUP } from './groups';\n\nexport const AXP_VALIDATION_PROPERTY: AXPWidgetProperty = {\n name: 'validationRules',\n title: 'Validation Rules',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'array',\n defaultValue: [],\n interface: {\n type: AXPWidgetsCatalog.text,\n path: 'validationRules',\n },\n },\n visible: true,\n};\n\nexport const AXP_CONTENT_PROPERTY = createStringProperty({\n name: 'content',\n title: 'Content',\n path: 'options.content',\n group: AXP_DATA_PROPERTY_GROUP,\n});\n\nexport const AXP_PLACEHOLDER_PROPERTY = createStringProperty({\n name: 'placeholder',\n title: 'Placeholder',\n path: 'options.placeholder',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_DATA_PATH_PROPERTY = createStringProperty({\n name: 'path',\n title: 'Data Path',\n group: AXP_DATA_PROPERTY_GROUP,\n});\n\nexport const AXP_DISABLED_PROPERTY = createBooleanProperty({\n name: 'disabled',\n title: 'Disabled',\n path: 'options.disabled',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_READONLY_PROPERTY = createBooleanProperty({\n name: 'readonly',\n title: 'Readonly',\n path: 'options.readonly',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_ALLOW_MULTIPLE_PROPERTY = createBooleanProperty({\n name: 'multiple',\n title: 'Multiple',\n path: 'options.multiple',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_HAS_LABEL_PROPERTY = createBooleanProperty({\n name: 'hasLabel',\n title: 'Label',\n path: 'options.hasLabel',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n});\n\nexport const AXP_HAS_ICON_PROPERTY = createBooleanProperty({\n name: 'hasIcon',\n title: 'Icon',\n path: 'options.hasIcon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n});\n\nexport const AXP_ICON_PROPERTY = createStringProperty({\n name: 'icon',\n title: 'Icon Name',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n path: 'options.icon',\n});\n\nexport const AXP_IS_LOADING_PROPERTY = createBooleanProperty({\n name: 'loading',\n title: 'Is Loading',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n path: 'options.loading',\n});\n\nexport const AXP_HAS_CLEAR_BUTTON_PROPERTY = createBooleanProperty({\n name: 'hasClearButton',\n title: 'Clear Button',\n path: 'options.hasClearButton',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: false,\n});\n\nexport const AXP_ALLOW_SEARCH_PROPERTY = createBooleanProperty({\n name: 'allowSearch',\n title: 'Allow Search',\n path: 'options.allowSearch',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: false,\n});\n\nexport const AXP_HAS_COPY_ICON_PROPERTY = createBooleanProperty({\n name: 'hasCopyIcon',\n title: 'Copy Icon',\n path: 'options.hasCopyIcon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n});\n\nexport const AXP_HAS_EYE_ICON_PROPERTY = createBooleanProperty({\n name: 'hasEyeIcon',\n title: 'Eye Icon',\n path: 'options.hasEyeIcon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n});\n\nexport const AXP_DOWNLOADABLE_PROPERTY = createBooleanProperty({\n name: 'downloadable',\n title: 'Downloadable',\n path: 'options.downloadable',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n});\n\n// Converted with createStringProperty\nexport const AXP_TRULY_TEXT_PROPERTY = createStringProperty({\n name: 'trulyText',\n title: 'Truly Text',\n path: 'options.trulyText',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_FALSY_TEXT_PROPERTY = createStringProperty({\n name: 'falsyText',\n title: 'Falsy Text',\n path: 'options.falsyText',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_TEXT_PROPERTY = createStringProperty({\n name: 'text',\n title: 'Text',\n path: 'options.text',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_TITLE_PROPERTY = createStringProperty({\n name: 'title',\n title: 'Title',\n path: 'options.title',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_LABEL_PROPERTY = createStringProperty({\n name: 'label',\n title: 'Label',\n path: 'options.label',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: 'Sample Label',\n});\n\nexport const AXP_VALUE_FIELD_PROPERTY = createStringProperty({\n name: 'valueField',\n title: 'Value Field',\n path: 'options.valueField',\n group: AXP_DATA_PROPERTY_GROUP,\n defaultValue: \"id\",\n});\n\nexport const AXP_TEXT_FIELD_PROPERTY = createStringProperty({\n name: 'textField',\n title: 'Text Field',\n path: 'options.textField',\n group: AXP_DATA_PROPERTY_GROUP,\n defaultValue: \"title\",\n});\n\nexport const AXP_DESCRIPTION_PROPERTY = createStringProperty({\n name: 'description',\n title: 'Description',\n path: 'options.description',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_STYLE_COLOR_PROPERTY = createSelectProperty({\n name: 'color',\n title: 'Color',\n dataSource: AX_STYLE_COLOR_TYPES,\n defaultValue: 'primary',\n path: 'options.color',\n group: AXP_STYLING_PROPERTY_GROUP,\n});\n\nexport const AXP_STYLE_LOOK_PROPERTY = createSelectProperty({\n name: 'look',\n title: 'Look',\n dataSource: AX_STYLE_LOOK_TYPES,\n defaultValue: 'solid',\n path: 'options.look',\n group: AXP_STYLING_PROPERTY_GROUP,\n});\n\nexport const AXP_DATE_FORMAT_PROPERTY = createSelectProperty({\n name: 'format',\n title: 'Format',\n dataSource: [\n { id: 'date', title: 'Date' },\n { id: 'datetime', title: 'DateTime' },\n { id: 'time', title: 'Time' },\n ],\n defaultValue: { id: 'date', title: 'Date' },\n path: 'options.format',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport function booleanDefaultProperty(defaultValue: boolean = false): AXPWidgetProperty {\n return {\n name: 'defaultValue',\n title: 'Default Value',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: defaultValue,\n interface: {\n name: 'defaultValue',\n path: 'defaultValue',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n };\n}\n\nexport function plainTextDefaultProperty(): AXPWidgetProperty {\n return {\n name: 'defaultValue',\n title: 'Default Value',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'defaultValue',\n path: 'defaultValue',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n };\n}\n\nexport function largeTextDefaultProperty(): AXPWidgetProperty {\n return {\n name: 'defaultValue',\n title: 'Default Value',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'defaultValue',\n path: 'defaultValue',\n type: AXPWidgetsCatalog.largeText,\n },\n },\n visible: true,\n };\n}\n\nexport function numberDefaultProperty(): AXPWidgetProperty {\n return {\n name: 'defaultValue',\n title: 'Default Value',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n interface: {\n name: 'defaultValue',\n path: 'defaultValue',\n type: AXPWidgetsCatalog.number,\n },\n },\n visible: true,\n };\n}\n\nexport function numberMinValueProperty(value?: number | null): AXPWidgetProperty {\n return {\n name: 'minValue',\n title: 'Min Value',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n order: 9,\n schema: {\n dataType: 'number',\n defaultValue: value,\n interface: {\n name: 'minValue',\n path: 'options.minValue',\n type: AXPWidgetsCatalog.number,\n },\n },\n visible: true,\n };\n}\n\nexport function numberMaxValueProperty(value?: number | null): AXPWidgetProperty {\n return {\n name: 'maxValue',\n title: 'Max Value',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n order: 10,\n schema: {\n dataType: 'number',\n defaultValue: value,\n interface: {\n name: 'maxValue',\n path: 'options.maxValue',\n type: AXPWidgetsCatalog.number,\n },\n },\n visible: true,\n };\n}\n","import {\n AXPWidgetProperty,\n AXPWidgetPropertyGroup,\n AXPWidgetsCatalog,\n cloneProperty,\n} from '@acorex/platform/layout/builder';\n\nexport const AXP_LAYOUT_GRID_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: 'grid',\n order: 1,\n title: 'Grid Layout',\n};\n\nexport const AXP_LAYOUT_FLEX_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: 'flex',\n order: 1,\n title: 'Flex Layout',\n};\n\nexport const AXP_BOX_MODEL_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: 'box',\n order: 1,\n title: 'BOX MODEL',\n};\n\nexport const AXP_LAYOUT_GAP_PROPERTY: AXPWidgetProperty = {\n name: 'gap',\n title: 'Gap',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n defaultValue: 2,\n interface: {\n name: 'gap',\n path: 'options.gap',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 0,\n maxValue: 12,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_COL_SPAN_PROPERTY: AXPWidgetProperty = {\n name: 'colSpan',\n title: 'Column Span',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n interface: {\n name: 'colSpan',\n path: 'options.colSpan',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 0,\n maxValue: 12,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_COL_START_PROPERTY: AXPWidgetProperty = {\n name: 'colStart',\n title: 'Column Start',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n interface: {\n name: 'colStart',\n path: 'options.colStart',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 1,\n maxValue: 13,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_COL_END_PROPERTY: AXPWidgetProperty = {\n name: 'colEnd',\n title: 'Column End',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n interface: {\n name: 'colEnd',\n path: 'options.colEnd',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 1,\n maxValue: 13,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_COLUMNS_PROPERTY: AXPWidgetProperty = {\n name: 'cols',\n title: 'Columns',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n defaultValue: 1,\n interface: {\n name: 'cols',\n path: 'options.cols',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 1,\n maxValue: 12,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_ROWS_PROPERTY: AXPWidgetProperty = {\n name: 'rows',\n title: 'Rows',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n defaultValue: 1,\n interface: {\n name: 'rows',\n path: 'options.rows',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 1,\n maxValue: 100,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_FLEX_JUSTIFY_PROPERTY: AXPWidgetProperty = {\n name: 'flexJustifyContent',\n title: 'Justify Content',\n group: AXP_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'ax-justify-normal' },\n interface: {\n name: 'flexJustifyContent',\n path: 'options.flexJustifyContent',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'ax-justify-normal', title: 'Normal' },\n { id: 'ax-justify-start', title: 'Start' },\n { id: 'ax-justify-end', title: 'End' },\n { id: 'ax-justify-center', title: 'Center' },\n { id: 'ax-justify-between', title: 'Between' },\n { id: 'ax-justify-around', title: 'Around' },\n { id: 'ax-justify-evenly', title: 'Evenly' },\n { id: 'ax-justify-stretch', title: 'Stretch' },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_FLEX_ALIGN_PROPERTY: AXPWidgetProperty = {\n name: 'flexAlignItems',\n title: 'Align Items',\n group: AXP_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'ax-items-start' },\n interface: {\n name: 'flexAlignItems',\n path: 'options.flexAlignItems',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'ax-items-start', title: 'Start' },\n { id: 'ax-items-end', title: 'End' },\n { id: 'ax-items-center', title: 'Center' },\n { id: 'ax-items-baseline', title: 'Baseline' },\n { id: 'ax-items-stretch', title: 'Stretch' },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_FLEX_DIRECTION_PROPERTY: AXPWidgetProperty = {\n name: 'flexDirection',\n title: 'Direction',\n group: AXP_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'ax-flex-row' },\n interface: {\n name: 'flexDirection',\n path: 'options.flexDirection',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'ax-flex-row', title: 'Row' },\n { id: 'ax-flex-row-reverse', title: 'Row Reverse' },\n { id: 'ax-flex-col', title: 'Column' },\n { id: 'ax-flex-col-reverse', title: 'Column Reverse' },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_FLEX_WRAP_PROPERTY: AXPWidgetProperty = {\n name: 'flexWrap',\n title: 'Wrap',\n group: AXP_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'ax-flex-nowrap' },\n interface: {\n name: 'flexWrap',\n path: 'options.flexWrap',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'ax-flex-nowrap', title: 'No Wrap' },\n { id: 'ax-flex-wrap', title: 'Wrap' },\n { id: 'ax-flex-wrap-reverse', title: 'Wrap Reverse' },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_ALIGN_CONTENT_PROPERTY: AXPWidgetProperty = {\n name: 'flexAlignContent',\n title: 'Align Content',\n group: AXP_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'ax-content-start' },\n interface: {\n name: 'flexAlignContent',\n path: 'options.flexAlignContent',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'ax-content-start', title: 'Start' },\n { id: 'ax-content-end', title: 'End' },\n { id: 'ax-content-center', title: 'Center' },\n { id: 'ax-content-between', title: 'Between' },\n { id: 'ax-content-around', title: 'Around' },\n { id: 'ax-content-stretch', title: 'Stretch' },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_GRID_PROPERTIES = [\n AXP_LAYOUT_GAP_PROPERTY,\n AXP_LAYOUT_COLUMNS_PROPERTY,\n AXP_LAYOUT_ROWS_PROPERTY,\n];\n\nexport const AXP_LAYOUT_GRID_ROW_PROPERTIES = [\n AXP_LAYOUT_GAP_PROPERTY,\n cloneProperty(AXP_LAYOUT_COLUMNS_PROPERTY, { schema: { defaultValue: 12 } }),\n];\n\nexport const AXP_LAYOUT_GRID_ITEM_PROPERTIES = [\n AXP_LAYOUT_COL_SPAN_PROPERTY,\n AXP_LAYOUT_COL_START_PROPERTY,\n AXP_LAYOUT_COL_END_PROPERTY,\n];\n\nexport const AXP_LAYOUT_FLEX_PROPERTIES = [\n AXP_LAYOUT_FLEX_DIRECTION_PROPERTY,\n AXP_LAYOUT_FLEX_JUSTIFY_PROPERTY,\n AXP_LAYOUT_FLEX_ALIGN_PROPERTY,\n AXP_LAYOUT_GAP_PROPERTY,\n AXP_LAYOUT_FLEX_WRAP_PROPERTY,\n];\n\nexport const AXP_LAYOUT_SPACING_PROPERTY: AXPWidgetProperty = {\n name: 'spacing',\n title: 'Spacing',\n group: AXP_BOX_MODEL_PROPERTY_GROUP,\n schema: {\n dataType: 'object',\n defaultValue: {\n margin: '0px 0px 0px 0px',\n padding: '0px 0px 0px 0px',\n },\n interface: {\n name: 'spacing',\n path: 'options.spacing',\n type: AXPWidgetsCatalog.spacing,\n options: {},\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_BORDER_PROPERTY: AXPWidgetProperty = {\n name: 'border',\n title: 'Border',\n group: AXP_BOX_MODEL_PROPERTY_GROUP,\n schema: {\n dataType: 'object',\n defaultValue: {\n width: '0px 0px 0px 0px',\n radius: '0px 0px 0px 0px',\n color: '#000000 #000000 #000000 #000000',\n style: 'none none none none',\n },\n interface: {\n name: 'border',\n path: 'options.border',\n type: AXPWidgetsCatalog.border,\n options: {},\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_FLEX_PROPERTY: AXPWidgetProperty = {\n name: 'flexOptions',\n title: 'Flex Options',\n group: AXP_BOX_MODEL_PROPERTY_GROUP,\n schema: {\n dataType: 'object',\n interface: {\n name: 'flexOptions',\n path: 'options.flexOptions',\n type: AXPWidgetsCatalog.flexOptions,\n options: {},\n },\n },\n visible: true,\n};\n","import { AXPWidgetProperty, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXP_STYLING_PROPERTY_GROUP } from './groups';\n\nexport const AXP_TABLE_COLUMN_WIDTH_PROPERTY: AXPWidgetProperty = {\n name: 'width',\n title: 'Width',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: '300px',\n interface: {\n name: 'width',\n path: 'options.width',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: false,\n};\nexport const AXP_TABLE_COLUMN_HEIGHT_PROPERTY: AXPWidgetProperty = {\n name: 'height',\n title: 'Height',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: '300px',\n interface: {\n name: 'height',\n path: 'options.height',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: false,\n};\n","import { AXP_WIDGETS_ACTION_GROUP, AXPWidgetConfig, cloneProperty } from '@acorex/platform/layout/builder';\nimport { AXP_DISABLED_PROPERTY, AXP_ICON_PROPERTY, AXP_IS_LOADING_PROPERTY, AXP_NAME_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_TEXT_PROPERTY } from '../../../properties';\n\nexport const AXPButtonWidget: AXPWidgetConfig = {\n name: 'button-action',\n title: 'Button',\n description: 'Triggers customizable actions',\n icon: 'fa-solid fa-play',\n group: AXP_WIDGETS_ACTION_GROUP,\n type: 'action',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DISABLED_PROPERTY,\n cloneProperty(AXP_TEXT_PROPERTY, { schema: { defaultValue: 'Click Here' } }),\n AXP_STYLE_COLOR_PROPERTY,\n AXP_STYLE_LOOK_PROPERTY,\n AXP_ICON_PROPERTY,\n AXP_IS_LOADING_PROPERTY\n ],\n components: {\n designer: {\n component: () => import('./button-widget-designer.component').then((c) => c.AXPButtonWidgetDesignerComponent),\n },\n view: {\n component: () => import('./button-widget-view.component').then((c) => c.AXPButtonWidgetViewComponent),\n },\n edit: {\n component: () => import('./button-widget-view.component').then((c) => c.AXPButtonWidgetViewComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n buttonAction: 'button-action';\n }\n}\n","import { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-checkbox-widget-edit',\n template: `\n <ax-check-box\n [ngModel]=\"this.getValue()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (onValueChanged)=\"handleValueChanged($event)\"\n >\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n } @if(label()) {\n <ax-label>{{ label() }}</ax-label>\n }\n </ax-check-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXCheckBoxModule, FormsModule, AXFormModule, AXLabelModule, AXValidationModule]\n})\nexport class AXPCheckBoxWidgetEditComponent extends AXPWidgetComponent<boolean | null> {\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected readonly = computed<boolean>(() => this.options()['readonly'] as boolean);\n protected label = computed<string>(() => this.options()['label'] as string);\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_LABEL_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n booleanDefaultProperty,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPCheckBoxWidget: AXPWidgetConfig<AXPCheckBoxWidgetConfigType> = {\n name: 'checkbox-editor',\n title: 'Check Box',\n group: AXP_WIDGETS_EDITOR_GROUP,\n description: 'Selects multiple options via checkboxes',\n icon: 'fa-solid fa-square-check',\n defaultFilterWidgetName: 'boolean-filter',\n type: 'editor',\n options: {\n needLabel: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_LABEL_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n booleanDefaultProperty(),\n ],\n components: {\n designer: {\n component: () => import('./checkbox-widget-designer.component').then((c) => c.AXPCheckBoxWidgetDesignerComponent),\n },\n view: {\n component: () => import('./checkbox-widget-view.component').then((c) => c.AXPCheckBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./checkbox-widget-edit.component').then((c) => c.AXPCheckBoxWidgetEditComponent),\n },\n print: {\n component: () => import('./checkbox-widget-edit.component').then((c) => c.AXPCheckBoxWidgetEditComponent),\n },\n column: {\n component: () => import('./checkbox-widget-column.component').then((c) => c.AXPCheckBoxWidgetColumnComponent),\n },\n filter: {\n component: () => import('./checkbox-widget-edit.component').then((c) => c.AXPCheckBoxWidgetEditComponent),\n },\n },\n};\n\nexport type AXPCheckBoxWidgetConfigType = {\n type: 'editor';\n};\n","import { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { AXPContactDataType } from './contact.type';\n@Component({\n template: ` <div class=\"ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit\">\n <span class=\"ax-truncate\" [title]=\"getText('line')\">{{ getText('comma') }}</span>\n <i\n (click)=\"clipboard.copy('Contact', rawValue)\"\n class=\"fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible\"\n ></i>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPContactWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected clipboard = inject(AXPClipBoardService);\n\n protected getText(seperator: 'line' | 'comma') {\n const sep = seperator === 'comma' ? ',' : '\\\\n';\n if (typeof this.rawValue === 'string') return this.rawValue;\n else {\n return this.rawValue?.map((item: AXPContactDataType) => this.itemToValue(item)).join(sep);\n }\n }\n private itemToValue = (item: AXPContactDataType | string): string => {\n if (typeof item === 'object') return item?.value ?? '';\n else return item;\n };\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'popup-component',\n template: `\n <ax-header>\n <ax-suffix> </ax-suffix>\n </ax-header>\n <div class=\"ax-p-6\">\n <ax-form #form>\n <ax-form-field>\n <ax-text-box [(ngModel)]=\"value\" type=\"text\" name=\"lable\" placeholder=\"Enter Lable ...\" class=\"ax-w-10/12\">\n <ax-validation-rule message=\"{{ 'validation.messages.required' | translate | async }}\" rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n </ax-form>\n </div>\n <ax-footer>\n <ax-suffix>\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleClose(form)\"></ax-button>\n </ax-suffix>\n </ax-footer>\n `,\n imports: [AXTranslationModule, CommonModule, AXTextBoxModule, AXDecoratorModule, AXButtonModule, FormsModule, AXValidationModule, AXFormModule]\n})\nexport class popupComponent extends AXBasePageComponent {\n protected value!: string;\n constructor() {\n super();\n }\n\n protected handleClose(form: AXFormComponent) {\n form.validate().then((res) => {\n if (res.result) {\n this.close({ value: this.value });\n }\n });\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXPopupConfig, AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPContactDataType } from './contact.type';\nimport { popupComponent } from './popup-component';\n\n@Component({\n template: `<div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-auto-cols-max\t\">\n @for(item of internalValue();track $index) {\n <ax-text-box\n [ngModel]=\"item.value\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n type=\"text\"\n name=\"value\"\n [placeholder]=\"placeholder()\"\n [ngClass]=\"generateClasses('value')\"\n [disabled]=\"disabled()\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n } @if(type()==='email'){\n <ax-validation-rule rule=\"email\"></ax-validation-rule>\n }\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n @if(hasLabel()){\n <ax-select-box\n [dataSource]=\"dataSource\"\n [ngModel]=\"item.label\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n placeholder=\"{{ 'selectbox.popover.title' | translate | async }}\"\n name=\"label\"\n [ngClass]=\"generateClasses('label')\"\n >\n </ax-select-box>\n } @if(multiple()){\n <ax-button\n [disabled]=\"disabled()\"\n look=\"twotone\"\n color=\"danger\"\n (onClick)=\"deleteItem($index)\"\n class=\"ax-col-start-12 ax-col-end-13 ax-justify-self-end\"\n >\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n } } @if(multiple()){\n\n <ax-button\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n [disabled]=\"disabled()\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 ax-col-end-13 sm:ax-col-start-10 md:ax-col-start-9 lg:ax-col-start-10 xl:ax-col-start-10 \"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXFormModule,\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXTextBoxModule,\n AXValidationModule,\n AXTranslationModule,\n ],\n})\nexport class AXPContactWidgetEditComponent extends AXPWidgetComponent<\n string | string[] | AXPContactDataType | AXPContactDataType[] | undefined\n> {\n //properties\n protected type = computed<'link' | 'phone' | 'email'>(\n () => (this.options()['type']?.id as 'link' | 'phone' | 'email') ?? 'email'\n );\n protected labelList = computed<string[]>(() => this.options()['labelList'] || ['primary', 'secondary', 'Add New']);\n protected hasLabel = computed<boolean>(() => this.options()['hasLabel'] as boolean);\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected hasIcon = computed<boolean>(() => this.options()['hasIcon'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected placeholder = computed<string>(\n () => (this.options()['placeholder'] as string) ?? `Enter ${this.type()} ...`\n );\n\n private format = computed<'object' | 'string'>(() => {\n if (this.hasIcon() || this.hasLabel()) {\n return 'object';\n } else {\n return 'string';\n }\n });\n\n protected internalValue: Signal<AXPContactDataType[]> = computed(() => this.valueToArray());\n\n constructor() {\n super();\n }\n private popup: AXPopupService = inject(AXPopupService);\n protected dataSource = new AXDataSource({\n pageSize: this.labelList().length,\n load: (e) => {\n return Promise.resolve({\n items: this.labelList().slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),\n total: this.labelList().length,\n });\n },\n byKey: (key) => {\n return Promise.resolve(this.labelList().find((i) => i === key));\n },\n });\n\n protected addItem() {\n const newValues: AXPContactDataType[] = [...this.internalValue(), this.emptyValue()];\n this.setValue(this.setFormatedValue(newValues));\n }\n\n protected deleteItem(deletedIndex: number) {\n const newValues = this.internalValue().filter((_, index) => index != deletedIndex);\n this.setValue(this.setFormatedValue(newValues));\n }\n protected async handleValueChange(e: AXValueChangedEvent, selectedIndex: number) {\n let { name, value, isUserInteraction } = e;\n if (isUserInteraction) {\n if (e.name === 'label') {\n if (e.value === 'Add New') {\n const options: AXPopupConfig = {\n title: 'Enter Label...',\n // header: false,\n // footer: true,\n size: 'sm',\n draggable: true,\n // hasBackdrop: true,\n // closeButton: true,\n // closeOnBackdropClick: true,\n };\n const newValue = await this.popup.open(popupComponent, { ...options }).then((e) => e.data);\n value = newValue.value;\n this.labelList().pop();\n this.labelList().push(value, 'Add New');\n this.dataSource.refresh();\n }\n }\n const newValues = this.internalValue().map((item, index) =>\n selectedIndex === index ? { ...item, [name as string]: value } : item\n );\n if (this.multiple()) {\n this.setValue(this.setFormatedValue(newValues));\n } else this.setValue(this.setFormatedValue(newValues[0]));\n }\n }\n protected generateClasses(element: 'value' | 'label'): string | any {\n const isValue = element === 'value';\n\n if (this.multiple()) {\n if (this.hasLabel()) {\n return isValue\n ? 'ax-col-start-1 ax-col-end-13 lg:ax-col-end-7'\n : 'ax-col-start-1 ax-col-end-11 lg:ax-col-start-7 lg:ax-col-end-12';\n } else {\n return isValue ? 'ax-col-start-1 ax-col-end-11 sm:ax-col-end-12 md:ax-col-end-12' : '';\n }\n } else {\n if (this.hasLabel()) {\n return isValue\n ? 'ax-col-start-1 ax-col-end-13 lg:ax-col-end-7'\n : 'ax-col-start-1 ax-col-end-13 lg:ax-col-start-7 lg:ax-col-end-13';\n } else {\n return isValue ? 'ax-col-start-1 ax-col-end-13' : '';\n }\n }\n }\n\n protected validationService = inject(AXValidationService);\n private _validationRules: AXPValidationRules = [];\n public get validationRules(): AXPValidationRules {\n return this._validationRules;\n }\n public set validationRules(v: AXPValidationRules) {\n this._validationRules = v;\n }\n private valueToArray(): AXPContactDataType[] {\n const value = this.getValue();\n if (Array.isArray(value)) {\n return value.map((item) => this.itemToArray(item));\n } else {\n return [this.itemToArray(value ?? '')];\n }\n }\n private itemToArray = (item: AXPContactDataType | string): AXPContactDataType => {\n if (typeof item === 'object')\n return {\n value: item?.value ?? '',\n label: this.hasLabel() ? item?.label || this.labelList()[0] : undefined,\n icon: this.hasIcon() ? item?.icon || this.chooseIcon() : undefined,\n };\n else\n return {\n value: item,\n label: this.hasLabel() ? this.labelList()[0] : undefined,\n icon: this.hasIcon() ? this.chooseIcon() : undefined,\n };\n };\n private emptyValue(): AXPContactDataType {\n return {\n value: '',\n };\n }\n\n setFormatedValue(\n items: AXPContactDataType | AXPContactDataType[]\n ): string | string[] | AXPContactDataType | AXPContactDataType[] {\n if (this.format() === 'string') {\n return Array.isArray(items) ? items.map((x) => x.value) : items.value;\n } else {\n return items;\n }\n }\n\n private chooseIcon = (): string => {\n switch (this.type()) {\n case 'email':\n return 'fa-link';\n case 'link':\n return 'fa-envelope';\n case 'phone':\n return 'fa-phone';\n default:\n return 'fa-info';\n }\n };\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPContactWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, Signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPContactDataType } from './contact.type';\n\n@Component({\n template: `\n @for(item of internalValue();track $index){ @let href = type() === 'link' ? item.value :\n type()==='phone'?'tel:'+item.value : 'mailto:'+ item.value ;\n <div class=\"ax-flex ax-gap-4 ax-items-center ax-justify-between ax-py-1\">\n <div class=\"ax-flex ax-gap-4 ax-group ax-items-center ax-justify-center ax-truncate\">\n @if(hasIcon()){\n <ax-icon class=\"fa-solid ax-text-neutral-400\" [class]=\"chooseIcon()\"> </ax-icon>\n }\n <a\n [href]=\"href\"\n [target]=\"'_blank'\"\n class=\"ax-truncate ax-text-blue-700 group-hover:!ax-text-primary-500 group-hover:ax-underline group-hover:ax-decoration-blue-700\"\n >{{ item.value }}</a\n >\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"clipboard.copy(type(), item.value)\"\n >\n <i class=\"fa-solid fa-copy\"></i>\n </span>\n </div>\n @if(hasLabel()){\n <div><ax-badge color=\"primary\" [look]=\"'twotone'\" [text]=\"item.label ?? ''\"></ax-badge></div>\n }\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXBadgeModule, AXDecoratorModule],\n inputs: []\n})\nexport class AXPContactWidgetViewComponent extends AXPWidgetComponent<AXPContactDataType | string> {\n protected type = computed<'link' | 'phone' | 'email'>(() => this.options()['type'] ?? 'link');\n protected labelList = computed<string[]>(() => this.options()['labelList'] ?? ['primary', 'secondary']);\n protected hasLabel = computed<boolean>(() => (this.options()['hasLabel'] as boolean) ?? false);\n protected multiple = computed<boolean>(() => (this.options()['multiple'] as boolean) ?? false);\n protected hasIcon = computed<boolean>(() => (this.options()['hasIcon'] as boolean) ?? false);\n\n protected internalValue: Signal<AXPContactDataType[]> = computed(() => this.itemToArray());\n protected clipboard = inject(AXPClipBoardService);\n\n protected chooseIcon = (): string => {\n switch (this.type()) {\n case 'email':\n return 'fa-envelope';\n case 'link':\n return 'fa-link';\n case 'phone':\n return 'fa-phone';\n default:\n return 'fa-info';\n }\n };\n private itemToArray(): AXPContactDataType[] {\n const value = this.getValue();\n if (Array.isArray(value)) {\n return value.map((item) => this.correctItems(item));\n } else {\n return [this.correctItems(value)];\n }\n }\n private correctItems = (item: AXPContactDataType | string): AXPContactDataType => {\n if (typeof item === 'object')\n return {\n value: item?.value ?? '',\n label: this.hasLabel() ? item?.label || this.labelList()[0] : undefined,\n icon: this.hasIcon() ? item?.icon || this.chooseIcon() : undefined,\n };\n else\n return {\n value: item,\n label: this.hasLabel() ? this.labelList()[0] : undefined,\n icon: this.hasIcon() ? this.chooseIcon() : undefined,\n };\n };\n}\n","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_BEHAVIOR_PROPERTY_GROUP,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_ICON_PROPERTY,\n AXP_HAS_LABEL_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nexport const AXPContactWidget: AXPWidgetConfig = {\n name: 'contact-editor',\n title: 'Contact',\n description: 'Inputs contact information',\n group: AXP_WIDGETS_EDITOR_GROUP,\n icon: 'fa-solid fa-address-book',\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n {\n name: 'type',\n title: 'Contact Type',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n nullable: false,\n interface: {\n defaultValue: 'link',\n name: 'type',\n path: 'options.type',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: ['link', 'email', 'phone'],\n },\n },\n },\n visible: true,\n },\n\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_HAS_LABEL_PROPERTY,\n AXP_HAS_ICON_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./contact-widget-view.component').then((c) => c.AXPContactWidgetViewComponent),\n },\n edit: {\n component: () => import('./contact-widget-edit.component').then((c) => c.AXPContactWidgetEditComponent),\n },\n filter: {\n component: () => import('./contact-widget-filter.component').then((c) => c.AXPContactWidgetFilterComponent),\n },\n column: {\n component: () => import('./contact-widget-column.component').then((c) => c.AXPContactWidgetColumnComponent),\n },\n print: {\n component: () => import('./contact-widget-print.component').then((c) => c.AXPContactWidgetPrintComponent),\n },\n designer: {\n component: () => import('./contact-widget-edit.component').then((c) => c.AXPContactWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n contact: 'contact-editor';\n }\n}\n","import { AXDateTimeFormatter } from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n template: `\n <div>\n @if(multiple()){ @for (item of internalValue(); track $index) {\n <span dir=\"ltr\">{{ item }}</span>\n } } @else {\n <span dir=\"ltr\">{{ internalValue()[0] }}</span>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPDateTimeBoxWidgetViewComponent extends AXPWidgetComponent<string | string[]> {\n private formatter = inject(AXDateTimeFormatter);\n private translationService = inject(AXTranslationService);\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n\n protected format = computed<'date' | 'time' | 'datetime'>(() => {\n const rawValue = this.options()['format'] as any;\n if (typeof rawValue == 'string') return rawValue;\n else if (rawValue && typeof rawValue == 'object') return rawValue['id'];\n else return 'date';\n });\n\n protected internalValue = computed(() =>\n Array.isArray(this.getValue())\n ? (this.getValue() as string[]).map((v: string) => this.handleFormat(v))\n : [this.handleFormat(this.getValue() as string)]\n );\n\n protected handleFormat(value: string) {\n return value\n ? this.formatter.format(new Date(value), {\n format: this.format(),\n locale: this.translationService.getActiveLang() === 'fa' ? 'fa' : undefined,\n })\n : '---';\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (datetime of internalValue(); track $index) {\n <ax-datetime-box\n class=\"ax-col-span-12\"\n [ngModel]=\"datetime\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n [disabled]=\"disabled()\"\n [format]=\"calendarFormat()\"\n [placeholder]=\"placeholder()\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n } @if(clearButton()){\n <ax-clear-button></ax-clear-button>\n } @if(multiple()) {\n <ax-suffix>\n <ax-button class=\"ax-border-s\" (onClick)=\"deleteItem($index)\" look=\"blank\" color=\"danger\">\n <ax-icon class=\"far fa-trash\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-datetime-box>\n } @if(multiple()){\n <ax-button\n class=\"ax-col-start-9 lg:ax-col-start-10 xl:ax-col-start-11 ax-col-end-13\"\n [text]=\"!internalValue().length ? 'Add New' : 'Add Another'\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n [disabled]=\"disabled()\"\n ></ax-button>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXValidationModule,\n AXDateTimeBoxModule,\n AXButtonModule,\n AXDecoratorModule,\n AXValidationModule,\n ],\n inputs: []\n})\nexport class AXPDateTimeBoxWidgetEditComponent extends AXPWidgetComponent<string | string[]> {\n protected validationService = inject(AXValidationService);\n\n protected validationMessage?: string | null;\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected clearButton = computed<boolean>(() => this.options()['clearButton'] as boolean);\n\n protected format = computed<'date' | 'time' | 'datetime'>(() => {\n const rawValue = this.options()['format'] as any;\n if (typeof rawValue == 'string') return rawValue;\n else if (rawValue && typeof rawValue == 'object') return rawValue['id'];\n else return 'date';\n });\n\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected placeholder = computed<string>(() => this.options()['placeholder']);\n\n protected internalValue: Signal<string[]> = computed(() =>\n Array.isArray(this.getValue()) ? (this.getValue() as string[]) : [this.getValue() as string]\n );\n\n private _validationRules: AXPValidationRules = [];\n public get validationRules(): AXPValidationRules {\n return this._validationRules;\n }\n public set validationRules(v: AXPValidationRules) {\n this._validationRules = v;\n }\n\n protected handleValueChange(e: AXValueChangedEvent, i: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (i === index ? e.value : item));\n if (this.multiple()) this.setValue(newValues);\n else this.setValue(newValues[0]);\n }\n }\n\n protected calendarFormat = computed(() => {\n if (this.format() === 'date') return 'dd/MM/yyyy';\n else if (this.format() === 'time') return 'HH:mm';\n else return 'dd/MM/yyyy HH:mm';\n });\n\n protected addItem() {\n const newValues = [...this.internalValue(), ''];\n this.setValue(newValues);\n }\n\n protected deleteItem(i: number) {\n const newValues = this.internalValue().filter((_, index) => index != i);\n this.setValue(newValues);\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPDateTimeBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXDateTimeFormatter } from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, computed, inject } from '@angular/core';\n@Component({\n template: `<div class=\"ax-flex\">\n <span [dir]=\"'ltr'\" [title]=\"convertedValue()\">{{ convertedValue() }}</span>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPDateTimeBoxWidgetColumnComponent extends AXPColumnWidgetComponent<string | string[]> {\n private formatter = inject(AXDateTimeFormatter);\n private translationService = inject(AXTranslationService);\n\n protected convertedValue: Signal<string | null> = computed(() => this.updateValue());\n protected multiple: boolean = this.options['multiple'] || false;\n\n protected format = computed<'date' | 'time' | 'datetime'>(() => {\n const rawValue = this.options['format'] as any;\n if (typeof rawValue == 'string') return rawValue;\n else if (rawValue && typeof rawValue == 'object') return rawValue['id'];\n else return 'date';\n });\n\n private updateValue = () => {\n const rawValue = this.rawValue;\n if (rawValue == null) {\n return null;\n }\n if (this.isArray(rawValue)) {\n return rawValue.map((item: string) => this.handleFormat(item)).join(', ');\n } else {\n return this.handleFormat(rawValue);\n }\n };\n\n protected handleFormat(value: string) {\n return value\n ? this.formatter.format(new Date(value), {\n format: this.format(),\n locale: this.translationService.getActiveLang() === 'fa' ? 'fa' : undefined,\n })\n : '---';\n }\n\n protected isArray(val: any) {\n return Array.isArray(val);\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: `{{getValue()}}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPDateTimeBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig, cloneProperty } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DATE_FORMAT_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_TABLE_COLUMN_WIDTH_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\nexport const AXPDateTimeBoxWidget: AXPWidgetConfig = {\n name: 'date-time-editor',\n title: 'Date Time Box',\n description: 'Selects date and time',\n icon: 'fa-solid fa-calendar',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n defaultFilterWidgetName: 'datetime-filter',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATE_FORMAT_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),\n ],\n components: {\n view: {\n component: () => import('./date-time-box-widget-view.component').then((c) => c.AXPDateTimeBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./date-time-box-widget-edit.component').then((c) => c.AXPDateTimeBoxWidgetEditComponent),\n },\n filter: {\n component: () =>\n import('./date-time-box-widget-filter.component').then((c) => c.AXPDateTimeBoxWidgetFilterComponent),\n },\n column: {\n component: () =>\n import('./date-time-box-widget-column.component').then((c) => c.AXPDateTimeBoxWidgetColumnComponent),\n },\n print: {\n component: () =>\n import('./date-time-box-widget-print.component').then((c) => c.AXPDateTimeBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./date-time-box-widget-edit.component').then((c) => c.AXPDateTimeBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n dateTime: 'date-time-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-2\">\n @if(multiple())\n {\n @for(item of internalValue();track item?.value) {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: item }\" ]></ng-template>\n }\n }\n @else\n {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: internalValue()[0] }\" ]></ng-template>\n }\n <ng-template #itemTemplate let-item=\"data\">\n @if(item)\n {\n <div class=\"ax-col-start-1 ax-col-end-10 lg:ax-col-end-7\">\n <div class=\"ax-flex ax-flex-1 ax-gap-3 ax-items-center ax-w-max ax-group\">\n <div class=\"ax-w-6 ax-h-6 ax-flex ax-items-center ax-justify-center\">\n <i class=\"fa-solid ax-text-neutral-400 fa-envelope\"></i>\n </div>\n <a class=\"group-hover:!ax-text-primary-500\" href=\"tel:{{ item.value }}\">{{ item.value }}</a>\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"clipboard.copy('Email', item.value)\"\n >\n <i class=\"fa-solid fa-copy \"></i>\n </span>\n @if(hasLabel()){\n <ax-badge color=\"primary\" [look]=\"'twotone'\" [text]=\"item.label\"></ax-badge>\n }\n </div>\n </div>\n }\n </ng-template>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: []\n})\nexport class AXPEmailBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected clipboard = inject(AXPClipBoardService);\n\n protected multiple = computed<boolean>(() => this.options()[\"multiple\"] as boolean);\n protected hasLabel = computed<boolean>(() => (this.options()[\"hasLabel\"] as boolean) ?? true);\n\n\n protected internalValue = computed(() =>\n this.getValue()\n ? Array.isArray(this.getValue())\n ? this.getValue().map((item: any) => this.extractItem(item))\n : [this.extractItem(this.getValue())]\n : []\n );\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n value: item.value ?? '-',\n label: item.label ?? 'Primary',\n }\n : {\n value: item,\n label: 'Primary',\n };\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @if(multiple())\n {\n @for(item of internalValue();track $index) \n {\n <ax-text-box\n [ngModel]=\"item.value\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n type=\"text\"\n [disabled]=\"disabled()\"\n class=\"ax-col-start-1 ax-col-end-13 lg:ax-col-end-8\"\n [class.lg:!ax-col-end-12]=\"!hasLabel()\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-validation-rule [rule]=\"'email'\"></ax-validation-rule>\n </ax-text-box>\n @if(hasLabel())\n {\n <ax-select-box\n [dataSource]=\"lables()\"\n [ngModel]=\"item.label\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"handleLabelChange($event, $index)\"\n class=\"ax-col-start-1 ax-col-end-11 lg:ax-col-start-8 lg:ax-col-end-12\"\n >\n </ax-select-box>\n }\n <ax-button\n look=\"twotone\"\n color=\"danger\"\n [disabled]=\"disabled()\"\n (onClick)=\"deleteItem($index)\"\n class=\"ax-col-start-11 ax-col-end-13 lg:ax-col-start-12 lg:ax-col-end-13 ax-justify-self-end\">\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n }\n <ax-button\n [disabled]=\"disabled()\"\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n @else \n {\n <ax-text-box\n [ngModel]=\"internalValue()[0].value\"\n (onValueChanged)=\"handleValueChange($event, 0)\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n type=\"text\"\n class=\"ax-col-start-1 ax-col-end-13 lg:ax-col-end-8\"\n [class.lg:!ax-col-end-13]=\"!hasLabel()\">\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-validation-rule [rule]=\"'email'\"></ax-validation-rule>\n </ax-text-box>\n @if(hasLabel()){\n <ax-select-box\n [dataSource]=\"lables()\"\n [disabled]=\"disabled()\"\n [ngModel]=\"internalValue()[0].label\"\n (onValueChanged)=\"handleLabelChange($event, 0)\"\n class=\"ax-col-start-1 ax-col-end-11 lg:ax-col-start-8 lg:ax-col-end-13\"\n >\n </ax-select-box>\n }\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXFormModule, AXButtonModule, AXDecoratorModule, AXSelectBoxModule, AXTextBoxModule, AXValidationModule],\n inputs: []\n})\nexport class AXPEmailBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n protected validationService = inject(AXValidationService);\n protected validationMessage?: string | null;\n\n\n protected multiple = computed<boolean>(() => this.options()[\"multiple\"] as boolean);\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected clearButton = computed<boolean>(() => (this.options()[\"clearButton\"] as boolean) ?? true);\n protected placeholder = computed<string>(() => (this.options()[\"placeholder\"] as string));\n\n protected hasLabel = computed<boolean>(() => (this.options()[\"hasLabel\"] as boolean) ?? true);\n protected lables = computed<string[]>(() => (this.options()[\"lables\"] as string[]) ?? ['Primary', 'Secondary']);\n\n\n\n protected internalValue: Signal<{ value: string; label?: string; id: string }[]> = computed(() => this.getValueAsArrayOfObjects());\n\n private _validationRules: AXPValidationRules = [];\n public get validationRules(): AXPValidationRules {\n return this._validationRules;\n }\n public set validationRules(v: AXPValidationRules) {\n this._validationRules = v;\n }\n\n private getValueAsArrayOfObjects(): any[] {\n const value = this.getValue();\n if (Array.isArray(value)) {\n return value.map((item) => (typeof item === 'object' ? item : { value: item }));\n }\n return typeof value === 'object' ? [value || ''] : [{ value: value || '' }];\n }\n\n protected handleValueChange(e: AXValueChangedEvent, selectedIndex: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? this.convertItem(item, e) : item));\n if (this.multiple()) {\n this.setValue(newValues);\n }\n else {\n this.setValue(newValues[0]);\n }\n }\n }\n\n protected convertItem = (item: any, e: any) => {\n if (typeof item === 'object') {\n return { ...item, value: e.value };\n }\n else {\n return e.value;\n }\n };\n\n protected handleLabelChange(e: AXValueChangedEvent, selectedIndex: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, label: e.value } : item));\n if (this.multiple()) {\n this.setValue(newValues);\n }\n else {\n this.setValue(newValues[0]);\n }\n }\n }\n\n protected addItem() {\n const newValues = [...this.internalValue(), ''];\n this.setValue(newValues);\n }\n protected deleteItem(deletedIndex: number) {\n const newValues = this.internalValue().filter((_, index) => index != deletedIndex);\n this.setValue(newValues);\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPEmailBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, computed } from '@angular/core';\n@Component({\n template: `<div>\n @if(multiple && list.length>1){\n <div [title]=\"text()\">{{ dot3(text()) }}</div>\n }@else {\n <div>\n @if(list() && list().length){\n {{ list()[0].value }}\n }@else { - }\n </div>\n }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPEmailBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected list: Signal<{ value: string; label: string }[]> = computed(() =>\n Array.isArray(this.rawValue) ? this.rawValue.map((c) => this.extractItem(c)) : [this.extractItem(this.rawValue)]\n );\n protected text: Signal<string> = computed(() =>\n this.list()\n .map((item) => item.value)\n .join('\\n')\n );\n protected multiple!: boolean;\n protected hasLabel!: boolean;\n\n protected dot3(text: string) {\n console.log(text);\n if (this.multiple) return text.split('\\n')[0] + '...';\n else return text.split('\\n')[0];\n }\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n value: item.value ?? '-',\n type: item.type ?? 'primary',\n label: item.label,\n }\n : {\n value: item,\n type: 'primary',\n label: null,\n };\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPEmailBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_LABEL_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPEmailBoxWidget: AXPWidgetConfig = {\n name: 'email-editor',\n title: 'Email Box',\n description: 'Inputs and validates email addresses',\n icon: 'fa-solid fa-envelope',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_HAS_LABEL_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./email-box-widget-view.component').then((c) => c.AXPEmailBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./email-box-widget-edit.component').then((c) => c.AXPEmailBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./email-box-widget-filter.component').then((c) => c.AXPEmailBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./email-box-widget-column.component').then((c) => c.AXPEmailBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./email-box-widget-print.component').then((c) => c.AXPEmailBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./email-box-widget-edit.component').then((c) => c.AXPEmailBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n email: 'email-editor';\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"ax-max-w-full\">\n <span>\n {{ getValue() }}\n </span>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLargeTextWidgetViewComponent extends AXPWidgetComponent<string> {\n\n\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-large-text-box-widget',\n template: `\n <ax-text-area\n [disabled]=\"disabled()\"\n [ngModel]=\"getValue()\"\n (ngModelChange)=\"setValue($event)\"\n [placeholder]=\"placeholder()\"\n >\n @if(clearButton()){\n <ax-clear-button></ax-clear-button>\n } @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-text-area>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, FormsModule, AXFormModule, AXTextAreaModule],\n inputs: ['disabled', 'clearButton']\n})\nexport class AXPLargeTextWidgetEditComponent extends AXPWidgetComponent<string> {\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected clearButton = computed<boolean>(() => (this.options()['clearButton'] as boolean) ?? true);\n protected placeholder = computed<string>(() => this.options()['placeholder'] as string);\n\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n\n\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPLargeTextWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: `<span class=\"ax-truncate\">\n {{ rawValue }}\n </span>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPLargeTextWidgetColumnComponent extends AXPColumnWidgetComponent<string> { }\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLargeTextWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n largeTextDefaultProperty,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPLargeTextWidget: AXPWidgetConfig = {\n name: 'large-text-editor',\n title: 'Large Text Box',\n description: 'Inputs long text entries',\n icon: 'fa-solid fa-input-text',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n largeTextDefaultProperty(),\n //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '300px' } }),\n ],\n components: {\n view: {\n component: () => import('./large-text-widget-view.component').then((c) => c.AXPLargeTextWidgetViewComponent),\n properties: [],\n },\n edit: {\n component: () => import('./large-text-widget-edit.component').then((c) => c.AXPLargeTextWidgetEditComponent),\n },\n filter: {\n component: () => import('./large-text-widget-filter.component').then((c) => c.AXPLargeTextWidgetFilterComponent),\n },\n column: {\n component: () => import('./large-text-widget-column.component').then((c) => c.AXPLargeTextWidgetColumnComponent),\n },\n print: {\n component: () => import('./large-text-widget-print.component').then((c) => c.AXPLargeTextWidgetPrintComponent),\n },\n designer: {\n component: () => import('./large-text-widget-edit.component').then((c) => c.AXPLargeTextWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n largeText: 'large-text-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n template: `<div class=\"ax-grid ax-grid-cols-12 ax-gap-2 \">\n @if(multiple){ @for(item of internalValue();track item?.value) {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: item }\" ]></ng-template>\n } } @else{\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: internalValue()[0] }\" ]></ng-template>\n }\n\n <ng-template #itemTemplate let-item=\"data\">\n @if(item){\n <div class=\"ax-col-start-1 ax-col-end-10 lg:ax-col-end-7\">\n <div class=\"ax-flex ax-flex-1 ax-gap-3 ax-items-center ax-w-max ax-group\">\n <div class=\"ax-w-6 ax-h-6 ax-flex ax-items-center ax-justify-center\">\n @if(item.icon){\n <ax-icon class=\"fa-solid ax-text-neutral-400\" [class]=\"item.icon\"> </ax-icon>\n }\n </div>\n <a\n [href]=\"item.value\"\n [target]=\"'_' + target\"\n class=\"ax-text-blue-700 group-hover:!ax-text-primary-500 group-hover:ax-underline group-hover:ax-decoration-blue-700\"\n >{{ item.title ?? item.value }}</a\n >\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"clipboard.copy('Email', item.value)\"\n >\n <i class=\"fa-solid fa-copy \"></i>\n </span>\n @if(hasLabel){\n <ax-badge color=\"primary\" [look]=\"'twotone'\" [text]=\"item.label\"></ax-badge>\n }\n </div>\n </div>\n }\n </ng-template>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule, AXDecoratorModule],\n inputs: []\n})\nexport class AXPLinkWidgetViewComponent extends AXPWidgetComponent<any> {\n protected clipboard = inject(AXPClipBoardService);\n protected multiple!: boolean;\n protected hasLabel!: boolean;\n protected target: 'self' | 'blank' = 'blank';\n\n protected internalValue = computed(() =>\n this.getValue()\n ? Array.isArray(this.getValue())\n ? this.getValue().map((item: any) => this.extractItem(item))\n : [this.extractItem(this.getValue())]\n : []\n );\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n value: item.value ?? '-',\n title: item.title,\n label: this.hasLabel ? item.label || 'primary' : undefined,\n icon: item.icon,\n }\n : {\n value: item,\n title: '',\n icon: '',\n label: 'Primary',\n };\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `<div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @if(multiple()){ @for(item of internalValue();track $index) { @if(item){\n <!-- TODO need to fix multiple -->\n <ax-text-box\n [ngModel]=\"item.value\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n type=\"text\"\n placeholder=\"Enter Link\"\n class=\"ax-col-start-1 ax-col-end-13\"\n [ngClass]=\"generateClasses('url', 'multiple')\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-validation-rule message=\"field can't be empty\" rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n @if(hasTitle()){\n <ax-text-box\n [ngModel]=\"item.title\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n placeholder=\"Choose Title...\"\n name=\"title\"\n [ngClass]=\"generateClasses('title', 'multiple')\"\n >\n </ax-text-box>\n } @if(hasLabel()){\n <ax-select-box\n [dataSource]=\"labelTypes()\"\n [ngModel]=\"item.label\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n placeholder=\"Choose Label...\"\n name=\"label\"\n [ngClass]=\"generateClasses('label', 'multiple')\"\n >\n </ax-select-box>\n }}\n <ax-button\n look=\"twotone\"\n color=\"danger\"\n (onClick)=\"deleteItem($index)\"\n class=\"ax-col-start-12 ax-col-end-13 lg:ax-col-start-12 lg:ax-col-end-13 ax-justify-self-end !ax-h-full\"\n >\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n }\n <ax-button\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n } @else{\n <ax-text-box\n [ngClass]=\"generateClasses('url', 'single')\"\n [ngModel]=\"internalValue()[0].value\"\n (onValueChanged)=\"handleValueChange($event, 0)\"\n type=\"text\"\n name=\"value\"\n placeholder=\"Link\"\n class=\"ax-col-start-1 ax-col-end-13\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-validation-rule message=\"field can't be empty\" rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n @if(hasTitle()){\n <ax-text-box\n [ngClass]=\"generateClasses('title', 'single')\"\n [ngModel]=\"internalValue()[0].title\"\n (onValueChanged)=\"handleValueChange($event, 0)\"\n type=\"text\"\n name=\"title\"\n placeholder=\"Title\"\n >\n </ax-text-box>\n } @if(hasLabel()){\n <ax-select-box\n [ngClass]=\"generateClasses('label', 'single')\"\n [dataSource]=\"labelTypes()\"\n [ngModel]=\"internalValue()[0].label\"\n (onValueChanged)=\"handleValueChange($event, 0)\"\n name=\"label\"\n placeholder=\"Label\"\n >\n </ax-select-box>\n } }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXFormModule,\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXTextBoxModule,\n AXValidationModule,\n ]\n})\nexport class AXPLinkWidgetEditComponent extends AXPWidgetComponent<any> {\n protected validationService = inject(AXValidationService);\n protected translateService = inject(AXTranslationService);\n protected validationMessage?: string | null;\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected clearButton = computed<boolean>(() => this.options()['clearButton'] as boolean);\n protected hasLabel = computed<boolean>(() => this.options()['hasLabel'] as boolean);\n protected hasTitle = computed<boolean>(() => this.options()['hasTitle'] as boolean);\n protected labelTypes = computed<string[]>(() => this.options()['labelTypes'] || ['Primary', 'Secondary']);\n protected linkTypes = computed<string[]>(() => this.options()['linkTypes'] || ['http', 'https', 'related']);\n\n protected dataSource = new AXDataSource<any>({\n pageSize: 10,\n key: 'id',\n load: (e) => {\n return new Promise((resolve) => {\n setTimeout(\n () => {\n const list = this.linkTypes();\n const result = e.filter ? list.filter((item) => item.includes(e.filter?.value as string)) : list;\n resolve({\n items: result.slice(e.skip, e.skip + e.take),\n total: result.length,\n });\n },\n e.skip == 0 ? 100 : 300\n );\n });\n },\n });\n\n protected internalValue: Signal<{ value: string; label?: string; title: string; icon?: string }[]> = computed(() =>\n this.getValueAsArrayOfObjects()\n );\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.getValueAsArrayOfObjects();\n }\n\n private _validationRules: AXPValidationRules = [];\n public get validationRules(): AXPValidationRules {\n return this._validationRules;\n }\n public set validationRules(v: AXPValidationRules) {\n this._validationRules = v;\n }\n\n private getValueAsArrayOfObjects(): any[] {\n const value = this.getValue();\n if (Array.isArray(value)) {\n return value.map((item) => {\n return typeof item === 'object'\n ? {\n value: item.value ?? '-',\n title: item.title,\n label: this.hasLabel() ? item.label || 'primary' : undefined,\n icon: item.icon,\n }\n : {\n value: item,\n title: '',\n icon: '',\n label: this.hasLabel() ? 'Primary' : undefined,\n };\n });\n } else {\n return typeof value === 'object' ? [value] : [{ value: value || '' }];\n }\n }\n\n protected handleValueChange(e: AXValueChangedEvent, selectedIndex: number) {\n const { name, value, isUserInteraction } = e;\n if (isUserInteraction) {\n const newValues = this.internalValue().map((item, index) =>\n selectedIndex === index ? (name === 'value' ? this.convertItem(item, e) : { ...item, [name as string]: value }) : item\n );\n console.log(newValues);\n if (this.multiple()) this.setValue(newValues);\n else this.setValue(newValues[0]);\n }\n }\n\n protected convertItem = (item: any, e: any) => {\n if (typeof item === 'object') return { ...item, value: e.value };\n else return e.value;\n };\n\n // protected handleLabelChange(e: AXValueChangedEvent, selectedIndex: number) {\n // if (e.isUserInteraction) {\n // const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, label: e.value } : item));\n // if (this.multiple()) this.setValue(newValues);\n // else this.setValue(newValues[0]);\n // }\n // }\n\n protected addItem() {\n const newValues = [\n ...this.internalValue(),\n {\n value: '',\n title: '',\n label: 'primary',\n icon: '',\n },\n ];\n this.setValue(newValues);\n }\n protected deleteItem(deletedIndex: number) {\n const newValues = this.internalValue().filter((_, index) => index != deletedIndex);\n this.setValue(newValues);\n }\n\n protected generateClasses(elementName: 'url' | 'title' | 'label', type: 'single' | 'multiple' = 'single'): Array<string> {\n if (type === 'multiple') {\n switch (elementName) {\n case 'url':\n if (this.hasTitle() || this.hasLabel()) {\n //already has ax-col-start-1 ax-col-end-13\n return ['lg:ax-col-end-7'];\n } else {\n return ['lg:ax-col-end-12'];\n }\n case 'title':\n if (this.hasLabel()) {\n return ['ax-col-start-1 ax-col-end-7 lg:ax-col-start-7 lg:ax-col-end-10'];\n } else {\n return ['ax-col-start-1 ax-col-end-11 lg:ax-col-start-7 lg:ax-col-end-12'];\n }\n case 'label':\n if (this.hasTitle()) {\n return ['ax-col-start-7 ax-col-end-11 lg:ax-col-start-10 lg:ax-col-end-12'];\n } else {\n return ['ax-col-start-1 ax-col-end-11 lg:ax-col-start-7 lg:ax-col-end-12'];\n }\n default:\n return [''];\n }\n } else if (type === 'single') {\n switch (elementName) {\n case 'url':\n if (this.hasTitle() || this.hasLabel()) {\n //already has ax-col-start-1 ax-col-end-13\n return ['lg:ax-col-end-7'];\n } else {\n return ['lg:ax-col-end-13'];\n }\n case 'title':\n if (this.hasLabel()) {\n return ['ax-col-start-1 ax-col-end-7 lg:ax-col-start-7 lg:ax-col-end-10'];\n } else {\n return ['ax-col-start-1 ax-col-end-13 lg:ax-col-start-7 lg:ax-col-end-13'];\n }\n case 'label':\n if (this.hasTitle()) {\n return ['ax-col-start-7 ax-col-end-13 lg:ax-col-start-10 lg:ax-col-end-13'];\n } else {\n return ['ax-col-start-1 ax-col-end-13 lg:ax-col-start-7 lg:ax-col-end-13'];\n }\n default:\n return [''];\n }\n } else {\n return [''];\n }\n }\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPLinkWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: `{{rawValue}}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPLinkWidgetColumnComponent extends AXPColumnWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLinkWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nexport const AXPLinkWidget: AXPWidgetConfig = {\n name: 'link-editor',\n title: 'Link Box',\n description: 'Inputs and edits URLs',\n icon: 'fa-solid fa-link',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n components: {\n view: {\n component: () => import('./link-widget-view.component').then((c) => c.AXPLinkWidgetViewComponent),\n },\n edit: {\n component: () => import('./link-widget-edit.component').then((c) => c.AXPLinkWidgetEditComponent),\n },\n filter: {\n component: () => import('./link-widget-filter.component').then((c) => c.AXPLinkWidgetFilterComponent),\n },\n column: {\n component: () => import('./link-widget-column.component').then((c) => c.AXPLinkWidgetColumnComponent),\n },\n print: {\n component: () => import('./link-widget-print.component').then((c) => c.AXPLinkWidgetPrintComponent),\n },\n designer: {\n component: () => import('./link-widget-edit.component').then((c) => c.AXPLinkWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n link: 'link-editor';\n }\n}\n","import { AXFormatService, AXNumberFormatterOptions } from '@acorex/core/format';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { isNumber } from 'lodash-es';\n\n@Component({\n template: `\n <div>\n @if(multiple()){ @for (item of internalValue(); track $index) {\n <p>{{ item }}</p>\n } }@else {\n <p>{{ internalValue()[0] }}</p>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPNumberBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => (Array.isArray(this.formattedValue()) ? this.formattedValue() : [this.formattedValue()]));\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected format = computed<AXNumberFormatterOptions>(() => this.options()['format'] as AXNumberFormatterOptions);\n\n private formatService = inject(AXFormatService);\n\n private formattedValue() {\n if (!isNumber(this.getValue())) return '---';\n const value: number = Number(this.getValue());\n return this.formatService.format(value, 'number', this.format());\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(number of internalValue(); track $index){\n <ax-number-box\n class=\"ax-col-span-12\"\n [minValue]=\"minValue()\"\n [maxValue]=\"maxValue()\"\n [decimals]=\"decimals()\"\n [thousandsSeparator]=\"seprator()\"\n [placeholder]=\"placeholder()\"\n [ngModel]=\"number\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n [disabled]=\"disabled()\"\n >\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n @if(clearButton()) {\n <ax-clear-button></ax-clear-button>\n } @if(multiple()){\n <ax-suffix>\n <ax-button class=\"ax-border-s\" (onClick)=\"deleteItem($index)\" look=\"blank\" color=\"danger\">\n <ax-icon class=\"far fa-trash\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-number-box>\n } @if(multiple()) {\n <ax-button\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n [disabled]=\"disabled()\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXNumberBoxModule, FormsModule, AXDecoratorModule, AXFormModule, AXButtonModule]\n})\nexport class AXPNumberBoxWidgetEditComponent extends AXPWidgetComponent<number | number[]> {\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected clearButton = computed<boolean>(() => (this.options()['hasClearButton'] as boolean) ?? true);\n\n protected decimals = computed<number>(() => (this.options()['decimals'] as number) ?? 0);\n protected minValue = computed<number>(() => this.options()['minValue'] as number);\n protected maxValue = computed<number>(() => this.options()['maxValue'] as number);\n protected seprator = computed<string>(() => (this.options()['seprator'] as string) ?? null);\n\n protected placeholder = computed<string>(() => this.options()['placeholder'] as string);\n\n protected validationRules = computed<AXPValidationRules>(() => (this.options()[\"validationRules\"] as AXPValidationRules) ?? []);\n\n\n protected internalValue: Signal<number[]> = computed(() =>\n Array.isArray(this.getValue()) ? (this.getValue() as number[]) : [this.getValue() as number]\n );\n\n\n protected handleValueChange(e: AXValueChangedEvent, i: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (i === index ? e.value : item));\n if (this.multiple()) {\n this.setValue(newValues);\n } else this.setValue(newValues[0]);\n }\n }\n\n protected addItem() {\n const newValues = [...this.internalValue(), 0];\n this.setValue(newValues);\n }\n protected deleteItem(i: number) {\n const newValues = this.internalValue().filter((_, index) => index != i);\n this.setValue(newValues);\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPNumberBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXFormatService } from '@acorex/core/format';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { isNumber } from 'lodash-es';\n@Component({\n selector: 'axp-number-box-widget-column',\n template: `{{value()}}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPNumberBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n\n\n private formatService = inject(AXFormatService);\n\n value = computed(() => {\n if (!isNumber(this.rawValue)) return '---';\n const value: number = Number(this.rawValue);\n if (this.options['format'] && this.options['format']['name']) {\n const { name, options } = this.options['format'];\n return this.formatService.format(value, name, options)\n } else {\n return value.toString()\n }\n })\n\n}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPNumberBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig, cloneProperty } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_TABLE_COLUMN_WIDTH_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n numberDefaultProperty,\n numberMaxValueProperty,\n numberMinValueProperty,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPNumberBoxWidget: AXPWidgetConfig = {\n name: 'number-editor',\n title: 'Number Box',\n description: 'Inputs numeric values',\n icon: 'fa-solid fa-input-numeric',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n defaultFilterWidgetName: 'number-filter',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n numberDefaultProperty(),\n numberMinValueProperty(),\n numberMaxValueProperty(),\n cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),\n ],\n components: {\n view: {\n component: () => import('./number-box-widget-view.component').then((c) => c.AXPNumberBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./number-box-widget-edit.component').then((c) => c.AXPNumberBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./number-box-widget-filter.component').then((c) => c.AXPNumberBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./number-box-widget-column.component').then((c) => c.AXPNumberBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./number-box-widget-print.component').then((c) => c.AXPNumberBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./number-box-widget-edit.component').then((c) => c.AXPNumberBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n number: 'number-editor';\n }\n}\n","import { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"ax-col-start-1 ax-col-end-10 lg:ax-col-end-7\">\n <div class=\"ax-flex ax-flex-1 ax-gap-3 ax-group ax-items-start ax-w-max\">\n <span>{{ show() ? internalValue() : '*******' }}</span>\n @if(hasEyeIcon()){\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"toggleEye()\"\n >\n @if(!showPassword()){\n <i class=\"fa-solid fa-eye\"></i>\n }@else {\n <i class=\"fa-solid fa-eye-slash\"></i>\n }\n </span>\n } @if(hasCopyIcon() && hasEyeIcon()){\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"clipboard.copy('Password', internalValue())\"\n >\n <i class=\"fa-solid fa-copy \"></i>\n </span>\n }\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPPasswordBoxWidgetViewComponent extends AXPWidgetComponent<string> {\n protected internalValue = computed(() => this.getValue());\n\n protected hasCopyIcon = computed<boolean>(() => this.options()['hasCopyIcon'] as boolean);\n protected hasEyeIcon = computed<boolean>(() => this.options()['hasEyeIcon'] as boolean);\n protected showPassword = computed<boolean>(() => this.options()['showPassword'] as boolean);\n\n protected show = signal(false);\n\n protected clipboard = inject(AXPClipBoardService);\n\n toggleEye() {\n this.show.update((prev) => !prev);\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXPasswordBoxModule } from '@acorex/components/password-box';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <ax-password-box [ngModel]=\"getValue()\" [disabled]=\"disabled()\" (onValueChanged)=\"handleValueChanged($event)\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n @if(hasClearButton()){\n <ax-clear-button></ax-clear-button>\n }\n </ax-password-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXDecoratorModule, AXPasswordBoxModule, AXValidationModule, AXFormModule],\n inputs: []\n})\nexport class AXPPasswordBoxWidgetEditComponent extends AXPWidgetComponent<string> {\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected hasClearButton = computed<boolean>(() => this.options()['hasClearButton'] as boolean);\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPPasswordBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, signal } from '@angular/core';\n@Component({\n template: `<div class=\"ax-flex ax-flex-1 ax-gap-3 ax-group ax-items-start ax-w-max\">\n <span>{{ show() ? rawValue : '*******' }}</span>\n @if(hasEyeIcon){\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"toggleEye()\"\n >\n @if(!showPassword){\n <i class=\"fa-solid fa-eye\"></i>\n }@else {\n <i class=\"fa-solid fa-eye-slash\"></i>\n }\n </span>\n }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPPasswordBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected hasEyeIcon = this.options['hasEyeIcon'];\n protected showPassword = this.options['showPassword'];\n\n protected show = signal(!!this.rawValue);\n\n toggleEye() {\n this.show.update((prev) => !prev);\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPPasswordBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_DISABLED_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_HAS_COPY_ICON_PROPERTY,\n AXP_HAS_EYE_ICON_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\nexport const AXPPasswordBoxWidget: AXPWidgetConfig = {\n name: 'password-editor',\n title: 'Password Box',\n description: 'Secures password input',\n icon: 'fa-solid fa-lock',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_COPY_ICON_PROPERTY,\n AXP_HAS_EYE_ICON_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./password-box-widget-view.component').then((c) => c.AXPPasswordBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./password-box-widget-edit.component').then((c) => c.AXPPasswordBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./password-box-widget-filter.component').then((c) => c.AXPPasswordBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./password-box-widget-column.component').then((c) => c.AXPPasswordBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./password-box-widget-print.component').then((c) => c.AXPPasswordBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./password-box-widget-edit.component').then((c) => c.AXPPasswordBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n password: 'password-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-2 \">\n <ng-container *ngIf=\"multiple()\">\n @for(item of internalValue();track item?.value) {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: item }\" ]></ng-template>\n }\n </ng-container>\n\n <ng-container *ngIf=\"!multiple()\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: internalValue()[0] }\" ]></ng-template>\n </ng-container>\n\n <ng-template #itemTemplate let-item=\"data\">\n <ng-container *ngIf=\"item\">\n <div class=\"ax-col-start-1 ax-col-end-10 lg:ax-col-end-7\">\n <div class=\"ax-flex ax-flex-1 ax-gap-3 ax-items-center ax-w-max ax-group\">\n <div class=\"ax-w-6 ax-h-6 ax-flex ax-items-center ax-justify-center\">\n <i class=\"fa-solid ax-text-neutral-400 fa-phone\"></i>\n </div>\n <a class=\"group-hover:!ax-text-primary-500\" href=\"tel:{{ item.value }}\">{{ item.value }}</a>\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"clipboard.copy('Phone Number', item.value)\"\n >\n <i class=\"fa-solid fa-copy \"></i>\n </span>\n @if(hasLabel()){\n <ax-badge color=\"primary\" [look]=\"'twotone'\" [text]=\"item.label\"></ax-badge>\n }\n </div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: []\n})\nexport class AXPPhoneBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected clipboard = inject(AXPClipBoardService);\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected hasLabel = computed<boolean>(() => this.options()['hasLabel'] as boolean);\n\n protected internalValue = computed(() =>\n this.getValue()\n ? Array.isArray(this.getValue())\n ? this.getValue().map((item: any) => this.extractItem(item))\n : [this.extractItem(this.getValue())]\n : []\n );\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n value: item.value ?? '-',\n type: item.type ?? 'mobile',\n label: item.label,\n }\n : {\n value: item,\n type: 'mobile',\n label: null,\n };\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <ng-container *ngIf=\"multiple()\">\n @for(item of internalValue();track $index) {\n <ax-text-box\n [ngModel]=\"item.value\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n type=\"text\"\n class=\"ax-col-start-1 ax-col-end-13 lg:ax-col-end-8\"\n [class.lg:!ax-col-end-12]=\"!hasLabel()\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n </ax-text-box>\n @if(hasLabel()){\n <ax-select-box\n [dataSource]=\"phoneLabels()\"\n [ngModel]=\"item.label\"\n (onValueChanged)=\"handleLabelChange($event, $index)\"\n class=\"ax-col-start-1 ax-col-end-11 lg:ax-col-start-8 lg:ax-col-end-12\"\n >\n </ax-select-box>\n }\n <ax-button\n look=\"twotone\"\n color=\"danger\"\n (onClick)=\"deleteItem($index)\"\n class=\"ax-col-start-11 ax-col-end-13 lg:ax-col-start-12 lg:ax-col-end-13 ax-justify-self-end\"\n >\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n }\n </ng-container>\n <ng-container *ngIf=\"!multiple()\">\n <ax-text-box\n [ngModel]=\"internalValue()[0].value\"\n (onValueChanged)=\"handleValueChange($event, 0)\"\n type=\"text\"\n class=\"ax-col-start-1 ax-col-end-13 lg:ax-col-end-8\"\n [class.lg:!ax-col-end-13]=\"!hasLabel\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n </ax-text-box>\n @if(hasLabel()){\n <ax-select-box\n [dataSource]=\"phoneLabels()\"\n [ngModel]=\"internalValue()[0].label\"\n (onValueChanged)=\"handleLabelChange($event, 0)\"\n class=\"ax-col-start-1 ax-col-end-11 lg:ax-col-start-8 lg:ax-col-end-13\"\n >\n </ax-select-box>\n }\n </ng-container>\n <ax-button\n *ngIf=\"multiple()\"\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXFormModule, AXButtonModule, AXDecoratorModule, AXSelectBoxModule, AXTextBoxModule, AXValidationModule],\n inputs: []\n})\nexport class AXPPhoneBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n protected validationService = inject(AXValidationService);\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected clearButton = computed<boolean>(() => this.options()['clearButton'] as boolean);\n protected hasLabel = computed<boolean>(() => this.options()['hasLabel'] as boolean);\n protected phoneLabels = computed<string[]>(() => this.options()['phoneLabels'] || ['Mobile', 'Home', 'Work', 'Other']);\n\n protected internalValue: Signal<{ value: string; label?: string; id: string }[]> = computed(() => this.getValueAsArrayOfObjects());\n\n private _validationRules: AXPValidationRules = [];\n public get validationRules(): AXPValidationRules {\n return this._validationRules;\n }\n public set validationRules(v: AXPValidationRules) {\n this._validationRules = v;\n }\n\n private getValueAsArrayOfObjects(): any[] {\n const value = this.getValue();\n if (Array.isArray(value)) {\n return value.map((item) => (typeof item === 'object' ? item : { value: item }));\n }\n return typeof value === 'object' ? [value] : [{ value: value || '' }];\n }\n\n protected handleValueChange(e: AXValueChangedEvent, selectedIndex: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, value: e.value } : item));\n if (this.multiple()) this.setValue(newValues);\n else if (this.hasLabel()) this.setValue(newValues[0]);\n else this.setValue(newValues[0].value);\n }\n }\n\n protected handleLabelChange(e: AXValueChangedEvent, selectedIndex: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, label: e.value } : item));\n if (this.multiple()) this.setValue(newValues);\n else this.setValue(newValues[0]);\n }\n }\n\n protected addItem() {\n const newValues = [...this.internalValue(), ''];\n this.setValue(newValues);\n }\n protected deleteItem(deletedIndex: number) {\n const newValues = this.internalValue().filter((_, index) => index != deletedIndex);\n this.setValue(newValues);\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPPhoneBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, computed } from '@angular/core';\n@Component({\n template: `<div>\n @if(multiple && list.length>1){\n <div [title]=\"text()\">{{ dot3(text()) }}</div>\n }@else {\n <div>\n @if(list() && list().length){\n {{ list()[0].value }}\n }@else { - }\n </div>\n }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPPhoneBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected list: Signal<{ value: string; label: string }[]> = computed(() =>\n Array.isArray(this.rawValue) ? this.rawValue.map((c) => this.extractItem(c)) : [this.extractItem(this.rawValue)]\n );\n protected text: Signal<string> = computed(() =>\n this.list()\n .map((item) => item.value)\n .join('\\n')\n );\n protected multiple!: boolean;\n protected hasLabel!: boolean;\n\n protected dot3(text: string) {\n console.log(text);\n if (this.multiple) return text.split('\\n')[0] + '...';\n else return text.split('\\n')[0];\n }\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n value: item.value ?? '-',\n type: item.type ?? 'primary',\n label: item.label,\n }\n : {\n value: item,\n type: 'primary',\n label: null,\n };\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPPhoneBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_ALLOW_MULTIPLE_PROPERTY, AXP_HAS_LABEL_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_VALIDATION_PROPERTY } from '../../../properties';\n\nexport const AXPPhoneBoxWidget: AXPWidgetConfig = {\n name: 'phone-editor',\n title: 'Phone Box',\n description: 'Inputs and validates phone numbers',\n icon: 'fa-solid fa-input-numeric',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [AXP_HAS_LABEL_PROPERTY, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_VALIDATION_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY],\n components: {\n view: {\n component: () => import('./phone-box-widget-view.component').then((c) => c.AXPPhoneBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./phone-box-widget-edit.component').then((c) => c.AXPPhoneBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./phone-box-widget-filter.component').then((c) => c.AXPPhoneBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./phone-box-widget-column.component').then((c) => c.AXPPhoneBoxWidgetColumnComponent),\n properties: [AXP_TABLE_COLUMN_WIDTH_PROPERTY],\n },\n print: {\n component: () => import('./phone-box-widget-print.component').then((c) => c.AXPPhoneBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./phone-box-widget-edit.component').then((c) => c.AXPPhoneBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n phone: 'phone-editor';\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPHtmlUtils } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, Signal } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'axp-rich-text-widget',\n template: ` <span class=\"ax-truncate ax-underline ax-cursor-pointer\" (click)=\"openPopup()\" [innerHTML]=\"text()\">\n </span>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPRichTextWidgetViewComponent extends AXPWidgetComponent<any> {\n private htmlUtil = inject(AXPHtmlUtils);\n private popupService: AXPopupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n protected html: Signal<SafeHtml | null> = computed(() => this.htmlUtil.getSafeHTMLfromHTML(this.getValue()));\n protected text: Signal<string> = computed(() => this.htmlUtil.getTextFromHTML(this.getValue()));\n\n protected async openPopup() {\n const { AXPRichTextPopupComponent } = await import('./rich-text-popup.component');\n this.popupService.open(AXPRichTextPopupComponent, {\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n header: true,\n closeOnBackdropClick: true,\n closeButton: true,\n draggable: true,\n title: this.path ?? '',\n data: {\n html: this.html,\n },\n });\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXToolBarModule } from '@acorex/components/toolbar';\nimport { AXWysiwygModule } from '@acorex/components/wysiwyg';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-rich-text-widget',\n template: `<ax-wysiwyg-container\n [placeHolder]=\"placeholder()\"\n [look]=\"'solid'\"\n [ngModel]=\"getValue()\"\n (onValueChanged)=\"setWysiwyg($event)\"\n >\n <ax-wysiwyg-view class=\"ax-min-h-28\"></ax-wysiwyg-view>\n <!-- <ax-wysiwyg-toolbar>\n <ax-wysiwyg-history></ax-wysiwyg-history>\n <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors>\n <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment>\n </ax-wysiwyg-toolbar> -->\n\n <ax-toolbar>\n <ax-prefix>\n <!-- <ax-wysiwyg-history></ax-wysiwyg-history> <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors> <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment> <ax-wysiwyg-insert></ax-wysiwyg-insert> -->\n <ax-wysiwyg-history></ax-wysiwyg-history>\n <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors>\n <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment>\n </ax-prefix>\n </ax-toolbar>\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-wysiwyg-container>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXWysiwygModule,\n AXToolBarModule,\n AXValidationModule,\n AXFormModule,\n FormsModule,\n ],\n})\nexport class AXPRichTextWidgetEditComponent extends AXPWidgetComponent<any> {\n protected placeholder = computed<string>(() => this.options()['placeholder'] as string);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n\n protected setWysiwyg(e: AXValueChangedEvent) {\n if (e) {\n this.setValue(e.value);\n }\n }\n\n eff = effect(() => {\n console.log(this.getValue());\n });\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPRichTextWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPHtmlUtils } from '@acorex/platform/core';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, Signal } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\n\n@Component({\n template: `<span class=\"ax-truncate ax-underline ax-block ax-w-full ax-cursor-pointer\" (click)=\"openPopup()\" [innerHTML]=\"text()\"> </span>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, AXButtonModule],\n inputs: ['rawValue']\n})\nexport class AXPRichTextWidgetColumnComponent extends AXPColumnWidgetComponent<string | null | undefined> {\n private htmlUtil = inject(AXPHtmlUtils);\n private popupService: AXPopupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n protected html: Signal<SafeHtml | null> = computed(() => this.htmlUtil.getSafeHTMLfromHTML(this.rawValue));\n protected text: Signal<string> = computed(() => this.htmlUtil.getTextFromHTML(this.rawValue));\n\n protected async openPopup() {\n const { AXPRichTextPopupComponent } = await import('./rich-text-popup.component');\n this.popupService.open(AXPRichTextPopupComponent, {\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n header: true,\n closeOnBackdropClick: true,\n closeButton: true,\n draggable: true,\n title: this.path ?? '',\n data: {\n html: this.html,\n },\n });\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPRichTextWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig, cloneProperty } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_TABLE_COLUMN_WIDTH_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\nexport const AXPRichTextWidget: AXPWidgetConfig = {\n name: 'rich-text-editor',\n title: 'Rich Text',\n description: 'Formats and edits rich text',\n icon: 'fa-solid fa-input-text',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '300px' } }),\n ],\n components: {\n view: {\n component: () => import('./rich-text-widget-view.component').then((c) => c.AXPRichTextWidgetViewComponent),\n },\n edit: {\n component: () => import('./rich-text-widget-edit.component').then((c) => c.AXPRichTextWidgetEditComponent),\n },\n filter: {\n component: () => import('./rich-text-widget-filter.component').then((c) => c.AXPRichTextWidgetFilterComponent),\n },\n column: {\n component: () => import('./rich-text-widget-column.component').then((c) => c.AXPRichTextWidgetColumnComponent),\n },\n print: {\n component: () => import('./rich-text-widget-print.component').then((c) => c.AXPRichTextWidgetPrintComponent),\n },\n designer: {\n component: () => import('./rich-text-widget-edit.component').then((c) => c.AXPRichTextWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n richText: 'rich-text-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n@Component({\n template: ` <div class=\"ax-flex ax-gap-2\">\n @for (item of internalValue(); track $index) {\n <ax-badge [look]=\"'twotone'\" [text]=\"item[this.textField]\" color=\"primary\"></ax-badge>\n }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: ['rawValue'],\n})\nexport class AXPSelectBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected multiple: boolean = this.options['multiple'];\n protected valueField: string = this.options['valueField'] ?? 'id';\n protected textField: string = this.options['textField'] ?? 'title';\n\n protected internalValue = computed(() =>\n Array.isArray(this.rawValue)\n ? this.rawValue.map((item: any) => this.extractItem(item))\n : [this.extractItem(this.rawValue)]\n );\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n [this.valueField]: item?.[this.valueField],\n [this.textField]: item?.[this.textField],\n }\n : {\n [this.valueField]: item,\n [this.textField]: item,\n };\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxComponent, AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPDataListWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewChild, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-select-box-widget-edit',\n template: `\n <ax-select-box\n #dd\n [placeholder]=\"placeholder()\"\n [dataSource]=\"dataSource()\"\n [disabled]=\"disabled()\"\n [valueField]=\"valueField()\"\n [textField]=\"textField()\"\n [ngModel]=\"getValue()\"\n [multiple]=\"multiple()\"\n (onValueChanged)=\"handleValueChange($event)\"\n >\n @if(allowSearch()) {\n <ax-search-box><ax-clear-button></ax-clear-button></ax-search-box>\n } @if(hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n } @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-select-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectBoxModule, AXFormModule, AXDecoratorModule, AXSearchBoxModule],\n})\nexport class AXPSelectBoxWidgetEditComponent extends AXPDataListWidgetComponent {\n @ViewChild(AXSelectBoxComponent)\n private selectbox!: AXSelectBoxComponent;\n\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected placeholder = computed<string>(() => (this.options()['placeholder'] as string) ?? '');\n protected hasClearButton = computed<boolean>(() => this.options()['hasClearButton'] as boolean);\n protected allowSearch = computed<boolean>(() => (this.options()['allowSearch'] as boolean) ?? false);\n\n protected override outputs(): string[] {\n return ['selectedItems'];\n }\n\n protected handleValueChange(e: AXValueChangedEvent) {\n this.selectedItems.set((e.component as AXSelectBoxComponent).selectedItems);\n if (e.isUserInteraction) {\n if (this.multiple()) {\n this.setValue(this.selectedItems());\n } else {\n this.setValue(this.selectedItems()[0]);\n }\n }\n }\n\n refresh() {\n this.selectbox?.refresh();\n }\n\n clear() {\n this.selectbox?.reset(true);\n this.selectbox?.refresh();\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n@Component({\n selector: 'axp-select-box-widget-view',\n template: `\n @for (item of internalValue(); track $index) {\n <ax-badge [look]=\"'twotone'\" [text]=\"item.text\" color=\"primary\"></ax-badge>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: [],\n})\nexport class AXPSelectBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected valueField = computed<string>(() => (this.options()['valueField'] as string) ?? 'id');\n protected textField = computed<string>(() => (this.options()['textField'] as string) ?? 'title');\n\n protected internalValue = computed(() =>\n Array.isArray(this.getValue())\n ? this.getValue().map((item: any) => this.extractItem(item))\n : [this.extractItem(this.getValue())]\n );\n\n private extractItem(item: any): any {\n const result =\n typeof item == 'object'\n ? {\n id: item?.[this.valueField()],\n text: item?.[this.textField()],\n }\n : {\n id: item,\n text: item,\n };\n return result;\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-flex`] = true;\n cls[`ax-gap-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_ALLOW_SEARCH_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DATA_SOURCE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_TEXT_FIELD_PROPERTY,\n AXP_VALUE_FIELD_PROPERTY,\n} from '../../../properties';\n\nexport const AXPSelectBoxWidget: AXPWidgetConfig = {\n name: 'select-editor',\n title: 'Select Box',\n description: 'Chooses from dropdown options',\n icon: 'fa-solid fa-list-dropdown',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [\n AXP_DATA_SOURCE_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_TEXT_FIELD_PROPERTY,\n AXP_VALUE_FIELD_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_ALLOW_SEARCH_PROPERTY\n ],\n components: {\n view: {\n component: () => import('./select-box-widget-view.component').then((c) => c.AXPSelectBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./select-box-widget-edit.component').then((c) => c.AXPSelectBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./select-box-widget-filter.component').then((c) => c.AXPSelectBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./select-box-widget-column.component').then((c) => c.AXPSelectBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./select-box-widget-print.component').then((c) => c.AXPSelectBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./select-box-widget-edit.component').then((c) => c.AXPSelectBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n select: 'select-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'axp-selection-list-widget-view',\n template: `\n @for (item of internalValue(); track $index) {\n <ax-badge [look]=\"'twotone'\" [text]=\"item[this.textField()]\" color=\"primary\"></ax-badge>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXBadgeModule]\n})\nexport class AXPSelectionListWidgetViewComponent extends AXPWidgetComponent<any> {\n protected items = computed<any[]>(() => this.options()['items']);\n protected valueField = computed<string>(() => this.options()['valueField']);\n protected textField = computed<string>(() => this.options()['textField']);\n\n protected internalValue = computed(() => {\n return this.items().filter((item) => {\n if (Array.isArray(this.getValue())) return this.getValue().includes(item[this.valueField()]);\n else {\n return this.getValue() == item[this.valueField()];\n }\n });\n });\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-flex`] = true;\n cls[`ax-gap-1`] = true;\n return cls;\n }\n}\n","import { AXDirection } from '@acorex/components/common';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXPDataListWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { first } from 'rxjs';\n\n@Component({\n selector: 'axp-selection-list-widget',\n template: `\n <ax-selection-list\n class=\"ax-w-max\"\n [valueField]=\"valueField()\"\n [textField]=\"textField()\"\n [ngModel]=\"this.getValue()\"\n [items]=\"displayItems()\"\n [multiple]=\"multiple()\"\n [direction]=\"direction()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n >\n </ax-selection-list>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionListModule, AXFormModule],\n inputs: []\n})\nexport class AXPSelectionListWidgetDesignerComponent extends AXPDataListWidgetComponent {\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected direction = computed<AXDirection>(() => this.options()['direction']?.id ?? 'horizontal');\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected readonly = computed<boolean>(() => this.options()['readonly'] as boolean);\n protected displayItems = signal<any[]>([]);\n\n private samples = computed<any[]>(() =>\n Array.from({ length: 3 }).map((c, i) => {\n const item: any = {};\n item[this.valueField()] = i + 1;\n item[this.textField()] = `Sample Item ${i + 1}`;\n return item;\n })\n );\n\n private ef = effect(() => {\n this.dataSource()\n .onChanged.pipe(first())\n .subscribe((e) => {\n if (e.items?.length > 0) {\n this.displayItems.set(e.items);\n } else {\n this.displayItems.set(this.samples());\n }\n });\n this.dataSource().refresh();\n });\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXDirection, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPDataListWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { first } from 'rxjs';\n\n@Component({\n selector: 'axp-selection-list-widget-edit',\n template: `\n <ax-selection-list\n class=\"ax-w-max\"\n [valueField]=\"valueField()\"\n [textField]=\"textField()\"\n [ngModel]=\"getValue()\"\n (onValueChanged)=\"handleValueChange($event)\"\n [items]=\"displayItems()\"\n [multiple]=\"multiple()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [direction]=\"direction()\"\n >\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-selection-list>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionListModule, AXFormModule]\n})\nexport class AXPSelectionListWidgetEditComponent extends AXPDataListWidgetComponent {\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected direction = computed<AXDirection>(() => this.options()['direction']?.id ?? 'horizontal');\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected readonly = computed<boolean>(() => this.options()['readonly'] as boolean);\n protected displayItems = signal<any[]>([]);\n\n private ef = effect(() => {\n this.dataSource()\n .onChanged.pipe(first())\n .subscribe((e) => {\n this.displayItems.set(e.items);\n });\n this.dataSource().refresh();\n });\n\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n\n protected handleValueChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.setValue(e.value);\n }\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPSelectionListWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, computed } from '@angular/core';\n\n@Component({\n template: ` <div class=\"ax-flex ax-gap-2\">\n @if(multiple){ @for (item of selectedItems(); track $index) {\n <ax-badge [look]=\"'twotone'\" [text]=\"item[this.textField]\" color=\"primary\"></ax-badge>\n } }@else {\n <ax-badge [look]=\"'twotone'\" [text]=\"firstItem()[this.textField]\" color=\"primary\"></ax-badge>\n }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: ['rawValue']\n})\nexport class AXPSelectionListWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected valueField: string = this.options['valueField'];\n protected textField: string = this.options['textField'];\n protected items: any[] = this.options['items'];\n protected multiple: boolean = this.options['multiple'];\n\n protected selectedItemIds: Signal<string[]> = computed(() => {\n return this.rawValue || [];\n });\n\n protected selectedItems = computed(() => {\n const selectedIds = this.selectedItemIds();\n const filteredItems = this.items.filter((item) => {\n const itemValue = item[this.valueField];\n const isSelected = selectedIds.includes(itemValue);\n return isSelected;\n });\n return filteredItems;\n });\n\n protected firstItem = computed(() => {\n const first = this.selectedItems()[0];\n return first;\n });\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectionListWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DATA_SOURCE_PROPERTY,\n AXP_DIRECTION_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_TEXT_FIELD_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_VALUE_FIELD_PROPERTY,\n} from '../../../properties';\n\nexport const AXPSelectionListWidget: AXPWidgetConfig = {\n name: 'selection-list-editor',\n title: 'Selection List',\n description: 'Selects from a list',\n icon: 'fa-solid fa-list-radio',\n group: AXP_WIDGETS_EDITOR_GROUP,\n properties: [\n AXP_DATA_SOURCE_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_VALUE_FIELD_PROPERTY,\n AXP_TEXT_FIELD_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DIRECTION_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),\n ],\n\n type: 'editor',\n components: {\n view: {\n component: () =>\n import('./selection-list-widget-view.component').then((c) => c.AXPSelectionListWidgetViewComponent),\n },\n edit: {\n component: () =>\n import('./selection-list-widget-edit.component').then((c) => c.AXPSelectionListWidgetEditComponent),\n },\n filter: {\n component: () =>\n import('./selection-list-widget-filter.component').then((c) => c.AXPSelectionListWidgetFilterComponent),\n },\n column: {\n component: () =>\n import('./selection-list-widget-column.component').then((c) => c.AXPSelectionListWidgetColumnComponent),\n },\n print: {\n component: () =>\n import('./selection-list-widget-print.component').then((c) => c.AXPSelectionListWidgetPrintComponent),\n },\n designer: {\n component: () =>\n import('./selection-list-widget-designer.component').then((c) => c.AXPSelectionListWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n selectionList: 'selection-list-editor';\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-text-box-widget',\n template: `\n <div>\n @if(multiple())\n { \n @for (item of internalValue(); track $index) {\n <p>{{ item }}</p>\n } \n }@else {\n <p>{{ internalValue()[0] }}</p>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPTextBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]));\n\n protected multiple = computed<boolean>(() => this.options()[\"multiple\"] as boolean);\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-text-box-widget',\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (text of internalValue(); track $index) {\n <ax-text-box class=\"ax-col-span-12\" [ngModel]=\"text\" [type]=\"'text'\" (onValueChanged)=\"handleValueChange($event, $index)\" [disabled]=\"disabled()\" [placeholder]=\"placeholder()\">\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n @if(hasClearButton()){\n <ax-clear-button></ax-clear-button>\n } @if(multiple()){\n <ax-suffix>\n <ax-button class=\"ax-border-s\" (onClick)=\"deleteItem($index)\" look=\"blank\" color=\"danger\">\n <ax-icon class=\"far fa-trash\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-text-box>\n } @if(multiple()){\n <ax-button\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n look=\"twotone\"\n [disabled]=\"disabled()\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 md:ax-col-start-9 2xl:ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTextBoxModule, FormsModule, AXFormModule, AXDecoratorModule, AXValidationModule, AXButtonModule],\n inputs: []\n})\nexport class AXPTextBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n\n protected multiple = computed<boolean>(() => this.options()[\"multiple\"] as boolean);\n protected hasClearButton = computed<boolean>(() => this.options()['hasClearButton'] as boolean);\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected placeholder = computed<string>(() => (this.options()[\"placeholder\"] as string));\n protected validationRules = computed<AXPValidationRules>(() => (this.options()[\"validationRules\"] as AXPValidationRules) ?? []);\n\n\n protected internalValue: Signal<string[]> = computed(() => (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]));\n\n protected handleValueChange(e: AXValueChangedEvent, i: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (i === index ? e.value : item));\n if (this.multiple()) {\n this.setValue(newValues);\n }\n else {\n this.setValue(newValues[0]);\n }\n }\n }\n\n protected addItem() {\n const newValues = [...this.internalValue(), ''];\n this.setValue(newValues);\n }\n protected deleteItem(i: number) {\n const newValues = this.internalValue().filter((_, index) => index != i);\n this.setValue(newValues);\n }\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPTextBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n selector: 'axp-text-box-widget-column',\n template: `{{ rawValue }}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPTextBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> { }\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPTextBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n plainTextDefaultProperty,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPTextBoxWidget: AXPWidgetConfig = {\n name: 'text-editor',\n title: 'Text Box',\n icon: 'fa-solid fa-input-text',\n description: 'Inputs single-line text',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n defaultFilterWidgetName: 'string-filter',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n plainTextDefaultProperty(),\n //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),\n ],\n components: {\n view: {\n component: () => import('./text-box-widget-view.component').then((c) => c.AXPTextBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./text-box-widget-edit.component').then((c) => c.AXPTextBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./text-box-widget-filter.component').then((c) => c.AXPTextBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./text-box-widget-column.component').then((c) => c.AXPTextBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./text-box-widget-print.component').then((c) => c.AXPTextBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./text-box-widget-edit.component').then((c) => c.AXPTextBoxWidgetEditComponent),\n },\n },\n};\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n text: 'text-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-switch-widget-view',\n template: ` @if(getValue()){ @if(trulyText()) {\n <ax-badge [text]=\"trulyText()\" [color]=\"negative() ? 'danger' : 'success'\" [look]=\"'twotone'\"></ax-badge>\n } @else { @if(negative()) {\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger\"> </ax-icon>\n } @else {\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n } } }@else { @if(falsyText()) {\n <ax-badge [text]=\"falsyText()\" [color]=\"negative() ? 'success' : 'danger'\" [look]=\"'twotone'\"></ax-badge>\n } @else { @if(negative()) {\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n }@else {\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger\"> </ax-icon>\n } } }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, AXBadgeModule],\n})\nexport class AXPToggleWidgetViewComponent extends AXPWidgetComponent<any> {\n protected negative = computed<boolean>(() => this.options()['negative']);\n protected falsyText = computed<string>(() => this.options()['falsyText']);\n protected trulyText = computed<string>(() => this.options()['trulyText']);\n}\n","import { AXStyleColorType } from '@acorex/components/common';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-switch-widget-edit',\n template: `\n <div class=\"ax-flex ax-flex-row ax-gap-2\">\n <ax-switch\n [ngModel]=\"this.getValue()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [color]=\"color()\"\n (onValueChanged)=\"handleValueChanged($event)\">\n \n </ax-switch>\n @if(label())\n {\n <ax-label [textContent]=\"label()\"></ax-label>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXFormModule, AXSwitchModule, AXValidationModule, AXLabelModule],\n})\nexport class AXPToggleWidgetEditComponent extends AXPWidgetComponent<any> {\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected readonly = computed<boolean>(() => this.options()['readonly'] as boolean);\n protected label = computed<string>(() => this.options()['label'] as string);\n protected color = computed<AXStyleColorType>(() => this.options()['color']?.id ?? 'primary');\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls['ax-inline-block'] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPToggleWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: `@if(rawValue){ @if(trulyText){\n <ax-badge [text]=\"trulyText\" [color]=\"negative ? 'danger' : 'success'\" [look]=\"'twotone'\"></ax-badge>\n }@else { @if(negative){\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger\"> </ax-icon>\n }@else {\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n } } }@else { @if(falsyText){\n <ax-badge [text]=\"falsyText\" [color]=\"negative ? 'success' : 'danger'\" [look]=\"'twotone'\"></ax-badge>\n }@else { @if(negative){\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n }@else {\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger\"> </ax-icon>\n } } }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, AXBadgeModule],\n inputs: ['rawValue'],\n})\nexport class AXPToggleWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected negative = this.options['negative'] as boolean;\n protected trulyText = this.options['trulyText'] as string;\n protected falsyText = this.options['falsyText'] as string;\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n selector: 'axp-swith-widget-print',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPToggleWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_FALSY_TEXT_PROPERTY,\n AXP_STYLE_COLOR_PROPERTY,\n AXP_TRULY_TEXT_PROPERTY,\n booleanDefaultProperty,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\nexport const AXPToggleWidget: AXPWidgetConfig = {\n name: 'toggle-editor',\n title: 'Toggle',\n description: 'Switches between on/off states',\n icon: 'fa-solid fa-toggle-on',\n defaultFilterWidgetName: 'boolean-filter',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_STYLE_COLOR_PROPERTY,\n AXP_FALSY_TEXT_PROPERTY,\n AXP_TRULY_TEXT_PROPERTY,\n booleanDefaultProperty(),\n ],\n components: {\n view: {\n component: () => import('./toggle-widget-view.component').then((c) => c.AXPToggleWidgetViewComponent),\n },\n edit: {\n component: () => import('./toggle-widget-edit.component').then((c) => c.AXPToggleWidgetEditComponent),\n },\n filter: {\n component: () => import('./toggle-widget-filter.component').then((c) => c.AXPToggleWidgetFilterComponent),\n },\n column: {\n component: () => import('./toggle-widget-column.component').then((c) => c.AXPToggleWidgetColumnComponent),\n },\n print: {\n component: () => import('./toggle-widget-print.component').then((c) => c.AXPToggleWidgetPrintComponent),\n },\n designer: {\n component: () => import('./toggle-widget-edit.component').then((c) => c.AXPToggleWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n toggle: 'toggle-editor';\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n })\nexport class AXPAvatarWidgetViewComponent extends AXPWidgetComponent<any> {}","import { AXPPageStatus, AXPWidgetComponent, AXPWidgetStatus } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal, untracked, ViewEncapsulation } from '@angular/core';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXPFileStorageService } from '@acorex/platform/common';\n\n@Component({\n selector: 'axp-avatar-widget-edit',\n template: `\n @if(isBusy()) {\n <div class=\"axp-empty axp-state-loading\" >\n <i class=\"fa-solid fa-spinner-third fa-spin\"></i>\n </div> \n }\n @else if(!url())\n {\n <div class=\"axp-empty\" (click)=\"handleChange()\" [class.axp-state-error]=\"this.status()=='error'\" >\n <i class=\"fa-solid fa-camera ax-text-3xl ax-text-gray-400\"></i>\n </div>\n }\n @else {\n <div class=\"axp-content\" [class.axp-state-error]=\"this.status()=='error'\" >\n <div [style.backgroundImage]=\"url() ? 'url(' + url() + ')' : ''\">\n </div>\n <div >\n <div (click)=\"handleChange()\">\n <i class=\"fa-solid fa-camera \"></i>\n </div>\n <div (click)=\"handleRemove()\">\n <i class=\"fa-light fa-trash-can \"></i>\n </div>\n </div>\n </div>\n }\n `,\n styleUrl: './avatar-widget-edit.component.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n ],\n})\nexport class AXPAvatarWidgetEditComponent extends AXPWidgetComponent<any> {\n\n protected refId = computed<string>(() => this.options()['refId'] as string);\n protected refType = computed<string>(() => this.options()['refType'] as string);\n\n private fileService = inject(AXFileService);\n private fileStorage = inject(AXPFileStorageService);\n\n protected url = signal<string | null>(null);\n\n protected isEmpty = computed(() => this.url() == null);\n\n\n private markedAsCommited: string | null = null;\n private markedAsDeleted: string | null = null;\n\n\n\n #effect1 = effect(async () => {\n const fileId = this.getValue();\n await untracked(async () => {\n try {\n if (fileId) {\n this.setStatus(AXPWidgetStatus.Processing);\n const info = await this.fileStorage.getInfo(fileId);\n this.url.set(info.url ? info.url : null);\n } else {\n this.url.set(null);\n }\n this.setStatus(AXPWidgetStatus.Rendered);\n }\n catch (error) {\n this.setStatus(AXPWidgetStatus.Error);\n }\n });\n });\n\n #effect2 = effect(async () => {\n const status = this.layoutService.status();\n if (status == AXPPageStatus.Submitted) {\n if (this.markedAsCommited) {\n await this.fileStorage.commit(this.markedAsCommited);\n this.markedAsCommited = null\n }\n if (this.markedAsDeleted) {\n await this.fileStorage.markForDeletion(this.markedAsDeleted);\n this.markedAsDeleted = null;\n }\n }\n });\n\n\n\n private async chooseFile() {\n const files = await this.fileService.choose({ accept: 'image/png, image/jpeg' });\n const file = files[0];\n const base64 = await this.fileService.blobToBase64(file);\n this.url.set(base64);\n // start upload\n const info = await this.fileStorage.save({\n category: 'company-logo',\n file: file,\n refId: this.refId(),\n refType: this.refType(),\n isPrimary: true,\n });\n this.markedAsCommited = info.fileId;\n this.setValue(info.fileId);\n }\n\n protected async handleChange() {\n await this.chooseFile();\n }\n\n protected async handleRemove() {\n this.markedAsDeleted = this.getValue();\n this.setValue(null);\n }\n}","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: `{{rawValue}}`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPAvatarWidgetColumnComponent extends AXPColumnWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPAvatarWidgetPrintComponent extends AXPWidgetComponent<any> {}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPAvatarWidgetDesignerComponent extends AXPWidgetComponent<any> {}","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY, AXP_READONLY_PROPERTY } from '../../../properties';\n\nexport const AXPAvatarWidget: AXPWidgetConfig = {\n name: \"avatar\",\n title: \"Avatar\",\n icon: \"fa-solid fa-image-user\",\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_READONLY_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./avatar-widget-view.component').then((c) => c.AXPAvatarWidgetViewComponent),\n },\n edit: {\n component: () => import('./avatar-widget-edit.component').then((c) => c.AXPAvatarWidgetEditComponent),\n },\n column: {\n component: () => import('./avatar-widget-column.component').then((c) => c.AXPAvatarWidgetColumnComponent),\n },\n print: {\n component: () => import('./avatar-widget-print.component').then((c) => c.AXPAvatarWidgetPrintComponent),\n },\n designer: {\n component: () => import('./avatar-widget-designer.component').then((c) => c.AXPAvatarWidgetDesignerComponent),\n },\n },\n\n}\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n avatar: 'avatar';\n }\n}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPFileBoxWidgetColumnComponent extends AXPWidgetComponent<any> { }","import { AXUploadRequest } from '@acorex/components/uploader';\nimport { Observable } from 'rxjs';\n\nexport abstract class AXPFileManagementService {\n abstract upload(requests: AXUploadRequest[], metaData?: any): Promise<PromiseSettledResult<{ result: unknown; status: string }>[]>;\n abstract delete(fileId: string): Promise<any>;\n abstract get(fileId: string, name: string): Observable<any>;\n abstract list(): Promise<any>;\n abstract setMetadata(fileId: string, metadata: any): Promise<any>;\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXUploaderChangedEvent, AXUploaderFileCompleteEvent, AXUploaderFilesCompleteEvent, AXUploaderModule } from '@acorex/components/uploader';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPFileManagementService } from './file-box-widget.service';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12\">\n <div class=\"ax-col-span-12\">\n <ax-uploader-drop-zone\n axUploaderZone\n (onChanged)=\"handleChanged($event)\"\n [multiple]=\"multiple()\"\n [accept]=\"accept()\"\n [description]=\"description()\"\n \n (onFileUploadComplete)=\"handleOnFileUploadComplete($event)\"\n (onFilesUploadComplete)=\"handleOnFilesUploadComplete($event)\"\n ></ax-uploader-drop-zone>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXUploaderModule],\n inputs: []\n})\nexport class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n private fileService = inject(AXPFileManagementService);\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected accept = computed<string>(() => this.options()['accept'] as string);\n protected description = computed<string>(() => this.options()['description'] as string);\n protected metaData = computed<string>(() => this.options()['metaData'] as any);\n\n protected internalValue: Signal<{ value?: string | null; label?: string | undefined }[]> = computed(() => {\n if (!this.getValue())\n return [];\n return this.getValue() ? (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]) : [{}]\n }\n );\n\n handleOnFileUploadComplete(e: AXUploaderFileCompleteEvent) {\n\n }\n\n handleOnFilesUploadComplete(e: AXUploaderFilesCompleteEvent) {\n }\n\n protected async handleChanged(e: AXUploaderChangedEvent) {\n const results = await this.fileService.upload(e.requests, this.metaData);\n const uploadedFilesResult = results.filter((r) => r.status === 'fulfilled');\n if (!this.multiple) this.setValue(uploadedFilesResult[0].value);\n else {\n this.setValue(uploadedFilesResult.map((r) => r.value));\n }\n }\n\n protected getFileInfo(fileName: string): { icon: string; color: string } {\n const extension = fileName?.split('.')?.pop()?.toLowerCase();\n\n switch (extension) {\n case 'txt':\n return { icon: 'fa-file-alt', color: 'ax-bg-blue-100 ax-text-blue-500' };\n\n case 'pdf':\n return { icon: 'fa-file-pdf', color: 'ax-bg-red-100 ax-text-red-500' };\n\n case 'doc':\n case 'docx':\n return { icon: 'fa-file-word', color: 'ax-bg-blue-200 ax-text-blue-600' };\n\n case 'xls':\n case 'xlsx':\n return { icon: 'fa-file-excel', color: 'ax-bg-green-100 ax-text-green-500' };\n\n case 'ppt':\n case 'pptx':\n return { icon: 'fa-file-powerpoint', color: 'ax-bg-orange-100 ax-text-orange-500' };\n\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n case 'bmp':\n return { icon: 'fa-file-image', color: 'ax-bg-purple-100 ax-text-purple-500' };\n\n case 'zip':\n case 'rar':\n case '7z':\n return { icon: 'fa-file-archive', color: 'ax-bg-yellow-100 ax-text-yellow-500' };\n\n case 'mp3':\n case 'wav':\n case 'ogg':\n return { icon: 'fa-file-audio', color: 'ax-bg-pink-100 ax-text-pink-500' };\n\n case 'mp4':\n case 'avi':\n case 'mkv':\n case 'mov':\n return { icon: 'fa-file-video', color: 'ax-bg-blue-100 ax-text-blue-500' };\n\n case 'js':\n case 'jsx':\n case 'ts':\n case 'tsx':\n return { icon: 'fa-file-code', color: 'ax-bg-yellow-100 ax-text-yellow-500' };\n\n // Add more cases as needed for other file types\n\n default:\n return { icon: 'fa-file', color: 'ax-bg-gray-100 ax-text-gray-500' };\n }\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPFileBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPFileBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { ChangeDetectionStrategy, Component, Signal, computed, inject } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXPFileManagementService } from './file-box-widget.service';\n\ninterface AXPFile {\n name: string;\n type: string;\n value: string;\n size: string;\n}\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-2\">\n @if(multiple()){ @for(item of internalValue();let first=$first;track item.name) {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" ] [ngTemplateOutletContext]=\"{ data: item }\" ]></ng-template>\n } }@else {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" ] [ngTemplateOutletContext]=\"{ data: internalValue()[0] }\" ]></ng-template>\n }\n <ng-template #itemTemplate let-item=\"data\">\n <div\n *ngIf=\"item\"\n class=\"ax-flex ax-items-center ax-justify-between ax-p-2 ax-border ax-rounded-lg ax-bg-surface ax-col-start-1 ax-col-end-13\"\n >\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n <ng-container *ngIf=\"getFileInfo(item.name) as fileInfo\">\n <div class=\"ax-w-10 ax-h-10 ax-rounded-lg ax-flex ax-items-center ax-justify-center\" [ngClass]=\"[fileInfo.color]\">\n <i [ngClass]=\"['fa-solid', 'ax-text-xl', fileInfo.icon]\"></i>\n </div>\n </ng-container>\n <div>\n <div class=\"ax-leading-6\">{{ item.name }}</div>\n <p class=\"ax-text-sm ax-text-neutral-400\">{{ item.size }}</p>\n </div>\n </div>\n @if(downloadable()){\n <ax-button (onClick)=\"handleDownload(item)\" look=\"blank\" color=\"ghost\" class=\"!ax-text-neutral-400 hover:!ax-text-neutral-600\">\n <ax-icon>\n <i class=\"fa-solid fa-download\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n </ng-template>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule],\n inputs: []\n})\nexport class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n private fileService = inject(AXPFileManagementService);\n private loadingDialog = inject(AXLoadingDialogService);\n private translateService = inject(AXTranslationService);\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected downloadable = computed<boolean>(() => this.options()['downloadable'] as boolean);\n\n protected internalValue: Signal<AXPFile[]> = computed(() => {\n if (!this.getValue())\n return [];\n return Array.isArray(this.getValue()) ? this.getValue().map((item: any) => this.extractItem(item)) : [this.extractItem(this.getValue())];\n });\n private downloadSubscription = new Subscription();\n\n protected async handleDownload(item: AXPFile) {\n const d = this.loadingDialog.show({\n title: await this.translateService.translateAsync('downloader.dialog.downloading'), // Downloading File\n mode: 'determinate',\n progressColor: 'primary',\n progressValue: 0,\n text: await this.translateService.translateAsync('downloader.dialog.waiting'), // Waiting...\n buttons: [\n {\n text: await this.translateService.translateAsync('downloader.dialog.cancel'),\n color: 'danger',\n onClick: () => {\n this.cancelDownload();\n d.close();\n },\n },\n ],\n });\n\n this.downloadSubscription = this.fileService.get(item.value, item.name || 'download').subscribe(\n (event) => {\n d.setProgressText(event.status);\n d.setProgressStatus(`${event.progress}%`);\n d.setProgressValue(event.progress);\n if (event.progress === 100) {\n this.triggerDownload(event.data, item.name);\n setTimeout(() => {\n d.close();\n }, 1000);\n }\n },\n async (error: HttpErrorResponse) => {\n d.setProgressText(error.statusText);\n d.setProgressStatus(await this.translateService.translateSync('downloader.dialog.downloadFailed')); //Downloading Failed\n setTimeout(() => {\n d.close();\n }, 1000);\n }\n );\n }\n\n private cancelDownload() {\n this.downloadSubscription.unsubscribe();\n }\n\n private triggerDownload(blob: Blob, name: string) {\n const link = document.createElement('a');\n const url = URL.createObjectURL(blob);\n link.href = url;\n link.download = name || 'asset';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(url);\n }\n\n protected getFileInfo(fileName: string): { icon: string; color: string } {\n const extension = fileName.split('.').pop()?.toLowerCase();\n\n switch (extension) {\n case 'txt':\n return { icon: 'fa-file-alt', color: 'ax-bg-blue-100 ax-text-blue-500' };\n\n case 'pdf':\n return { icon: 'fa-file-pdf', color: 'ax-bg-red-100 ax-text-red-500' };\n\n case 'doc':\n case 'docx':\n return { icon: 'fa-file-word', color: 'ax-bg-blue-200 ax-text-blue-600' };\n\n case 'xls':\n case 'xlsx':\n return { icon: 'fa-file-excel', color: 'ax-bg-green-100 ax-text-green-500' };\n\n case 'ppt':\n case 'pptx':\n return { icon: 'fa-file-powerpoint', color: 'ax-bg-orange-100 ax-text-orange-500' };\n\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n case 'bmp':\n return { icon: 'fa-file-image', color: 'ax-bg-purple-100 ax-text-purple-500' };\n\n case 'zip':\n case 'rar':\n case '7z':\n return { icon: 'fa-file-archive', color: 'ax-bg-yellow-100 ax-text-yellow-500' };\n\n case 'mp3':\n case 'wav':\n case 'ogg':\n return { icon: 'fa-file-audio', color: 'ax-bg-pink-100 ax-text-pink-500' };\n\n case 'mp4':\n case 'avi':\n case 'mkv':\n case 'mov':\n return { icon: 'fa-file-video', color: 'ax-bg-blue-100 ax-text-blue-500' };\n\n case 'js':\n case 'jsx':\n case 'ts':\n case 'tsx':\n return { icon: 'fa-file-code', color: 'ax-bg-yellow-100 ax-text-yellow-500' };\n\n // Add more cases as needed for other file types\n\n default:\n return { icon: 'fa-file', color: 'ax-bg-gray-100 ax-text-gray-500' };\n }\n }\n\n private extractItem(item: any): AXPFile {\n return typeof item == 'object'\n ? {\n name: item.name,\n type: item.type ?? 'Unknown',\n value: item.value,\n size: item.size || '-',\n }\n : {\n name: item || '',\n type: 'Unknown',\n value: item || '',\n size: '-',\n };\n }\n}\n","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_BEHAVIOR_PROPERTY_GROUP,\n AXP_DESCRIPTION_PROPERTY,\n AXP_DOWNLOADABLE_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPFileBoxWidget: AXPWidgetConfig = {\n name: 'file',\n title: 'File',\n description: 'Uploads and manages files',\n icon: 'fa-solid fa-files',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DOWNLOADABLE_PROPERTY,\n AXP_DESCRIPTION_PROPERTY,\n {\n name: 'accept',\n title: 'Accept',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'accept',\n path: 'options.accept',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n },\n ],\n components: {\n view: {\n component: () => import('./file-box-widget-view.component').then((c) => c.AXPFileBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./file-box-widget-edit.component').then((c) => c.AXPFileBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./file-box-widget-filter.component').then((c) => c.AXPFileBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./file-box-widget-column.component').then((c) => c.AXPFileBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./file-box-widget-print.component').then((c) => c.AXPFileBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./file-box-widget-edit.component').then((c) => c.AXPFileBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n file: 'file';\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, WritableSignal, computed, signal } from '@angular/core';\nimport { AXPMediaInfo, AXPMediaItem } from './gallery-widget-types';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-2\">\n @if(internalValue().length){\n <div class=\"ax-flex ax-items-center ax-justify-between ax-rounded-lg ax-col-start-1 ax-col-end-13\">\n <div class=\"ax-flex ax-items-center md:ax-justify-start ax-justify-center ax-w-full ax-gap-3\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-4\">\n @switch (getMediaInfo(activeMedia()?.name||'').format) { @case ('video') {\n <video class=\"ax-rounded-lg ax-h-48 md:ax-h-72 ax-w-auto ax-shadow-md\" controls [src]=\"activeMedia()?.url\"></video>\n } @case ('image') {\n <ax-image class=\"ax-rounded-lg ax-h-48 md:ax-h-72 ax-w-auto\" [src]=\"activeMedia()?.url\">\n <ax-loading></ax-loading>\n <ax-placeholder>\n <div class=\"ax-w-96 ax-h-72 ax-gap-4 ax-flex ax-flex-col ax-items-center ax-justify-center ax-border ax-rounded-lg\">\n <ax-icon class=\"fa-solid fa-circle-exclamation ax-text-2xl\"> </ax-icon>\n <span>Connection Error!</span>\n </div>\n </ax-placeholder>\n </ax-image>\n } @case ('audio') {\n <audio controls class=\"ax-rounded-lg\">\n <source [src]=\"activeMedia()?.url\" type=\"audio/mp3\" />\n </audio>\n } }\n <div class=\"ax-flex ax-gap-4 ax-overflow-x-auto ax-max-w-[320px] lg:ax-max-w-[480px] ax-pb-2\">\n @for (media of thumbnails(); track $index) {\n <div\n *ngIf=\"getMediaInfo(media.name) as mediaInfo\"\n class=\"hover:ax-opacity-75 ax-transition-all ax-relative ax-cursor-pointer ax-flex ax-justify-center ax-items-center\"\n (click)=\"changeMediaSelected(media)\"\n >\n <ax-image\n class=\"ax-w-16 ax-brightness-50 ax-h-16 ax-rounded-lg ax-shadow-md ax-filter\"\n [src]=\"mediaInfo.format == 'image' ? media.url : media.posterUrl\"\n ></ax-image>\n <div class=\"ax-absolute ax-text-neutral-300 ax-text-xl\">\n <ax-icon [class]=\"mediaInfo.icon\"> </ax-icon>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n } @else {\n <!-- ask for empty state: -->\n <small>No Media!</small>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXImageModule, AXDecoratorModule, AXLoadingModule],\n inputs: []\n})\nexport class AXPGalleryWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => {\n const parsedValue = this.getValue() ? JSON.parse(this.getValue()) : [];\n return Array.isArray(parsedValue) ? parsedValue.map((c) => c) : [parsedValue];\n });\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n\n protected thumbnails: Signal<AXPMediaItem[]> = computed(() => this.internalValue().filter((i) => i.id !== this.activeMedia()?.id));\n protected activeMedia: WritableSignal<AXPMediaItem | undefined> = signal(undefined);\n\n ngAfterViewInit(): void {\n this.activeMedia.set(this.internalValue()[0]);\n }\n\n changeMediaSelected(media: AXPMediaItem) {\n this.activeMedia.set(media);\n }\n\n protected getMediaInfo(mediaName: string): AXPMediaInfo {\n const extension = mediaName.split('.').pop()?.toLowerCase();\n\n switch (extension) {\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n case 'bmp':\n return { icon: '', format: 'image' };\n\n case 'mp4':\n case 'avi':\n case 'mkv':\n case 'mov':\n return { icon: 'fa-regular fa-play', format: 'video' };\n\n case 'mp3':\n case 'wav':\n case 'ogg':\n return { icon: 'fa-regular fa-volume-high', format: 'audio' };\n\n default:\n return { icon: '', format: 'image' };\n }\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXUploaderModule } from '@acorex/components/uploader';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, WritableSignal, computed, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPMediaInfo, AXPMediaItem } from './gallery-widget-types';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-2\">\n @if(internalValue().length){\n <div class=\"ax-col-start-1 ax-col-end-13 ax-flex ax-items-center lg:ax-justify-start ax-justify-center \">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-4 ax-w-full\">\n @switch (getMediaInfo(activeMedia()?.name||'').format) { @case ('video') {\n <video class=\"ax-rounded-lg ax-h-48 md:ax-h-72 ax-w-auto ax-shadow-md\" controls [src]=\"activeMedia()?.url\"></video>\n } @case ('image') {\n <ax-image class=\"ax-rounded-lg ax-h-48 md:ax-h-72 ax-w-auto\" [src]=\"activeMedia()?.url\">\n <ax-loading></ax-loading>\n <ax-placeholder>\n <div class=\"ax-w-96 ax-h-72 ax-gap-4 ax-flex ax-flex-col ax-items-center ax-justify-center ax-border ax-rounded-lg\">\n <ax-icon class=\"fa-solid fa-circle-exclamation ax-text-2xl\"> </ax-icon>\n <span>Connection Error!</span>\n </div>\n </ax-placeholder>\n </ax-image>\n } @case ('audio') {\n <audio controls class=\"ax-rounded-lg\">\n <source [src]=\"activeMedia()?.url\" type=\"audio/mp3\" />\n </audio>\n } }\n <div class=\"ax-flex ax-gap-4 ax-overflow-x-auto ax-max-w-[320px] lg:ax-max-w-[480px] ax-pb-2\">\n @for (media of thumbnails(); track $index) {\n <div\n *ngIf=\"getMediaInfo(media.name) as mediaInfo\"\n class=\"hover:ax-opacity-75 ax-transition-all ax-relative ax-cursor-pointer ax-flex ax-justify-center ax-items-center\"\n (click)=\"changeMediaSelected(media)\"\n >\n <ax-image\n class=\"ax-w-16 ax-brightness-50 ax-h-16 ax-rounded-lg ax-shadow-md ax-filter\"\n [src]=\"mediaInfo.format == 'image' ? media.url : media.posterUrl\"\n ></ax-image>\n <div class=\"ax-absolute ax-text-neutral-300 ax-text-xl\">\n <ax-icon [class]=\"mediaInfo.icon\"> </ax-icon>\n </div>\n </div>\n }\n <div axUploaderZone>\n <div axUploaderBrowseHandle class=\"ax-flex ax-justify-center ax-items-center ax-w-16 ax-h-16 ax-border ax-rounded-lg ax-cursor-pointer\">\n <ax-icon class=\"fa-solid fa-plus ax-text-neutral-500\"> </ax-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n } @else {\n <div class=\" ax-col-start-1 ax-col-end-13\">\n <ax-uploader-drop-zone></ax-uploader-drop-zone>\n </div>\n\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXImageModule, AXDecoratorModule, AXLoadingModule, AXUploaderModule],\n inputs: []\n})\nexport class AXPGalleryWidgetEditComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => {\n const parsedValue = this.getValue() ? JSON.parse(this.getValue()) : [];\n return Array.isArray(parsedValue) ? parsedValue.map((c) => c) : [parsedValue];\n });\n\n protected activeMedia: WritableSignal<AXPMediaItem | null> = signal(null);\n protected thumbnails: Signal<AXPMediaItem[]> = computed(() => this.internalValue().filter((i) => i.id !== this.activeMedia()?.id));\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n\n changeMediaSelected(media: AXPMediaItem) {\n this.activeMedia.set(media);\n }\n\n ngAfterViewInit(): void {\n this.activeMedia.set(this.internalValue()[0]);\n }\n\n protected getMediaInfo(mediaName: string): AXPMediaInfo {\n const extension = mediaName.split('.').pop()?.toLowerCase();\n\n switch (extension) {\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n case 'bmp':\n return { icon: '', format: 'image' };\n\n case 'mp4':\n case 'avi':\n case 'mkv':\n case 'mov':\n return { icon: 'fa-regular fa-play', format: 'video' };\n\n case 'mp3':\n case 'wav':\n case 'ogg':\n return { icon: 'fa-regular fa-volume-high', format: 'audio' };\n\n default:\n return { icon: '', format: 'image' };\n }\n }\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPGalleryWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPGalleryWidgetColumnComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGalleryWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_ADVANCE_GROUP } from '@acorex/platform/layout/builder';\nexport const AXPGalleryWidget: AXPWidgetConfig = {\n name: 'gallery',\n title: 'Media Gallery',\n description: 'Shows and edits image galleries',\n icon: 'fa-solid fa-images',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n components: {\n view: {\n component: () => import('./gallery-widget-view.component').then((c) => c.AXPGalleryWidgetViewComponent),\n },\n edit: {\n component: () => import('./gallery-widget-edit.component').then((c) => c.AXPGalleryWidgetEditComponent),\n },\n filter: {\n component: () => import('./gallery-widget-filter.component').then((c) => c.AXPGalleryWidgetFilterComponent),\n },\n column: {\n component: () => import('./gallery-widget-column.component').then((c) => c.AXPGalleryWidgetColumnComponent),\n },\n print: {\n component: () => import('./gallery-widget-print.component').then((c) => c.AXPGalleryWidgetPrintComponent),\n },\n designer: {\n component: () => import('./gallery-widget-edit.component').then((c) => c.AXPGalleryWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n gallery: 'gallery';\n }\n}\n","import { AXMapData, AXMapModule } from '@acorex/components/map';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, ViewEncapsulation } from '@angular/core';\n\n@Component({\n template: `<div [style.height.px]=\"height()\" class=\"ax-w-full\">\n <ax-map\n [polygons]=\"polygons()\"\n [zoomLevel]=\"zoomLevel()\"\n [latitude]=\"latitude()\"\n [longitude]=\"longitude()\"\n [markers]=\"markers()\"\n ></ax-map>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXMapModule],\n inputs: [],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPMapBoxWidgetViewComponent extends AXPWidgetComponent<AXMapData | undefined> {\n markers = computed(() => this.getValue()?.markers ?? []);\n polygons = computed(() => this.getValue()?.polygons ?? []);\n height = computed<number>(() => this.options()['height'] ?? 300);\n zoomLevel = computed<number>(() => this.options()['zoomLevel'] ?? 13);\n latitude = computed<number>(() => this.options()['latitude'] ?? 35);\n longitude = computed<number>(() => this.options()['longitude'] ?? 51);\n}\n","import { AXMapData, AXMapModule } from '@acorex/components/map';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n HostBinding,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n template: ` <div [style.height.px]=\"height()\" class=\"ax-w-full\">\n <ax-map\n class=\"ax-h-full\"\n (onMarkerChanged)=\"onMarkerChanged($event)\"\n (onPolygonChanged)=\"onPolygonChanged($event)\"\n [hasLocator]=\"hasLocate()\"\n [hasDraw]=\"hasDraw()\"\n [latitude]=\"latitude()\"\n [longitude]=\"longitude()\"\n [zoomLevel]=\"zoomLevel()\"\n [maxMarker]=\"maxMarker()\"\n [maxPolygon]=\"maxPolygon()\"\n [markers]=\"markers()\"\n [polygons]=\"polygons()\"\n >\n </ax-map>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXMapModule],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent<AXMapData | undefined> {\n cdr = inject(ChangeDetectorRef);\n\n markers = computed(() => this.getValue()?.markers ?? []);\n polygons = computed(() => this.getValue()?.polygons ?? []);\n hasDraw = computed<boolean>(() => this.options()['hasDraw'] ?? false);\n hasLocate = computed<boolean>(() => this.options()['hasLocate'] ?? false);\n maxMarker = computed<number>(() => this.options()['maxMarker'] ?? 1);\n maxPolygon = computed<number>(() => this.options()['maxPolygon'] ?? 1);\n zoomLevel = computed<number>(() => this.options()['zoomLevel'] ?? 13);\n latitude = computed<number>(() => this.options()['latitude'] ?? 35);\n longitude = computed<number>(() => this.options()['longitude'] ?? 51);\n height = computed<number>(() => this.options()['height'] ?? 300);\n\n onMarkerChanged($event: import('@acorex/components/map').AXMapMarker[]) {\n this.setValue({ polygons: this.getValue()?.polygons ?? [], markers: $event });\n }\n\n onPolygonChanged($event: import('@acorex/components/map').AXMapPolygon[]) {\n this.setValue({ polygons: $event, markers: this.getValue()?.markers ?? [] });\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetConfig, AXPWidgetsCatalog, AXP_WIDGETS_ADVANCE_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_STYLING_PROPERTY_GROUP } from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPMapBoxWidget: AXPWidgetConfig = {\n name: 'map',\n title: 'Map',\n description: 'Displays and interacts with maps',\n icon: 'fa-solid fa-map-location',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n {\n name: 'height',\n title: 'Height',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n defaultValue: 300,\n dataType: 'number',\n interface: {\n name: 'height',\n path: 'options.height',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 0,\n maxValue: 500,\n },\n },\n },\n visible: true,\n },\n {\n name: 'maxMarker',\n title: 'Max Marker',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n defaultValue: 1,\n dataType: 'number',\n interface: {\n name: 'maxMarker',\n path: 'options.maxMarker',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 0,\n maxValue: 100,\n },\n },\n },\n visible: true,\n },\n {\n name: 'maxPolygon',\n title: 'Max Polygon',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n defaultValue: 1,\n dataType: 'number',\n interface: {\n name: 'maxPolygon',\n path: 'options.maxPolygon',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 0,\n maxValue: 100,\n },\n },\n },\n visible: true,\n },\n\n {\n name: 'latitude',\n title: 'Latitude',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n defaultValue: 35,\n dataType: 'number',\n interface: {\n name: 'latitude',\n path: 'options.latitude',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: -90,\n maxValue: 90,\n },\n },\n },\n visible: true,\n },\n {\n name: 'longitude',\n title: 'Longitude',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n defaultValue: 51,\n dataType: 'number',\n interface: {\n name: 'longitude',\n path: 'options.longitude',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: -180,\n maxValue: 180,\n },\n },\n },\n visible: true,\n },\n {\n name: 'zoomLevel',\n title: 'Zoom Level',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n defaultValue: 13,\n dataType: 'number',\n interface: {\n name: 'zoomLevel',\n path: 'options.zoomLevel',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 2,\n maxValue: 18,\n },\n },\n },\n visible: true,\n },\n {\n name: 'hasLocate',\n title: 'Has Locate',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n name: 'hasLocate',\n path: 'options.hasLocate',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n },\n {\n name: 'hasDraw',\n title: 'Has Draw',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n name: 'hasDraw',\n path: 'options.hasDraw',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n },\n ],\n components: {\n view: {\n component: () => import('./map-box-widget-view.component').then((c) => c.AXPMapBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./map-box-widget-edit.component').then((c) => c.AXPMapBoxWidgetEditComponent),\n },\n print: {\n component: () => import('./map-box-widget-view.component').then((c) => c.AXPMapBoxWidgetViewComponent),\n },\n designer: {\n component: () => import('./map-box-widget-edit.component').then((c) => c.AXPMapBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n map: 'map';\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPSignatureWidgetColumnComponent extends AXPWidgetComponent<any> { }","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, ViewChild, WritableSignal, computed, effect, inject, signal } from '@angular/core';\nimport SignaturePad from 'signature_pad';\n\n@Component({\n selector: 'axp-signature-widget',\n template: `\n <div class=\"ax-flex ax-gap-3\">\n @if(editMode() ){\n <canvas width=\"300\" class=\"ax-border ax-rounded-md\" #padCanvas></canvas>\n <div class=\"ax-flex ax-flex-col ax-col-span-1 ax-gap-3\">\n <ax-button class=\"ax-sm\" (onClick)=\"downloadSVG()\" look=\"outline\" color=\"primary\" [disabled]=\"disabled()\">\n <ax-icon class=\"fas fa-download\"></ax-icon>\n </ax-button>\n <ax-button class=\"ax-sm\" (onClick)=\"undo()\" look=\"outline\" color=\"primary\" [disabled]=\"disabled()\">\n <ax-icon class=\"fas fa-rotate-left\"></ax-icon>\n </ax-button>\n <ax-button class=\"ax-sm\" (onClick)=\"clear()\" look=\"outline\" color=\"danger\" [disabled]=\"disabled()\">\n <ax-icon class=\"fas fa-trash ax-text-danger\"></ax-icon>\n </ax-button>\n </div>\n }@else{\n <div class=\"ax-border ax-rounded\">\n <ax-image [src]=\"this.getValue()\">\n <ax-overlay class=\"ax-flex ax-justify-center\">\n <ax-button look=\"twotone\" color=\"primary\" (onClick)=\"switchEditMode()\" [disabled]=\"disabled()\">\n <ax-icon class=\"far fa-edit\"> </ax-icon>\n </ax-button>\n </ax-overlay>\n </ax-image>\n </div>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXImageModule]\n})\nexport class AXPSignatureWidgetEditComponent extends AXPWidgetComponent<any> {\n\n //TODO: Apply diabled\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected placeholder = computed<string>(() => (this.options()[\"placeholder\"] as string));\n\n @ViewChild('padCanvas') padCanvas!: ElementRef<HTMLCanvasElement>;\n protected signaturePad!: SignaturePad;\n protected editMode: WritableSignal<boolean> = signal(false);\n protected platform = inject(AXPlatform);\n\n override async ngOnInit() {\n super.ngOnInit();\n this.editMode.set(this.getValue() ? false : true);\n }\n\n private changeModeEffect = effect(() => {\n if (this.editMode()) {\n setTimeout(() => {\n this.initPad();\n }, 100);\n }\n });\n\n async initPad() {\n const pad = await import('signature_pad');\n this.signaturePad = new pad.default(this.padCanvas.nativeElement, {});\n this.signaturePad.addEventListener('afterUpdateStroke', () => {\n if (window) {\n //fix canvas ViewBox issue on mobile devices\n const prevDPR = window.devicePixelRatio;\n if (this.platform.is('SM')) {\n window.devicePixelRatio = 1;\n }\n this.setValue(this.getDataURL());\n window.devicePixelRatio = prevDPR;\n }\n });\n }\n\n protected clear() {\n this.signaturePad.clear();\n this.setValue(this.getDataURL());\n }\n\n private getDataURL() {\n return this.signaturePad.toDataURL('image/svg+xml');\n }\n\n protected downloadSVG() {\n const link = document.createElement('a');\n link.href = this.getDataURL();\n link.target = '_blank';\n link.download = 'download';\n link.click();\n }\n\n protected async switchEditMode() {\n this.editMode.update((prev) => !prev);\n }\n\n protected undo() {\n let data = this.signaturePad.toData();\n if (data) {\n data.pop();\n this.signaturePad.fromData(data);\n this.setValue(this.getDataURL());\n }\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPSignatureWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSignatureWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXImageModule } from '@acorex/components/image';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-signature-widget',\n template: `\n <div class=\"ax-w-full md:ax-w-auto ax-h-36 ax-border ax-rounded-md ax-flex ax-justify-center ax-items-center\">\n @if(internalValue()){\n <ax-image [src]=\"internalValue()\"></ax-image>\n }@else{\n <span>{{placeholder()}}</span>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXImageModule],\n inputs: []\n})\nexport class AXPSignatureWidgetViewComponent extends AXPWidgetComponent<any> {\n protected placeholder = computed<string>(() => (this.options()[\"placeholder\"] as string) ?? 'Not Set!');\n\n protected internalValue = computed(() => this.getValue());\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_ADVANCE_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\n\n\nexport const AXPSignatureWidget: AXPWidgetConfig = {\n name: 'signature',\n title: 'Signature',\n description: 'Captures digital signatures',\n icon: 'fa-solid fa-file-signature',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_VALIDATION_PROPERTY],\n components: {\n view: {\n component: () => import('./signature-pad-widget-view.component').then((c) => c.AXPSignatureWidgetViewComponent),\n },\n edit: {\n component: () => import('./signature-pad-widget-edit.component').then((c) => c.AXPSignatureWidgetEditComponent),\n },\n column: {\n component: () => import('./signature-pad-widget-column.component').then((c) => c.AXPSignatureWidgetColumnComponent),\n },\n print: {\n component: () => import('./signature-pad-widget-print.component').then((c) => c.AXPSignatureWidgetPrintComponent),\n },\n designer: {\n component: () => import('./signature-pad-widget-edit.component').then((c) => c.AXPSignatureWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n signature: 'signature';\n }\n}\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\n\nimport {\n AXPDesignerAddWidgetMiniButtonComponent,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { AXPBorderBoxString, AXPSpacingBoxString } from '../../property-editors/property-editor.type';\n\n@Component({\n selector: 'axp-block-widget',\n template: `\n @for (node of children(); track $index) {\n <ng-container\n axp-widget-designer-renderer\n [node]=\"node\"\n [parentNode]=\"this\"\n [mode]=\"this.mode\"\n [locked]=\"this.locked\"\n ></ng-container>\n } @empty {\n <axp-designer-add-widget-mini-button\n class=\"ax-flex-1 ax-self-center ax-place-self-end\"\n ></axp-designer-add-widget-mini-button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n AXPDesignerAddWidgetMiniButtonComponent,\n ],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPBlockWidgetDesignerComponent,\n },\n ],\n})\nexport class AXPBlockWidgetDesignerComponent extends AXPWidgetComponent<void> {\n protected backgroundColor = computed<string>(() => this.options()['backgroundColor'] as string);\n protected cssClass = computed<string>(() => this.options()['cssClass'] as string);\n protected flexAlignItems = computed<string>(() => this.options()['flexAlignItems']?.id);\n protected flexJustifyContent = computed<string>(() => this.options()['flexJustifyContent']?.id);\n protected flexWrap = computed<string>(() => this.options()['flexWrap']?.id);\n protected flexDirection = computed<string>(() => this.options()['flexDirection']?.id);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-w-full`] = true;\n cls[`ax-widget-outline`] = true;\n //\n cls[`ax-flex`] = true;\n cls[`ax-gap-${this.gap()}`] = true;\n //\n if (this.flexAlignItems()) {\n cls[this.flexAlignItems()] = true;\n }\n if (this.flexJustifyContent()) {\n cls[this.flexJustifyContent()] = true;\n }\n if (this.flexWrap()) {\n cls[this.flexWrap()] = true;\n }\n if (this.flexDirection()) {\n cls[this.flexDirection()] = true;\n }\n return cls;\n }\n\n @HostBinding('style')\n private get __style(): any {\n const spacing: AXPSpacingBoxString = this.options()['spacing'];\n const border: AXPBorderBoxString = this.options()['border'];\n return {\n // Background\n 'background-color': this.backgroundColor(),\n\n padding: spacing.padding,\n\n margin: spacing.margin,\n\n 'border-radius': border.radius,\n\n 'border-width': border.width,\n\n 'border-color': border.color,\n\n 'border-style': border.style,\n };\n }\n}\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { AXPBorderBoxString, AXPSpacingBoxString } from '../../property-editors/property-editor.type';\n\n@Component({\n selector: 'axp-block-widget',\n template: `\n @for (node of children(); track $index) {\n <ng-container\n axp-widget-renderer\n [node]=\"node\"\n [index]=\"index\"\n [parentNode]=\"this\"\n [mode]=\"this.mode\"\n ></ng-container>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule],\n})\nexport class AXPBlockWidgetViewComponent extends AXPWidgetComponent<void> {\n protected backgroundColor = computed<string>(() => this.options()['backgroundColor'] as string);\n protected cssClass = computed<string>(() => this.options()['cssClass'] as string);\n protected flexAlignItems = computed<string>(() => this.options()['flexAlignItems']?.id);\n protected flexJustifyContent = computed<string>(() => this.options()['flexJustifyContent']?.id);\n protected flexWrap = computed<string>(() => this.options()['flexWrap']?.id);\n protected flexDirection = computed<string>(() => this.options()['flexDirection']?.id);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-w-full`] = true;\n //\n cls[`ax-flex`] = true;\n cls[`ax-gap-${this.gap()}`] = true;\n //\n if (this.flexAlignItems()) {\n cls[this.flexAlignItems()] = true;\n }\n if (this.flexJustifyContent()) {\n cls[this.flexJustifyContent()] = true;\n }\n if (this.flexWrap()) {\n cls[this.flexWrap()] = true;\n }\n if (this.flexDirection()) {\n cls[this.flexDirection()] = true;\n }\n\n return cls;\n }\n\n @HostBinding('style')\n private get __style(): any {\n const spacing: AXPSpacingBoxString = this.options()['spacing'];\n const border: AXPBorderBoxString = this.options()['border'];\n return {\n // Background\n 'background-color': this.backgroundColor(),\n\n padding: spacing.padding,\n\n margin: spacing.margin,\n\n 'border-radius': border.radius,\n\n 'border-width': border.width,\n\n 'border-color': border.color,\n\n 'border-style': border.style,\n };\n }\n}\n","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY } from '../../../properties';\nimport {\n AXP_LAYOUT_BORDER_PROPERTY,\n AXP_LAYOUT_FLEX_PROPERTIES,\n AXP_LAYOUT_FLEX_PROPERTY,\n AXP_LAYOUT_SPACING_PROPERTY,\n} from '../../../properties/layout.props';\n\nexport const AXPBlockWidget: AXPWidgetConfig<AXPBlockWidgetConfigType> = {\n name: 'block-layout',\n type: 'container',\n title: 'Block',\n description: 'Organizes content in blocks',\n icon: 'fa-solid fa-block',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n options: {\n canInsert: true,\n },\n properties: [\n AXP_NAME_PROPERTY,\n // AXP_FONT_SIZE_PROPERTY,\n // cloneProperty(AXP_BG_COLOR_PROPERTY, { schema: { defaultValue: null } }),\n ...AXP_LAYOUT_FLEX_PROPERTIES,\n AXP_LAYOUT_SPACING_PROPERTY,\n AXP_LAYOUT_BORDER_PROPERTY,\n AXP_LAYOUT_FLEX_PROPERTY,\n ],\n components: {\n designer: {\n component: () => import('./block-widget-designer.component').then((c) => c.AXPBlockWidgetDesignerComponent),\n },\n edit: {\n component: () => import('./block-widget-view.component').then((c) => c.AXPBlockWidgetViewComponent),\n },\n print: {\n component: () => import('./block-widget-view.component').then((c) => c.AXPBlockWidgetViewComponent),\n },\n view: {\n component: () => import('./block-widget-view.component').then((c) => c.AXPBlockWidgetViewComponent),\n },\n },\n};\n\nexport type AXPBlockWidgetConfigType = {\n type: 'container';\n};\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'axp-page-widget',\n template: `\n @for (node of children(); track $index) {\n <ng-container axp-widget-renderer [node]=\"node\" [index]=\"index\" [parentNode]=\"this\" [mode]=\"this.mode\"></ng-container>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, AXPLayoutBuilderModule]\n})\nexport class AXPPageWidgetViewComponent extends AXPWidgetComponent<void> {\n\n protected backgroundColor = computed<string>(() => this.options()[\"backgroundColor\"] as string);\n\n @HostBinding('style')\n private get __style(): any {\n return {\n 'background-color': this.backgroundColor(),\n };\n }\n\n}","import {\n AXPWidgetConfig,\n AXP_WIDGETS_LAYOUT_GROUP,\n cloneProperty,\n createBooleanProperty,\n} from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP } from '../../../properties';\nimport { AXP_BG_COLOR_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_THEME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPPageWidget: AXPWidgetConfig = {\n name: 'page-layout',\n title: 'Page',\n description: 'Structures the entire page',\n icon: 'fa-solid fa-page',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n visible: false,\n properties: [\n AXP_THEME_PROPERTY,\n cloneProperty(AXP_BG_COLOR_PROPERTY, { schema: { defaultValue: '#ffffff' } }),\n AXP_FONT_SIZE_PROPERTY,\n createBooleanProperty({\n name: 'hasHeader',\n path: 'options.hasHeader',\n title: 'Header',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n }),\n createBooleanProperty({\n name: 'hasFooter',\n path: 'options.hasFooter',\n title: 'Footer',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n }),\n ],\n components: {\n view: {\n component: () => import('./page-widget-view.component').then((c) => c.AXPPageWidgetViewComponent),\n },\n edit: {\n component: () => import('./page-widget-view.component').then((c) => c.AXPPageWidgetViewComponent),\n },\n print: {\n component: () => import('./page-widget-view.component').then((c) => c.AXPPageWidgetViewComponent),\n },\n designer: {\n component: () => import('./page-widget-designer.component').then((c) => c.AXPPageWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n pageLayout: 'page-layout';\n }\n}\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, WritableSignal, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-repeater-widget',\n template: `\n @for(row of rows();let i=$index; track i)\n {\n @for (node of children();track $index) \n {\n <ng-container axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [index]=\"i\" [mode]=\"this.mode\"></ng-container>\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXPLayoutBuilderModule]\n})\nexport class AXPRepeaterWidgetViewComponent extends AXPWidgetComponent<any[]> {\n protected rows: WritableSignal<any[]> = signal([]);\n\n ngAfterViewInit() {\n this.rows.set(this.getValue() ?? []);\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPLayoutBuilderModule, AXPLayoutElementAPI, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-repeater-widget',\n template: `\n @if(hasControls())\n {\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-items-center\">\n @for(row of rows();let i=$index; track i)\n {\n <div class=\"ax-col-span-11\">\n <ng-container [ngTemplateOutlet]=\"tpl\" [ngTemplateOutletContext]=\"{index:i}\"></ng-container>\n </div>\n <ax-button\n [disabled]=\"disabled()\"\n look=\"twotone\"\n color=\"danger\"\n (onClick)=\"handleRemoveItemClick(i)\"\n class=\"ax-col-start-12 ax-col-end-13 ax-justify-self-end ax-self-end\"\n >\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n }\n @empty {\n <ng-container [ngTemplateOutlet]=\"empty\" ></ng-container>\n } \n <ax-button\n [text]=\"rows().length ? 'Start Adding Items':'Add Your First Item'\"\n look=\"twotone\"\n [disabled]=\"disabled()\"\n (onClick)=\"handleAddItemClick()\"\n class=\"ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n @else {\n @for(row of rows();let i=$index; track i)\n {\n <ng-container [ngTemplateOutlet]=\"tpl\" [ngTemplateOutletContext]=\"{index:i}\"></ng-container>\n }\n @empty {\n <ng-container [ngTemplateOutlet]=\"empty\" ></ng-container>\n } \n }\n <ng-template #tpl let-index=\"index\"> \n @for (node of children();track $index) \n {\n <ng-container axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [index]=\"index\" [mode]=\"this.mode\"></ng-container>\n }\n \n </ng-template>\n <ng-template #empty>\n <div class=\"ax-col-start-1 ax-col-end-10 ax-text-sm ax-text-gray-400\">\n You haven't added any items yet. Click “Start Adding Items” to get started!\n </div>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXPLayoutBuilderModule]\n})\nexport class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent<any> {\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected hasControls = computed<boolean>(() => this.options()[\"hasControls\"] as boolean);\n\n protected rows = computed<any[]>(() => {\n return this.convertValueToArray() ?? [];\n })\n\n\n protected handleAddItemClick() {\n this.addNew();\n }\n\n protected handleRemoveItemClick(i: number) {\n this.removeItem(i);\n\n }\n\n public addNew() {\n const newValue = [...(this.convertValueToArray() ?? []), {}];\n this.setValue(newValue);\n }\n\n public removeItem(index: number) {\n const currentArray = [...this.convertValueToArray()];\n currentArray.splice(index, 1);\n this.setValue(currentArray);\n }\n\n\n private convertValueToArray(): any[] {\n return this.getValue() ?\n Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()] :\n [];\n }\n\n override api(): AXPLayoutElementAPI {\n return {\n \"addNew\": this.addNew.bind(this)\n }\n }\n\n\n}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n selector: 'axp-repeater-widget',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPRepeaterWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPWidgetComponent, AXPLayoutBuilderModule, } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetMiniButtonComponent, AXPDesignerService, AXPWidgetDesignerRendererDirective } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\n@Component({\n selector: 'axp-repeater-widget',\n template: `\n @if(hasControls())\n {\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <div class=\"ax-col-span-11\">\n <ng-container [ngTemplateOutlet]=\"tpl\" ></ng-container>\n </div>\n <ax-button\n [disabled]=\"disabled()\"\n look=\"twotone\"\n color=\"danger\"\n class=\"ax-col-start-12 ax-col-end-13 ax-justify-self-end ax-self-end\"\n >\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n <ax-button\n [text]=\"'Add New'\"\n look=\"twotone\"\n [disabled]=\"disabled()\"\n class=\"ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n @else {\n <ng-container [ngTemplateOutlet]=\"tpl\"></ng-container>\n }\n <ng-template #tpl>\n @for (node of children();track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\" [locked]=\"this.locked\"> </ng-container>\n }\n @empty {\n <axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>\n }\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetMiniButtonComponent],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPRepeaterWidgetDesignerComponent\n }\n ]\n})\nexport class AXPRepeaterWidgetDesignerComponent extends AXPWidgetComponent<void> {\n\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected hasControls = computed<boolean>(() => this.options()[\"hasControls\"] as boolean);\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-block`] = true;\n cls[`ax-w-full`] = true;\n return cls;\n }\n\n}","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP, createBooleanProperty } from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\nexport const AXPRepeaterWidget: AXPWidgetConfig = {\n name: 'repeater-layout',\n title: 'Repeater',\n description: 'Adds repeating form elements',\n icon: 'fa-solid fa-table-list',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n createBooleanProperty({\n name: \"hasControls\",\n title: \"Controls\",\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n path: \"options.hasControls\",\n })\n ],\n components: {\n view: {\n component: () => import('./repeater-widget-view.component').then((c) => c.AXPRepeaterWidgetViewComponent),\n },\n edit: {\n component: () => import('./repeater-widget-edit.component').then((c) => c.AXPRepeaterWidgetEditComponent),\n },\n print: {\n component: () => import('./repeater-widget-print.component').then((c) => c.AXPRepeaterWidgetPrintComponent),\n },\n designer: {\n component: () => import('./repeater-widget-designer.component').then((c) => c.AXPRepeaterWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n repeaterLayout: 'repeater-layout';\n }\n}\n","import {\n AXPBorderBox,\n AXPBorderBoxString,\n AXPPropertyCorners,\n AXPPropertySides,\n AXPSpacingBox,\n AXPSpacingBoxString,\n} from './property-editor.type';\n\n/**\n * Utility class for parsing and handling property editor values like borders, spacing, and units.\n */\nexport class AXPPropertyEditorHelper {\n /**\n * Expands shorthand input values into full sets for sides or corners.\n * @param values - Array of input values.\n * @returns Expanded array of values.\n */\n private static expandShorthand<T extends string>(values: T[]): T[] {\n switch (values.length) {\n case 1:\n return [values[0], values[0], values[0], values[0]];\n case 2:\n return [values[0], values[1], values[0], values[1]];\n case 3:\n return [values[0], values[1], values[2], values[1]];\n case 4:\n return values;\n default:\n throw new Error(`Invalid shorthand value count. Input: ${values}`);\n }\n }\n\n /**\n * @param values An array of four values to condense.\n * @returns A condensed string representation of the values.\n */\n private static condenseShorthand<T>(values: T[]): string {\n if (values.length !== 4) {\n throw new Error('Expected 4 values for condensation.');\n }\n\n if (values[0] === values[1] && values[1] === values[2] && values[2] === values[3]) {\n return `${values[0]}`;\n } else if (values[0] === values[2] && values[1] === values[3]) {\n return `${values[0]} ${values[1]}`;\n } else if (values[1] === values[3]) {\n return `${values[0]} ${values[1]} ${values[2]}`;\n } else {\n return `${values[0]} ${values[1]} ${values[2]} ${values[3]}`;\n }\n }\n\n /**\n * Parses sides (top, left, bottom, right) from a string.\n * @param input - Input string.\n * @returns Parsed sides object.\n */\n private static parseSides(input: string): AXPPropertySides {\n const values = this.expandShorthand(input.match(/(?:rgb\\([^)]+\\)|[^ ]+)/g)?.map((value) => value.trim()) || []);\n return { top: values[0], right: values[1], bottom: values[2], left: values[3] };\n }\n\n private static parseSidesWithUnits(input: string): AXPPropertySides<number> {\n const values = this.expandShorthand(input.match(/(?:rgb\\([^)]+\\)|[^ ]+)/g)?.map((value) => value.trim()) || []);\n return {\n top: AXPPropertyEditorHelper.getValueWithUnit(values[0]).value,\n right: AXPPropertyEditorHelper.getValueWithUnit(values[1]).value,\n bottom: AXPPropertyEditorHelper.getValueWithUnit(values[2]).value,\n left: AXPPropertyEditorHelper.getValueWithUnit(values[3]).value,\n };\n }\n\n /**\n * Parses corners (top-left, top-right, bottom-left, bottom-right) from a string.\n * @param input - Input string.\n * @returns Parsed corners object.\n */\n private static parseCorners(input: string): AXPPropertyCorners<number> {\n const values = this.expandShorthand(input.split(' ').map((value) => value.trim()));\n return {\n 'top-left': AXPPropertyEditorHelper.getValueWithUnit(values[0]).value,\n 'top-right': AXPPropertyEditorHelper.getValueWithUnit(values[1]).value,\n 'bottom-left': AXPPropertyEditorHelper.getValueWithUnit(values[2]).value,\n 'bottom-right': AXPPropertyEditorHelper.getValueWithUnit(values[3]).value,\n };\n }\n\n /**\n * Parses a spacing box from strings for margin and padding.\n * @param input - Spacing box string input.\n * @returns Parsed spacing box.\n */\n public static parseSpacingBox(input: AXPSpacingBoxString): AXPSpacingBox<number> {\n return {\n margin: this.parseSidesWithUnits(input.margin),\n padding: this.parseSidesWithUnits(input.padding),\n };\n }\n\n /**\n * Parses a border box from strings for width, radius, color, and style.\n * @param input - Border box string input.\n * @returns Parsed border box.\n */\n public static parseBorderBox(input: AXPBorderBoxString): AXPBorderBox<number | string> {\n return {\n width: this.parseSidesWithUnits(input.width),\n radius: this.parseCorners(input.radius),\n color: this.parseSides(input.color),\n style: this.parseSides(input.style),\n };\n }\n\n /**\n * Reverses a spacing box object into a string representation.\n * @param input - Spacing box object.\n * @param units - Units for margin and padding.\n * @returns String representation of the spacing box.\n */\n public static parseSpacingBoxReverse(\n input: AXPSpacingBox<number>,\n units: AXPSpacingBox<string>\n ): AXPSpacingBoxString {\n const format = (value: number, unit: string) => `${value}${unit}`;\n return {\n margin: AXPPropertyEditorHelper.condenseShorthand([\n format(input.margin.top, units.margin.top),\n format(input.margin.right, units.margin.right),\n format(input.margin.bottom, units.margin.bottom),\n format(input.margin.left, units.margin.left),\n ]),\n padding: AXPPropertyEditorHelper.condenseShorthand([\n format(input.padding.top, units.padding.top),\n format(input.padding.right, units.padding.right),\n format(input.padding.bottom, units.padding.bottom),\n format(input.padding.left, units.padding.left),\n ]),\n };\n }\n\n /**\n * Reverses a border box object into a string representation.\n * @param input - Border box object.\n * @param units - Units for width, radius, color, and style.\n * @returns String representation of the border box.\n */\n public static parseBorderBoxReverse(\n input: AXPBorderBox<number | string>,\n units: AXPBorderBox<string>\n ): AXPBorderBoxString {\n const format = (value: number | string, unit: string) => `${value}${unit}`;\n\n return {\n width: AXPPropertyEditorHelper.condenseShorthand([\n format(input.width.top, units.width.top),\n format(input.width.right, units.width.right),\n format(input.width.bottom, units.width.bottom),\n format(input.width.left, units.width.left),\n ]),\n radius: AXPPropertyEditorHelper.condenseShorthand([\n format(input.radius['top-left'], units.radius['top-left']),\n format(input.radius['top-right'], units.radius['top-right']),\n format(input.radius['bottom-right'], units.radius['bottom-right']),\n format(input.radius['bottom-left'], units.radius['bottom-left']),\n ]),\n color: AXPPropertyEditorHelper.condenseShorthand([\n `${input.color.top}${units.color.top}`,\n `${input.color.right}${units.color.right}`,\n `${input.color.bottom}${units.color.bottom}`,\n `${input.color.left}${units.color.left}`,\n ]),\n style: AXPPropertyEditorHelper.condenseShorthand([\n `${input.style.top}${units.style.top}`,\n `${input.style.right}${units.style.right}`,\n `${input.style.bottom}${units.style.bottom}`,\n `${input.style.left}${units.style.left}`,\n ]),\n };\n }\n\n /**\n * Parses a value with a unit (e.g., \"20px\") and returns its numeric value and unit.\n * @param input - Input string or number.\n * @returns Object with value and unit.\n */\n public static getValueWithUnit(input: string | number): { value: number; unit: string } {\n if (typeof input === 'number') return { value: input, unit: 'px' };\n if (input === 'auto') return { value: 0, unit: 'px' };\n\n const match = input.match(/^([0-9.]+)([a-z%]*)$/i);\n if (!match) throw new Error(`Invalid unit format: ${input}`);\n\n return { value: parseFloat(match[1]), unit: match[2] || '' };\n }\n\n /**\n * Reverses a numeric value and unit into a single string.\n * @param value - Numeric value.\n * @param unit - Unit string.\n * @returns Combined string.\n */\n public static getValueFromUnit(value: number, unit: string): string {\n return unit ? `${value}${unit}` : `${value}`;\n }\n\n /**\n * Parses a flex gap string and returns an object with values and units.\n *\n * @param gapString - The gap string to parse (e.g., \"10px\", \"10px 20%\").\n * @returns An object containing the gap values and their respective units.\n */\n public static parseGap(gapString: string): {\n units: Record<'both' | 'x' | 'y', string>;\n values: Record<'both' | 'x' | 'y', number>;\n } {\n const gapValues = gapString.trim().split(/\\s+/); // Split by whitespace\n\n // Initialize result object with default values\n const result = {\n values: { both: 0, x: 0, y: 0 },\n units: { both: 'px', x: 'px', y: 'px' },\n };\n\n /**\n * Extracts the numeric value and unit from a gap value string.\n *\n * @param value - The gap value string to parse (e.g., \"10px\").\n * @returns An object containing the numeric value and unit.\n */\n function extractValueAndUnit(value: string): { value: number; unit: string } {\n const match = value.match(/^([\\d.]+)([a-z%]*)$/i);\n if (match) {\n return { value: parseFloat(match[1]), unit: match[2] || 'px' };\n }\n throw new Error(`Invalid gap value: ${value}`);\n }\n\n if (gapValues.length === 1) {\n const { value, unit } = extractValueAndUnit(gapValues[0]);\n result.values.both = value;\n result.units.both = unit;\n } else if (gapValues.length === 2) {\n const { value: xValue, unit: xUnit } = extractValueAndUnit(gapValues[0]);\n const { value: yValue, unit: yUnit } = extractValueAndUnit(gapValues[1]);\n result.values.x = xValue;\n result.units.x = xUnit;\n result.values.y = yValue;\n result.units.y = yUnit;\n } else {\n throw new Error(`Invalid gap string: ${gapString}`);\n }\n\n return result;\n }\n}\n","export type AXPPropertyEditorSideValues = 'top' | 'left' | 'bottom' | 'right';\nexport type AXPPropertyEditorCornerValues = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n\nexport type AXPPropertyEditorSideGeneric<T extends string, U extends string | number = string> = Record<T, U>;\n\nexport type AXPPropertySides<T extends string | number = string> = AXPPropertyEditorSideGeneric<\n AXPPropertyEditorSideValues,\n T\n>;\nexport type AXPPropertyCorners<T extends string | number = string> = AXPPropertyEditorSideGeneric<\n AXPPropertyEditorCornerValues,\n T\n>;\n\nexport interface AXPSpacingBox<T extends string | number = string> {\n margin: AXPPropertySides<T>;\n padding: AXPPropertySides<T>;\n}\n\nexport interface AXPBorderBox<T extends string | number = string> {\n width: AXPPropertySides<T>;\n radius: AXPPropertyCorners<T>;\n color: AXPPropertySides<T>;\n style: AXPPropertySides<T>;\n}\nexport interface AXPSpacingBoxString {\n margin: string;\n padding: string;\n}\n\nexport interface AXPBorderBoxString {\n width: string;\n radius: string;\n color: string;\n style: string;\n}\n\nexport interface AXPSpacingBoxDefaultValues {\n label: string;\n value: number;\n colspan?: number;\n rowspan?: number;\n}\n\nexport const AXP_default_Border_Box_Value: AXPBorderBox<string | number> = {\n width: { top: 0, left: 0, bottom: 0, right: 0 },\n radius: { 'top-left': 0, 'top-right': 0, 'bottom-left': 0, 'bottom-right': 0 },\n color: { top: '#000000', left: '#000000', bottom: '#000000', right: '#000000' },\n style: { top: 'none', left: 'none', bottom: 'none', right: 'none' },\n};\n\nexport const AXP_default_Border_Box_Units: AXPBorderBox<string> = {\n width: { top: 'px', left: 'px', bottom: 'px', right: 'px' },\n radius: { 'top-left': 'px', 'top-right': 'px', 'bottom-left': 'px', 'bottom-right': 'px' },\n color: { top: '', left: '', bottom: '', right: '' },\n style: { top: '', left: '', bottom: '', right: '' },\n};\n\nexport const AXP_default_Spacing_Box_Value: AXPSpacingBox<number> = {\n padding: { top: 0, left: 0, bottom: 0, right: 0 },\n margin: { top: 0, left: 0, bottom: 0, right: 0 },\n};\n\nexport const AXP_default_Spacing_Box_Units: AXPSpacingBox<string> = {\n padding: { top: 'px', left: 'px', bottom: 'px', right: 'px' },\n margin: { top: 'px', left: 'px', bottom: 'px', right: 'px' },\n};\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPPropertyEditorHelper } from '../property-editor-helper';\nimport {\n AXP_default_Border_Box_Units,\n AXP_default_Border_Box_Value,\n AXPBorderBox,\n AXPBorderBoxString,\n AXPPropertyEditorCornerValues,\n AXPPropertyEditorSideValues,\n} from '../property-editor.type';\n\n@Component({\n templateUrl: './border-widget-editor.component.html',\n styleUrl: './border-widget-editor.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXNumberBoxModule,\n FormsModule,\n AXCheckBoxModule,\n AXButtonModule,\n AXDecoratorModule,\n AXRangeSliderModule,\n AXButtonGroupModule,\n AXColorBoxModule,\n ],\n})\nexport class AXPBorderWidgetEditComponent extends AXPWidgetComponent<AXPBorderBoxString> {\n private el = inject(ElementRef);\n\n private allwidth = signal(0);\n private allcolor = signal('rgba(0, 0, 0, 1)');\n private allstyle = signal('none');\n protected allRadius = signal(0);\n\n private units = signal(AXP_default_Border_Box_Units);\n\n private lastRadius = signal<number | null>(null);\n\n protected rendered = signal(false);\n\n protected currentActiveSide = signal<AXPPropertyEditorSideValues | 'all'>('all');\n protected currentActiveRadiusSide = signal<AXPPropertyEditorCornerValues | 'sides' | 'all'>('all');\n\n private allBorderEl = viewChild<ElementRef<HTMLButtonElement>>('allBorderEl');\n private allRadiusEl = viewChild<ElementRef<HTMLButtonElement>>('allRadiusEl');\n\n private currentActiveBorderEl?: HTMLButtonElement;\n private currentActiveRadiusEl?: HTMLButtonElement;\n\n protected calculatedValues = signal(AXP_default_Border_Box_Value);\n\n protected setBorder(\n value: number | [number, number] | string,\n type: keyof AXPBorderBox,\n side: AXPPropertyEditorCornerValues | AXPPropertyEditorSideValues | 'all'\n ) {\n if (!this.rendered()) {\n return;\n }\n\n const currentValue = this.calculatedValues();\n\n if (type === 'radius') {\n this.lastRadius.set(value as number);\n }\n if (side === 'all') {\n this.updateAllValues(type, value as number);\n this.calculatedValues.set({\n ...currentValue,\n [type]: this.getUpdatedAllValues(type, value as number),\n });\n } else {\n this.calculatedValues.set({\n ...currentValue,\n [type]: { ...currentValue[type], [side]: value },\n });\n }\n\n const data = AXPPropertyEditorHelper.parseBorderBoxReverse(this.calculatedValues(), this.units());\n this.setValue(data);\n }\n\n private updateAllValues(type: keyof AXPBorderBox, value: number | string) {\n if (type === 'width') this.allwidth.set(value as number);\n if (type === 'color') this.allcolor.set(value as string);\n if (type === 'radius') this.allRadius.set(value as number);\n if (type === 'style') this.allstyle.set(value as string);\n }\n\n private getUpdatedAllValues(type: keyof AXPBorderBox, value: number | string): Record<string, number | string> {\n return type === 'radius'\n ? { 'top-left': value, 'top-right': value, 'bottom-left': value, 'bottom-right': value }\n : { top: value, left: value, bottom: value, right: value };\n }\n\n protected shownWidth = computed(() =>\n this.currentActiveSide() === 'all'\n ? this.allwidth()\n : (this.calculatedValues().width[this.currentActiveSide() as AXPPropertyEditorSideValues] as number)\n );\n // protected shownRadius = computed(() => {\n // return this.currentActiveRadiusSide() === 'all'\n // ? this.allRadius()\n // : (this.calculatedValues().radius[this.currentActiveRadiusSide() as AXPPropertyEditorCornerValues] as number);\n // });\n protected shownColor = computed(() =>\n this.currentActiveSide() === 'all'\n ? this.allcolor()\n : (this.calculatedValues().color[this.currentActiveSide() as AXPPropertyEditorSideValues] as string)\n );\n protected shownStyle = computed(() =>\n this.currentActiveSide() === 'all'\n ? this.allstyle()\n : (this.calculatedValues().style[this.currentActiveSide() as AXPPropertyEditorSideValues] as string)\n );\n\n protected handleActiveBorderSide(event: PointerEvent) {\n event.stopPropagation();\n\n if (this.currentActiveBorderEl) {\n this.currentActiveBorderEl.style.backgroundColor = 'transparent';\n }\n\n this.currentActiveBorderEl = event.currentTarget as HTMLButtonElement;\n\n const newActiveSide = this.currentActiveBorderEl.name as AXPPropertyEditorSideValues | 'all';\n const previousActiveSide = this.currentActiveSide();\n\n if (newActiveSide === 'all' && previousActiveSide !== 'all') {\n const lastValues = this.calculatedValues();\n const lastUnits = this.units();\n\n const lastWidth = lastValues.width[previousActiveSide as AXPPropertyEditorSideValues] as number;\n const lastColor = lastValues.color[previousActiveSide as AXPPropertyEditorSideValues] as string;\n const lastStyle = lastValues.style[previousActiveSide as AXPPropertyEditorSideValues] as string;\n const lastRadiusObject = lastValues.radius;\n\n const lastWidthUnit = lastUnits.width[previousActiveSide as AXPPropertyEditorSideValues];\n const lastColorUnit = lastUnits.color[previousActiveSide as AXPPropertyEditorSideValues];\n const lastStyleUnit = lastUnits.style[previousActiveSide as AXPPropertyEditorSideValues];\n const lastRadiusObjectUnit = lastUnits.radius;\n\n this.allwidth.set(lastWidth);\n this.allcolor.set(lastColor);\n this.allstyle.set(lastStyle);\n\n this.units.set({\n width: this.createUniformValues(lastWidthUnit),\n color: this.createUniformValues(lastColorUnit),\n style: this.createUniformValues(lastStyleUnit),\n radius: lastRadiusObjectUnit,\n });\n\n this.calculatedValues.set({\n width: this.createUniformValues(lastWidth),\n color: this.createUniformValues(lastColor),\n style: this.createUniformValues(lastStyle),\n radius: lastRadiusObject,\n });\n\n const data = AXPPropertyEditorHelper.parseBorderBoxReverse(this.calculatedValues(), this.units());\n this.setValue(data);\n }\n\n this.currentActiveSide.set(newActiveSide);\n\n this.currentActiveBorderEl.style.backgroundColor = 'var(--focus-color)';\n }\n\n protected handleActiveRadiusSide(event: PointerEvent) {\n event.stopPropagation();\n\n if (this.currentActiveRadiusEl) {\n this.currentActiveRadiusEl.style.backgroundColor = 'transparent';\n }\n this.currentActiveRadiusEl = event.currentTarget as HTMLButtonElement;\n const newActiveRadiusSide = this.currentActiveRadiusEl.name as 'sides' | 'all';\n if (newActiveRadiusSide === 'all' && this.lastRadius() !== null) {\n this.calculatedValues.update((old) => ({\n ...old,\n radius: {\n 'bottom-left': this.lastRadius()!,\n 'bottom-right': this.lastRadius()!,\n 'top-left': this.lastRadius()!,\n 'top-right': this.lastRadius()!,\n },\n }));\n this.allRadius.set(this.lastRadius()!);\n const data = AXPPropertyEditorHelper.parseBorderBoxReverse(this.calculatedValues(), this.units());\n this.setValue(data);\n }\n\n this.currentActiveRadiusSide.set(newActiveRadiusSide);\n this.currentActiveRadiusEl.style.backgroundColor = 'var(--focus-color)';\n }\n\n private afterRender = afterNextRender(() => {\n if (this.getValue()) {\n this.calculatedValues.set(AXPPropertyEditorHelper.parseBorderBox(this.getValue()));\n }\n this.initializeBorder();\n this.initializeRadius();\n this.rendered.set(true);\n });\n\n private initializeBorder(): void {\n const widthValue = this.calculatedValues().width;\n const widthColor = this.calculatedValues().color;\n const widthStyle = this.calculatedValues().style;\n const [firstWidthValue, ...restWidthValues] = Object.values(widthValue);\n const [firstColorValue, ...restColorValues] = Object.values(widthColor);\n const [firstStyleValue, ...restStyleValues] = Object.values(widthStyle);\n\n if (\n restWidthValues.every((value) => value === firstWidthValue) &&\n restColorValues.every((value) => value === firstColorValue) &&\n restStyleValues.every((value) => value === firstStyleValue)\n ) {\n this.allcolor.set(firstColorValue as string);\n this.allstyle.set(firstStyleValue as string);\n this.allwidth.set(firstWidthValue as number);\n this.currentActiveSide.set('all');\n this.currentActiveBorderEl = this.allBorderEl()?.nativeElement;\n if (this.currentActiveBorderEl) {\n this.currentActiveBorderEl.style.backgroundColor = 'var(--focus-color)';\n }\n } else {\n const sides: AXPPropertyEditorSideValues[] = ['top', 'right', 'bottom', 'left'];\n for (const side of sides) {\n if (widthValue[side]) {\n this.currentActiveSide.set(side);\n const element = (this.el.nativeElement as HTMLElement).querySelector<HTMLButtonElement>(\n `button[name=\"${side}\"]`\n );\n if (element) {\n this.currentActiveBorderEl = element;\n element.style.backgroundColor = 'var(--focus-color)';\n }\n break;\n }\n }\n }\n }\n\n private initializeRadius(): void {\n const values = this.calculatedValues().radius;\n const [firstValue, ...restValues] = Object.values(values);\n\n if (restValues.every((value) => value === firstValue)) {\n this.currentActiveRadiusSide.set('all');\n this.currentActiveRadiusEl = this.allRadiusEl()?.nativeElement;\n if (this.currentActiveRadiusEl) {\n this.currentActiveRadiusEl.style.backgroundColor = 'var(--focus-color)';\n this.allRadius.set(firstValue as number);\n }\n } else {\n const element = (this.el.nativeElement as HTMLElement).querySelector<HTMLButtonElement>(`button[name=\"sides\"]`);\n if (element) {\n this.currentActiveRadiusSide.set('sides');\n this.currentActiveRadiusEl = element;\n element.style.backgroundColor = 'var(--focus-color)';\n }\n }\n }\n\n private createUniformValues<T>(value: T): Record<AXPPropertyEditorSideValues, T> {\n return {\n top: value,\n right: value,\n bottom: value,\n left: value,\n };\n }\n\n // private debugEffect1 = effect(() => {\n // console.log(this.currentActiveSide());\n // });\n // private debugEffect2 = effect(() => {\n // console.log(this.calculatedValues());\n // });\n // private debugEffect3 = effect(() => {\n // console.log(this.getValue());\n // });\n}\n","<div class=\"ax-pt-2 axp-border-container\">\n <div class=\"ax-radius-box ax-flex ax-justify-between ax-items-center ax-gap-2 ax-h-[26px]\">\n <span class=\"ax-text-sm ax-font-light\">Radius</span>\n <div class=\"ax-flex ax-gap-2 ax-items-center\">\n <button\n #allRadiusEl\n (pointerdown)=\"handleActiveRadiusSide($event)\"\n name=\"all\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M2.5 5.5C2.5 3.84315 3.84315 2.5 5.5 2.5H10.5C12.1569 2.5 13.5 3.84315 13.5 5.5V10.5C13.5 12.1569 12.1569 13.5 10.5 13.5H5.5C3.84315 13.5 2.5 12.1569 2.5 10.5V5.5Z\"\n stroke=\"currentColor\"\n ></path>\n </svg>\n </button>\n\n <button\n (pointerdown)=\"handleActiveRadiusSide($event)\"\n name=\"sides\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M4.5 2C3.11929 2 2 3.11929 2 4.5V7H3V4.5C3 3.67157 3.67157 3 4.5 3H7V2H4.5Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M9 2V3H11.5C12.3284 3 13 3.67157 13 4.5V7H14V4.5C14 3.11929 12.8807 2 11.5 2H9Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M14 9H13V11.5C13 12.3284 12.3284 13 11.5 13H9V14H11.5C12.8807 14 14 12.8807 14 11.5V9Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M7 14V13H4.5C3.67157 13 3 12.3284 3 11.5V9H2V11.5C2 12.8807 3.11929 14 4.5 14H7Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </button>\n\n @if(currentActiveRadiusSide() ==='all'){\n <div class=\"ax-flex ax-justify-center ax-items-center ax-flex-shrink\">\n <ax-range-slider\n [values]=\"allRadius()\"\n [min]=\"0\"\n [max]=\"100\"\n (valuesChange)=\"setBorder($event ?? 0, 'radius', 'all')\"\n class=\"ax-min-w-28\"\n ></ax-range-slider>\n </div>\n <div class=\"ax-flex ax-justify-start ax-items-center\">\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"100\"\n [value]=\"allRadius()\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'all')\"\n class=\"ax-min-w-8\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n }@else{\n <div class=\"ax-w-48\"></div>\n }\n </div>\n </div>\n\n <div\n class=\"axp-border-radius-sides ax-flex ax-justify-end ax-items-center ax-overflow-y-hidden ax-transition-[height] ax-duration-300 ax-ease-in-out\"\n [class]=\"currentActiveRadiusSide() === 'all' ? '!ax-h-0' : '!ax-h-[56px]'\"\n >\n <div class=\"ax-grid ax-grid-cols-2 ax-grid-rows-2 ax-gap-2\">\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M14 14V9H13V13H9V14H14Z\" fill=\"currentColor\"></path>\n <path d=\"M7 14V13H3V9H2V14H7Z\" fill=\"currentColor\"></path>\n <path d=\"M2 7H3V6.5C3 4.567 4.567 3 6.5 3H7V2H6.5C4.01472 2 2 4.01472 2 6.5V7Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M2.5 7V6.5C2.5 4.29086 4.29086 2.5 6.5 2.5H7\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['top-left']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'top-left')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 14V9H3V13H7V14H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 14V13H13V9H14V14H9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M14 7H13V6.5C13 4.567 11.433 3 9.5 3H9V2H9.5C11.9853 2 14 4.01472 14 6.5V7Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M7 2V3H3V7H2V2H7Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M13.5 7V6.5C13.5 4.29086 11.7091 2.5 9.5 2.5H9\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['top-right']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'top-right')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 2V7H3V3H7V2H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n <path d=\"M14 9H13V13H9V14H14V9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M7 14V13H6.5C4.567 13 3 11.433 3 9.5V9H2V9.5C2 11.9853 4.01472 14 6.5 14H7Z\"\n fill=\"currentColor\"\n ></path>\n </g>\n <path d=\"M2.5 9V9.5C2.5 11.7091 4.29086 13.5 6.5 13.5H7\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['bottom-left']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'bottom-left')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 2V7H3V3H7V2H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M14 9H13V11.5C13 12.3284 12.3284 13 11.5 13H9V14H11.5C12.8807 14 14 12.8807 14 11.5V9Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M7 14V13H3V9H2V14H7Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M13.5 9V9.5C13.5 11.7091 11.7091 13.5 9.5 13.5H9\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['bottom-right']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'bottom-right')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"ax-flex ax-justify-between ax-items-center ax-py-1\">\n <span class=\"ax-text-sm ax-font-light\">Borders</span>\n </div>\n\n <div class=\"ax-border-box ax-flex ax-justify-between ax-items-center ax-gap-4\">\n <div class=\"ax-grid ax-grid-cols-3 ax-grid-rows-3 ax-gap-1 ax-flex-shrink-0\">\n <!-- Top Border -->\n <div class=\"ax-border-box-top ax-col-start-2 ax-row-start-1\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"top\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 13C2 13.5523 2.44772 14 3 14H13C13.5523 14 14 13.5523 14 13V5H13V13H3V5H2V13Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 3H14V2H2V3Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Right Border -->\n <div class=\"ax-border-box-right ax-col-start-3 ax-row-start-2\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"right\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3 2C2.44772 2 2 2.44772 2 3L2 13C2 13.5523 2.44772 14 3 14L11 14L11 13L3 13L3 3L11 3L11 2L3 2Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13 2L13 14L14 14L14 2L13 2Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Bottom Border -->\n <div class=\"ax-border-box-bottom ax-col-start-2 ax-row-start-3\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"bottom\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 3C2 2.44772 2.44772 2 3 2H13C13.5523 2 14 2.44772 14 3V11H13V3H3V11H2V3Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 13H14V14H2V13Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Left Border -->\n <div class=\"ax-border-box-left ax-col-start-1 ax-row-start-2\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"left\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13 2C13.5523 2 14 2.44772 14 3L14 13C14 13.5523 13.5523 14 13 14L5 14L5 13L13 13L13 3L5 3L5 2L13 2Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 2L3 14L2 14L2 2L3 2Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- All -->\n <div class=\"ax-border-box-all ax-col-start-2 ax-row-start-2\">\n <button\n #allBorderEl\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"all\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 3C2 2.44772 2.44772 2 3 2H13C13.5523 2 14 2.44772 14 3V13C14 13.5523 13.5523 14 13 14H3C2.44772 14 2 13.5523 2 13V3ZM13 3L3 3V13H13V3Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </button>\n </div>\n </div>\n <div class=\"ax-grid ax-grid-cols-[auto_1fr] ax-items-center ax-gap-x-2 ax-gap-y-2\">\n <div class=\"ax-text-sm ax-font-light\">Style</div>\n <ax-button-group [selection]=\"'single'\">\n <ax-button-group-item\n (onClick)=\"setBorder('none', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'none'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.70714 8.00004L12.3536 4.35359L11.6465 3.64648L8.00004 7.29293L4.35359 3.64648L3.64648 4.35359L7.29293 8.00004L3.64648 11.6465L4.35359 12.3536L8.00004 8.70714L11.6465 12.3536L12.3536 11.6465L8.70714 8.00004Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('solid', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'solid'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2 7.5H14\" stroke=\"currentColor\"></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('dashed', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'dashed'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 7H2V8H5V7ZM11 8H12H14V7H12H11V8ZM9.5 7H6.5V8H9.5V7Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('dotted', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'dotted'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4 7H3V8H4V7ZM6 7H5V8H6V7ZM7 7H8V8H7V7ZM10 7H9V8H10V7ZM11 7H12V8H11V7ZM14 7H13V8H14V7Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n </ax-button-group>\n <div class=\"ax-contents\" [class]=\"shownStyle() === 'none' ? 'ax-invisible' : 'ax-visible'\">\n <div class=\"ax-text-sm ax-font-light\">Width</div>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-36\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"shownWidth()\"\n (valueChange)=\"setBorder($event ?? 0, 'width', currentActiveSide())\"\n class=\"ax-min-w-8 ax-exclude\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text>PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n\n <div class=\"ax-text-sm ax-font-light\">Color</div>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-36 ax-overflow-hidden\">\n <ax-color-box\n [value]=\"shownColor()\"\n (valueChange)=\"setBorder($event, 'color', currentActiveSide())\"\n ></ax-color-box>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\nexport const AXPBorderWidget: AXPWidgetConfig = {\n name: 'border',\n title: 'Box Border',\n description: 'Editing Elements Border',\n group: AXP_WIDGETS_EDITOR_GROUP,\n icon: 'fa-solid fa-border',\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],\n components: {\n edit: {\n component: () => import('./border-widget-editor.component').then((c) => c.AXPBorderWidgetEditComponent),\n },\n },\n visible: false,\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n border: 'border';\n }\n}\n","export interface AXPFlexBoxValues {\n flexDirection: 'row' | 'row-reverse' | 'column' | 'column-reverse';\n flexWrap: 'nowrap' | 'wrap' | 'wrap-reverse';\n justifyContent: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around';\n alignItems: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline';\n gap: string;\n}\n\nexport interface AXPFlexBoxOption {\n value: string;\n label: string;\n}\n\nexport interface AXPFlexBoxAlignmentOption extends AXPFlexBoxOption {\n alignItems: AXPFlexBoxValues['alignItems'];\n justifyContent: AXPFlexBoxValues['justifyContent'];\n}\n\nexport const AXP_Flex_Box_Alignments: AXPFlexBoxAlignmentOption[] = [\n { value: 'top-left', label: 'Top Left', alignItems: 'flex-start', justifyContent: 'flex-start' },\n { value: 'top-center', label: 'Top Center', alignItems: 'flex-start', justifyContent: 'center' },\n { value: 'top-right', label: 'Top Right', alignItems: 'flex-start', justifyContent: 'flex-end' },\n { value: 'middle-left', label: 'Middle Left', alignItems: 'center', justifyContent: 'flex-start' },\n { value: 'middle-center', label: 'Middle Center', alignItems: 'center', justifyContent: 'center' },\n { value: 'middle-right', label: 'Middle Right', alignItems: 'center', justifyContent: 'flex-end' },\n { value: 'bottom-left', label: 'Bottom Left', alignItems: 'flex-end', justifyContent: 'flex-start' },\n { value: 'bottom-center', label: 'Bottom Center', alignItems: 'flex-end', justifyContent: 'center' },\n { value: 'bottom-right', label: 'Bottom Right', alignItems: 'flex-end', justifyContent: 'flex-end' },\n];\n\nexport const AXP_Flex_Box_Justify_Options: AXPFlexBoxOption[] = [\n { value: 'flex-start', label: 'Start' },\n { value: 'flex-end', label: 'End' },\n { value: 'center', label: 'Center' },\n { value: 'space-between', label: 'Space Between' },\n { value: 'space-around', label: 'Space Around' },\n];\n\nexport const AXP_Flex_Box_Align_Options: AXPFlexBoxOption[] = [\n { value: 'flex-start', label: 'Start' },\n { value: 'flex-end', label: 'End' },\n { value: 'center', label: 'Center' },\n { value: 'stretch', label: 'Stretch' },\n { value: 'baseline', label: 'Baseline' },\n];\n","import { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPPropertyEditorHelper } from '../property-editor-helper';\nimport {\n AXP_Flex_Box_Align_Options,\n AXP_Flex_Box_Alignments,\n AXP_Flex_Box_Justify_Options,\n AXPFlexBoxAlignmentOption,\n AXPFlexBoxOption,\n AXPFlexBoxValues,\n} from './flex-options-widget.type';\n\n@Component({\n templateUrl: './flex-options-widget-editor.component.html',\n styleUrl: './flex-options-widget-editor.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXRangeSliderModule,\n AXNumberBoxModule,\n FormsModule,\n ],\n})\nexport class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent<AXPFlexBoxValues> {\n protected flexSides = AXP_Flex_Box_Alignments;\n\n protected flexDirection = signal<AXPFlexBoxValues['flexDirection']>('row');\n protected flexWrap = signal<AXPFlexBoxValues['flexWrap']>('nowrap');\n protected flexDirectionIsColumn = computed(() => this.flexDirection().includes('column'));\n\n protected gapMode = signal<'single' | 'dual'>('single');\n protected gapUnit = signal<Record<'both' | 'x' | 'y', string>>({ both: 'px', x: 'px', y: 'px' });\n protected gap = signal<Record<'both' | 'x' | 'y', number>>({ both: 0, x: 0, y: 0 });\n\n protected selectedJustify = signal<AXPFlexBoxOption>({ value: 'flex-start', label: 'Start' });\n protected selectedAlign = signal<AXPFlexBoxOption>({ value: 'flex-start', label: 'Start' });\n\n protected hoveredAlign = signal<AXPFlexBoxValues['alignItems'] | null>(null);\n protected hoveredJustify = signal<AXPFlexBoxValues['justifyContent'] | null>(null);\n\n protected clickedAlign = signal<AXPFlexBoxValues['alignItems']>('flex-start');\n protected clickedJustify = signal<AXPFlexBoxValues['justifyContent']>('flex-start');\n\n protected setFlexMode() {\n if (this.gapMode() === 'single') {\n this.gapMode.set('dual');\n } else {\n this.gapMode.set('single');\n }\n }\n\n protected setFlexDirection(type: AXPFlexBoxValues['flexDirection']) {\n this.flexDirection.set(type);\n this.saveValue({ flexDirection: type });\n }\n\n protected setGap(size: number, side: 'both' | 'x' | 'y') {\n this.gap.set({ ...this.gap(), [side]: size });\n if (this.gapMode() === 'single') {\n const gap = this.gap().both + this.gapUnit().both;\n this.saveValue({ gap });\n } else {\n const gap = this.gap().x + this.gapUnit().x + ' ' + this.gap().y + this.gapUnit().y;\n this.saveValue({ gap });\n }\n }\n\n protected onClick(data: AXPFlexBoxAlignmentOption): void {\n if (this.clickedJustify() === 'space-between') {\n if (this.clickedAlign() === 'stretch') {\n return;\n } else if (this.clickedAlign() === 'baseline' && data.alignItems === 'flex-start') {\n return;\n }\n this.clickedAlign.set(data.alignItems);\n this.selectedAlign.set({ value: data.alignItems, label: this.findAlignNameById(data.alignItems)! });\n } else if (this.clickedJustify() === 'space-around') {\n if (this.clickedAlign() === 'stretch') {\n return;\n } else if (this.clickedAlign() === 'baseline' && data.alignItems === 'flex-start') {\n return;\n }\n this.clickedAlign.set(data.alignItems);\n this.selectedAlign.set({ value: data.alignItems, label: this.findAlignNameById(data.alignItems)! });\n } else if (this.clickedAlign() === 'stretch') {\n this.clickedJustify.set(data.justifyContent);\n this.selectedJustify.set({ value: data.justifyContent, label: this.findJustifyNameById(data.justifyContent)! });\n } else if (this.clickedAlign() === 'baseline' && data.alignItems === 'flex-start') {\n this.clickedJustify.set(data.justifyContent);\n this.selectedJustify.set({ value: data.justifyContent, label: this.findJustifyNameById(data.justifyContent)! });\n } else {\n this.clickedAlign.set(data.alignItems);\n this.clickedJustify.set(data.justifyContent);\n this.selectedJustify.set({ value: data.justifyContent, label: this.findJustifyNameById(data.justifyContent)! });\n this.selectedAlign.set({ value: data.alignItems, label: this.findAlignNameById(data.alignItems)! });\n }\n this.saveValue({ alignItems: this.clickedAlign(), justifyContent: this.clickedJustify() });\n }\n\n protected onHover(data: AXPFlexBoxAlignmentOption): void {\n if (this.clickedJustify() === 'space-between') {\n this.hoveredAlign.set(data.alignItems);\n this.hoveredJustify.set('space-between');\n } else if (this.clickedJustify() === 'space-around') {\n this.hoveredAlign.set(data.alignItems);\n this.hoveredJustify.set('space-around');\n } else if (this.clickedAlign() === 'stretch') {\n this.hoveredAlign.set('stretch');\n this.hoveredJustify.set(data.justifyContent);\n } else if (this.clickedAlign() === 'baseline' && data.alignItems === 'flex-start') {\n this.hoveredAlign.set('baseline');\n this.hoveredJustify.set(data.justifyContent);\n } else {\n this.hoveredAlign.set(data.alignItems);\n this.hoveredJustify.set(data.justifyContent);\n }\n }\n\n protected onHoverLeave() {\n this.hoveredAlign.set(null);\n this.hoveredJustify.set(null);\n }\n\n protected onJustifyChange(event: AXValueChangedEvent<any>) {\n if (event.isUserInteraction) {\n this.selectedJustify.set({ value: event.value, label: this.findAlignNameById(event.value)! });\n this.clickedJustify.set(event.value);\n }\n this.saveValue({ justifyContent: this.clickedJustify() });\n }\n\n protected onAlignChange(event: AXValueChangedEvent<any>) {\n if (event.isUserInteraction) {\n this.selectedAlign.set({ value: event.value, label: this.findAlignNameById(event.value)! });\n this.clickedAlign.set(event.value);\n }\n this.saveValue({ alignItems: this.clickedAlign() });\n }\n\n protected justifyDataSource = new AXDataSource({\n pageSize: 99,\n load: async (e) => {\n return {\n items: AXP_Flex_Box_Justify_Options,\n total: AXP_Flex_Box_Justify_Options.length,\n };\n },\n });\n\n protected alignDataSource = new AXDataSource({\n pageSize: 99,\n load: async (e) => {\n return {\n items: AXP_Flex_Box_Align_Options,\n total: AXP_Flex_Box_Align_Options.length,\n };\n },\n });\n\n private findAlignNameById = (value: string): string | undefined => {\n const side = AXP_Flex_Box_Align_Options.find((side) => side.value === value);\n return side?.label;\n };\n\n private findJustifyNameById = (value: string): string | undefined => {\n const side = AXP_Flex_Box_Justify_Options.find((side) => side.value === value);\n return side?.label;\n };\n\n protected shouldRenderPoint(side: AXPFlexBoxAlignmentOption): boolean {\n const clickedAlign = this.clickedAlign();\n const clickedJustify = this.clickedJustify();\n const hoveredAlign = this.hoveredAlign();\n const hoveredJustify = this.hoveredJustify();\n\n const checkHide = (align: string | null, justify: string | null): boolean => {\n if (!align || !justify) return false;\n\n // Combined case: stretch with space-between/around (Hide all 9)\n if (align === 'stretch' && (justify === 'space-between' || justify === 'space-around')) {\n return true;\n }\n\n // Baseline cases (special handling)\n if (align === 'baseline') {\n if (justify === 'space-between' || justify === 'space-around') {\n return side.alignItems === 'flex-start'; // Hide only the first row\n }\n return side.alignItems === align && side.justifyContent === justify; // Hide matching cell\n }\n\n if (justify === 'space-between' || justify === 'space-around') {\n return side.alignItems === align; // Hide the entire row\n }\n\n if (align === 'stretch') {\n return side.justifyContent === justify;\n }\n\n return side.alignItems === align && side.justifyContent === justify; // Hide only the selected cell\n };\n\n // Corrected logic: Check if EITHER click OR hover should hide the point\n return !(checkHide(clickedAlign, clickedJustify) || checkHide(hoveredAlign, hoveredJustify));\n }\n\n #af = afterNextRender(() => {\n const value = this.getValue();\n this.flexDirection.set(value.flexDirection ?? 'row');\n this.clickedAlign.set(value.alignItems ?? 'flex-start');\n this.clickedJustify.set(value.justifyContent ?? 'flex-start');\n this.flexWrap.set(value.flexWrap ?? 'nowrap');\n const { values, units } = AXPPropertyEditorHelper.parseGap(value.gap ?? '0px');\n if (values.both) {\n this.gapMode.set('single');\n } else {\n this.gapMode.set('dual');\n }\n this.gap.set(values);\n this.gapUnit.set(units);\n });\n\n private saveValue(item: Partial<AXPFlexBoxValues>) {\n this.setValue({ ...this.getValue(), ...item });\n }\n\n // #eff1 = effect(() => console.log('HOVER: ', this.hoveredAlign(), this.hoveredJustify()));\n // #eff2 = effect(() => console.log('CLICKED: ', this.clickedAlign(), this.clickedJustify()));\n // #eff3 = effect(() => console.log(this.getValue()));\n}\n","<div class=\"axp-flex-option ax-grid ax-grid-cols-[auto_1fr] ax-pt-2 ax-gap-2 ax-items-center ax-justify-items-start\">\n <span>Direction</span>\n <div>\n <ax-button-group [selection]=\"'single'\">\n <ax-button-group-item (onClick)=\"setFlexDirection('row')\" [selected]=\"flexDirection() === 'row'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.2929 7.00004L9.14645 3.85359L9.85355 3.14648L14.2071 7.50004L9.85355 11.8536L9.14645 11.1465L12.2929 8.00004H3V7.00004H12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item (onClick)=\"setFlexDirection('row-reverse')\" [selected]=\"flexDirection() === 'row-reverse'\"\n ><ax-prefix\n ><svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"transform: rotate(180deg)\"\n >\n <path\n d=\"M12.2929 7.00004L9.14645 3.85359L9.85355 3.14648L14.2071 7.50004L9.85355 11.8536L9.14645 11.1465L12.2929 8.00004H3V7.00004H12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item (onClick)=\"setFlexDirection('column')\" [selected]=\"flexDirection() === 'column'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8.00001 12.2929L4.85356 9.14645L4.14645 9.85355L8.50001 14.2071L12.8536 9.85355L12.1465 9.14645L9.00001 12.2929L9.00001 3H8.00001L8.00001 12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setFlexDirection('column-reverse')\"\n [selected]=\"flexDirection() === 'column-reverse'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.00004 3.70721L12.1465 6.85363L12.8536 6.14652L8.50001 1.79297L4.14645 6.14652L4.85356 6.85363L8.00004 3.70715L8.00004 13.0001H9.00004L9.00004 3.70721Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n </ax-button-group>\n </div>\n <span>Align</span>\n <div class=\"ax-flex ax-justify-between ax-gap-2 ax-items-center\">\n <div\n class=\"ax-relative ax-size-[62px] ax-bg-black ax-bg-opacity-20 ax-border ax-border-white ax-border-opacity-15 ax-rounded\"\n >\n <div class=\"ax-absolute ax-inset-0 ax-grid ax-grid-cols-3 ax-grid-rows-3\">\n @for(side of flexSides; track side.value){\n <div\n [attr.aria-label]=\"side.label\"\n [attr.aria-value]=\"side.value\"\n class=\"ax-grid ax-place-content-center\"\n (mouseenter)=\"onHover(side)\"\n (mouseleave)=\"onHoverLeave()\"\n (click)=\"onClick(side)\"\n >\n @if (shouldRenderPoint(side)) {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"7\" y=\"7\" width=\"2\" height=\"2\" rx=\"1\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n </svg>\n }\n </div>\n }\n </div>\n <div\n class=\"ax-absolute ax-inset-0 ax-flex ax-pointer-events-none\"\n [style.flex-direction]=\"flexDirection()\"\n [style.justify-content]=\"hoveredJustify()\"\n [style.align-items]=\"hoveredAlign()\"\n >\n <div class=\"ax-flex ax-justify-center ax-items-center ax-min-w-5 ax-min-h-5\">\n <div class=\"ax-size-auto ax-z-[1] ax-flex-none\">\n @if(hoveredJustify()==='space-between'){ @if(clickedAlign()==='stretch'){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5V15.5C31 15.7761 30.7761 16 30.5 16H29.5C29.2239 16 29 15.7761 29 15.5V6.5ZM9 8.5C9 8.22386 9.22386 8 9.5 8H10.5C10.7761 8 11 8.22386 11 8.5V12.5C11 12.7761 10.7761 13 10.5 13H9.5C9.22386 13 9 12.7761 9 12.5V8.5ZM49.5 8C49.2239 8 49 8.22386 49 8.5V14.5C49 14.7761 49.2239 15 49.5 15H50.5C50.7761 15 51 14.7761 51 14.5V8.5C51 8.22386 50.7761 8 50.5 8H49.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } } @else if(hoveredJustify()==='space-around'){ @if(clickedAlign()==='stretch' ){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"11\" y=\"9\" width=\"2\" height=\"5\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <rect x=\"29\" y=\"6\" width=\"2\" height=\"10\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <rect x=\"47\" y=\"8\" width=\"2\" height=\"7\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 13L8 11L5 9V13ZM55 9L52 11L55 13V9Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } } @else if(hoveredAlign()==='flex-start'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.5 7C3.22386 7 3 6.77614 3 6.5V3.5C3 3.22386 3.22386 3 3.5 3H4.5C4.77614 3 5 3.22386 5 3.5V6.5C5 6.77614 4.77614 7 4.5 7H3.5ZM7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM11.5 3C11.2239 3 11 3.22386 11 3.5V8.5C11 8.77614 11.2239 9 11.5 9H12.5C12.7761 9 13 8.77614 13 8.5V3.5C13 3.22386 12.7761 3 12.5 3H11.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n }@else if (hoveredAlign()==='center') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM3.5 10C3.22386 10 3 9.77614 3 9.5V6.5C3 6.22386 3.22386 6 3.5 6H4.5C4.77614 6 5 6.22386 5 6.5V9.5C5 9.77614 4.77614 10 4.5 10H3.5ZM11.5 5C11.2239 5 11 5.22386 11 5.5V10.5C11 10.7761 11.2239 11 11.5 11H12.5C12.7761 11 13 10.7761 13 10.5V5.5C13 5.22386 12.7761 5 12.5 5H11.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if (hoveredAlign()==='flex-end') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.5 7C11.2239 7 11 7.22386 11 7.5L11 12.5C11 12.7761 11.2239 13 11.5 13L12.5 13C12.7761 13 13 12.7761 13 12.5L13 7.5C13 7.22386 12.7761 7 12.5 7L11.5 7ZM7.5 13C7.22386 13 7 12.7761 7 12.5L7 3.5C7 3.22386 7.22386 3 7.5 3L8.5 3C8.77614 3 9 3.22386 9 3.5L9 12.5C9 12.7761 8.77614 13 8.5 13L7.5 13ZM3.5 13C3.22386 13 3 12.7761 3 12.5L3 9.5C3 9.22386 3.22386 9 3.5 9L4.5 9C4.77614 9 5 9.22386 5 9.5L5 12.5C5 12.7761 4.77614 13 4.5 13L3.5 13Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if (hoveredAlign()==='stretch') {\n <svg width=\"20\" height=\"60\" viewBox=\"0 0 20 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7 53.5C7 53.7761 6.77614 54 6.5 54L5.5 54C5.22386 54 5 53.7761 5 53.5L5 6.5C5 6.22386 5.22386 6 5.5 6L6.5 6C6.77614 6 7 6.22386 7 6.5L7 53.5ZM11 53.5C11 53.7761 10.7761 54 10.5 54L9.5 54C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6L10.5 6C10.7761 6 11 6.22386 11 6.5L11 53.5ZM14.5 54C14.7761 54 15 53.7761 15 53.5L15 6.5C15 6.22386 14.7761 6 14.5 6L13.5 6C13.2239 6 13 6.22386 13 6.5L13 53.5C13 53.7761 13.2239 54 13.5 54L14.5 54Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if(hoveredAlign()==='baseline'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13 2V8.29289L14.6464 6.64645L15.3536 7.35355L12.5 10.2071L9.64645 7.35355L10.3536 6.64645L12 8.29289V2H13Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n <path d=\"M16 12L1 12V13L16 13V12Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.62582 2H6.37412L8.72712 10H7.68476L7.09649 7.99994H3.90349L3.31524 10H2.27288L4.62582 2ZM6.80237 6.99994L5.62585 2.9999H5.37409L4.19761 6.99994H6.80237Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n }\n </div>\n </div>\n </div>\n <div\n class=\"ax-absolute ax-inset-0 ax-flex ax-pointer-events-none\"\n [style.flex-direction]=\"flexDirection()\"\n [style.justify-content]=\"clickedJustify()\"\n [style.align-items]=\"clickedAlign()\"\n >\n <div class=\"ax-flex ax-justify-center ax-items-center ax-min-w-5 ax-min-h-5\">\n <div class=\"ax-size-auto ax-z-[2] ax-flex-none\">\n @if(clickedJustify()==='space-between'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11 53.5C11 53.7761 10.7761 54 10.5 54H9.5C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6H10.5C10.7761 6 11 6.22386 11 6.5L11 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM50.5 54C50.7761 54 51 53.7761 51 53.5L51 6.5C51 6.22386 50.7761 6 50.5 6H49.5C49.2239 6 49 6.22386 49 6.5L49 53.5C49 53.7761 49.2239 54 49.5 54H50.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='baseline'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M50.5996 4V10.2929L52.246 8.64645L52.9531 9.35355L50.0996 12.2071L47.246 9.35355L47.9531 8.64645L49.5996 10.2929V4H50.5996Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9.35294 4H11.1012L13.4542 12H12.4119L11.8236 9.99994H8.63061L8.04236 12H7L9.35294 4ZM11.5295 8.99994L10.353 4.9999H10.1012L8.92473 8.99994H11.5295Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else{\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5V15.5C31 15.7761 30.7761 16 30.5 16H29.5C29.2239 16 29 15.7761 29 15.5V6.5ZM9 8.5C9 8.22386 9.22386 8 9.5 8H10.5C10.7761 8 11 8.22386 11 8.5V12.5C11 12.7761 10.7761 13 10.5 13H9.5C9.22386 13 9 12.7761 9 12.5V8.5ZM49.5 8C49.2239 8 49 8.22386 49 8.5V14.5C49 14.7761 49.2239 15 49.5 15H50.5C50.7761 15 51 14.7761 51 14.5V8.5C51 8.22386 50.7761 8 50.5 8H49.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } } @else if(clickedJustify()==='space-around'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 30L5 32L5 28L8 30Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13 53.5C13 53.7761 12.7761 54 12.5 54H11.5C11.2239 54 11 53.7761 11 53.5L11 6.5C11 6.22386 11.2239 6 11.5 6H12.5C12.7761 6 13 6.22386 13 6.5L13 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM48.5 54C48.7761 54 49 53.7761 49 53.5L49 6.5C49 6.22386 48.7761 6 48.5 6H47.5C47.2239 6 47 6.22386 47 6.5L47 53.5C47 53.7761 47.2239 54 47.5 54H48.5Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M52 30L55 28L55 32L52 30Z\" fill=\"currentColor\"></path>\n </svg>\n }@else if(clickedAlign()==='baseline'){\n <svg\n data-wf-icon=\"NineBoxAlignItemsRowSpaceAroundBaselineIcon\"\n width=\"60\"\n height=\"20\"\n viewBox=\"0 0 60 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M40.8529 4V10.2929L42.4993 8.64645L43.2064 9.35355L40.3529 12.2071L37.4993 9.35355L38.2064 8.64645L39.8529 10.2929V4H40.8529Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M19.3523 4H21.1006L23.4536 12H22.4112L21.8229 9.99994H18.6299L18.0417 12H16.9993L19.3523 4ZM21.5288 8.99994L20.3523 4.9999H20.1005L18.924 8.99994H21.5288Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else {\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"11\" y=\"9\" width=\"2\" height=\"5\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <rect x=\"29\" y=\"6\" width=\"2\" height=\"10\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <rect x=\"47\" y=\"8\" width=\"2\" height=\"7\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 13L8 11L5 9V13ZM55 9L52 11L55 13V9Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } } @else if(clickedAlign()==='flex-start'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.5 7C3.22386 7 3 6.77614 3 6.5V3.5C3 3.22386 3.22386 3 3.5 3H4.5C4.77614 3 5 3.22386 5 3.5V6.5C5 6.77614 4.77614 7 4.5 7H3.5ZM7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM11.5 3C11.2239 3 11 3.22386 11 3.5V8.5C11 8.77614 11.2239 9 11.5 9H12.5C12.7761 9 13 8.77614 13 8.5V3.5C13 3.22386 12.7761 3 12.5 3H11.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }@else if (clickedAlign()==='center') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM3.5 10C3.22386 10 3 9.77614 3 9.5V6.5C3 6.22386 3.22386 6 3.5 6H4.5C4.77614 6 5 6.22386 5 6.5V9.5C5 9.77614 4.77614 10 4.5 10H3.5ZM11.5 5C11.2239 5 11 5.22386 11 5.5V10.5C11 10.7761 11.2239 11 11.5 11H12.5C12.7761 11 13 10.7761 13 10.5V5.5C13 5.22386 12.7761 5 12.5 5H11.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if (clickedAlign()==='flex-end') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.5 7C11.2239 7 11 7.22386 11 7.5L11 12.5C11 12.7761 11.2239 13 11.5 13L12.5 13C12.7761 13 13 12.7761 13 12.5L13 7.5C13 7.22386 12.7761 7 12.5 7L11.5 7ZM7.5 13C7.22386 13 7 12.7761 7 12.5L7 3.5C7 3.22386 7.22386 3 7.5 3L8.5 3C8.77614 3 9 3.22386 9 3.5L9 12.5C9 12.7761 8.77614 13 8.5 13L7.5 13ZM3.5 13C3.22386 13 3 12.7761 3 12.5L3 9.5C3 9.22386 3.22386 9 3.5 9L4.5 9C4.77614 9 5 9.22386 5 9.5L5 12.5C5 12.7761 4.77614 13 4.5 13L3.5 13Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if (clickedAlign()==='stretch') {\n <svg width=\"20\" height=\"60\" viewBox=\"0 0 20 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7 53.5C7 53.7761 6.77614 54 6.5 54L5.5 54C5.22386 54 5 53.7761 5 53.5L5 6.5C5 6.22386 5.22386 6 5.5 6L6.5 6C6.77614 6 7 6.22386 7 6.5L7 53.5ZM11 53.5C11 53.7761 10.7761 54 10.5 54L9.5 54C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6L10.5 6C10.7761 6 11 6.22386 11 6.5L11 53.5ZM14.5 54C14.7761 54 15 53.7761 15 53.5L15 6.5C15 6.22386 14.7761 6 14.5 6L13.5 6C13.2239 6 13 6.22386 13 6.5L13 53.5C13 53.7761 13.2239 54 13.5 54L14.5 54Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }@else if(clickedAlign()==='baseline'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13 2V8.29289L14.6464 6.64645L15.3536 7.35355L12.5 10.2071L9.64645 7.35355L10.3536 6.64645L12 8.29289V2H13Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M16 12L1 12V13L16 13V12Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.62582 2H6.37412L8.72712 10H7.68476L7.09649 7.99994H3.90349L3.31524 10H2.27288L4.62582 2ZM6.80237 6.99994L5.62585 2.9999H5.37409L4.19761 6.99994H6.80237Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"ax-grid ax-grid-cols-[auto_1fr] ax-items-center ax-justify-items-start ax-gap-1\">\n <span>X</span>\n <div class=\"ax-w-32\">\n <ax-select-box\n [dataSource]=\"justifyDataSource\"\n [(ngModel)]=\"selectedJustify\"\n (onValueChanged)=\"onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n <span>Y</span>\n <div class=\"ax-w-32\">\n <ax-select-box\n [dataSource]=\"alignDataSource\"\n [(ngModel)]=\"selectedAlign\"\n (onValueChanged)=\"onAlignChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n </div>\n </div>\n <span>Gap</span>\n <div class=\"ax-flex ax-gap-2 ax-justify-between\">\n @if(gapMode()==='single') {\n <ax-range-slider\n class=\"ax-w-32\"\n color=\"neutral\"\n [ngModel]=\"gap().both\"\n (ngModelChange)=\"setGap($event ?? 0, 'both')\"\n ></ax-range-slider>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().both\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'both')\"\n class=\"ax-min-w-6\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n } @else {\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <span class=\"ax-text-xs\">Row</span>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().x\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'x')\"\n class=\"ax-min-w-5\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n <span class=\"ax-text-xs\">Column</span>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().y\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'y')\"\n class=\"ax-min-w-5\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n }\n <button (click)=\"setFlexMode()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(gapMode()==='single'){\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 7L5 5C5 3.34315 6.34315 2 8 2C9.65685 2 11 3.34315 11 5V7C11.5523 7 12 7.44772 12 8V12C12 12.5523 11.5523 13 11 13H5C4.44772 13 4 12.5523 4 12V8C4 7.44771 4.44772 7 5 7ZM6 5C6 3.89543 6.89543 3 8 3C9.10457 3 10 3.89543 10 5V7H6V5ZM5 12V8H11V12H5Z\"\n fill=\"currentColor\"\n ></path>\n }@else {\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9 5C9 3.89543 9.89543 3 11 3C12.1046 3 13 3.89543 13 5V6H14V5C14 3.34315 12.6569 2 11 2C9.34315 2 8 3.34315 8 5V7H3C2.44772 7 2 7.44771 2 8V12C2 12.5523 2.44772 13 3 13H9C9.55228 13 10 12.5523 10 12V8C10 7.44772 9.55228 7 9 7V5ZM3 8H9V12H3V8Z\"\n fill=\"currentColor\"\n ></path>\n }\n </svg>\n </button>\n </div>\n</div>\n","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\nexport const AXPFlexOptionsWidget: AXPWidgetConfig = {\n name: 'flex-options',\n title: 'Flex Options',\n description: 'Make an Elements Flex',\n group: AXP_WIDGETS_EDITOR_GROUP,\n icon: 'fa-solid fa-ellipsis-h',\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],\n components: {\n edit: {\n component: () =>\n import('./flex-options-widget-editor.component').then((c) => c.AXPFlexOptionsWidgetEditComponent),\n },\n },\n visible: false,\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n flexOptions: 'flex-options';\n }\n}\n","import { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, inject, NgZone, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPPropertyEditorHelper } from '../property-editor-helper';\nimport {\n AXP_default_Spacing_Box_Units,\n AXP_default_Spacing_Box_Value,\n AXPPropertyEditorSideValues,\n AXPSpacingBox,\n AXPSpacingBoxDefaultValues,\n AXPSpacingBoxString,\n} from '../property-editor.type';\n\n@Component({\n templateUrl: './spacing-widget-editor.component.html',\n styleUrl: './spacing-widget-editor.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXNumberBoxModule, FormsModule, AXCheckBoxModule, AXPopoverModule, CommonModule, AXRangeSliderModule],\n inputs: [],\n})\nexport class AXPSpacingWidgetEditComponent extends AXPWidgetComponent<AXPSpacingBoxString> {\n private ngZone = inject(NgZone);\n\n private rendered = signal(false);\n\n protected calculatedValues = signal(AXP_default_Spacing_Box_Value);\n protected originalValues = signal(AXP_default_Spacing_Box_Value);\n protected units = signal(AXP_default_Spacing_Box_Units);\n\n protected current = signal<{\n type: keyof AXPSpacingBox;\n side: AXPPropertyEditorSideValues;\n el?: HTMLElement | null;\n }>({\n type: 'margin',\n side: 'bottom',\n });\n protected FixedValues: AXPSpacingBoxDefaultValues[] = [\n { label: '0', value: 0, rowspan: 2 },\n { label: '5', value: 5 },\n { label: '10', value: 10 },\n { label: '25', value: 25 },\n { label: '50', value: 50 },\n { label: '75', value: 75 },\n { label: '100', value: 100 },\n { label: '150', value: 150 },\n { label: '200', value: 200 },\n ];\n\n protected popover = viewChild.required(AXPopoverComponent);\n\n protected setSpacing(input: number | Event, type: keyof AXPSpacingBox, side: AXPPropertyEditorSideValues) {\n if (!this.rendered()) {\n return;\n }\n const value = input instanceof Event ? Number.parseInt((input.target as HTMLInputElement).value) : input;\n\n const currentValue = this.calculatedValues();\n\n this.calculatedValues.set({\n ...currentValue,\n [type]: {\n ...currentValue[type],\n [side]: value,\n },\n });\n\n const data = AXPPropertyEditorHelper.parseSpacingBoxReverse(this.calculatedValues(), this.units());\n this.setValue(data);\n }\n\n protected openPopUp(event: Event, type: keyof AXPSpacingBox, side: AXPPropertyEditorSideValues) {\n this.current.set({ type, side, el: (event as PointerEvent).target as HTMLElement });\n this.popover().target = (event as PointerEvent).target as HTMLElement;\n this.popover().placement = side === 'right' ? ['bottom-end', 'end'] : ['bottom', 'top'];\n this.popover().open();\n }\n\n protected listenToMove(event: Event, type: keyof AXPSpacingBox, side: AXPPropertyEditorSideValues): void {\n this.ngZone.runOutsideAngular(() => {\n event.preventDefault();\n let startY = 0,\n currentValue = 0;\n\n const targetElement = event.target as HTMLElement | SVGElement;\n\n (targetElement as HTMLElement).style.cursor = 's-resize';\n\n const onMouseDown = (e: MouseEvent | TouchEvent) => {\n const { clientY } = this.getClientCoordinates(e);\n startY = clientY;\n\n window.addEventListener('mousemove', onMouseMove);\n window.addEventListener('mouseup', onMouseUp);\n window.addEventListener('touchmove', onMouseMove);\n window.addEventListener('touchend', onMouseUp);\n };\n\n const onMouseMove = (e: MouseEvent | TouchEvent) => {\n const { clientY } = this.getClientCoordinates(e);\n const delta = (clientY - startY) * -1;\n const oldValue = this.calculatedValues()[type][side];\n currentValue = delta + AXPPropertyEditorHelper.getValueWithUnit(oldValue).value;\n this.ngZone.run(() => {\n this.setSpacing(Math.max(currentValue, 0), type, side);\n });\n\n startY = clientY;\n };\n\n const onMouseUp = () => {\n window.removeEventListener('mousemove', onMouseMove);\n window.removeEventListener('mouseup', onMouseUp);\n window.removeEventListener('touchmove', onMouseMove);\n window.removeEventListener('touchend', onMouseUp);\n (targetElement as HTMLElement).style.cursor = '';\n };\n\n onMouseDown(event as MouseEvent | TouchEvent);\n });\n }\n\n private getClientCoordinates(e: MouseEvent | TouchEvent): { clientX: number; clientY: number } {\n if (e instanceof MouseEvent) {\n return { clientX: e.clientX, clientY: e.clientY };\n }\n const touch = e.touches[0];\n return { clientX: touch.clientX, clientY: touch.clientY };\n }\n\n private afterRender = afterNextRender(() => {\n if (this.getValue()) {\n this.calculatedValues.set(AXPPropertyEditorHelper.parseSpacingBox(this.getValue()));\n this.originalValues.set(AXPPropertyEditorHelper.parseSpacingBox(this.getValue()));\n }\n this.rendered.set(true);\n });\n}\n","<div class=\"axp-spacing-box ax-flex ax-justify-center ax-items-center ax-pt-4 ax-pb-2\">\n <div class=\"axp-spacing-inner-box\">\n <div class=\"axp-spacing-margin-box\">\n <!--MARGIN SVG DEFINE-->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"224\" height=\"112\" class=\"area\">\n <mask id=\"margin-mask\" width=\"224\" height=\"112\">\n <rect fill=\"#000\" height=\"112\" width=\"224\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#fff\" height=\"112\" rx=\"4\" width=\"224\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#000\" height=\"66\" rx=\"4\" width=\"154\" x=\"35\" y=\"23\"></rect>\n </mask>\n <defs>\n <linearGradient id=\"FuseLinearGradient\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop stop-color=\"white\"></stop>\n <stop offset=\"1\" stop-color=\"white\" stop-opacity=\"0\"></stop>\n </linearGradient>\n </defs>\n\n <!--MARGIN TOP SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'top')\"\n (mousedown)=\"listenToMove($event, 'margin', 'top')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n fill-opacity=\"0.12\"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"url(#FuseLinearGradient)\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n fill-opacity=\"0.02\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN RIGHT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'right')\"\n (mousedown)=\"listenToMove($event, 'margin', 'right')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m224,0\n v112\n l-36,-24\n v-64\n l36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m224,0\n v112\n l-36,-24\n v-64\n l36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN BOTTOM SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'bottom')\"\n (mousedown)=\"listenToMove($event, 'margin', 'bottom')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,112\n h224\n l-36,-24\n h-152\n l-36,24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,112\n h224\n l-36,-24\n h-152\n l-36,24z\n \"\n fill-opacity=\"0.064\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN LEFT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'left')\"\n (mousedown)=\"listenToMove($event, 'margin', 'left')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n v112\n l36,-24\n v-64\n l-36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n v112\n l36,-24\n v-64\n l-36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n </svg>\n\n <!--MARGIN TOP VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <span>{{ calculatedValues().margin.top + ' ' + units().margin.top }}</span>\n </div>\n </div>\n\n <!--MARGIN RIGHT VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <span>{{ calculatedValues().margin.right + ' ' + units().margin.right }}</span>\n </div>\n </div>\n\n <!--MARGIN BOTTOM VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <span>{{ calculatedValues().margin.bottom + ' ' + units().margin.bottom }}</span>\n </div>\n </div>\n\n <!--MARGIN LEFT VALUE-->\n <div tabindex=\"0\" style=\"grid-area: 2 / 1 / 3 / 2\" class=\"axp-spacing-value-container\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <span>{{ calculatedValues().margin.left + ' ' + units().margin.left }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"axp-spacing-padding-box\">\n <!--SVG DEFINE-->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"62\" class=\"area\">\n <mask id=\"padding-mask\" width=\"150\" height=\"62\">\n <rect fill=\"#000\" height=\"60\" width=\"150\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#fff\" height=\"60\" rx=\"2\" width=\"150\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#000\" height=\"14\" rx=\"2\" width=\"80\" x=\"35\" y=\"23\"></rect>\n </mask>\n\n <!--PADDING TOP SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'top')\"\n (mousedown)=\"listenToMove($event, 'padding', 'top')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n h150\n l-36,24\n h-78\n l-36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n h150\n l-36,24\n h-78\n l-36,-24z\n \"\n fill-opacity=\"0.064\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING RIGHT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'right')\"\n (mousedown)=\"listenToMove($event, 'padding', 'right')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m150,0\n v60\n l-36,-24\n v-12\n l36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m150,0\n v60\n l-36,-24\n v-12\n l36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING BOTTOM SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'bottom')\"\n (mousedown)=\"listenToMove($event, 'padding', 'bottom')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,60\n h150\n l-36,-24\n h-78\n l-36,24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,60\n h150\n l-36,-24\n h-78\n l-36,24z\n \"\n fill-opacity=\"0.12\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING LEFT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'left')\"\n (mousedown)=\"listenToMove($event, 'padding', 'left')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n v60\n l36,-24\n v-12\n l-36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n v60\n l36,-24\n v-12\n l-36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n </svg>\n\n <!--PADDING TOP SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <span>{{ this.calculatedValues().padding.top + ' ' + units().padding.top }}</span>\n </div>\n </div>\n\n <!--PADDING RIGHT SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <span>{{ this.calculatedValues().padding.right + ' ' + units().padding.right }}</span>\n </div>\n </div>\n\n <!--PADDING BOTTOM SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <span>{{ this.calculatedValues().padding.bottom + ' ' + units().padding.bottom }}</span>\n </div>\n </div>\n\n <!--PADDING LEFT SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <span>{{ this.calculatedValues().padding.left + ' ' + units().padding.left }}</span>\n </div>\n </div>\n </div>\n\n <!--PADDING TEXT-->\n <svg class=\"axp-spacing-padding-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"10\" fill=\"white\" font-weight=\"500\" font-size=\"7\">PADDING</text>\n </svg>\n\n <!--MARGIN TEXT-->\n <svg class=\"axp-spacing-margin-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"10\" fill=\"white\" font-weight=\"500\" font-size=\"7\">MARGIN</text>\n </svg>\n </div>\n</div>\n\n<ng-template #template let-type=\"type\" let-side=\"side\" let-value=\"value\">\n <div\n class=\"axp-spacing-popup-container\"\n (keydown.control.b)=\"setSpacing(originalValues()[this.current().type][this.current().side], type, side)\"\n >\n <div class=\"axp-spacing-popover\">\n <!--SET EMPTY-->\n <div class=\"ax-size-4 ax-cursor-pointer\" (click)=\"setSpacing(0, type, side)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path opacity=\"0.4\" d=\"M14 2L14 13L10 13L10 2L14 2Z\" fill=\"currentColor\" fill-opacity=\"0.67\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.99995 7L7.99995 1H8.99995L8.99995 14H7.99995L7.99995 8L3.70706 8L5.85351 10.1464L5.1464 10.8536L1.79285 7.5L5.1464 4.14645L5.85351 4.85355L3.70706 7L7.99995 7Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n\n <div class=\"ax-flex ax-justify-center ax-h-6 ax-flex-col\">\n <input\n type=\"range\"\n name=\"range\"\n [min]=\"0\"\n [max]=\"200\"\n [value]=\"this.calculatedValues()[this.current().type][this.current().side]\"\n (input)=\"setSpacing($event, type, side)\"\n />\n </div>\n <div>\n <!--INPUT NUMBER-->\n <div style=\"--local-gap: 8px\">\n <div\n style=\"\n gap: 8px;\n height: auto;\n display: flex;\n flex-flow: column;\n -webkit-box-align: stretch;\n align-items: stretch;\n -webkit-box-pack: start;\n position: relative;\n justify-content: stretch;\n width: 100%;\n -webkit-box-flex: 1;\n flex-grow: 1;\n \"\n >\n <div style=\"display: grid; grid-template-columns: 1fr auto; transform: translate3d(0px, 0px, 0px)\">\n <div\n data-legacy-styled=\"true\"\n style=\"\n grid-area: 1 / 1 / 2 / -1;\n align-items: stretch;\n background-color: var(--color-ui-input-background);\n border-color: var(--color-border-2);\n border-radius: 4px;\n border-style: solid;\n border-width: 1px;\n display: flex;\n flex: 0 1 auto;\n height: 24px;\n position: relative;\n \"\n >\n <input\n autocomplete=\"off\"\n data-wf-text-input=\"true\"\n name=\"spacing\"\n placeholder=\"\"\n aria-label=\"Edit spacing input\"\n type=\"text\"\n aria-disabled=\"false\"\n [value]=\"value\"\n (input)=\"setSpacing($event, type, side)\"\n style=\"\n padding-right: 20px;\n background-color: transparent;\n border-color: transparent;\n border-radius: 4px;\n border-style: solid;\n border-width: 0px;\n box-sizing: border-box;\n color: var(--color-text-primary);\n cursor: auto;\n display: block;\n font-family: inherit;\n font-size: inherit;\n height: 100%;\n line-height: 1;\n outline: transparent solid 2px;\n padding: 0px 4px;\n width: 100%;\n \"\n />\n </div>\n <div\n id=\"spacing-UnitSelect\"\n data-prevent-global-event-handlers=\"true\"\n tabindex=\"-1\"\n data-legacy-styled=\"true\"\n aria-expanded=\"false\"\n aria-haspopup=\"listbox\"\n data-focus=\"false\"\n style=\"\n border-color: transparent;\n outline: 0px;\n cursor: default;\n user-select: none;\n font-size: 9px;\n font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu,\n Cantarell, 'Helvetica Neue', Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol', sans-serif;\n line-height: 12px;\n letter-spacing: -0.115px;\n text-transform: none;\n color: var(--color-text-primary);\n place-self: center stretch;\n grid-area: 1 / 2 / 2 / 3;\n z-index: 1;\n min-width: 16px;\n border-radius: 1px;\n height: calc(100% - 2px);\n text-align: center;\n background: transparent;\n box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px;\n border-width: 0px;\n margin: 1px;\n position: relative;\n right: 2px;\n display: grid;\n grid-template-columns: auto;\n grid-auto-flow: column;\n justify-content: unset;\n width: 100%;\n flex-grow: unset;\n padding: 0px;\n box-sizing: border-box;\n --component-icon-color: var(--color-text-secondary);\n align-items: center;\n border-style: solid;\n \"\n >\n <div\n data-legacy-styled=\"true\"\n style=\"\n justify-self: start;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n \"\n >\n PX\n <!--PX-->\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"axp-spacing-template-values\">\n @for(i of FixedValues; track $index){\n <div\n (click)=\"setSpacing(i.value, type, side)\"\n class=\"hover:!ax-bg-gradient-to-b hover:!ax-from-white/20 hover:!ax-to-white/5 !ax-cursor-pointer\"\n [class]=\"i.colspan ? 'ax-col-span-' + i.colspan : ''\"\n [class]=\"i.rowspan ? 'ax-row-span-' + i.rowspan : ''\"\n tabindex=\"0\"\n style=\"\n border-bottom-color: var(--color-border-1);\n border-left-color: var(--color-border-1);\n border-right-color: var(--color-border-1);\n border-top-color: var(--color-border-1);\n outline: 0px;\n cursor: default;\n user-select: none;\n padding: 0px;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--color-text-secondary);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n border-radius: 4px;\n color: var(--color-action-secondary-text);\n background: var(--color-action-secondary-background);\n border-width: 0px;\n border-style: solid;\n box-shadow: var(--box-shadows-action-secondary);\n align-self: center;\n \"\n >\n <div class=\"ax-truncate\">\n {{ i.label }}\n <span class=\"ax-text-xs ax-text-neutral-400\"> {{ units()[this.current().type][this.current().side] }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n\n <div class=\"ax-h-[1px] ax-mt-1 ax-mb-1 ax-bg-border-1 ax-pointer-events-none\"></div>\n\n <div\n [class.ax-opacity-50]=\"\n originalValues()[this.current().type][this.current().side] ===\n calculatedValues()[this.current().type][this.current().side]\n \"\n (click)=\"setSpacing(originalValues()[this.current().type][this.current().side], type, side)\"\n tabindex=\"0\"\n class=\"ax-outline-none ax-select-none ax-py-1 ax-px-2 ax-my-1 ax-min-h-6 ax-cursor-pointer hover:!ax-bg-[#404040]\"\n >\n <div class=\"ax-flex ax-flex-row ax-items-center\">\n <div class=\"ax-min-w-6 ax-self-center ax-grow ax-basis-0\">\n <div class=\"ax-items-center ax-box-border ax-grid ax-grid-cols-[16px_1fr_auto] ax-gap-x-2 ax-gap-y-1\">\n <div class=\"ax-size-4\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M3.70712 5.00004L6.35357 2.35359L5.64646 1.64648L1.79291 5.50004L5.64646 9.35359L6.35357 8.64648L3.70712 6.00004H10C11.6569 6.00004 13 7.34318 13 9.00004C13 10.6569 11.6569 12 10 12H8.00001V13H10C12.2092 13 14 11.2092 14 9.00004C14 6.7909 12.2092 5.00004 10 5.00004H3.70712Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n <div>Reset</div>\n </div>\n </div>\n <div class=\"ax-self-center\">\n <div\n class=\"ax-cursor-default ax-select-none ax-text-[11.5px] ax-font-normal ax-leading-4 ax-tracking-tight ax-text-secondary ax-justify-self-end ax-ml-[1px]\"\n >\n <span><kbd>Ctrl</kbd> + <kbd>B</kbd></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ax-popover #popover [openOn]=\"'click'\" [offsetY]=\"10\" [closeOn]=\"'clickOut'\">\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n type: this.current().type,\n side: this.current().side,\n value: this.calculatedValues()[this.current().type][this.current().side]\n }\"\n ></ng-container>\n</ax-popover>\n","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY, numberDefaultProperty } from '../../../properties';\nexport const AXPSpacingWidget: AXPWidgetConfig = {\n name: 'spacing',\n title: 'Box Spacing',\n description: 'Editing Elements Spacing',\n group: AXP_WIDGETS_EDITOR_GROUP,\n icon: 'fa-solid fa-box',\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, numberDefaultProperty()],\n components: {\n edit: {\n component: () => import('./spacing-widget-editor.component').then((c) => c.AXPSpacingWidgetEditComponent),\n },\n },\n visible: false,\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n spacing: 'spacing';\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n template: `<p>{{ internalValue() }}</p>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPCronJobWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => this.getValue());\n}\n","import { AXCronJobModule } from '@acorex/components/cron-job';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `<ax-cron-job-container > </ax-cron-job-container>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXCronJobModule]\n})\nexport class AXPCronJobWidgetEditComponent extends AXPWidgetComponent<any> {\n getExpressionHandler(e: any) {\n this.setValue(e.data);\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPCronJobWidgetFilterComponent extends AXPWidgetComponent<any> {}","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n selector: 'axp-text-box-widget-column',\n template: `{{ rawValue }}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPCronJobWidgetColumnComponent extends AXPColumnWidgetComponent<any> {}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPCronJobWidgetPrintComponent extends AXPWidgetComponent<any> {}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPCronJobWidgetDesignerComponent extends AXPWidgetComponent<any> {}","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPCronJobWidget: AXPWidgetConfig = {\n name: 'cron-job',\n title: 'Cron Job',\n icon: 'fa-solid fa-alarm-clock',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n visible: false,\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n view: {\n component: () => import('./cron-job-widget-view.component').then((c) => c.AXPCronJobWidgetViewComponent),\n },\n edit: {\n component: () => import('./cron-job-widget-edit.component').then((c) => c.AXPCronJobWidgetEditComponent),\n },\n filter: {\n component: () => import('./cron-job-widget-filter.component').then((c) => c.AXPCronJobWidgetFilterComponent),\n },\n column: {\n component: () => import('./cron-job-widget-column.component').then((c) => c.AXPCronJobWidgetColumnComponent),\n },\n print: {\n component: () => import('./cron-job-widget-print.component').then((c) => c.AXPCronJobWidgetPrintComponent),\n },\n designer: {\n component: () => import('./cron-job-widget-designer.component').then((c) => c.AXPCronJobWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n cronJob: 'cron-job';\n }\n}\n","import { AXQrcodeLevel, AXQrcodeModule, AXQrcodeOutputType } from '@acorex/components/qrcode';\nimport { AXColorUtil } from '@acorex/core/utils';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding } from '@angular/core';\n@Component({\n selector: 'axp-qrcode-widget',\n template: `\n @if(this.content()){\n <ax-qrcode\n [content]=\"this.content()\"\n [size]=\"size()\"\n [color]=\"color()\"\n [level]=\"level()\"\n [outputType]=\"outputType()\"\n >\n </ax-qrcode>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXQrcodeModule]\n})\nexport class AXPQrcodeWidgetViewComponent extends AXPWidgetComponent<string> {\n protected content = computed<string>(() => this.options()['content']);\n protected size = computed<number>(() => this.options()['size'] ?? 200);\n protected level = computed<AXQrcodeLevel>(() => this.options()['level']?.id ?? 'M');\n protected color = computed<string>(() => AXColorUtil.colorStringToHex(this.options()['color'] ?? '#000000'));\n protected outputType = computed<AXQrcodeOutputType>(() => this.options()['outputType'] ?? 'svg');\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-inline-block`] = true;\n return cls;\n }\n}\n","import {\n AXP_WIDGETS_ADVANCE_GROUP,\n AXPWidgetConfig,\n AXPWidgetsCatalog,\n cloneProperty,\n} from '@acorex/platform/layout/builder';\nimport { AXP_CONTENT_PROPERTY, AXP_STYLING_PROPERTY_GROUP } from '../../../properties';\nimport { AXP_COLOR_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPQrcodeWidget: AXPWidgetConfig = {\n name: 'qrcode',\n title: 'QR Code',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n icon: 'fa-solid fa-qrcode',\n description: 'Display and edit QR Codes',\n type: 'view',\n properties: [\n AXP_NAME_PROPERTY,\n cloneProperty(AXP_COLOR_PROPERTY, { schema: { interface: { defaultValue: '#000000' } } }),\n cloneProperty(AXP_CONTENT_PROPERTY, { schema: { interface: { defaultValue: 'http://google.com' } } }),\n {\n name: 'size',\n title: 'Size',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: 200,\n interface: {\n name: 'size',\n path: 'options.size',\n type: AXPWidgetsCatalog.number,\n },\n },\n visible: true,\n },\n {\n name: 'level',\n title: 'Error Correction Level',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n defaultValue: 'M',\n name: 'level',\n path: 'options.level',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: ['L', 'M', 'Q', 'H'].map((i) => ({ title: i, id: i })),\n },\n },\n },\n visible: true,\n },\n ],\n components: {\n view: {\n component: () => import('./qrcode-widget-view.component').then((c) => c.AXPQrcodeWidgetViewComponent),\n },\n edit: {\n component: () => import('./qrcode-widget-view.component').then((c) => c.AXPQrcodeWidgetViewComponent),\n },\n print: {\n component: () => import('./qrcode-widget-view.component').then((c) => c.AXPQrcodeWidgetViewComponent),\n },\n designer: {\n component: () => import('./qrcode-widget-view.component').then((c) => c.AXPQrcodeWidgetViewComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n qrcode: 'qrcode';\n }\n}\n","import { AXColorUtil } from '@acorex/core/utils';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n selector: 'axp-color-box-widget',\n template: `<div class=\"ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit\">\n <div class=\"ax-size-4 ax-rounded-full ax-border\" [style.backgroundColor]=\"rgba()\"></div>\n <span>{{ getValue() }}</span>\n <i\n (click)=\"clipboard.copy('Color', getValue())\"\n class=\"fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible\"\n ></i>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPColorBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n rgba = computed(() => AXColorUtil.toString(this.getValue(), 'rgba'));\n protected clipboard = inject(AXPClipBoardService);\n}\n","import { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXColorBoxModule } from '@acorex/components/color-box'\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\n\n@Component({\n selector: 'axp-color-box-widget',\n template: `\n <ax-color-box [disabled]=\"disabled()\" [readonly]=\"readonly()\" [ngModel]=\"getValue()\" [placeholder]=\"placeholder()\" (onValueChanged)=\"handleValueChanged($event)\">\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n @if(hasClearButton()){\n <ax-clear-button></ax-clear-button>\n } \n </ax-color-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXColorBoxModule, AXDecoratorModule, AXFormModule]\n})\nexport class AXPColorBoxWidgetEditComponent extends AXPWidgetComponent<string> {\n\n protected placeholder = computed<string>(() => this.options()[\"placeholder\"] as string);\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected readonly = computed<boolean>(() => this.options()[\"readonly\"] as boolean);\n protected hasClearButton = computed<boolean>(() => this.options()['hasClearButton'] as boolean);\n protected validationRules = computed<AXPValidationRules>(() => (this.options()[\"validationRules\"] as AXPValidationRules) ?? []);\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-flex-1`] = true;\n return cls;\n }\n\n}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPColorBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXColorUtil } from '@acorex/core/utils';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n@Component({\n template: `<div class=\"ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit\">\n <div class=\"ax-size-4 ax-rounded-full ax-border\" [style.backgroundColor]=\"rgba()\"></div>\n <span>{{ rawValue }}</span>\n <i\n (click)=\"clipboard.copy('Color', rawValue)\"\n class=\"fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible\"\n ></i>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPColorBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n rgba = computed(() => AXColorUtil.toString(this.rawValue, 'rgba'));\n protected clipboard = inject(AXPClipBoardService);\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: `{{getValue()}}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPColorBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPColorBoxWidget: AXPWidgetConfig = {\n name: 'color-editor',\n title: 'Color Box',\n description: 'Picks and applies colors',\n icon: 'fa-solid fa-palette',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY\n ],\n components: {\n designer: {\n component: () => import('./color-box-widget-designer.component').then((c) => c.AXPColorBoxWidgetDesignerComponent),\n },\n view: {\n component: () => import('./color-box-widget-view.component').then((c) => c.AXPColorBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./color-box-widget-edit.component').then((c) => c.AXPColorBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./color-box-widget-filter.component').then((c) => c.AXPColorBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./color-box-widget-column.component').then((c) => c.AXPColorBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./color-box-widget-print.component').then((c) => c.AXPColorBoxWidgetPrintComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n color: 'color-editor';\n }\n}\n","import { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-items-center\">\n <ax-select-box\n textField=\"text\"\n valueField=\"value\"\n [placeholder]=\"('select' | translate | async) ?? ''\"\n [dataSource]=\"dataSource\"\n [ngModel]=\"value()\"\n (onValueChanged)=\"handleValueChange($event)\"\n ></ax-select-box>\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXDecoratorModule, AXSelectBoxModule, AXTranslationModule],\n})\nexport class AXPBooleanFilterWidgetEditComponent extends AXPWidgetComponent<any> {\n protected operation = computed(() => this.getValue()?.operation || 'equal');\n protected value = computed(() => this.getValue()?.value);\n protected trulyText = computed(() => this.options()['trulyText']);\n protected falsyText = computed(() => this.options()['falsyText']);\n\n protected items: { text: string; value: boolean }[] = [];\n\n protected handleValueChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.setValue({\n value: e.value,\n operation: 'equal',\n });\n }\n }\n\n protected dataSource: any = new AXDataSource({\n load: () => {\n return Promise.resolve({\n items: this.items,\n total: this.items.length,\n });\n },\n byKey: (id: unknown) => {\n const item = this.items.find((c) => c.value.toString() == id);\n return Promise.resolve(item);\n },\n pageSize: 10,\n key: 'value',\n });\n\n #effect = effect(() => {\n this.items = [\n { text: this.trulyText() || 'Yes', value: true },\n { text: this.falsyText() || 'No', value: false },\n ];\n });\n}\n","import { AXP_WIDGETS_FILTER_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPBooleanFilterWidget: AXPWidgetConfig = {\n name: 'boolean-filter',\n title: 'Boolean Filter',\n group: AXP_WIDGETS_FILTER_GROUP,\n type: 'filter',\n icon: 'fa-solid fa-square',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () =>\n import('./boolean-filter-widget-edit.component').then((c) => c.AXPBooleanFilterWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n booleanFilter: 'boolean-filter';\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n Signal,\n signal,\n untracked,\n WritableSignal,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-flex-col ax-items-center\">\n <ax-select-box\n [dataSource]=\"filterTypeDataSource\"\n [placeholder]=\"('select' | translate | async) ?? ''\"\n [ngModel]=\"filterTypeSelectedItem()\"\n (onValueChanged)=\"handleFilterTypeSelectedItemChange($event)\"\n ></ax-select-box>\n @if(filterTypeSelectedItem()==='Between'){\n <div class=\"ax-flex ax-gap-2 ax-mt-2\">\n <ax-datetime-box\n format=\"yyyy/MM/dd\"\n [placeholder]=\"'from' | translate | async\"\n [ngModel]=\"value()?.from\"\n (onValueChanged)=\"handleValueChange($event, 'from')\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n <ax-datetime-box\n format=\"yyyy/MM/dd\"\n [placeholder]=\"'to' | translate | async\"\n [ngModel]=\"value()?.to\"\n (onValueChanged)=\"handleValueChange($event, 'to')\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n </div>\n } @if(filterTypeSelectedItem()===\"Greater Than\" || filterTypeSelectedItem()===\"Less Than\"){\n <div class=\"ax-w-full ax-mt-2\">\n <ax-datetime-box format=\"yyyy/MM/dd\" [ngModel]=\"value()\" (onValueChanged)=\"handleValueChange($event, 'self')\">\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n </div>\n }\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXTranslationModule, AXSelectBoxModule, AXDateTimeBoxModule, AXDecoratorModule],\n})\nexport class AXPDateTimeFilterWidgetEditComponent extends AXPWidgetComponent<any> {\n private formatCamelCaseToUpper = (input: string): string =>\n input?.replace(/([a-z])([A-Z])/g, '$1 $2')?.replace(/\\b\\w/g, (char) => char.toUpperCase());\n\n protected mounted = signal(false);\n\n private calendarService = inject(AXCalendarService);\n protected value: Signal<any> = computed(() => this.convertISODateToDate(this.getValue()?.value));\n protected operation = computed(() => this.getValue()?.operation);\n protected filterTypeSelectedItem: WritableSignal<string> = signal('');\n\n filterTypeDataSource = [\n 'Today',\n 'This Week',\n 'This Month',\n 'Yesterday',\n 'Last Week',\n 'Last Month',\n 'Tomorrow',\n 'Next Week',\n 'Next Month',\n 'Between',\n 'Greater Than',\n 'Less Than',\n ];\n\n private convertISODateToDate = (value?: string | { from: string; to: string }) => {\n if (typeof value === 'object') {\n return { from: value.from ? new Date(value.from) : '', to: value.to ? new Date(value.to) : '' };\n } else {\n return value ? new Date(value) : '';\n }\n };\n\n protected handleFilterTypeSelectedItemChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.filterTypeSelectedItem.set(e.value);\n this.setDateValue();\n }\n }\n\n #effect = effect(() => {\n if (this.mounted()) return;\n const availableTypes = ['between', 'greaterThan', 'lessThan'];\n if (availableTypes.includes(this.operation())) {\n this.filterTypeSelectedItem.set(this.formatCamelCaseToUpper(this.operation()));\n this.mounted.set(true);\n }\n });\n\n protected setDateValue(): void {\n const currentDate = this.calendarService.now().date;\n const calendar = this.calendarService.calendar;\n switch (this.filterTypeSelectedItem()) {\n case 'Today':\n this.setValue({\n operation: 'between',\n value: {\n from: calendar.startOf(currentDate, 'day').date.toISOString(),\n to: calendar.endOf(currentDate, 'day').date.toISOString(),\n },\n });\n break;\n case 'This Week':\n this.setValue({\n operation: 'between',\n value: {\n from: calendar.startOf(currentDate, 'week').date.toISOString(),\n to: calendar.endOf(currentDate, 'week').date.toISOString(),\n },\n });\n break;\n case 'This Month':\n this.setValue({\n operation: 'between',\n value: {\n from: calendar.startOf(currentDate, 'month').date.toISOString(),\n to: calendar.endOf(currentDate, 'month').date.toISOString(),\n },\n });\n break;\n case 'Yesterday':\n const yesterDay = calendar.add(currentDate, 'day', -1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: yesterDay.startOf('day').date.toISOString(),\n to: yesterDay.endOf('day').date.toISOString(),\n },\n });\n break;\n case 'Last Week':\n const lastWeek = calendar.add(currentDate, 'week', -1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: lastWeek.startOf('week').date.toISOString(),\n to: lastWeek.endOf('week').date.toISOString(),\n },\n });\n break;\n case 'Last Month':\n const lastMonth = calendar.add(currentDate, 'month', -1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: lastMonth.startOf('month').date.toISOString(),\n to: lastMonth.endOf('month').date.toISOString(),\n },\n });\n break;\n case 'Tomorrow':\n const tomorrow = calendar.add(currentDate, 'day', 1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: tomorrow.startOf('day').date.toISOString(),\n to: tomorrow.endOf('day').date.toISOString(),\n },\n });\n break;\n case 'Next Week':\n const nextWeek = calendar.add(currentDate, 'week', 1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: nextWeek.startOf('week').date.toISOString(),\n to: nextWeek.endOf('week').date.toISOString(),\n },\n });\n break;\n case 'Next Month':\n const nextMonth = calendar.add(currentDate, 'month', -1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: nextMonth.startOf('month').date.toISOString(),\n to: nextMonth.endOf('month').date.toISOString(),\n },\n });\n break;\n case 'Between':\n this.setValue({\n operation: 'between',\n value: {\n from: '',\n to: '',\n },\n });\n break;\n case 'Greater Than':\n this.setValue({\n operation: 'greaterThan',\n });\n break;\n case 'Less Than':\n this.setValue({\n operation: 'lessThan',\n });\n break;\n default:\n break;\n }\n }\n\n protected handleValueChange(e: AXValueChangedEvent, type: 'from' | 'to' | 'self') {\n if (e.isUserInteraction) {\n const operation = untracked(this.operation);\n switch (type) {\n case 'self':\n this.setValue({ operation, value: e.value.toISOString() });\n break;\n case 'to':\n this.setValue({ operation, value: { to: e.value.toISOString() } });\n break;\n case 'from':\n this.setValue({ operation, value: { from: e.value.toISOString() } });\n break;\n default:\n break;\n }\n }\n }\n}\n","import { AXP_WIDGETS_FILTER_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPDateTimeFilterWidget: AXPWidgetConfig = {\n name: 'datetime-filter',\n title: 'Date Time Filter',\n icon: 'fa-solid fa-square',\n group: AXP_WIDGETS_FILTER_GROUP,\n type: 'filter',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () =>\n import('./date-time-filter-widget-edit.component').then((c) => c.AXPDateTimeFilterWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n dateTimeFilter: 'datetime-filter';\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport {\n ALL_DEFAULT_OPERATORS,\n BOOLEAN_OPERATORS,\n DATE_OPERATORS,\n NUMBER_OPERATORS,\n STRING_OPERATORS,\n} from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-filter-operations',\n templateUrl: './operations.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXDecoratorModule, AXPopoverModule, AXButtonModule, AXSelectionListModule],\n})\nexport class AXPFilterOperationsComponent {\n selectedOperation = model.required();\n type = input<'string' | 'number' | 'datetime' | 'boolean'>('string');\n\n protected operations = computed(() => this.getOperations());\n\n protected getOperations() {\n switch (this.type()) {\n case 'string':\n return STRING_OPERATORS;\n case 'number':\n return NUMBER_OPERATORS;\n case 'boolean':\n return BOOLEAN_OPERATORS;\n case 'datetime':\n return DATE_OPERATORS;\n default:\n return ALL_DEFAULT_OPERATORS;\n }\n }\n}\n","@if(operations().length){\n<ax-button #changeOperator look=\"blank\" color=\"default\" class=\"ax-sm\">\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"></ax-icon>\n</ax-button>\n<ax-popover\n #operatorsPopover\n [target]=\"changeOperator\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n>\n <div\n class=\"ax-max-h-max ax-overflow-auto ax-bg-surface ax-py-5 ax-px-3 ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\n >\n <ax-selection-list\n class=\"\"\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedOperation\"\n (ngModelChange)=\"operatorsPopover.close()\"\n [direction]=\"'vertical'\"\n [items]=\"operations()\"\n [multiple]=\"false\"\n ></ax-selection-list>\n </div>\n</ax-popover>\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPFilterOperationsComponent } from '../operations/operations.component';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-items-center\">\n @if(this.operation()=== 'between'){\n <div class=\"ax-flex-1 ax-flex ax-gap-4\">\n <ax-number-box\n class=\"ax-w-full\"\n [placeholder]=\"('from' | translate | async) ?? 'From'\"\n [showSpinButtons]=\"false\"\n [ngModel]=\"value()?.from\"\n (onValueChanged)=\"handleValueChange($event, 'from')\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-number-box>\n <ax-number-box\n class=\"ax-w-full\"\n [placeholder]=\"('to' | translate | async) ?? 'To'\"\n [showSpinButtons]=\"false\"\n [ngModel]=\"value()?.to\"\n (onValueChanged)=\"handleValueChange($event, 'to')\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-number-box>\n </div>\n }@else{\n <ax-number-box\n class=\"ax-flex-1\"\n [placeholder]=\"(placeholder() | translate | async) ?? ''\"\n [disabled]=\"this.operation() === 'isEmpty' || this.operation() === 'isNotEmpty'\"\n [showSpinButtons]=\"false\"\n [ngModel]=\"value()\"\n (onValueChanged)=\"handleValueChange($event, 'self')\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-number-box>\n }\n <axp-filter-operations\n type=\"number\"\n [selectedOperation]=\"operation()\"\n (selectedOperationChange)=\"handleOperationChange($event)\"\n ></axp-filter-operations>\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXDecoratorModule,\n AXNumberBoxModule,\n AXPFilterOperationsComponent,\n AXTranslationModule,\n ],\n})\nexport class AXPNumberFilterWidgetEditComponent extends AXPWidgetComponent<any> {\n protected value = computed(() => this.getValue()?.value);\n protected operation = computed(() => this.getValue()?.operation || 'equal');\n protected placeholder = computed(() => this.options()['placeholder']);\n\n handleValueChange(e: AXValueChangedEvent, type: 'self' | 'from' | 'to') {\n switch (type) {\n case 'self':\n this.setValue({\n value: e.value,\n operation: this.operation(),\n });\n break;\n case 'from':\n this.setValue({\n value: {\n from: e.value,\n to: this.value()?.to,\n },\n operation: this.operation(),\n });\n break;\n case 'to':\n this.setValue({\n value: {\n from: this.value()?.from,\n to: e.value,\n },\n operation: this.operation(),\n });\n break;\n default:\n break;\n }\n }\n\n handleOperationChange(e: unknown) {\n this.setValue({\n value: this.value(),\n operation: e,\n });\n }\n}\n","import { AXP_WIDGETS_FILTER_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPNumberFilterWidget: AXPWidgetConfig = {\n name: 'number-filter',\n title: 'Number Filter',\n group: AXP_WIDGETS_FILTER_GROUP,\n type: 'filter',\n defaultFilterWidgetName: 'number-filter',\n icon: 'fa-solid fa-square',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () =>\n import('./number-filter-widget-edit.component').then((c) => c.AXPNumberFilterWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n numberFilter: 'number-filter';\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-items-center\">\n <ax-select-box\n [placeholder]=\"(placeholder() | translate | async) ?? ''\"\n [textField]=\"textField()\"\n [valueField]=\"valueField()\"\n [dataSource]=\"dataSource()\"\n [multiple]=\"multiple()\"\n [ngModel]=\"value()\"\n (onValueChanged)=\"handleValueChange($event)\"\n >\n @if(allowSearch()){\n <ax-search-box><ax-clear-button></ax-clear-button></ax-search-box>\n }\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectBoxModule, AXDecoratorModule, AXSearchBoxModule, AXTranslationModule],\n})\nexport class AXPSelectFilterWidgetEditComponent extends AXPWidgetComponent<any> {\n protected value = computed(() => this.getValue()?.value);\n protected operation = computed(() => this.getValue()?.operation || 'contains');\n protected dataSource = computed(() => this.options()['dataSource'] || []);\n protected textField = computed(() => this.options()['textField']);\n protected valueField = computed(() => this.options()['valueField']);\n protected multiple = computed(() => this.options()['multiple'] || false);\n protected allowSearch = computed(() => this.options()['allowSearch'] || false);\n protected placeholder = computed(() => this.options()['placeholder'] || false);\n\n handleValueChange(e: AXValueChangedEvent) {\n let arrayValue = [];\n if (this.multiple()) {\n arrayValue = e.value;\n } else {\n arrayValue.push(e.value);\n }\n this.setValue({\n operation: this.operation(),\n value: arrayValue,\n });\n }\n}\n","import { AXP_WIDGETS_FILTER_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPSelectFilterWidget: AXPWidgetConfig = {\n name: 'select-filter',\n title: 'Select Filter',\n group: AXP_WIDGETS_FILTER_GROUP,\n type: 'filter',\n defaultFilterWidgetName: 'select-filter',\n icon: 'fa-solid fa-square',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () =>\n import('./select-filter-widget-edit.component').then((c) => c.AXPSelectFilterWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n selectFilter: 'select-filter';\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPFilterOperationsComponent } from '../operations/operations.component';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-items-center\">\n <ax-text-box\n class=\"ax-flex-1\"\n [placeholder]=\"(placeholder() | translate | async) ?? ''\"\n [disabled]=\"this.operation() === 'isEmpty' || this.operation() === 'isNotEmpty'\"\n [ngModel]=\"value()\"\n (onValueChanged)=\"handleValueChange($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-text-box>\n <axp-filter-operations\n [type]=\"'string'\"\n [selectedOperation]=\"operation()\"\n (selectedOperationChange)=\"handleOperationChanged($event)\"\n ></axp-filter-operations>\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXTextBoxModule,\n FormsModule,\n AXFormModule,\n AXDecoratorModule,\n AXPFilterOperationsComponent,\n AXTranslationModule,\n ],\n})\nexport class AXPStringWidgetFilterComponent extends AXPWidgetComponent<any> {\n protected operation = computed(() => this.getValue()?.operation || 'equal');\n protected value = computed(() => this.getValue()?.value);\n protected placeholder = computed(() => this.options()['placeholder']);\n\n handleValueChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.setValue({\n value: e.value,\n operation: this.operation(),\n });\n }\n }\n\n handleOperationChanged(e: unknown) {\n this.setValue({\n value: this.value(),\n operation: e,\n });\n }\n}\n","import { AXP_WIDGETS_FILTER_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPStringFilterWidget: AXPWidgetConfig = {\n name: 'string-filter',\n title: 'String Filter',\n icon: 'fa-solid fa-square',\n group: AXP_WIDGETS_FILTER_GROUP,\n type: 'filter',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () => import('./string-filter-widget-edit.component').then((c) => c.AXPStringWidgetFilterComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n stringFilter: 'string-filter';\n }\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\nexport const AXPDocumentWidget: AXPWidgetConfig = {\n name: 'document-layout',\n title: 'Document',\n description: 'Structures the entire document',\n icon: 'fa-solid fa-page',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n visible: false,\n properties: [],\n components: {},\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n document: 'document-layout';\n }\n}\n","import { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'axp-form-field-widget',\n template: `\n <ax-form-field>\n <ax-label>{{ label() }}</ax-label>\n @for (node of children(); track $index) {\n <ng-container axp-widget-renderer [node]=\"node\" [index]=\"index\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n </ax-form-field>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXFormModule, AXLabelModule, AXPLayoutBuilderModule]\n})\nexport class AXPFormFieldWidgetViewComponent extends AXPWidgetComponent<any> {\n protected label = computed<string>(() => this.options()['label'] as string);\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-w-full`] = true;\n return cls;\n }\n}\n","import { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPWidgetComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetMiniButtonComponent, AXPWidgetDesignerRendererDirective } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n@Component({\n selector: \"axp-form-field-widget\",\n template: `\n <ax-form-field>\n <ax-label>{{label()}}</ax-label>\n @for (node of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\" [locked]=\"this.locked\"> </ng-container>\n }\n @empty {\n <axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>\n }\n </ax-form-field>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXFormModule, AXLabelModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetMiniButtonComponent],\n providers: [\n {\n provide: AXPWidgetComponent, useExisting: AXPFormFieldWidgetDesignerComponent\n }\n ]\n})\nexport class AXPFormFieldWidgetDesignerComponent extends AXPWidgetComponent<void> {\n protected label = computed<string>(() => this.options()[\"label\"] as string);\n\n\n @HostBinding('class')\n private get __class(): any {\n return {\n 'ax-widget-container': true,\n 'ax-block': true,\n 'ax-w-full': true\n };\n }\n}","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_LABEL_PROPERTY } from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPFormFieldWidget: AXPWidgetConfig = {\n name: 'form-field',\n title: 'Form Field',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n icon: 'fa-solid fa-pen-field',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_LABEL_PROPERTY\n ],\n components: {\n view: {\n component: () => import('./form-field-widget-view.component').then((c) => c.AXPFormFieldWidgetViewComponent),\n },\n edit: {\n component: () => import('./form-field-widget-view.component').then((c) => c.AXPFormFieldWidgetViewComponent),\n },\n print: {\n component: () => import('./form-field-widget-view.component').then((c) => c.AXPFormFieldWidgetViewComponent),\n },\n designer: {\n component: () => import('./form-field-widget-designer.component').then((c) => c.AXPFormFieldWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n formField: 'form-field';\n }\n}\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-grid-layout-widget',\n template: `\n <div class=\"ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}\">\n @for (child of children(); track $index) {\n <ng-container axp-widget-renderer [node]=\"child\" [index]=\"index\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule]\n})\nexport class AXPGridWidgetViewComponent extends AXPWidgetComponent<any> {\n protected cols = computed<number>(() => (this.options()['cols'] as number) ?? 1);\n protected rows = computed<number>(() => (this.options()['rows'] as number) ?? 1);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridWidgetPrintComponent extends AXPWidgetComponent<any> {}","import {\n AXPWidgetComponent,\n AXPLayoutBuilderModule,\n AXPWidgetsCatalog,\n} from '@acorex/platform/layout/builder';\nimport {\n AXPDesignerGridDrawerComponent,\n AXPDesignerService,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\n\n@Component({\n selector: 'axp-grid-layout-widget',\n template: `\n @if(settled()) {\n <div class=\"ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}\">\n @for (child of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"child\" [parentNode]=\"this\" [mode]=\"this.mode\" [locked]=\"this.locked\"> </ng-container>\n }\n </div>\n }@else {\n <axp-designer-grid-drawer (onSelect)=\"handleDrawerSelect($event)\"></axp-designer-grid-drawer>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n AXPDesignerGridDrawerComponent,\n ],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPGridWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPGridWidgetDesignerComponent extends AXPWidgetComponent<void> {\n private designerService = inject(AXPDesignerService);\n\n protected cols = computed<number>(() => (this.options()['cols'] as number) ?? 1);\n protected rows = computed<number>(() => (this.options()['rows'] as number) ?? 1);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n protected cells = computed<number[]>(() =>\n Array.from({ length: this.cols() * this.rows() }).map((c, index) => index)\n );\n\n protected settled = computed(() => this.cols() * this.rows() > 1 && this.children().length);\n\n protected handleDrawerSelect(e: { rows: number; cols: number }) {\n this.designerService.update({\n values: {\n options: e,\n },\n mode: 'update',\n widget: this.node,\n });\n const list = Array.from({ length: this.cells().length }).map(() => ({\n type: AXPWidgetsCatalog.gridItem,\n }));\n list.forEach((node) => {\n this.designerService.addWidget(this.node, node);\n });\n }\n\n @HostBinding('class')\n private get __class(): any {\n return {\n 'ax-widget-container': true,\n 'ax-block': true,\n 'ax-w-full': true\n };\n }\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_LAYOUT_GRID_PROPERTIES } from '../../../properties/layout.props';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPGridWidget: AXPWidgetConfig = {\n name: 'grid-layout',\n title: 'Grid Layout',\n type: 'container',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n icon: 'fa-solid fa-grid',\n properties: [\n AXP_NAME_PROPERTY,\n ...AXP_LAYOUT_GRID_PROPERTIES\n ],\n components: {\n view: {\n component: () => import('./grid-widget-view.component').then((c) => c.AXPGridWidgetViewComponent),\n },\n edit: {\n component: () => import('./grid-widget-view.component').then((c) => c.AXPGridWidgetViewComponent),\n },\n print: {\n component: () => import('./grid-widget-view.component').then((c) => c.AXPGridWidgetViewComponent),\n },\n designer: {\n component: () => import('./grid-widget-designer.component').then((c) => c.AXPGridWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n grid: 'grid-layout';\n }\n}\n","import { AXPWidgetComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'axp-grid-layout-item-widget',\n template: `\n @for (child of children(); track $index) {\n <ng-container axp-widget-renderer [node]=\"child\" [index]=\"index\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPGridItemWidgetViewComponent,\n },\n ]\n})\nexport class AXPGridItemWidgetViewComponent extends AXPWidgetComponent<any> {\n protected colSpan = computed<number>(() => this.options()['colSpan'] as number);\n protected colStart = computed<number>(() => this.options()['colStart'] as number);\n protected colEnd = computed<number>(() => this.options()['colEnd'] as number);\n\n protected flexAlignItems = computed<string>(() => this.options()['flexAlignItems']?.id);\n protected flexJustifyContent = computed<string>(() => this.options()['flexJustifyContent']?.id);\n protected flexWrap = computed<string>(() => this.options()['flexWrap']?.id);\n protected flexDirection = computed<string>(() => this.options()['flexDirection']?.id);\n\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n @HostBinding('class')\n private get __class(): any {\n const cls: any = {};\n //\n cls[`ax-flex`] = true;\n cls[`ax-gap-${this.gap()}`] = true;\n //\n if (this.flexAlignItems()) {\n cls[this.flexAlignItems()] = true;\n }\n if (this.flexJustifyContent()) {\n cls[this.flexJustifyContent()] = true;\n }\n if (this.flexWrap()) {\n cls[this.flexWrap()] = true;\n }\n if (this.flexDirection()) {\n cls[this.flexDirection()] = true;\n }\n //\n cls[`ax-col-span-12`] = true;\n if (this.colSpan() != null) {\n cls[`lg:ax-col-span-${this.colSpan()}`] = true;\n } else {\n cls[`lg:ax-col-span-1`] = true;\n }\n //\n if (this.colStart() != null) {\n cls[`lg:ax-col-start-${this.colStart()}`] = true;\n }\n //\n if (this.colEnd() != null) {\n cls[`lg:ax-col-end-${this.colEnd()}`] = true;\n }\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridItemWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport {\n AXPDesignerAddWidgetMiniButtonComponent,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'axp-grid-layout-item-widget',\n template: `\n @for (child of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"child\" [parentNode]=\"this\" [mode]=\"this.mode\" [locked]=\"this.locked\"> </ng-container>\n } @empty {\n <axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n AXPDesignerAddWidgetMiniButtonComponent,\n ],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPGridItemWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPGridItemWidgetDesignerComponent extends AXPWidgetComponent<void> {\n\n protected colSpan = computed<number>(() => this.options()['colSpan'] as number);\n protected colStart = computed<number>(() => this.options()['colStart'] as number);\n protected colEnd = computed<number>(() => this.options()['colEnd'] as number);\n\n protected flexAlignItems = computed<string>(() => this.options()['flexAlignItems']?.id);\n protected flexJustifyContent = computed<string>(() => this.options()['flexJustifyContent']?.id);\n protected flexWrap = computed<string>(() => this.options()['flexWrap']?.id);\n protected flexDirection = computed<string>(() => this.options()['flexDirection']?.id);\n\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n\n\n @HostBinding('class')\n private get __class(): any {\n const cls: any = {};\n //\n cls[`ax-widget-container`] = true;\n cls[`ax-flex`] = true;\n cls[`ax-gap-${this.gap()}`] = true;\n //\n if (this.flexAlignItems()) {\n cls[this.flexAlignItems()] = true;\n }\n if (this.flexJustifyContent()) {\n cls[this.flexJustifyContent()] = true;\n }\n if (this.flexWrap()) {\n cls[this.flexWrap()] = true;\n }\n if (this.flexDirection()) {\n cls[this.flexDirection()] = true;\n }\n //\n cls[`ax-col-span-12`] = true;\n if (this.colSpan() != null) {\n cls[`lg:ax-col-span-${this.colSpan()}`] = true;\n } else {\n cls[`lg:ax-col-span-1`] = true;\n }\n //\n if (this.colStart() != null) {\n cls[`lg:ax-col-start-${this.colStart()}`] = true;\n }\n //\n if (this.colEnd() != null) {\n cls[`lg:ax-col-end-${this.colEnd()}`] = true;\n }\n return cls;\n }\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_LAYOUT_FLEX_PROPERTIES, AXP_LAYOUT_GRID_ITEM_PROPERTIES } from '../../../properties/layout.props';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPGridItemWidget: AXPWidgetConfig = {\n name: 'grid-item-layout',\n title: 'Grid Item',\n type: 'container',\n visible: false,\n group: AXP_WIDGETS_LAYOUT_GROUP,\n icon: 'fa-solid fa-objects-column',\n properties: [\n AXP_NAME_PROPERTY,\n ...AXP_LAYOUT_GRID_ITEM_PROPERTIES,\n ...AXP_LAYOUT_FLEX_PROPERTIES\n ],\n components: {\n view: {\n component: () => import('./grid-item-widget-view.component').then((c) => c.AXPGridItemWidgetViewComponent),\n },\n edit: {\n component: () => import('./grid-item-widget-view.component').then((c) => c.AXPGridItemWidgetViewComponent),\n },\n print: {\n component: () => import('./grid-item-widget-view.component').then((c) => c.AXPGridItemWidgetViewComponent),\n },\n designer: {\n component: () => import('./grid-item-widget-designer.component').then((c) => c.AXPGridItemWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n gridItem: 'grid-item-layout';\n }\n}\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-grid-row-widget',\n template: `\n <div class=\"ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}\">\n @for (child of children(); track $index) {\n <ng-container axp-widget-renderer [node]=\"child\" [index]=\"index\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule]\n})\nexport class AXPGridRowWidgetViewComponent extends AXPWidgetComponent<any> {\n protected cols = computed<number>(() => (this.options()['cols'] as number) ?? 1);\n protected rows = computed<number>(() => (this.options()['rows'] as number) ?? 1);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridRowWidgetPrintComponent extends AXPWidgetComponent<any> { }","import {\n AXPWidgetComponent,\n AXPLayoutBuilderModule,\n AXPWidgetsCatalog,\n} from '@acorex/platform/layout/builder';\nimport {\n AXPDesignerService,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n HostBinding,\n HostListener,\n inject,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { get, sum } from 'lodash-es';\nimport { AXPGridWidgetDesignerComponent } from '../grid/grid-widget-designer.component';\n@Component({\n selector: 'axp-grid-row-widget',\n template: `\n <div class=\"ax-grid ax-grid-cols-{{ cols() }} ax-gap-{{ gap() }}\">\n @for (node of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\" [locked]=\"this.locked\"> </ng-container>\n } @for (node of cells(); track $index) {\n <div\n class=\"axp-empty-slot\"\n (mouseenter)=\"handleMouseHover($index)\"\n (mouseleave)=\"handleMouseLeave($event)\"\n (click)=\"handleClick($event, $index)\"\n [class.axp-state-hover]=\"hoverIndex() >= $index\"\n ></div>\n }\n </div>\n `,\n styleUrls: ['grid-row-widget-designer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n ],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPGridWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPGridRowWidgetDesignerComponent extends AXPWidgetComponent<any> {\n private designerService = inject(AXPDesignerService);\n\n protected cols = computed<number>(() => (this.options()['cols'] as number) ?? 1);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n protected cells = computed<number[]>(() =>\n Array.from({ length: this.cols() - sum(this.children().map((c) => get(c.options, 'colSpan'))) }).map(\n (c, index) => index\n )\n );\n\n protected hoverIndex = signal(0);\n\n protected handleMouseHover(index: number) {\n this.hoverIndex.set(index);\n }\n\n protected handleClick(e: MouseEvent, index: number) {\n e.stopPropagation();\n this.hoverIndex.set(-1);\n e.preventDefault();\n this.designerService.addWidget(this.node, {\n type: AXPWidgetsCatalog.gridItem,\n options: {\n colSpan: index + 1,\n },\n });\n }\n\n @HostListener('mouseleave', ['$event'])\n protected handleMouseLeave(event: MouseEvent) {\n this.hoverIndex.set(-1);\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-widget-container`] = true;\n cls[`ax-block`] = true;\n cls[`ax-w-full`] = true;\n return cls;\n }\n}\n","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPGridRowWidget: AXPWidgetConfig = {\n name: \"grid-row-layout\",\n title: \"Grid Row Layout\",\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n icon: \"fa-solid fa-diagram-cells\",\n properties: [\n AXP_NAME_PROPERTY,\n ...AXP_LAYOUT_GRID_ROW_PROPERTIES\n ],\n components: {\n view: {\n component: () => import('./grid-row-widget-view.component').then((c) => c.AXPGridRowWidgetViewComponent),\n },\n edit: {\n component: () => import('./grid-row-widget-view.component').then((c) => c.AXPGridRowWidgetViewComponent),\n },\n print: {\n component: () => import('./grid-row-widget-print.component').then((c) => c.AXPGridRowWidgetPrintComponent),\n },\n designer: {\n component: () => import('./grid-row-widget-designer.component').then((c) => c.AXPGridRowWidgetDesignerComponent),\n },\n }\n}\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n gridRow: 'grid-row-layout';\n }\n}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: \"axp-text-block-widget\",\n template: `\n <div [innerHTML]=\"innerContent()\"></div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPTextBlockWidgetViewComponent extends AXPWidgetComponent<void> {\n sanitizer = inject(DomSanitizer);\n\n protected content = computed<string>(() => this.options()['content'] as string);\n\n protected innerContent = computed(() =>\n this.sanitizer.bypassSecurityTrustHtml(this.content())\n );\n}","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPTextBlockWidget: AXPWidgetConfig = {\n name: 'text-block-layout',\n title: 'Text Block',\n description: 'Displays text blocks',\n icon: 'fa-solid fa-text',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'view',\n properties: [\n AXP_NAME_PROPERTY,\n {\n name: 'content',\n title: 'Content',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: 'Text Block',\n interface: {\n name: 'content',\n path: 'options.content',\n type: AXPWidgetsCatalog.richText,\n },\n },\n visible: true,\n },\n ],\n components: {\n view: {\n component: () => import('./text-block-widget-view.component').then((c) => c.AXPTextBlockWidgetViewComponent),\n },\n edit: {\n component: () => import('./text-block-widget-view.component').then((c) => c.AXPTextBlockWidgetViewComponent),\n },\n print: {\n component: () => import('./text-block-widget-view.component').then((c) => c.AXPTextBlockWidgetViewComponent),\n },\n designer: {\n component: () => import('./text-block-widget-designer.component').then((c) => c.AXPTextBlockWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n textBlockLayout: 'text-block-layout';\n }\n}\n","import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { NgModule } from '@angular/core';\nimport {\n AXPAvatarWidget,\n AXPBlockWidget,\n AXPBorderWidget,\n AXPButtonWidget,\n AXPCheckBoxWidget,\n AXPContactWidget,\n AXPDateTimeBoxWidget,\n AXPFileBoxWidget,\n AXPGalleryWidget,\n AXPLargeTextWidget,\n AXPMapBoxWidget,\n AXPNumberBoxWidget,\n AXPPageWidget,\n AXPPasswordBoxWidget,\n AXPRepeaterWidget,\n AXPRichTextWidget,\n AXPSelectBoxWidget,\n AXPSelectionListWidget,\n AXPSignatureWidget,\n AXPSpacingWidget,\n AXPTextBoxWidget,\n AXPToggleWidget,\n} from './widgets';\nimport { AXPCronJobWidget } from './widgets/advance/cron-job';\nimport { AXPQrcodeWidget } from './widgets/advance/qrcode';\nimport { AXPColorBoxWidget } from './widgets/editors/color';\nimport { AXPBooleanFilterWidget } from './widgets/filters/boolean-filter';\nimport { AXPDateTimeFilterWidget } from './widgets/filters/date-time-filter';\nimport { AXPNumberFilterWidget } from './widgets/filters/number-filter';\nimport { AXPSelectFilterWidget } from './widgets/filters/select-filter';\nimport { AXPStringFilterWidget } from './widgets/filters/string-filter';\nimport { AXPDocumentWidget } from './widgets/layout/document/document-widget.config';\nimport { AXPFormFieldWidget } from './widgets/layout/form-field';\nimport { AXPGridWidget } from './widgets/layout/grid';\nimport { AXPGridItemWidget } from './widgets/layout/grid-item';\nimport { AXPGridRowWidget } from './widgets/layout/grid-row';\nimport { AXPTextBlockWidget } from './widgets/layout/text-block';\nimport { AXPFlexOptionsWidget } from './widgets/property-editors/flex-options/flex-options-widget.config';\n\n@NgModule({\n imports: [\n AXPLayoutBuilderModule.forChild({\n widgets: [\n AXPDocumentWidget,\n //\n AXPBlockWidget,\n AXPPageWidget,\n AXPRepeaterWidget,\n AXPTextBlockWidget,\n AXPFormFieldWidget,\n AXPGridWidget,\n AXPGridItemWidget,\n AXPGridRowWidget,\n //\n AXPTextBoxWidget,\n AXPCheckBoxWidget,\n AXPSelectBoxWidget,\n AXPRichTextWidget,\n AXPNumberBoxWidget,\n AXPSignatureWidget,\n AXPDateTimeBoxWidget,\n AXPContactWidget,\n AXPSelectionListWidget,\n AXPLargeTextWidget,\n AXPMapBoxWidget,\n AXPCronJobWidget,\n AXPFileBoxWidget,\n AXPQrcodeWidget,\n AXPPasswordBoxWidget,\n AXPGalleryWidget,\n AXPToggleWidget,\n AXPColorBoxWidget,\n AXPAvatarWidget,\n //\n AXPButtonWidget,\n //\n AXPSpacingWidget,\n AXPBorderWidget,\n //\n AXPStringFilterWidget,\n AXPBooleanFilterWidget,\n AXPNumberFilterWidget,\n AXPDateTimeFilterWidget,\n AXPSelectFilterWidget,\n AXPFlexOptionsWidget,\n ],\n }),\n ],\n exports: [],\n declarations: [],\n})\nexport class AXPWidgetsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4","i6","i7","i8","i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-widgets.mjs","sources":["../../../../libs/platform/widgets/src/lib/widgets/actions/button/button-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/properties/groups.ts","../../../../libs/platform/widgets/src/lib/properties/data-source.props.ts","../../../../libs/platform/widgets/src/lib/properties/general.props.ts","../../../../libs/platform/widgets/src/lib/properties/editors.props.ts","../../../../libs/platform/widgets/src/lib/properties/layout.props.ts","../../../../libs/platform/widgets/src/lib/properties/table-column.props.ts","../../../../libs/platform/widgets/src/lib/widgets/actions/button/button-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/checkbox/checkbox-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/checkbox/checkbox-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/popup-component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/date-time/date-time-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/email/email-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/large-text/large-text-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/link/link-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/number/number-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/password/password-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/phone/phone-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/rich-text/rich-text-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/select/select-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/selection-list/selection-list-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/text/text-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/toggle/toggle-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/avatar/avatar-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget.service.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/file/file-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/gallery/gallery-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/map/map-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/map/map-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/map/map-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/signature/signature-pad-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/block/block-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/block/block-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/block/block-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/page/page-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/page/page-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/repeater/repeater-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/repeater/repeater-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/repeater/repeater-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/repeater/repeater-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/repeater/repeater-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/property-editor-helper.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/property-editor.type.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/border/border-widget-editor.component.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/border/border-widget-editor.component.html","../../../../libs/platform/widgets/src/lib/widgets/property-editors/border/border-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/flex-options/flex-options-widget.type.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.html","../../../../libs/platform/widgets/src/lib/widgets/property-editors/flex-options/flex-options-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/spacing/spacing-widget-editor.component.ts","../../../../libs/platform/widgets/src/lib/widgets/property-editors/spacing/spacing-widget-editor.component.html","../../../../libs/platform/widgets/src/lib/widgets/property-editors/spacing/spacing-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/cron-job/cron-job-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/qrcode/qrcode-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/advance/qrcode/qrcode-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-column.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/boolean-filter/boolean-filter-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/boolean-filter/boolean-filter-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/date-time-filter/date-time-filter-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/date-time-filter/date-time-filter-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/operations/operations.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/operations/operations.component.html","../../../../libs/platform/widgets/src/lib/widgets/filters/number-filter/number-filter-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/number-filter/number-filter-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/select-filter/select-filter-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/select-filter/select-filter-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/string-filter/string-filter-widget-edit.component.ts","../../../../libs/platform/widgets/src/lib/widgets/filters/string-filter/string-filter-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/document/document-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/form-field/form-field-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/form-field/form-field-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/form-field/form-field-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid/grid-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid/grid-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid/grid-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid/grid-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-item/grid-item-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-item/grid-item-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-item/grid-item-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-item/grid-item-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-row/grid-row-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-row/grid-row-widget-print.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-row/grid-row-widget-designer.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/grid-row/grid-row-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/text-block/text-block-widget-view.component.ts","../../../../libs/platform/widgets/src/lib/widgets/layout/text-block/text-block-widget.config.ts","../../../../libs/platform/widgets/src/lib/widgets.module.ts","../../../../libs/platform/widgets/src/acorex-platform-widgets.ts"],"sourcesContent":["import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXClickEvent, AXStyleColorType, AXStyleLookType } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPLayoutElementAPI, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, EventEmitter } from '@angular/core';\n@Component({\n selector: 'axp-button-widget',\n template: `\n <ax-button [disabled]=\"disabled()\" [color]=\"color()\" [look]=\"look()\" [text]=\"text()\">\n @if(icon() && text()){\n <ax-prefix\n ><ax-icon> <i class=\"fa-solid\" [class]=\"icon()\"></i> </ax-icon\n ></ax-prefix>\n } @else if(icon() && !text()) {\n <ax-icon> <i class=\"fa-solid\" [class]=\"icon()\"></i> </ax-icon>\n } @if(loading()){\n <ax-loading> </ax-loading>\n }\n </ax-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXLoadingModule, AXDecoratorModule, AXBadgeModule]\n})\nexport class AXPButtonWidgetViewComponent extends AXPWidgetComponent<any> {\n protected disabled = computed<boolean>(() => this.options()['disabled']);\n protected color = computed<AXStyleColorType>(() => this.options()['color']?.id ?? 'primary');\n protected look = computed<AXStyleLookType>(() => this.options()['look']?.id ?? 'solid');\n protected text = computed<string | undefined>(() => this.options()['text']);\n protected loading = computed<boolean>(() => this.options()['loading'] ?? false);\n protected icon = computed<string | undefined>(() => this.options()['icon']);\n\n public onClick = new EventEmitter<AXClickEvent>();\n\n protected handleClick(e: AXClickEvent) {\n this.onClick.emit(e);\n }\n\n override api(): AXPLayoutElementAPI {\n return {\n onClick: this.onClick,\n };\n }\n}\n","import { AXPWidgetPropertyGroup } from \"@acorex/platform/layout/builder\"\n\nexport const AXP_STYLING_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: \"styling\",\n order: 1,\n title: \"Styling\"\n}\n\nexport const AXP_DATA_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: \"data\",\n order: 3,\n title: \"Data\"\n}\n\nexport const AXP_BEHAVIOR_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: \"behavior\",\n order: 2,\n title: \"Behavior\"\n}\n\n\nexport const AXP_WIDGET_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: \"widget\",\n order: 0,\n title: \"Widget\"\n}","import { AXPWidgetProperty, AXPWidgetsCatalog } from \"@acorex/platform/layout/builder\";\nimport { AXP_DATA_PROPERTY_GROUP } from \"./groups\";\n\nexport const AXP_DATA_SOURCE_PROPERTY: AXPWidgetProperty = {\n name: 'dataSource',\n title: 'Data Source',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'object',\n interface: {\n name: 'dataSource',\n path: 'options.dataSource',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: \"{{ methods.getDataSourceNames() }}\",\n hasClearButton: true,\n },\n },\n },\n visible: true,\n};","import { AXPWidgetProperty, AXPWidgetsCatalog, createStringProperty } from '@acorex/platform/layout/builder';\nimport { AXP_STYLING_PROPERTY_GROUP, AXP_WIDGET_PROPERTY_GROUP } from './groups';\n\nexport const AXP_NAME_PROPERTY = createStringProperty({\n name: 'name',\n title: 'Name',\n group: AXP_WIDGET_PROPERTY_GROUP,\n});\n\nexport const AXP_THEME_PROPERTY: AXPWidgetProperty = {\n name: 'theme',\n title: 'Theme',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'default', title: 'Default' },\n interface: {\n name: 'theme',\n path: 'options.theme',\n type: AXPWidgetsCatalog.select,\n options: {\n\n dataSource: [\n {\n id: 'default',\n title: 'Default',\n },\n {\n id: 'light',\n title: 'Light',\n },\n {\n id: 'dark',\n title: 'Dark',\n },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_DIRECTION_PROPERTY: AXPWidgetProperty = {\n name: 'direction',\n title: 'Direction',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'horizontal' },\n interface: {\n name: 'direction',\n path: 'options.direction',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n {\n id: 'horizontal',\n title: 'Horizontal',\n },\n {\n id: 'vertical',\n title: 'Vertical',\n },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_COLOR_PROPERTY: AXPWidgetProperty = {\n name: 'color',\n title: 'Color',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n path: 'options.color',\n options: {\n hasClearButton: true,\n },\n type: AXPWidgetsCatalog.color,\n },\n },\n visible: true,\n};\n\nexport const AXP_FONT_SIZE_PROPERTY: AXPWidgetProperty = {\n name: 'fontSize',\n title: 'Font Size',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: '12px',\n interface: {\n name: 'fontSize',\n path: 'options.fontSize',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_BG_COLOR_PROPERTY: AXPWidgetProperty = {\n name: 'backgroundColor',\n title: 'Background Color',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n path: 'options.backgroundColor',\n options: {\n hasClearButton: true,\n },\n type: AXPWidgetsCatalog.color,\n },\n },\n visible: true,\n};\n","import { AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES } from '@acorex/components/common';\nimport {\n AXPWidgetProperty,\n AXPWidgetsCatalog,\n createBooleanProperty,\n createSelectProperty,\n createStringProperty,\n} from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_DATA_PROPERTY_GROUP, AXP_STYLING_PROPERTY_GROUP } from './groups';\n\nexport const AXP_VALIDATION_PROPERTY: AXPWidgetProperty = {\n name: 'validationRules',\n title: 'Validation Rules',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'array',\n defaultValue: [],\n interface: {\n type: AXPWidgetsCatalog.text,\n path: 'validationRules',\n },\n },\n visible: true,\n};\n\nexport const AXP_CONTENT_PROPERTY = createStringProperty({\n name: 'content',\n title: 'Content',\n path: 'options.content',\n group: AXP_DATA_PROPERTY_GROUP,\n});\n\nexport const AXP_PLACEHOLDER_PROPERTY = createStringProperty({\n name: 'placeholder',\n title: 'Placeholder',\n path: 'options.placeholder',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_DATA_PATH_PROPERTY = createStringProperty({\n name: 'path',\n title: 'Data Path',\n group: AXP_DATA_PROPERTY_GROUP,\n});\n\nexport const AXP_DISABLED_PROPERTY = createBooleanProperty({\n name: 'disabled',\n title: 'Disabled',\n path: 'options.disabled',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_READONLY_PROPERTY = createBooleanProperty({\n name: 'readonly',\n title: 'Readonly',\n path: 'options.readonly',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_ALLOW_MULTIPLE_PROPERTY = createBooleanProperty({\n name: 'multiple',\n title: 'Multiple',\n path: 'options.multiple',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_HAS_LABEL_PROPERTY = createBooleanProperty({\n name: 'hasLabel',\n title: 'Label',\n path: 'options.hasLabel',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n});\n\nexport const AXP_HAS_ICON_PROPERTY = createBooleanProperty({\n name: 'hasIcon',\n title: 'Icon',\n path: 'options.hasIcon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n});\n\nexport const AXP_ICON_PROPERTY = createStringProperty({\n name: 'icon',\n title: 'Icon Name',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n path: 'options.icon',\n});\n\nexport const AXP_IS_LOADING_PROPERTY = createBooleanProperty({\n name: 'loading',\n title: 'Is Loading',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n path: 'options.loading',\n});\n\nexport const AXP_HAS_CLEAR_BUTTON_PROPERTY = createBooleanProperty({\n name: 'hasClearButton',\n title: 'Clear Button',\n path: 'options.hasClearButton',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: false,\n});\n\nexport const AXP_ALLOW_SEARCH_PROPERTY = createBooleanProperty({\n name: 'allowSearch',\n title: 'Allow Search',\n path: 'options.allowSearch',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: false,\n});\n\nexport const AXP_HAS_COPY_ICON_PROPERTY = createBooleanProperty({\n name: 'hasCopyIcon',\n title: 'Copy Icon',\n path: 'options.hasCopyIcon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n});\n\nexport const AXP_HAS_EYE_ICON_PROPERTY = createBooleanProperty({\n name: 'hasEyeIcon',\n title: 'Eye Icon',\n path: 'options.hasEyeIcon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n});\n\nexport const AXP_DOWNLOADABLE_PROPERTY = createBooleanProperty({\n name: 'downloadable',\n title: 'Downloadable',\n path: 'options.downloadable',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n});\n\n// Converted with createStringProperty\nexport const AXP_TRULY_TEXT_PROPERTY = createStringProperty({\n name: 'trulyText',\n title: 'Truly Text',\n path: 'options.trulyText',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_FALSY_TEXT_PROPERTY = createStringProperty({\n name: 'falsyText',\n title: 'Falsy Text',\n path: 'options.falsyText',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_TEXT_PROPERTY = createStringProperty({\n name: 'text',\n title: 'Text',\n path: 'options.text',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_TITLE_PROPERTY = createStringProperty({\n name: 'title',\n title: 'Title',\n path: 'options.title',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_LABEL_PROPERTY = createStringProperty({\n name: 'label',\n title: 'Label',\n path: 'options.label',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: 'Sample Label',\n});\n\nexport const AXP_VALUE_FIELD_PROPERTY = createStringProperty({\n name: 'valueField',\n title: 'Value Field',\n path: 'options.valueField',\n group: AXP_DATA_PROPERTY_GROUP,\n defaultValue: \"id\",\n});\n\nexport const AXP_TEXT_FIELD_PROPERTY = createStringProperty({\n name: 'textField',\n title: 'Text Field',\n path: 'options.textField',\n group: AXP_DATA_PROPERTY_GROUP,\n defaultValue: \"title\",\n});\n\nexport const AXP_DESCRIPTION_PROPERTY = createStringProperty({\n name: 'description',\n title: 'Description',\n path: 'options.description',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport const AXP_STYLE_COLOR_PROPERTY = createSelectProperty({\n name: 'color',\n title: 'Color',\n dataSource: AX_STYLE_COLOR_TYPES,\n defaultValue: 'primary',\n path: 'options.color',\n group: AXP_STYLING_PROPERTY_GROUP,\n});\n\nexport const AXP_STYLE_LOOK_PROPERTY = createSelectProperty({\n name: 'look',\n title: 'Look',\n dataSource: AX_STYLE_LOOK_TYPES,\n defaultValue: 'solid',\n path: 'options.look',\n group: AXP_STYLING_PROPERTY_GROUP,\n});\n\nexport const AXP_DATE_FORMAT_PROPERTY = createSelectProperty({\n name: 'format',\n title: 'Format',\n dataSource: [\n { id: 'date', title: 'Date' },\n { id: 'datetime', title: 'DateTime' },\n { id: 'time', title: 'Time' },\n ],\n defaultValue: { id: 'date', title: 'Date' },\n path: 'options.format',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n});\n\nexport function booleanDefaultProperty(defaultValue: boolean = false): AXPWidgetProperty {\n return {\n name: 'defaultValue',\n title: 'Default Value',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: defaultValue,\n interface: {\n name: 'defaultValue',\n path: 'defaultValue',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n };\n}\n\nexport function plainTextDefaultProperty(): AXPWidgetProperty {\n return {\n name: 'defaultValue',\n title: 'Default Value',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'defaultValue',\n path: 'defaultValue',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n };\n}\n\nexport function largeTextDefaultProperty(): AXPWidgetProperty {\n return {\n name: 'defaultValue',\n title: 'Default Value',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'defaultValue',\n path: 'defaultValue',\n type: AXPWidgetsCatalog.largeText,\n },\n },\n visible: true,\n };\n}\n\nexport function numberDefaultProperty(): AXPWidgetProperty {\n return {\n name: 'defaultValue',\n title: 'Default Value',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n interface: {\n name: 'defaultValue',\n path: 'defaultValue',\n type: AXPWidgetsCatalog.number,\n },\n },\n visible: true,\n };\n}\n\nexport function numberMinValueProperty(value?: number | null): AXPWidgetProperty {\n return {\n name: 'minValue',\n title: 'Min Value',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n order: 9,\n schema: {\n dataType: 'number',\n defaultValue: value,\n interface: {\n name: 'minValue',\n path: 'options.minValue',\n type: AXPWidgetsCatalog.number,\n },\n },\n visible: true,\n };\n}\n\nexport function numberMaxValueProperty(value?: number | null): AXPWidgetProperty {\n return {\n name: 'maxValue',\n title: 'Max Value',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n order: 10,\n schema: {\n dataType: 'number',\n defaultValue: value,\n interface: {\n name: 'maxValue',\n path: 'options.maxValue',\n type: AXPWidgetsCatalog.number,\n },\n },\n visible: true,\n };\n}\n","import {\n AXPWidgetProperty,\n AXPWidgetPropertyGroup,\n AXPWidgetsCatalog,\n cloneProperty,\n} from '@acorex/platform/layout/builder';\n\nexport const AXP_LAYOUT_GRID_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: 'grid',\n order: 1,\n title: 'Grid Layout',\n};\n\nexport const AXP_LAYOUT_FLEX_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: 'flex',\n order: 1,\n title: 'Flex Layout',\n};\n\nexport const AXP_BOX_MODEL_PROPERTY_GROUP: AXPWidgetPropertyGroup = {\n name: 'box',\n order: 1,\n title: 'BOX MODEL',\n};\n\nexport const AXP_LAYOUT_GAP_PROPERTY: AXPWidgetProperty = {\n name: 'gap',\n title: 'Gap',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n defaultValue: 2,\n interface: {\n name: 'gap',\n path: 'options.gap',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 0,\n maxValue: 12,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_COL_SPAN_PROPERTY: AXPWidgetProperty = {\n name: 'colSpan',\n title: 'Column Span',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n interface: {\n name: 'colSpan',\n path: 'options.colSpan',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 0,\n maxValue: 12,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_COL_START_PROPERTY: AXPWidgetProperty = {\n name: 'colStart',\n title: 'Column Start',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n interface: {\n name: 'colStart',\n path: 'options.colStart',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 1,\n maxValue: 13,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_COL_END_PROPERTY: AXPWidgetProperty = {\n name: 'colEnd',\n title: 'Column End',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n interface: {\n name: 'colEnd',\n path: 'options.colEnd',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 1,\n maxValue: 13,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_COLUMNS_PROPERTY: AXPWidgetProperty = {\n name: 'cols',\n title: 'Columns',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n defaultValue: 1,\n interface: {\n name: 'cols',\n path: 'options.cols',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 1,\n maxValue: 12,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_ROWS_PROPERTY: AXPWidgetProperty = {\n name: 'rows',\n title: 'Rows',\n group: AXP_LAYOUT_GRID_PROPERTY_GROUP,\n schema: {\n dataType: 'number',\n defaultValue: 1,\n interface: {\n name: 'rows',\n path: 'options.rows',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 1,\n maxValue: 100,\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_FLEX_JUSTIFY_PROPERTY: AXPWidgetProperty = {\n name: 'flexJustifyContent',\n title: 'Justify Content',\n group: AXP_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'ax-justify-normal' },\n interface: {\n name: 'flexJustifyContent',\n path: 'options.flexJustifyContent',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'ax-justify-normal', title: 'Normal' },\n { id: 'ax-justify-start', title: 'Start' },\n { id: 'ax-justify-end', title: 'End' },\n { id: 'ax-justify-center', title: 'Center' },\n { id: 'ax-justify-between', title: 'Between' },\n { id: 'ax-justify-around', title: 'Around' },\n { id: 'ax-justify-evenly', title: 'Evenly' },\n { id: 'ax-justify-stretch', title: 'Stretch' },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_FLEX_ALIGN_PROPERTY: AXPWidgetProperty = {\n name: 'flexAlignItems',\n title: 'Align Items',\n group: AXP_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'ax-items-start' },\n interface: {\n name: 'flexAlignItems',\n path: 'options.flexAlignItems',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'ax-items-start', title: 'Start' },\n { id: 'ax-items-end', title: 'End' },\n { id: 'ax-items-center', title: 'Center' },\n { id: 'ax-items-baseline', title: 'Baseline' },\n { id: 'ax-items-stretch', title: 'Stretch' },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_FLEX_DIRECTION_PROPERTY: AXPWidgetProperty = {\n name: 'flexDirection',\n title: 'Direction',\n group: AXP_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'ax-flex-row' },\n interface: {\n name: 'flexDirection',\n path: 'options.flexDirection',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'ax-flex-row', title: 'Row' },\n { id: 'ax-flex-row-reverse', title: 'Row Reverse' },\n { id: 'ax-flex-col', title: 'Column' },\n { id: 'ax-flex-col-reverse', title: 'Column Reverse' },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_FLEX_WRAP_PROPERTY: AXPWidgetProperty = {\n name: 'flexWrap',\n title: 'Wrap',\n group: AXP_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'ax-flex-nowrap' },\n interface: {\n name: 'flexWrap',\n path: 'options.flexWrap',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'ax-flex-nowrap', title: 'No Wrap' },\n { id: 'ax-flex-wrap', title: 'Wrap' },\n { id: 'ax-flex-wrap-reverse', title: 'Wrap Reverse' },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_ALIGN_CONTENT_PROPERTY: AXPWidgetProperty = {\n name: 'flexAlignContent',\n title: 'Align Content',\n group: AXP_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'ax-content-start' },\n interface: {\n name: 'flexAlignContent',\n path: 'options.flexAlignContent',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'ax-content-start', title: 'Start' },\n { id: 'ax-content-end', title: 'End' },\n { id: 'ax-content-center', title: 'Center' },\n { id: 'ax-content-between', title: 'Between' },\n { id: 'ax-content-around', title: 'Around' },\n { id: 'ax-content-stretch', title: 'Stretch' },\n ],\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_GRID_PROPERTIES = [\n AXP_LAYOUT_GAP_PROPERTY,\n AXP_LAYOUT_COLUMNS_PROPERTY,\n AXP_LAYOUT_ROWS_PROPERTY,\n];\n\nexport const AXP_LAYOUT_GRID_ROW_PROPERTIES = [\n AXP_LAYOUT_GAP_PROPERTY,\n cloneProperty(AXP_LAYOUT_COLUMNS_PROPERTY, { schema: { defaultValue: 12 } }),\n];\n\nexport const AXP_LAYOUT_GRID_ITEM_PROPERTIES = [\n AXP_LAYOUT_COL_SPAN_PROPERTY,\n AXP_LAYOUT_COL_START_PROPERTY,\n AXP_LAYOUT_COL_END_PROPERTY,\n];\n\nexport const AXP_LAYOUT_FLEX_PROPERTIES = [\n AXP_LAYOUT_FLEX_DIRECTION_PROPERTY,\n AXP_LAYOUT_FLEX_JUSTIFY_PROPERTY,\n AXP_LAYOUT_FLEX_ALIGN_PROPERTY,\n AXP_LAYOUT_GAP_PROPERTY,\n AXP_LAYOUT_FLEX_WRAP_PROPERTY,\n];\n\nexport const AXP_LAYOUT_SPACING_PROPERTY: AXPWidgetProperty = {\n name: 'spacing',\n title: 'Spacing',\n group: AXP_BOX_MODEL_PROPERTY_GROUP,\n schema: {\n dataType: 'object',\n defaultValue: {\n margin: '0px 0px 0px 0px',\n padding: '0px 0px 0px 0px',\n },\n interface: {\n name: 'spacing',\n path: 'options.spacing',\n type: AXPWidgetsCatalog.spacing,\n options: {},\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_BORDER_PROPERTY: AXPWidgetProperty = {\n name: 'border',\n title: 'Border',\n group: AXP_BOX_MODEL_PROPERTY_GROUP,\n schema: {\n dataType: 'object',\n defaultValue: {\n width: '0px 0px 0px 0px',\n radius: '0px 0px 0px 0px',\n color: '#000000 #000000 #000000 #000000',\n style: 'none none none none',\n },\n interface: {\n name: 'border',\n path: 'options.border',\n type: AXPWidgetsCatalog.border,\n options: {},\n },\n },\n visible: true,\n};\n\nexport const AXP_LAYOUT_FLEX_PROPERTY: AXPWidgetProperty = {\n name: 'flexOptions',\n title: 'Flex Options',\n group: AXP_BOX_MODEL_PROPERTY_GROUP,\n schema: {\n dataType: 'object',\n interface: {\n name: 'flexOptions',\n path: 'options.flexOptions',\n type: AXPWidgetsCatalog.flexOptions,\n options: {},\n },\n },\n visible: true,\n};\n","import { AXPWidgetProperty, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXP_STYLING_PROPERTY_GROUP } from './groups';\n\nexport const AXP_TABLE_COLUMN_WIDTH_PROPERTY: AXPWidgetProperty = {\n name: 'width',\n title: 'Width',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: '300px',\n interface: {\n name: 'width',\n path: 'options.width',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: false,\n};\nexport const AXP_TABLE_COLUMN_HEIGHT_PROPERTY: AXPWidgetProperty = {\n name: 'height',\n title: 'Height',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: '300px',\n interface: {\n name: 'height',\n path: 'options.height',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: false,\n};\n","import { AXP_WIDGETS_ACTION_GROUP, AXPWidgetConfig, cloneProperty } from '@acorex/platform/layout/builder';\nimport { AXP_DISABLED_PROPERTY, AXP_ICON_PROPERTY, AXP_IS_LOADING_PROPERTY, AXP_NAME_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_TEXT_PROPERTY } from '../../../properties';\n\nexport const AXPButtonWidget: AXPWidgetConfig = {\n name: 'button-action',\n title: 'Button',\n description: 'Triggers customizable actions',\n icon: 'fa-solid fa-play',\n group: AXP_WIDGETS_ACTION_GROUP,\n type: 'action',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DISABLED_PROPERTY,\n cloneProperty(AXP_TEXT_PROPERTY, { schema: { defaultValue: 'Click Here' } }),\n AXP_STYLE_COLOR_PROPERTY,\n AXP_STYLE_LOOK_PROPERTY,\n AXP_ICON_PROPERTY,\n AXP_IS_LOADING_PROPERTY\n ],\n components: {\n designer: {\n component: () => import('./button-widget-designer.component').then((c) => c.AXPButtonWidgetDesignerComponent),\n },\n view: {\n component: () => import('./button-widget-view.component').then((c) => c.AXPButtonWidgetViewComponent),\n },\n edit: {\n component: () => import('./button-widget-view.component').then((c) => c.AXPButtonWidgetViewComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n buttonAction: 'button-action';\n }\n}\n","import { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-checkbox-widget-edit',\n template: `\n <ax-check-box\n [ngModel]=\"this.getValue()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (onValueChanged)=\"handleValueChanged($event)\"\n >\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n } @if(label()) {\n <ax-label>{{ label() }}</ax-label>\n }\n </ax-check-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXCheckBoxModule, FormsModule, AXFormModule, AXLabelModule, AXValidationModule]\n})\nexport class AXPCheckBoxWidgetEditComponent extends AXPWidgetComponent<boolean | null> {\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected readonly = computed<boolean>(() => this.options()['readonly'] as boolean);\n protected label = computed<string>(() => this.options()['label'] as string);\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_LABEL_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n booleanDefaultProperty,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPCheckBoxWidget: AXPWidgetConfig<AXPCheckBoxWidgetConfigType> = {\n name: 'checkbox-editor',\n title: 'Check Box',\n group: AXP_WIDGETS_EDITOR_GROUP,\n description: 'Selects multiple options via checkboxes',\n icon: 'fa-solid fa-square-check',\n defaultFilterWidgetName: 'boolean-filter',\n type: 'editor',\n options: {\n needLabel: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_LABEL_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n booleanDefaultProperty(),\n ],\n components: {\n designer: {\n component: () => import('./checkbox-widget-designer.component').then((c) => c.AXPCheckBoxWidgetDesignerComponent),\n },\n view: {\n component: () => import('./checkbox-widget-view.component').then((c) => c.AXPCheckBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./checkbox-widget-edit.component').then((c) => c.AXPCheckBoxWidgetEditComponent),\n },\n print: {\n component: () => import('./checkbox-widget-edit.component').then((c) => c.AXPCheckBoxWidgetEditComponent),\n },\n column: {\n component: () => import('./checkbox-widget-column.component').then((c) => c.AXPCheckBoxWidgetColumnComponent),\n },\n filter: {\n component: () => import('./checkbox-widget-edit.component').then((c) => c.AXPCheckBoxWidgetEditComponent),\n },\n },\n};\n\nexport type AXPCheckBoxWidgetConfigType = {\n type: 'editor';\n};\n","import { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { AXPContactDataType } from './contact.type';\n@Component({\n template: ` <div class=\"ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit\">\n <span class=\"ax-truncate\" [title]=\"getText('line')\">{{ getText('comma') }}</span>\n <i\n (click)=\"clipboard.copy('Contact', rawValue)\"\n class=\"fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible\"\n ></i>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPContactWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected clipboard = inject(AXPClipBoardService);\n\n protected getText(seperator: 'line' | 'comma') {\n const sep = seperator === 'comma' ? ',' : '\\\\n';\n if (typeof this.rawValue === 'string') return this.rawValue;\n else {\n return this.rawValue?.map((item: AXPContactDataType) => this.itemToValue(item)).join(sep);\n }\n }\n private itemToValue = (item: AXPContactDataType | string): string => {\n if (typeof item === 'object') return item?.value ?? '';\n else return item;\n };\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'popup-component',\n template: `\n <ax-header>\n <ax-suffix> </ax-suffix>\n </ax-header>\n <div class=\"ax-p-6\">\n <ax-form #form>\n <ax-form-field>\n <ax-text-box [(ngModel)]=\"value\" type=\"text\" name=\"lable\" placeholder=\"Enter Lable ...\" class=\"ax-w-10/12\">\n <ax-validation-rule message=\"{{ 'validation.messages.required' | translate | async }}\" rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n </ax-form>\n </div>\n <ax-footer>\n <ax-suffix>\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleClose(form)\"></ax-button>\n </ax-suffix>\n </ax-footer>\n `,\n imports: [AXTranslationModule, CommonModule, AXTextBoxModule, AXDecoratorModule, AXButtonModule, FormsModule, AXValidationModule, AXFormModule]\n})\nexport class popupComponent extends AXBasePageComponent {\n protected value!: string;\n constructor() {\n super();\n }\n\n protected handleClose(form: AXFormComponent) {\n form.validate().then((res) => {\n if (res.result) {\n this.close({ value: this.value });\n }\n });\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXPopupConfig, AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPContactDataType } from './contact.type';\nimport { popupComponent } from './popup-component';\n\n@Component({\n template: `<div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-auto-cols-max\t\">\n @for(item of internalValue();track $index) {\n <ax-text-box\n [ngModel]=\"item.value\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n type=\"text\"\n name=\"value\"\n [placeholder]=\"placeholder()\"\n [ngClass]=\"generateClasses('value')\"\n [disabled]=\"disabled()\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n } @if(type()==='email'){\n <ax-validation-rule rule=\"email\"></ax-validation-rule>\n }\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n @if(hasLabel()){\n <ax-select-box\n [dataSource]=\"dataSource\"\n [ngModel]=\"item.label\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n placeholder=\"{{ 'selectbox.popover.title' | translate | async }}\"\n name=\"label\"\n [ngClass]=\"generateClasses('label')\"\n >\n </ax-select-box>\n } @if(multiple()){\n <ax-button\n [disabled]=\"disabled()\"\n look=\"twotone\"\n color=\"danger\"\n (onClick)=\"deleteItem($index)\"\n class=\"ax-col-start-12 ax-col-end-13 ax-justify-self-end\"\n >\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n } } @if(multiple()){\n\n <ax-button\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n [disabled]=\"disabled()\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 ax-col-end-13 sm:ax-col-start-10 md:ax-col-start-9 lg:ax-col-start-10 xl:ax-col-start-10 \"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXFormModule,\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXTextBoxModule,\n AXValidationModule,\n AXTranslationModule,\n ],\n})\nexport class AXPContactWidgetEditComponent extends AXPWidgetComponent<\n string | string[] | AXPContactDataType | AXPContactDataType[] | undefined\n> {\n //properties\n protected type = computed<'link' | 'phone' | 'email'>(\n () => (this.options()['type']?.id as 'link' | 'phone' | 'email') ?? 'email'\n );\n protected labelList = computed<string[]>(() => this.options()['labelList'] || ['primary', 'secondary', 'Add New']);\n protected hasLabel = computed<boolean>(() => this.options()['hasLabel'] as boolean);\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected hasIcon = computed<boolean>(() => this.options()['hasIcon'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected placeholder = computed<string>(\n () => (this.options()['placeholder'] as string) ?? `Enter ${this.type()} ...`\n );\n\n private format = computed<'object' | 'string'>(() => {\n if (this.hasIcon() || this.hasLabel()) {\n return 'object';\n } else {\n return 'string';\n }\n });\n\n protected internalValue: Signal<AXPContactDataType[]> = computed(() => this.valueToArray());\n\n constructor() {\n super();\n }\n private popup: AXPopupService = inject(AXPopupService);\n protected dataSource = new AXDataSource({\n pageSize: this.labelList().length,\n load: (e) => {\n return Promise.resolve({\n items: this.labelList().slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),\n total: this.labelList().length,\n });\n },\n byKey: (key) => {\n return Promise.resolve(this.labelList().find((i) => i === key));\n },\n });\n\n protected addItem() {\n const newValues: AXPContactDataType[] = [...this.internalValue(), this.emptyValue()];\n this.setValue(this.setFormatedValue(newValues));\n }\n\n protected deleteItem(deletedIndex: number) {\n const newValues = this.internalValue().filter((_, index) => index != deletedIndex);\n this.setValue(this.setFormatedValue(newValues));\n }\n protected async handleValueChange(e: AXValueChangedEvent, selectedIndex: number) {\n let { name, value, isUserInteraction } = e;\n if (isUserInteraction) {\n if (e.name === 'label') {\n if (e.value === 'Add New') {\n const options: AXPopupConfig = {\n title: 'Enter Label...',\n // header: false,\n // footer: true,\n size: 'sm',\n draggable: true,\n // hasBackdrop: true,\n // closeButton: true,\n // closeOnBackdropClick: true,\n };\n const newValue = await this.popup.open(popupComponent, { ...options }).then((e) => e.data);\n value = newValue.value;\n this.labelList().pop();\n this.labelList().push(value, 'Add New');\n this.dataSource.refresh();\n }\n }\n const newValues = this.internalValue().map((item, index) =>\n selectedIndex === index ? { ...item, [name as string]: value } : item\n );\n if (this.multiple()) {\n this.setValue(this.setFormatedValue(newValues));\n } else this.setValue(this.setFormatedValue(newValues[0]));\n }\n }\n protected generateClasses(element: 'value' | 'label'): string | any {\n const isValue = element === 'value';\n\n if (this.multiple()) {\n if (this.hasLabel()) {\n return isValue\n ? 'ax-col-start-1 ax-col-end-13 lg:ax-col-end-7'\n : 'ax-col-start-1 ax-col-end-11 lg:ax-col-start-7 lg:ax-col-end-12';\n } else {\n return isValue ? 'ax-col-start-1 ax-col-end-11 sm:ax-col-end-12 md:ax-col-end-12' : '';\n }\n } else {\n if (this.hasLabel()) {\n return isValue\n ? 'ax-col-start-1 ax-col-end-13 lg:ax-col-end-7'\n : 'ax-col-start-1 ax-col-end-13 lg:ax-col-start-7 lg:ax-col-end-13';\n } else {\n return isValue ? 'ax-col-start-1 ax-col-end-13' : '';\n }\n }\n }\n\n protected validationService = inject(AXValidationService);\n private _validationRules: AXPValidationRules = [];\n public get validationRules(): AXPValidationRules {\n return this._validationRules;\n }\n public set validationRules(v: AXPValidationRules) {\n this._validationRules = v;\n }\n private valueToArray(): AXPContactDataType[] {\n const value = this.getValue();\n if (Array.isArray(value)) {\n return value.map((item) => this.itemToArray(item));\n } else {\n return [this.itemToArray(value ?? '')];\n }\n }\n private itemToArray = (item: AXPContactDataType | string): AXPContactDataType => {\n if (typeof item === 'object')\n return {\n value: item?.value ?? '',\n label: this.hasLabel() ? item?.label || this.labelList()[0] : undefined,\n icon: this.hasIcon() ? item?.icon || this.chooseIcon() : undefined,\n };\n else\n return {\n value: item,\n label: this.hasLabel() ? this.labelList()[0] : undefined,\n icon: this.hasIcon() ? this.chooseIcon() : undefined,\n };\n };\n private emptyValue(): AXPContactDataType {\n return {\n value: '',\n };\n }\n\n setFormatedValue(\n items: AXPContactDataType | AXPContactDataType[]\n ): string | string[] | AXPContactDataType | AXPContactDataType[] {\n if (this.format() === 'string') {\n return Array.isArray(items) ? items.map((x) => x.value) : items.value;\n } else {\n return items;\n }\n }\n\n private chooseIcon = (): string => {\n switch (this.type()) {\n case 'email':\n return 'fa-link';\n case 'link':\n return 'fa-envelope';\n case 'phone':\n return 'fa-phone';\n default:\n return 'fa-info';\n }\n };\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPContactWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, Signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPContactDataType } from './contact.type';\n\n@Component({\n template: `\n @for(item of internalValue();track $index){ @let href = type() === 'link' ? item.value :\n type()==='phone'?'tel:'+item.value : 'mailto:'+ item.value ;\n <div class=\"ax-flex ax-gap-4 ax-items-center ax-justify-between ax-py-1\">\n <div class=\"ax-flex ax-gap-4 ax-group ax-items-center ax-justify-center ax-truncate\">\n @if(hasIcon()){\n <ax-icon class=\"fa-solid ax-text-neutral-400\" [class]=\"chooseIcon()\"> </ax-icon>\n }\n <a\n [href]=\"href\"\n [target]=\"'_blank'\"\n class=\"ax-truncate ax-text-blue-700 group-hover:!ax-text-primary-500 group-hover:ax-underline group-hover:ax-decoration-blue-700\"\n >{{ item.value }}</a\n >\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"clipboard.copy(type(), item.value)\"\n >\n <i class=\"fa-solid fa-copy\"></i>\n </span>\n </div>\n @if(hasLabel()){\n <div><ax-badge color=\"primary\" [look]=\"'twotone'\" [text]=\"item.label ?? ''\"></ax-badge></div>\n }\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXBadgeModule, AXDecoratorModule],\n inputs: []\n})\nexport class AXPContactWidgetViewComponent extends AXPWidgetComponent<AXPContactDataType | string> {\n protected type = computed<'link' | 'phone' | 'email'>(() => this.options()['type'] ?? 'link');\n protected labelList = computed<string[]>(() => this.options()['labelList'] ?? ['primary', 'secondary']);\n protected hasLabel = computed<boolean>(() => (this.options()['hasLabel'] as boolean) ?? false);\n protected multiple = computed<boolean>(() => (this.options()['multiple'] as boolean) ?? false);\n protected hasIcon = computed<boolean>(() => (this.options()['hasIcon'] as boolean) ?? false);\n\n protected internalValue: Signal<AXPContactDataType[]> = computed(() => this.itemToArray());\n protected clipboard = inject(AXPClipBoardService);\n\n protected chooseIcon = (): string => {\n switch (this.type()) {\n case 'email':\n return 'fa-envelope';\n case 'link':\n return 'fa-link';\n case 'phone':\n return 'fa-phone';\n default:\n return 'fa-info';\n }\n };\n private itemToArray(): AXPContactDataType[] {\n const value = this.getValue();\n if (Array.isArray(value)) {\n return value.map((item) => this.correctItems(item));\n } else {\n return [this.correctItems(value)];\n }\n }\n private correctItems = (item: AXPContactDataType | string): AXPContactDataType => {\n if (typeof item === 'object')\n return {\n value: item?.value ?? '',\n label: this.hasLabel() ? item?.label || this.labelList()[0] : undefined,\n icon: this.hasIcon() ? item?.icon || this.chooseIcon() : undefined,\n };\n else\n return {\n value: item,\n label: this.hasLabel() ? this.labelList()[0] : undefined,\n icon: this.hasIcon() ? this.chooseIcon() : undefined,\n };\n };\n}\n","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_BEHAVIOR_PROPERTY_GROUP,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_ICON_PROPERTY,\n AXP_HAS_LABEL_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nexport const AXPContactWidget: AXPWidgetConfig = {\n name: 'contact-editor',\n title: 'Contact',\n description: 'Inputs contact information',\n group: AXP_WIDGETS_EDITOR_GROUP,\n icon: 'fa-solid fa-address-book',\n defaultFilterWidgetName: 'string-filter',\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n {\n name: 'type',\n title: 'Contact Type',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n nullable: false,\n interface: {\n defaultValue: 'link',\n name: 'type',\n path: 'options.type',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: ['link', 'email', 'phone'],\n },\n },\n },\n visible: true,\n },\n\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_HAS_LABEL_PROPERTY,\n AXP_HAS_ICON_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./contact-widget-view.component').then((c) => c.AXPContactWidgetViewComponent),\n },\n edit: {\n component: () => import('./contact-widget-edit.component').then((c) => c.AXPContactWidgetEditComponent),\n },\n filter: {\n component: () => import('./contact-widget-filter.component').then((c) => c.AXPContactWidgetFilterComponent),\n },\n column: {\n component: () => import('./contact-widget-column.component').then((c) => c.AXPContactWidgetColumnComponent),\n },\n print: {\n component: () => import('./contact-widget-print.component').then((c) => c.AXPContactWidgetPrintComponent),\n },\n designer: {\n component: () => import('./contact-widget-edit.component').then((c) => c.AXPContactWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n contact: 'contact-editor';\n }\n}\n","import { AXDateTimeFormatter } from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n template: `\n <div>\n @if(multiple()){ @for (item of internalValue(); track $index) {\n <span dir=\"ltr\">{{ item }}</span>\n } } @else {\n <span dir=\"ltr\">{{ internalValue()[0] }}</span>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPDateTimeBoxWidgetViewComponent extends AXPWidgetComponent<string | string[]> {\n private formatter = inject(AXDateTimeFormatter);\n private translationService = inject(AXTranslationService);\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n\n protected format = computed<'date' | 'time' | 'datetime'>(() => {\n const rawValue = this.options()['format'] as any;\n if (typeof rawValue == 'string') return rawValue;\n else if (rawValue && typeof rawValue == 'object') return rawValue['id'];\n else return 'date';\n });\n\n protected internalValue = computed(() =>\n Array.isArray(this.getValue())\n ? (this.getValue() as string[]).map((v: string) => this.handleFormat(v))\n : [this.handleFormat(this.getValue() as string)]\n );\n\n protected handleFormat(value: string) {\n return value\n ? this.formatter.format(new Date(value), {\n format: this.format(),\n locale: this.translationService.getActiveLang() === 'fa' ? 'fa' : undefined,\n })\n : '---';\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (datetime of internalValue(); track $index) {\n <ax-datetime-box\n class=\"ax-col-span-12\"\n [ngModel]=\"datetime\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n [disabled]=\"disabled()\"\n [format]=\"calendarFormat()\"\n [placeholder]=\"placeholder()\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n } @if(clearButton()){\n <ax-clear-button></ax-clear-button>\n } @if(multiple()) {\n <ax-suffix>\n <ax-button class=\"ax-border-s\" (onClick)=\"deleteItem($index)\" look=\"blank\" color=\"danger\">\n <ax-icon class=\"far fa-trash\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-datetime-box>\n } @if(multiple()){\n <ax-button\n class=\"ax-col-start-9 lg:ax-col-start-10 xl:ax-col-start-11 ax-col-end-13\"\n [text]=\"!internalValue().length ? 'Add New' : 'Add Another'\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n [disabled]=\"disabled()\"\n ></ax-button>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXValidationModule,\n AXDateTimeBoxModule,\n AXButtonModule,\n AXDecoratorModule,\n AXValidationModule,\n ],\n inputs: []\n})\nexport class AXPDateTimeBoxWidgetEditComponent extends AXPWidgetComponent<string | string[]> {\n protected validationService = inject(AXValidationService);\n\n protected validationMessage?: string | null;\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected clearButton = computed<boolean>(() => this.options()['clearButton'] as boolean);\n\n protected format = computed<'date' | 'time' | 'datetime'>(() => {\n const rawValue = this.options()['format'] as any;\n if (typeof rawValue == 'string') return rawValue;\n else if (rawValue && typeof rawValue == 'object') return rawValue['id'];\n else return 'date';\n });\n\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected placeholder = computed<string>(() => this.options()['placeholder']);\n\n protected internalValue: Signal<string[]> = computed(() =>\n Array.isArray(this.getValue()) ? (this.getValue() as string[]) : [this.getValue() as string]\n );\n\n private _validationRules: AXPValidationRules = [];\n public get validationRules(): AXPValidationRules {\n return this._validationRules;\n }\n public set validationRules(v: AXPValidationRules) {\n this._validationRules = v;\n }\n\n protected handleValueChange(e: AXValueChangedEvent, i: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (i === index ? e.value : item));\n if (this.multiple()) this.setValue(newValues);\n else this.setValue(newValues[0]);\n }\n }\n\n protected calendarFormat = computed(() => {\n if (this.format() === 'date') return 'dd/MM/yyyy';\n else if (this.format() === 'time') return 'HH:mm';\n else return 'dd/MM/yyyy HH:mm';\n });\n\n protected addItem() {\n const newValues = [...this.internalValue(), ''];\n this.setValue(newValues);\n }\n\n protected deleteItem(i: number) {\n const newValues = this.internalValue().filter((_, index) => index != i);\n this.setValue(newValues);\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPDateTimeBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXDateTimeFormatter } from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, computed, inject } from '@angular/core';\n@Component({\n template: `<div class=\"ax-flex\">\n <span [dir]=\"'ltr'\" [title]=\"convertedValue()\">{{ convertedValue() }}</span>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPDateTimeBoxWidgetColumnComponent extends AXPColumnWidgetComponent<string | string[]> {\n private formatter = inject(AXDateTimeFormatter);\n private translationService = inject(AXTranslationService);\n\n protected convertedValue: Signal<string | null> = computed(() => this.updateValue());\n protected multiple: boolean = this.options['multiple'] || false;\n\n protected format = computed<'date' | 'time' | 'datetime'>(() => {\n const rawValue = this.options['format'] as any;\n if (typeof rawValue == 'string') return rawValue;\n else if (rawValue && typeof rawValue == 'object') return rawValue['id'];\n else return 'date';\n });\n\n private updateValue = () => {\n const rawValue = this.rawValue;\n if (rawValue == null) {\n return null;\n }\n if (this.isArray(rawValue)) {\n return rawValue.map((item: string) => this.handleFormat(item)).join(', ');\n } else {\n return this.handleFormat(rawValue);\n }\n };\n\n protected handleFormat(value: string) {\n return value\n ? this.formatter.format(new Date(value), {\n format: this.format(),\n locale: this.translationService.getActiveLang() === 'fa' ? 'fa' : undefined,\n })\n : '---';\n }\n\n protected isArray(val: any) {\n return Array.isArray(val);\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: `{{getValue()}}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPDateTimeBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig, cloneProperty } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DATE_FORMAT_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_TABLE_COLUMN_WIDTH_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\nexport const AXPDateTimeBoxWidget: AXPWidgetConfig = {\n name: 'date-time-editor',\n title: 'Date Time Box',\n description: 'Selects date and time',\n icon: 'fa-solid fa-calendar',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n defaultFilterWidgetName: 'datetime-filter',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATE_FORMAT_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),\n ],\n components: {\n view: {\n component: () => import('./date-time-box-widget-view.component').then((c) => c.AXPDateTimeBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./date-time-box-widget-edit.component').then((c) => c.AXPDateTimeBoxWidgetEditComponent),\n },\n filter: {\n component: () =>\n import('./date-time-box-widget-filter.component').then((c) => c.AXPDateTimeBoxWidgetFilterComponent),\n },\n column: {\n component: () =>\n import('./date-time-box-widget-column.component').then((c) => c.AXPDateTimeBoxWidgetColumnComponent),\n },\n print: {\n component: () =>\n import('./date-time-box-widget-print.component').then((c) => c.AXPDateTimeBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./date-time-box-widget-edit.component').then((c) => c.AXPDateTimeBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n dateTime: 'date-time-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-2\">\n @if(multiple())\n {\n @for(item of internalValue();track item?.value) {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: item }\" ]></ng-template>\n }\n }\n @else\n {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: internalValue()[0] }\" ]></ng-template>\n }\n <ng-template #itemTemplate let-item=\"data\">\n @if(item)\n {\n <div class=\"ax-col-start-1 ax-col-end-10 lg:ax-col-end-7\">\n <div class=\"ax-flex ax-flex-1 ax-gap-3 ax-items-center ax-w-max ax-group\">\n <div class=\"ax-w-6 ax-h-6 ax-flex ax-items-center ax-justify-center\">\n <i class=\"fa-solid ax-text-neutral-400 fa-envelope\"></i>\n </div>\n <a class=\"group-hover:!ax-text-primary-500\" href=\"tel:{{ item.value }}\">{{ item.value }}</a>\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"clipboard.copy('Email', item.value)\"\n >\n <i class=\"fa-solid fa-copy \"></i>\n </span>\n @if(hasLabel()){\n <ax-badge color=\"primary\" [look]=\"'twotone'\" [text]=\"item.label\"></ax-badge>\n }\n </div>\n </div>\n }\n </ng-template>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: []\n})\nexport class AXPEmailBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected clipboard = inject(AXPClipBoardService);\n\n protected multiple = computed<boolean>(() => this.options()[\"multiple\"] as boolean);\n protected hasLabel = computed<boolean>(() => (this.options()[\"hasLabel\"] as boolean) ?? true);\n\n\n protected internalValue = computed(() =>\n this.getValue()\n ? Array.isArray(this.getValue())\n ? this.getValue().map((item: any) => this.extractItem(item))\n : [this.extractItem(this.getValue())]\n : []\n );\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n value: item.value ?? '-',\n label: item.label ?? 'Primary',\n }\n : {\n value: item,\n label: 'Primary',\n };\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @if(multiple())\n {\n @for(item of internalValue();track $index) \n {\n <ax-text-box\n [ngModel]=\"item.value\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n type=\"text\"\n [disabled]=\"disabled()\"\n class=\"ax-col-start-1 ax-col-end-13 lg:ax-col-end-8\"\n [class.lg:!ax-col-end-12]=\"!hasLabel()\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-validation-rule [rule]=\"'email'\"></ax-validation-rule>\n </ax-text-box>\n @if(hasLabel())\n {\n <ax-select-box\n [dataSource]=\"lables()\"\n [ngModel]=\"item.label\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"handleLabelChange($event, $index)\"\n class=\"ax-col-start-1 ax-col-end-11 lg:ax-col-start-8 lg:ax-col-end-12\"\n >\n </ax-select-box>\n }\n <ax-button\n look=\"twotone\"\n color=\"danger\"\n [disabled]=\"disabled()\"\n (onClick)=\"deleteItem($index)\"\n class=\"ax-col-start-11 ax-col-end-13 lg:ax-col-start-12 lg:ax-col-end-13 ax-justify-self-end\">\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n }\n <ax-button\n [disabled]=\"disabled()\"\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n @else \n {\n <ax-text-box\n [ngModel]=\"internalValue()[0].value\"\n (onValueChanged)=\"handleValueChange($event, 0)\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n type=\"text\"\n class=\"ax-col-start-1 ax-col-end-13 lg:ax-col-end-8\"\n [class.lg:!ax-col-end-13]=\"!hasLabel()\">\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-validation-rule [rule]=\"'email'\"></ax-validation-rule>\n </ax-text-box>\n @if(hasLabel()){\n <ax-select-box\n [dataSource]=\"lables()\"\n [disabled]=\"disabled()\"\n [ngModel]=\"internalValue()[0].label\"\n (onValueChanged)=\"handleLabelChange($event, 0)\"\n class=\"ax-col-start-1 ax-col-end-11 lg:ax-col-start-8 lg:ax-col-end-13\"\n >\n </ax-select-box>\n }\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXFormModule, AXButtonModule, AXDecoratorModule, AXSelectBoxModule, AXTextBoxModule, AXValidationModule],\n inputs: []\n})\nexport class AXPEmailBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n protected validationService = inject(AXValidationService);\n protected validationMessage?: string | null;\n\n\n protected multiple = computed<boolean>(() => this.options()[\"multiple\"] as boolean);\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected clearButton = computed<boolean>(() => (this.options()[\"clearButton\"] as boolean) ?? true);\n protected placeholder = computed<string>(() => (this.options()[\"placeholder\"] as string));\n\n protected hasLabel = computed<boolean>(() => (this.options()[\"hasLabel\"] as boolean) ?? true);\n protected lables = computed<string[]>(() => (this.options()[\"lables\"] as string[]) ?? ['Primary', 'Secondary']);\n\n\n\n protected internalValue: Signal<{ value: string; label?: string; id: string }[]> = computed(() => this.getValueAsArrayOfObjects());\n\n private _validationRules: AXPValidationRules = [];\n public get validationRules(): AXPValidationRules {\n return this._validationRules;\n }\n public set validationRules(v: AXPValidationRules) {\n this._validationRules = v;\n }\n\n private getValueAsArrayOfObjects(): any[] {\n const value = this.getValue();\n if (Array.isArray(value)) {\n return value.map((item) => (typeof item === 'object' ? item : { value: item }));\n }\n return typeof value === 'object' ? [value || ''] : [{ value: value || '' }];\n }\n\n protected handleValueChange(e: AXValueChangedEvent, selectedIndex: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? this.convertItem(item, e) : item));\n if (this.multiple()) {\n this.setValue(newValues);\n }\n else {\n this.setValue(newValues[0]);\n }\n }\n }\n\n protected convertItem = (item: any, e: any) => {\n if (typeof item === 'object') {\n return { ...item, value: e.value };\n }\n else {\n return e.value;\n }\n };\n\n protected handleLabelChange(e: AXValueChangedEvent, selectedIndex: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, label: e.value } : item));\n if (this.multiple()) {\n this.setValue(newValues);\n }\n else {\n this.setValue(newValues[0]);\n }\n }\n }\n\n protected addItem() {\n const newValues = [...this.internalValue(), ''];\n this.setValue(newValues);\n }\n protected deleteItem(deletedIndex: number) {\n const newValues = this.internalValue().filter((_, index) => index != deletedIndex);\n this.setValue(newValues);\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPEmailBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, computed } from '@angular/core';\n@Component({\n template: `<div>\n @if(multiple && list.length>1){\n <div [title]=\"text()\">{{ dot3(text()) }}</div>\n }@else {\n <div>\n @if(list() && list().length){\n {{ list()[0].value }}\n }@else { - }\n </div>\n }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPEmailBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected list: Signal<{ value: string; label: string }[]> = computed(() =>\n Array.isArray(this.rawValue) ? this.rawValue.map((c) => this.extractItem(c)) : [this.extractItem(this.rawValue)]\n );\n protected text: Signal<string> = computed(() =>\n this.list()\n .map((item) => item.value)\n .join('\\n')\n );\n protected multiple!: boolean;\n protected hasLabel!: boolean;\n\n protected dot3(text: string) {\n console.log(text);\n if (this.multiple) return text.split('\\n')[0] + '...';\n else return text.split('\\n')[0];\n }\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n value: item.value ?? '-',\n type: item.type ?? 'primary',\n label: item.label,\n }\n : {\n value: item,\n type: 'primary',\n label: null,\n };\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPEmailBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_LABEL_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPEmailBoxWidget: AXPWidgetConfig = {\n name: 'email-editor',\n title: 'Email Box',\n description: 'Inputs and validates email addresses',\n icon: 'fa-solid fa-envelope',\n group: AXP_WIDGETS_EDITOR_GROUP,\n defaultFilterWidgetName: 'string-filter',\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_HAS_LABEL_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./email-box-widget-view.component').then((c) => c.AXPEmailBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./email-box-widget-edit.component').then((c) => c.AXPEmailBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./email-box-widget-filter.component').then((c) => c.AXPEmailBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./email-box-widget-column.component').then((c) => c.AXPEmailBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./email-box-widget-print.component').then((c) => c.AXPEmailBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./email-box-widget-edit.component').then((c) => c.AXPEmailBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n email: 'email-editor';\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"ax-max-w-full\">\n <span>\n {{ getValue() }}\n </span>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLargeTextWidgetViewComponent extends AXPWidgetComponent<string> {\n\n\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-large-text-box-widget',\n template: `\n <ax-text-area\n [disabled]=\"disabled()\"\n [ngModel]=\"getValue()\"\n (ngModelChange)=\"setValue($event)\"\n [placeholder]=\"placeholder()\"\n >\n @if(clearButton()){\n <ax-clear-button></ax-clear-button>\n } @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-text-area>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, FormsModule, AXFormModule, AXTextAreaModule],\n inputs: ['disabled', 'clearButton']\n})\nexport class AXPLargeTextWidgetEditComponent extends AXPWidgetComponent<string> {\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected clearButton = computed<boolean>(() => (this.options()['clearButton'] as boolean) ?? true);\n protected placeholder = computed<string>(() => this.options()['placeholder'] as string);\n\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n\n\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPLargeTextWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: `<span class=\"ax-truncate\">\n {{ rawValue }}\n </span>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPLargeTextWidgetColumnComponent extends AXPColumnWidgetComponent<string> { }\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLargeTextWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n largeTextDefaultProperty,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPLargeTextWidget: AXPWidgetConfig = {\n name: 'large-text-editor',\n title: 'Large Text Box',\n description: 'Inputs long text entries',\n icon: 'fa-solid fa-input-text',\n group: AXP_WIDGETS_EDITOR_GROUP,\n defaultFilterWidgetName: 'string-filter',\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n largeTextDefaultProperty(),\n //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '300px' } }),\n ],\n components: {\n view: {\n component: () => import('./large-text-widget-view.component').then((c) => c.AXPLargeTextWidgetViewComponent),\n properties: [],\n },\n edit: {\n component: () => import('./large-text-widget-edit.component').then((c) => c.AXPLargeTextWidgetEditComponent),\n },\n filter: {\n component: () => import('./large-text-widget-filter.component').then((c) => c.AXPLargeTextWidgetFilterComponent),\n },\n column: {\n component: () => import('./large-text-widget-column.component').then((c) => c.AXPLargeTextWidgetColumnComponent),\n },\n print: {\n component: () => import('./large-text-widget-print.component').then((c) => c.AXPLargeTextWidgetPrintComponent),\n },\n designer: {\n component: () => import('./large-text-widget-edit.component').then((c) => c.AXPLargeTextWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n largeText: 'large-text-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n template: `<div class=\"ax-grid ax-grid-cols-12 ax-gap-2 \">\n @if(multiple){ @for(item of internalValue();track item?.value) {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: item }\" ]></ng-template>\n } } @else{\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: internalValue()[0] }\" ]></ng-template>\n }\n\n <ng-template #itemTemplate let-item=\"data\">\n @if(item){\n <div class=\"ax-col-start-1 ax-col-end-10 lg:ax-col-end-7\">\n <div class=\"ax-flex ax-flex-1 ax-gap-3 ax-items-center ax-w-max ax-group\">\n <div class=\"ax-w-6 ax-h-6 ax-flex ax-items-center ax-justify-center\">\n @if(item.icon){\n <ax-icon class=\"fa-solid ax-text-neutral-400\" [class]=\"item.icon\"> </ax-icon>\n }\n </div>\n <a\n [href]=\"item.value\"\n [target]=\"'_' + target\"\n class=\"ax-text-blue-700 group-hover:!ax-text-primary-500 group-hover:ax-underline group-hover:ax-decoration-blue-700\"\n >{{ item.title ?? item.value }}</a\n >\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"clipboard.copy('Email', item.value)\"\n >\n <i class=\"fa-solid fa-copy \"></i>\n </span>\n @if(hasLabel){\n <ax-badge color=\"primary\" [look]=\"'twotone'\" [text]=\"item.label\"></ax-badge>\n }\n </div>\n </div>\n }\n </ng-template>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule, AXDecoratorModule],\n inputs: []\n})\nexport class AXPLinkWidgetViewComponent extends AXPWidgetComponent<any> {\n protected clipboard = inject(AXPClipBoardService);\n protected multiple!: boolean;\n protected hasLabel!: boolean;\n protected target: 'self' | 'blank' = 'blank';\n\n protected internalValue = computed(() =>\n this.getValue()\n ? Array.isArray(this.getValue())\n ? this.getValue().map((item: any) => this.extractItem(item))\n : [this.extractItem(this.getValue())]\n : []\n );\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n value: item.value ?? '-',\n title: item.title,\n label: this.hasLabel ? item.label || 'primary' : undefined,\n icon: item.icon,\n }\n : {\n value: item,\n title: '',\n icon: '',\n label: 'Primary',\n };\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `<div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @if(multiple()){ @for(item of internalValue();track $index) { @if(item){\n <!-- TODO need to fix multiple -->\n <ax-text-box\n [ngModel]=\"item.value\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n type=\"text\"\n placeholder=\"Enter Link\"\n class=\"ax-col-start-1 ax-col-end-13\"\n [ngClass]=\"generateClasses('url', 'multiple')\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-validation-rule message=\"field can't be empty\" rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n @if(hasTitle()){\n <ax-text-box\n [ngModel]=\"item.title\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n placeholder=\"Choose Title...\"\n name=\"title\"\n [ngClass]=\"generateClasses('title', 'multiple')\"\n >\n </ax-text-box>\n } @if(hasLabel()){\n <ax-select-box\n [dataSource]=\"labelTypes()\"\n [ngModel]=\"item.label\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n placeholder=\"Choose Label...\"\n name=\"label\"\n [ngClass]=\"generateClasses('label', 'multiple')\"\n >\n </ax-select-box>\n }}\n <ax-button\n look=\"twotone\"\n color=\"danger\"\n (onClick)=\"deleteItem($index)\"\n class=\"ax-col-start-12 ax-col-end-13 lg:ax-col-start-12 lg:ax-col-end-13 ax-justify-self-end !ax-h-full\"\n >\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n }\n <ax-button\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n } @else{\n <ax-text-box\n [ngClass]=\"generateClasses('url', 'single')\"\n [ngModel]=\"internalValue()[0].value\"\n (onValueChanged)=\"handleValueChange($event, 0)\"\n type=\"text\"\n name=\"value\"\n placeholder=\"Link\"\n class=\"ax-col-start-1 ax-col-end-13\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-validation-rule message=\"field can't be empty\" rule=\"required\"> </ax-validation-rule>\n </ax-text-box>\n @if(hasTitle()){\n <ax-text-box\n [ngClass]=\"generateClasses('title', 'single')\"\n [ngModel]=\"internalValue()[0].title\"\n (onValueChanged)=\"handleValueChange($event, 0)\"\n type=\"text\"\n name=\"title\"\n placeholder=\"Title\"\n >\n </ax-text-box>\n } @if(hasLabel()){\n <ax-select-box\n [ngClass]=\"generateClasses('label', 'single')\"\n [dataSource]=\"labelTypes()\"\n [ngModel]=\"internalValue()[0].label\"\n (onValueChanged)=\"handleValueChange($event, 0)\"\n name=\"label\"\n placeholder=\"Label\"\n >\n </ax-select-box>\n } }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXFormModule,\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXTextBoxModule,\n AXValidationModule,\n ]\n})\nexport class AXPLinkWidgetEditComponent extends AXPWidgetComponent<any> {\n protected validationService = inject(AXValidationService);\n protected translateService = inject(AXTranslationService);\n protected validationMessage?: string | null;\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected clearButton = computed<boolean>(() => this.options()['clearButton'] as boolean);\n protected hasLabel = computed<boolean>(() => this.options()['hasLabel'] as boolean);\n protected hasTitle = computed<boolean>(() => this.options()['hasTitle'] as boolean);\n protected labelTypes = computed<string[]>(() => this.options()['labelTypes'] || ['Primary', 'Secondary']);\n protected linkTypes = computed<string[]>(() => this.options()['linkTypes'] || ['http', 'https', 'related']);\n\n protected dataSource = new AXDataSource<any>({\n pageSize: 10,\n key: 'id',\n load: (e) => {\n return new Promise((resolve) => {\n setTimeout(\n () => {\n const list = this.linkTypes();\n const result = e.filter ? list.filter((item) => item.includes(e.filter?.value as string)) : list;\n resolve({\n items: result.slice(e.skip, e.skip + e.take),\n total: result.length,\n });\n },\n e.skip == 0 ? 100 : 300\n );\n });\n },\n });\n\n protected internalValue: Signal<{ value: string; label?: string; title: string; icon?: string }[]> = computed(() =>\n this.getValueAsArrayOfObjects()\n );\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.getValueAsArrayOfObjects();\n }\n\n private _validationRules: AXPValidationRules = [];\n public get validationRules(): AXPValidationRules {\n return this._validationRules;\n }\n public set validationRules(v: AXPValidationRules) {\n this._validationRules = v;\n }\n\n private getValueAsArrayOfObjects(): any[] {\n const value = this.getValue();\n if (Array.isArray(value)) {\n return value.map((item) => {\n return typeof item === 'object'\n ? {\n value: item.value ?? '-',\n title: item.title,\n label: this.hasLabel() ? item.label || 'primary' : undefined,\n icon: item.icon,\n }\n : {\n value: item,\n title: '',\n icon: '',\n label: this.hasLabel() ? 'Primary' : undefined,\n };\n });\n } else {\n return typeof value === 'object' ? [value] : [{ value: value || '' }];\n }\n }\n\n protected handleValueChange(e: AXValueChangedEvent, selectedIndex: number) {\n const { name, value, isUserInteraction } = e;\n if (isUserInteraction) {\n const newValues = this.internalValue().map((item, index) =>\n selectedIndex === index ? (name === 'value' ? this.convertItem(item, e) : { ...item, [name as string]: value }) : item\n );\n console.log(newValues);\n if (this.multiple()) this.setValue(newValues);\n else this.setValue(newValues[0]);\n }\n }\n\n protected convertItem = (item: any, e: any) => {\n if (typeof item === 'object') return { ...item, value: e.value };\n else return e.value;\n };\n\n // protected handleLabelChange(e: AXValueChangedEvent, selectedIndex: number) {\n // if (e.isUserInteraction) {\n // const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, label: e.value } : item));\n // if (this.multiple()) this.setValue(newValues);\n // else this.setValue(newValues[0]);\n // }\n // }\n\n protected addItem() {\n const newValues = [\n ...this.internalValue(),\n {\n value: '',\n title: '',\n label: 'primary',\n icon: '',\n },\n ];\n this.setValue(newValues);\n }\n protected deleteItem(deletedIndex: number) {\n const newValues = this.internalValue().filter((_, index) => index != deletedIndex);\n this.setValue(newValues);\n }\n\n protected generateClasses(elementName: 'url' | 'title' | 'label', type: 'single' | 'multiple' = 'single'): Array<string> {\n if (type === 'multiple') {\n switch (elementName) {\n case 'url':\n if (this.hasTitle() || this.hasLabel()) {\n //already has ax-col-start-1 ax-col-end-13\n return ['lg:ax-col-end-7'];\n } else {\n return ['lg:ax-col-end-12'];\n }\n case 'title':\n if (this.hasLabel()) {\n return ['ax-col-start-1 ax-col-end-7 lg:ax-col-start-7 lg:ax-col-end-10'];\n } else {\n return ['ax-col-start-1 ax-col-end-11 lg:ax-col-start-7 lg:ax-col-end-12'];\n }\n case 'label':\n if (this.hasTitle()) {\n return ['ax-col-start-7 ax-col-end-11 lg:ax-col-start-10 lg:ax-col-end-12'];\n } else {\n return ['ax-col-start-1 ax-col-end-11 lg:ax-col-start-7 lg:ax-col-end-12'];\n }\n default:\n return [''];\n }\n } else if (type === 'single') {\n switch (elementName) {\n case 'url':\n if (this.hasTitle() || this.hasLabel()) {\n //already has ax-col-start-1 ax-col-end-13\n return ['lg:ax-col-end-7'];\n } else {\n return ['lg:ax-col-end-13'];\n }\n case 'title':\n if (this.hasLabel()) {\n return ['ax-col-start-1 ax-col-end-7 lg:ax-col-start-7 lg:ax-col-end-10'];\n } else {\n return ['ax-col-start-1 ax-col-end-13 lg:ax-col-start-7 lg:ax-col-end-13'];\n }\n case 'label':\n if (this.hasTitle()) {\n return ['ax-col-start-7 ax-col-end-13 lg:ax-col-start-10 lg:ax-col-end-13'];\n } else {\n return ['ax-col-start-1 ax-col-end-13 lg:ax-col-start-7 lg:ax-col-end-13'];\n }\n default:\n return [''];\n }\n } else {\n return [''];\n }\n }\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPLinkWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: `{{rawValue}}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPLinkWidgetColumnComponent extends AXPColumnWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLinkWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nexport const AXPLinkWidget: AXPWidgetConfig = {\n name: 'link-editor',\n title: 'Link Box',\n description: 'Inputs and edits URLs',\n icon: 'fa-solid fa-link',\n group: AXP_WIDGETS_EDITOR_GROUP,\n defaultFilterWidgetName: 'string-filter',\n type: 'editor',\n components: {\n view: {\n component: () => import('./link-widget-view.component').then((c) => c.AXPLinkWidgetViewComponent),\n },\n edit: {\n component: () => import('./link-widget-edit.component').then((c) => c.AXPLinkWidgetEditComponent),\n },\n filter: {\n component: () => import('./link-widget-filter.component').then((c) => c.AXPLinkWidgetFilterComponent),\n },\n column: {\n component: () => import('./link-widget-column.component').then((c) => c.AXPLinkWidgetColumnComponent),\n },\n print: {\n component: () => import('./link-widget-print.component').then((c) => c.AXPLinkWidgetPrintComponent),\n },\n designer: {\n component: () => import('./link-widget-edit.component').then((c) => c.AXPLinkWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n link: 'link-editor';\n }\n}\n","import { AXFormatService, AXNumberFormatterOptions } from '@acorex/core/format';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { isNumber } from 'lodash-es';\n\n@Component({\n template: `\n <div>\n @if(multiple()){ @for (item of internalValue(); track $index) {\n <p>{{ item }}</p>\n } }@else {\n <p>{{ internalValue()[0] }}</p>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPNumberBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => (Array.isArray(this.formattedValue()) ? this.formattedValue() : [this.formattedValue()]));\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected format = computed<AXNumberFormatterOptions>(() => this.options()['format'] as AXNumberFormatterOptions);\n\n private formatService = inject(AXFormatService);\n\n private formattedValue() {\n if (!isNumber(this.getValue())) return '---';\n const value: number = Number(this.getValue());\n return this.formatService.format(value, 'number', this.format());\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(number of internalValue(); track $index){\n <ax-number-box\n class=\"ax-col-span-12\"\n [minValue]=\"minValue()\"\n [maxValue]=\"maxValue()\"\n [decimals]=\"decimals()\"\n [thousandsSeparator]=\"seprator()\"\n [placeholder]=\"placeholder()\"\n [ngModel]=\"number\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n [disabled]=\"disabled()\"\n >\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n @if(clearButton()) {\n <ax-clear-button></ax-clear-button>\n } @if(multiple()){\n <ax-suffix>\n <ax-button class=\"ax-border-s\" (onClick)=\"deleteItem($index)\" look=\"blank\" color=\"danger\">\n <ax-icon class=\"far fa-trash\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-number-box>\n } @if(multiple()) {\n <ax-button\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n [disabled]=\"disabled()\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXNumberBoxModule, FormsModule, AXDecoratorModule, AXFormModule, AXButtonModule]\n})\nexport class AXPNumberBoxWidgetEditComponent extends AXPWidgetComponent<number | number[]> {\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected clearButton = computed<boolean>(() => (this.options()['hasClearButton'] as boolean) ?? true);\n\n protected decimals = computed<number>(() => (this.options()['decimals'] as number) ?? 0);\n protected minValue = computed<number>(() => this.options()['minValue'] as number);\n protected maxValue = computed<number>(() => this.options()['maxValue'] as number);\n protected seprator = computed<string>(() => (this.options()['seprator'] as string) ?? null);\n\n protected placeholder = computed<string>(() => this.options()['placeholder'] as string);\n\n protected validationRules = computed<AXPValidationRules>(() => (this.options()[\"validationRules\"] as AXPValidationRules) ?? []);\n\n\n protected internalValue: Signal<number[]> = computed(() =>\n Array.isArray(this.getValue()) ? (this.getValue() as number[]) : [this.getValue() as number]\n );\n\n\n protected handleValueChange(e: AXValueChangedEvent, i: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (i === index ? e.value : item));\n if (this.multiple()) {\n this.setValue(newValues);\n } else this.setValue(newValues[0]);\n }\n }\n\n protected addItem() {\n const newValues = [...this.internalValue(), 0];\n this.setValue(newValues);\n }\n protected deleteItem(i: number) {\n const newValues = this.internalValue().filter((_, index) => index != i);\n this.setValue(newValues);\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPNumberBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXFormatService } from '@acorex/core/format';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { isNumber } from 'lodash-es';\n@Component({\n selector: 'axp-number-box-widget-column',\n template: `{{value()}}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPNumberBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n\n\n private formatService = inject(AXFormatService);\n\n value = computed(() => {\n if (!isNumber(this.rawValue)) return '---';\n const value: number = Number(this.rawValue);\n if (this.options['format'] && this.options['format']['name']) {\n const { name, options } = this.options['format'];\n return this.formatService.format(value, name, options)\n } else {\n return value.toString()\n }\n })\n\n}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPNumberBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig, cloneProperty } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_TABLE_COLUMN_WIDTH_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n numberDefaultProperty,\n numberMaxValueProperty,\n numberMinValueProperty,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPNumberBoxWidget: AXPWidgetConfig = {\n name: 'number-editor',\n title: 'Number Box',\n description: 'Inputs numeric values',\n icon: 'fa-solid fa-input-numeric',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n defaultFilterWidgetName: 'number-filter',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n numberDefaultProperty(),\n numberMinValueProperty(),\n numberMaxValueProperty(),\n cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),\n ],\n components: {\n view: {\n component: () => import('./number-box-widget-view.component').then((c) => c.AXPNumberBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./number-box-widget-edit.component').then((c) => c.AXPNumberBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./number-box-widget-filter.component').then((c) => c.AXPNumberBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./number-box-widget-column.component').then((c) => c.AXPNumberBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./number-box-widget-print.component').then((c) => c.AXPNumberBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./number-box-widget-edit.component').then((c) => c.AXPNumberBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n number: 'number-editor';\n }\n}\n","import { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"ax-col-start-1 ax-col-end-10 lg:ax-col-end-7\">\n <div class=\"ax-flex ax-flex-1 ax-gap-3 ax-group ax-items-start ax-w-max\">\n <span>{{ show() ? internalValue() : '*******' }}</span>\n @if(hasEyeIcon()){\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"toggleEye()\"\n >\n @if(!showPassword()){\n <i class=\"fa-solid fa-eye\"></i>\n }@else {\n <i class=\"fa-solid fa-eye-slash\"></i>\n }\n </span>\n } @if(hasCopyIcon() && hasEyeIcon()){\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"clipboard.copy('Password', internalValue())\"\n >\n <i class=\"fa-solid fa-copy \"></i>\n </span>\n }\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPPasswordBoxWidgetViewComponent extends AXPWidgetComponent<string> {\n protected internalValue = computed(() => this.getValue());\n\n protected hasCopyIcon = computed<boolean>(() => this.options()['hasCopyIcon'] as boolean);\n protected hasEyeIcon = computed<boolean>(() => this.options()['hasEyeIcon'] as boolean);\n protected showPassword = computed<boolean>(() => this.options()['showPassword'] as boolean);\n\n protected show = signal(false);\n\n protected clipboard = inject(AXPClipBoardService);\n\n toggleEye() {\n this.show.update((prev) => !prev);\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXPasswordBoxModule } from '@acorex/components/password-box';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <ax-password-box [ngModel]=\"getValue()\" [disabled]=\"disabled()\" (onValueChanged)=\"handleValueChanged($event)\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n @if(hasClearButton()){\n <ax-clear-button></ax-clear-button>\n }\n </ax-password-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXDecoratorModule, AXPasswordBoxModule, AXValidationModule, AXFormModule],\n inputs: []\n})\nexport class AXPPasswordBoxWidgetEditComponent extends AXPWidgetComponent<string> {\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected hasClearButton = computed<boolean>(() => this.options()['hasClearButton'] as boolean);\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPPasswordBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, signal } from '@angular/core';\n@Component({\n template: `<div class=\"ax-flex ax-flex-1 ax-gap-3 ax-group ax-items-start ax-w-max\">\n <span>{{ show() ? rawValue : '*******' }}</span>\n @if(hasEyeIcon){\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"toggleEye()\"\n >\n @if(!showPassword){\n <i class=\"fa-solid fa-eye\"></i>\n }@else {\n <i class=\"fa-solid fa-eye-slash\"></i>\n }\n </span>\n }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPPasswordBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected hasEyeIcon = this.options['hasEyeIcon'];\n protected showPassword = this.options['showPassword'];\n\n protected show = signal(!!this.rawValue);\n\n toggleEye() {\n this.show.update((prev) => !prev);\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPPasswordBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_DISABLED_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_HAS_COPY_ICON_PROPERTY,\n AXP_HAS_EYE_ICON_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\nexport const AXPPasswordBoxWidget: AXPWidgetConfig = {\n name: 'password-editor',\n title: 'Password Box',\n description: 'Secures password input',\n icon: 'fa-solid fa-lock',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_COPY_ICON_PROPERTY,\n AXP_HAS_EYE_ICON_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./password-box-widget-view.component').then((c) => c.AXPPasswordBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./password-box-widget-edit.component').then((c) => c.AXPPasswordBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./password-box-widget-filter.component').then((c) => c.AXPPasswordBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./password-box-widget-column.component').then((c) => c.AXPPasswordBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./password-box-widget-print.component').then((c) => c.AXPPasswordBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./password-box-widget-edit.component').then((c) => c.AXPPasswordBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n password: 'password-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-2 \">\n <ng-container *ngIf=\"multiple()\">\n @for(item of internalValue();track item?.value) {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: item }\" ]></ng-template>\n }\n </ng-container>\n\n <ng-container *ngIf=\"!multiple()\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ data: internalValue()[0] }\" ]></ng-template>\n </ng-container>\n\n <ng-template #itemTemplate let-item=\"data\">\n <ng-container *ngIf=\"item\">\n <div class=\"ax-col-start-1 ax-col-end-10 lg:ax-col-end-7\">\n <div class=\"ax-flex ax-flex-1 ax-gap-3 ax-items-center ax-w-max ax-group\">\n <div class=\"ax-w-6 ax-h-6 ax-flex ax-items-center ax-justify-center\">\n <i class=\"fa-solid ax-text-neutral-400 fa-phone\"></i>\n </div>\n <a class=\"group-hover:!ax-text-primary-500\" href=\"tel:{{ item.value }}\">{{ item.value }}</a>\n <span\n class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\"\n (click)=\"clipboard.copy('Phone Number', item.value)\"\n >\n <i class=\"fa-solid fa-copy \"></i>\n </span>\n @if(hasLabel()){\n <ax-badge color=\"primary\" [look]=\"'twotone'\" [text]=\"item.label\"></ax-badge>\n }\n </div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: []\n})\nexport class AXPPhoneBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected clipboard = inject(AXPClipBoardService);\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected hasLabel = computed<boolean>(() => this.options()['hasLabel'] as boolean);\n\n protected internalValue = computed(() =>\n this.getValue()\n ? Array.isArray(this.getValue())\n ? this.getValue().map((item: any) => this.extractItem(item))\n : [this.extractItem(this.getValue())]\n : []\n );\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n value: item.value ?? '-',\n type: item.type ?? 'mobile',\n label: item.label,\n }\n : {\n value: item,\n type: 'mobile',\n label: null,\n };\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <ng-container *ngIf=\"multiple()\">\n @for(item of internalValue();track $index) {\n <ax-text-box\n [ngModel]=\"item.value\"\n (onValueChanged)=\"handleValueChange($event, $index)\"\n type=\"text\"\n class=\"ax-col-start-1 ax-col-end-13 lg:ax-col-end-8\"\n [class.lg:!ax-col-end-12]=\"!hasLabel()\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n </ax-text-box>\n @if(hasLabel()){\n <ax-select-box\n [dataSource]=\"phoneLabels()\"\n [ngModel]=\"item.label\"\n (onValueChanged)=\"handleLabelChange($event, $index)\"\n class=\"ax-col-start-1 ax-col-end-11 lg:ax-col-start-8 lg:ax-col-end-12\"\n >\n </ax-select-box>\n }\n <ax-button\n look=\"twotone\"\n color=\"danger\"\n (onClick)=\"deleteItem($index)\"\n class=\"ax-col-start-11 ax-col-end-13 lg:ax-col-start-12 lg:ax-col-end-13 ax-justify-self-end\"\n >\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n }\n </ng-container>\n <ng-container *ngIf=\"!multiple()\">\n <ax-text-box\n [ngModel]=\"internalValue()[0].value\"\n (onValueChanged)=\"handleValueChange($event, 0)\"\n type=\"text\"\n class=\"ax-col-start-1 ax-col-end-13 lg:ax-col-end-8\"\n [class.lg:!ax-col-end-13]=\"!hasLabel\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n </ax-text-box>\n @if(hasLabel()){\n <ax-select-box\n [dataSource]=\"phoneLabels()\"\n [ngModel]=\"internalValue()[0].label\"\n (onValueChanged)=\"handleLabelChange($event, 0)\"\n class=\"ax-col-start-1 ax-col-end-11 lg:ax-col-start-8 lg:ax-col-end-13\"\n >\n </ax-select-box>\n }\n </ng-container>\n <ax-button\n *ngIf=\"multiple()\"\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n look=\"twotone\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXFormModule, AXButtonModule, AXDecoratorModule, AXSelectBoxModule, AXTextBoxModule, AXValidationModule],\n inputs: []\n})\nexport class AXPPhoneBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n protected validationService = inject(AXValidationService);\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected clearButton = computed<boolean>(() => this.options()['clearButton'] as boolean);\n protected hasLabel = computed<boolean>(() => this.options()['hasLabel'] as boolean);\n protected phoneLabels = computed<string[]>(() => this.options()['phoneLabels'] || ['Mobile', 'Home', 'Work', 'Other']);\n\n protected internalValue: Signal<{ value: string; label?: string; id: string }[]> = computed(() => this.getValueAsArrayOfObjects());\n\n private _validationRules: AXPValidationRules = [];\n public get validationRules(): AXPValidationRules {\n return this._validationRules;\n }\n public set validationRules(v: AXPValidationRules) {\n this._validationRules = v;\n }\n\n private getValueAsArrayOfObjects(): any[] {\n const value = this.getValue();\n if (Array.isArray(value)) {\n return value.map((item) => (typeof item === 'object' ? item : { value: item }));\n }\n return typeof value === 'object' ? [value] : [{ value: value || '' }];\n }\n\n protected handleValueChange(e: AXValueChangedEvent, selectedIndex: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, value: e.value } : item));\n if (this.multiple()) this.setValue(newValues);\n else if (this.hasLabel()) this.setValue(newValues[0]);\n else this.setValue(newValues[0].value);\n }\n }\n\n protected handleLabelChange(e: AXValueChangedEvent, selectedIndex: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, label: e.value } : item));\n if (this.multiple()) this.setValue(newValues);\n else this.setValue(newValues[0]);\n }\n }\n\n protected addItem() {\n const newValues = [...this.internalValue(), ''];\n this.setValue(newValues);\n }\n protected deleteItem(deletedIndex: number) {\n const newValues = this.internalValue().filter((_, index) => index != deletedIndex);\n this.setValue(newValues);\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPPhoneBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, computed } from '@angular/core';\n@Component({\n template: `<div>\n @if(multiple && list.length>1){\n <div [title]=\"text()\">{{ dot3(text()) }}</div>\n }@else {\n <div>\n @if(list() && list().length){\n {{ list()[0].value }}\n }@else { - }\n </div>\n }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPPhoneBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected list: Signal<{ value: string; label: string }[]> = computed(() =>\n Array.isArray(this.rawValue) ? this.rawValue.map((c) => this.extractItem(c)) : [this.extractItem(this.rawValue)]\n );\n protected text: Signal<string> = computed(() =>\n this.list()\n .map((item) => item.value)\n .join('\\n')\n );\n protected multiple!: boolean;\n protected hasLabel!: boolean;\n\n protected dot3(text: string) {\n console.log(text);\n if (this.multiple) return text.split('\\n')[0] + '...';\n else return text.split('\\n')[0];\n }\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n value: item.value ?? '-',\n type: item.type ?? 'primary',\n label: item.label,\n }\n : {\n value: item,\n type: 'primary',\n label: null,\n };\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPPhoneBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_HAS_LABEL_PROPERTY,\n AXP_TABLE_COLUMN_WIDTH_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\n\nexport const AXPPhoneBoxWidget: AXPWidgetConfig = {\n name: 'phone-editor',\n title: 'Phone Box',\n description: 'Inputs and validates phone numbers',\n icon: 'fa-solid fa-input-numeric',\n group: AXP_WIDGETS_EDITOR_GROUP,\n defaultFilterWidgetName: 'string-filter',\n type: 'editor',\n properties: [\n AXP_HAS_LABEL_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_TABLE_COLUMN_WIDTH_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./phone-box-widget-view.component').then((c) => c.AXPPhoneBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./phone-box-widget-edit.component').then((c) => c.AXPPhoneBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./phone-box-widget-filter.component').then((c) => c.AXPPhoneBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./phone-box-widget-column.component').then((c) => c.AXPPhoneBoxWidgetColumnComponent),\n properties: [AXP_TABLE_COLUMN_WIDTH_PROPERTY],\n },\n print: {\n component: () => import('./phone-box-widget-print.component').then((c) => c.AXPPhoneBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./phone-box-widget-edit.component').then((c) => c.AXPPhoneBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n phone: 'phone-editor';\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPHtmlUtils } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, Signal } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'axp-rich-text-widget',\n template: ` <span class=\"ax-truncate ax-underline ax-cursor-pointer\" (click)=\"openPopup()\" [innerHTML]=\"text()\">\n </span>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPRichTextWidgetViewComponent extends AXPWidgetComponent<any> {\n private htmlUtil = inject(AXPHtmlUtils);\n private popupService: AXPopupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n protected html: Signal<SafeHtml | null> = computed(() => this.htmlUtil.getSafeHTMLfromHTML(this.getValue()));\n protected text: Signal<string> = computed(() => this.htmlUtil.getTextFromHTML(this.getValue()));\n\n protected async openPopup() {\n const { AXPRichTextPopupComponent } = await import('./rich-text-popup.component');\n this.popupService.open(AXPRichTextPopupComponent, {\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n header: true,\n closeOnBackdropClick: true,\n closeButton: true,\n draggable: true,\n title: this.path ?? '',\n data: {\n html: this.html,\n },\n });\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXToolBarModule } from '@acorex/components/toolbar';\nimport { AXWysiwygModule } from '@acorex/components/wysiwyg';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-rich-text-widget',\n template: `<ax-wysiwyg-container\n [placeHolder]=\"placeholder()\"\n [look]=\"'solid'\"\n [ngModel]=\"getValue()\"\n (onValueChanged)=\"setWysiwyg($event)\"\n >\n <ax-wysiwyg-view class=\"ax-min-h-28\"></ax-wysiwyg-view>\n <!-- <ax-wysiwyg-toolbar>\n <ax-wysiwyg-history></ax-wysiwyg-history>\n <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors>\n <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment>\n </ax-wysiwyg-toolbar> -->\n\n <ax-toolbar>\n <ax-prefix>\n <!-- <ax-wysiwyg-history></ax-wysiwyg-history> <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors> <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment> <ax-wysiwyg-insert></ax-wysiwyg-insert> -->\n <ax-wysiwyg-history></ax-wysiwyg-history>\n <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors>\n <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment>\n </ax-prefix>\n </ax-toolbar>\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-wysiwyg-container>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXWysiwygModule,\n AXToolBarModule,\n AXValidationModule,\n AXFormModule,\n FormsModule,\n ],\n})\nexport class AXPRichTextWidgetEditComponent extends AXPWidgetComponent<any> {\n protected placeholder = computed<string>(() => this.options()['placeholder'] as string);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n\n protected setWysiwyg(e: AXValueChangedEvent) {\n if (e) {\n this.setValue(e.value);\n }\n }\n\n eff = effect(() => {\n console.log(this.getValue());\n });\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPRichTextWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPHtmlUtils } from '@acorex/platform/core';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, Signal } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\n\n@Component({\n template: `<span class=\"ax-truncate ax-underline ax-block ax-w-full ax-cursor-pointer\" (click)=\"openPopup()\" [innerHTML]=\"text()\"> </span>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, AXButtonModule],\n inputs: ['rawValue']\n})\nexport class AXPRichTextWidgetColumnComponent extends AXPColumnWidgetComponent<string | null | undefined> {\n private htmlUtil = inject(AXPHtmlUtils);\n private popupService: AXPopupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n protected html: Signal<SafeHtml | null> = computed(() => this.htmlUtil.getSafeHTMLfromHTML(this.rawValue));\n protected text: Signal<string> = computed(() => this.htmlUtil.getTextFromHTML(this.rawValue));\n\n protected async openPopup() {\n const { AXPRichTextPopupComponent } = await import('./rich-text-popup.component');\n this.popupService.open(AXPRichTextPopupComponent, {\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n header: true,\n closeOnBackdropClick: true,\n closeButton: true,\n draggable: true,\n title: this.path ?? '',\n data: {\n html: this.html,\n },\n });\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPRichTextWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\nexport const AXPRichTextWidget: AXPWidgetConfig = {\n name: 'rich-text-editor',\n title: 'Rich Text',\n description: 'Formats and edits rich text',\n icon: 'fa-solid fa-input-text',\n group: AXP_WIDGETS_EDITOR_GROUP,\n defaultFilterWidgetName: 'string-filter',\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '300px' } }),\n ],\n components: {\n view: {\n component: () => import('./rich-text-widget-view.component').then((c) => c.AXPRichTextWidgetViewComponent),\n },\n edit: {\n component: () => import('./rich-text-widget-edit.component').then((c) => c.AXPRichTextWidgetEditComponent),\n },\n filter: {\n component: () => import('./rich-text-widget-filter.component').then((c) => c.AXPRichTextWidgetFilterComponent),\n },\n column: {\n component: () => import('./rich-text-widget-column.component').then((c) => c.AXPRichTextWidgetColumnComponent),\n },\n print: {\n component: () => import('./rich-text-widget-print.component').then((c) => c.AXPRichTextWidgetPrintComponent),\n },\n designer: {\n component: () => import('./rich-text-widget-edit.component').then((c) => c.AXPRichTextWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n richText: 'rich-text-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n@Component({\n template: ` <div class=\"ax-flex ax-gap-2\">\n @for (item of internalValue(); track $index) {\n <ax-badge [look]=\"'twotone'\" [text]=\"item[this.textField]\" color=\"primary\"></ax-badge>\n }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: ['rawValue'],\n})\nexport class AXPSelectBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected multiple: boolean = this.options['multiple'];\n protected valueField: string = this.options['valueField'] ?? 'id';\n protected textField: string = this.options['textField'] ?? 'title';\n\n protected internalValue = computed(() =>\n Array.isArray(this.rawValue)\n ? this.rawValue.map((item: any) => this.extractItem(item))\n : [this.extractItem(this.rawValue)]\n );\n\n private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n [this.valueField]: item?.[this.valueField],\n [this.textField]: item?.[this.textField],\n }\n : {\n [this.valueField]: item,\n [this.textField]: item,\n };\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxComponent, AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPDataListWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewChild, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-select-box-widget-edit',\n template: `\n <ax-select-box\n #dd\n [placeholder]=\"placeholder()\"\n [dataSource]=\"dataSource()\"\n [disabled]=\"disabled()\"\n [valueField]=\"valueField()\"\n [textField]=\"textField()\"\n [ngModel]=\"getValue()\"\n [multiple]=\"multiple()\"\n (onValueChanged)=\"handleValueChange($event)\"\n >\n @if(allowSearch()) {\n <ax-search-box><ax-clear-button></ax-clear-button></ax-search-box>\n } @if(hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n } @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-select-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectBoxModule, AXFormModule, AXDecoratorModule, AXSearchBoxModule],\n})\nexport class AXPSelectBoxWidgetEditComponent extends AXPDataListWidgetComponent {\n @ViewChild(AXSelectBoxComponent)\n private selectbox!: AXSelectBoxComponent;\n\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected placeholder = computed<string>(() => (this.options()['placeholder'] as string) ?? '');\n protected hasClearButton = computed<boolean>(() => this.options()['hasClearButton'] as boolean);\n protected allowSearch = computed<boolean>(() => (this.options()['allowSearch'] as boolean) ?? false);\n\n protected override outputs(): string[] {\n return ['selectedItems'];\n }\n\n protected handleValueChange(e: AXValueChangedEvent) {\n this.selectedItems.set((e.component as AXSelectBoxComponent).selectedItems);\n if (e.isUserInteraction) {\n if (this.multiple()) {\n this.setValue(this.selectedItems());\n } else {\n this.setValue(this.selectedItems()[0]);\n }\n }\n }\n\n refresh() {\n this.selectbox?.refresh();\n }\n\n clear() {\n this.selectbox?.reset(true);\n this.selectbox?.refresh();\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n@Component({\n selector: 'axp-select-box-widget-view',\n template: `\n @for (item of internalValue(); track $index) {\n <ax-badge [look]=\"'twotone'\" [text]=\"item.text\" color=\"primary\"></ax-badge>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: [],\n})\nexport class AXPSelectBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected valueField = computed<string>(() => (this.options()['valueField'] as string) ?? 'id');\n protected textField = computed<string>(() => (this.options()['textField'] as string) ?? 'title');\n\n protected internalValue = computed(() =>\n Array.isArray(this.getValue())\n ? this.getValue().map((item: any) => this.extractItem(item))\n : [this.extractItem(this.getValue())]\n );\n\n private extractItem(item: any): any {\n const result =\n typeof item == 'object'\n ? {\n id: item?.[this.valueField()],\n text: item?.[this.textField()],\n }\n : {\n id: item,\n text: item,\n };\n return result;\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-flex`] = true;\n cls[`ax-gap-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_ALLOW_SEARCH_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DATA_SOURCE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_TEXT_FIELD_PROPERTY,\n AXP_VALUE_FIELD_PROPERTY,\n} from '../../../properties';\n\nexport const AXPSelectBoxWidget: AXPWidgetConfig = {\n name: 'select-editor',\n title: 'Select Box',\n description: 'Chooses from dropdown options',\n icon: 'fa-solid fa-list-dropdown',\n group: AXP_WIDGETS_EDITOR_GROUP,\n defaultFilterWidgetName: 'select-filter',\n type: 'editor',\n properties: [\n AXP_DATA_SOURCE_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_TEXT_FIELD_PROPERTY,\n AXP_VALUE_FIELD_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_ALLOW_SEARCH_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./select-box-widget-view.component').then((c) => c.AXPSelectBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./select-box-widget-edit.component').then((c) => c.AXPSelectBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./select-box-widget-filter.component').then((c) => c.AXPSelectBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./select-box-widget-column.component').then((c) => c.AXPSelectBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./select-box-widget-print.component').then((c) => c.AXPSelectBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./select-box-widget-edit.component').then((c) => c.AXPSelectBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n select: 'select-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'axp-selection-list-widget-view',\n template: `\n @for (item of internalValue(); track $index) {\n <ax-badge [look]=\"'twotone'\" [text]=\"item[this.textField()]\" color=\"primary\"></ax-badge>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXBadgeModule]\n})\nexport class AXPSelectionListWidgetViewComponent extends AXPWidgetComponent<any> {\n protected items = computed<any[]>(() => this.options()['items']);\n protected valueField = computed<string>(() => this.options()['valueField']);\n protected textField = computed<string>(() => this.options()['textField']);\n\n protected internalValue = computed(() => {\n return this.items().filter((item) => {\n if (Array.isArray(this.getValue())) return this.getValue().includes(item[this.valueField()]);\n else {\n return this.getValue() == item[this.valueField()];\n }\n });\n });\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-flex`] = true;\n cls[`ax-gap-1`] = true;\n return cls;\n }\n}\n","import { AXDirection } from '@acorex/components/common';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXPDataListWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { first } from 'rxjs';\n\n@Component({\n selector: 'axp-selection-list-widget',\n template: `\n <ax-selection-list\n class=\"ax-w-max\"\n [valueField]=\"valueField()\"\n [textField]=\"textField()\"\n [ngModel]=\"this.getValue()\"\n [items]=\"displayItems()\"\n [multiple]=\"multiple()\"\n [direction]=\"direction()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n >\n </ax-selection-list>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionListModule, AXFormModule],\n inputs: []\n})\nexport class AXPSelectionListWidgetDesignerComponent extends AXPDataListWidgetComponent {\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected direction = computed<AXDirection>(() => this.options()['direction']?.id ?? 'horizontal');\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected readonly = computed<boolean>(() => this.options()['readonly'] as boolean);\n protected displayItems = signal<any[]>([]);\n\n private samples = computed<any[]>(() =>\n Array.from({ length: 3 }).map((c, i) => {\n const item: any = {};\n item[this.valueField()] = i + 1;\n item[this.textField()] = `Sample Item ${i + 1}`;\n return item;\n })\n );\n\n private ef = effect(() => {\n this.dataSource()\n .onChanged.pipe(first())\n .subscribe((e) => {\n if (e.items?.length > 0) {\n this.displayItems.set(e.items);\n } else {\n this.displayItems.set(this.samples());\n }\n });\n this.dataSource().refresh();\n });\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXDirection, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPDataListWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { first } from 'rxjs';\n\n@Component({\n selector: 'axp-selection-list-widget-edit',\n template: `\n <ax-selection-list\n class=\"ax-w-max\"\n [valueField]=\"valueField()\"\n [textField]=\"textField()\"\n [ngModel]=\"getValue()\"\n (onValueChanged)=\"handleValueChange($event)\"\n [items]=\"displayItems()\"\n [multiple]=\"multiple()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [direction]=\"direction()\"\n >\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-selection-list>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionListModule, AXFormModule]\n})\nexport class AXPSelectionListWidgetEditComponent extends AXPDataListWidgetComponent {\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected direction = computed<AXDirection>(() => this.options()['direction']?.id ?? 'horizontal');\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected readonly = computed<boolean>(() => this.options()['readonly'] as boolean);\n protected displayItems = signal<any[]>([]);\n\n private ef = effect(() => {\n this.dataSource()\n .onChanged.pipe(first())\n .subscribe((e) => {\n this.displayItems.set(e.items);\n });\n this.dataSource().refresh();\n });\n\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n\n protected handleValueChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.setValue(e.value);\n }\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPSelectionListWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, computed } from '@angular/core';\n\n@Component({\n template: ` <div class=\"ax-flex ax-gap-2\">\n @if(multiple){ @for (item of selectedItems(); track $index) {\n <ax-badge [look]=\"'twotone'\" [text]=\"item[this.textField]\" color=\"primary\"></ax-badge>\n } }@else {\n <ax-badge [look]=\"'twotone'\" [text]=\"firstItem()[this.textField]\" color=\"primary\"></ax-badge>\n }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: ['rawValue']\n})\nexport class AXPSelectionListWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected valueField: string = this.options['valueField'];\n protected textField: string = this.options['textField'];\n protected items: any[] = this.options['items'];\n protected multiple: boolean = this.options['multiple'];\n\n protected selectedItemIds: Signal<string[]> = computed(() => {\n return this.rawValue || [];\n });\n\n protected selectedItems = computed(() => {\n const selectedIds = this.selectedItemIds();\n const filteredItems = this.items.filter((item) => {\n const itemValue = item[this.valueField];\n const isSelected = selectedIds.includes(itemValue);\n return isSelected;\n });\n return filteredItems;\n });\n\n protected firstItem = computed(() => {\n const first = this.selectedItems()[0];\n return first;\n });\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectionListWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DATA_SOURCE_PROPERTY,\n AXP_DIRECTION_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_TEXT_FIELD_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_VALUE_FIELD_PROPERTY,\n} from '../../../properties';\n\nexport const AXPSelectionListWidget: AXPWidgetConfig = {\n name: 'selection-list-editor',\n title: 'Selection List',\n description: 'Selects from a list',\n icon: 'fa-solid fa-list-radio',\n group: AXP_WIDGETS_EDITOR_GROUP,\n defaultFilterWidgetName: 'select-filter',\n properties: [\n AXP_DATA_SOURCE_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_VALUE_FIELD_PROPERTY,\n AXP_TEXT_FIELD_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DIRECTION_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),\n ],\n\n type: 'editor',\n components: {\n view: {\n component: () =>\n import('./selection-list-widget-view.component').then((c) => c.AXPSelectionListWidgetViewComponent),\n },\n edit: {\n component: () =>\n import('./selection-list-widget-edit.component').then((c) => c.AXPSelectionListWidgetEditComponent),\n },\n filter: {\n component: () =>\n import('./selection-list-widget-filter.component').then((c) => c.AXPSelectionListWidgetFilterComponent),\n },\n column: {\n component: () =>\n import('./selection-list-widget-column.component').then((c) => c.AXPSelectionListWidgetColumnComponent),\n },\n print: {\n component: () =>\n import('./selection-list-widget-print.component').then((c) => c.AXPSelectionListWidgetPrintComponent),\n },\n designer: {\n component: () =>\n import('./selection-list-widget-designer.component').then((c) => c.AXPSelectionListWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n selectionList: 'selection-list-editor';\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-text-box-widget',\n template: `\n <div>\n @if(multiple())\n { \n @for (item of internalValue(); track $index) {\n <p>{{ item }}</p>\n } \n }@else {\n <p>{{ internalValue()[0] }}</p>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPTextBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]));\n\n protected multiple = computed<boolean>(() => this.options()[\"multiple\"] as boolean);\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-text-box-widget',\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (text of internalValue(); track $index) {\n <ax-text-box class=\"ax-col-span-12\" [ngModel]=\"text\" [type]=\"'text'\" (onValueChanged)=\"handleValueChange($event, $index)\" [disabled]=\"disabled()\" [placeholder]=\"placeholder()\">\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n @if(hasClearButton()){\n <ax-clear-button></ax-clear-button>\n } @if(multiple()){\n <ax-suffix>\n <ax-button class=\"ax-border-s\" (onClick)=\"deleteItem($index)\" look=\"blank\" color=\"danger\">\n <ax-icon class=\"far fa-trash\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-text-box>\n } @if(multiple()){\n <ax-button\n [text]=\"internalValue().length == 0 ? 'Add New' : 'Add Another'\"\n look=\"twotone\"\n [disabled]=\"disabled()\"\n (onClick)=\"addItem()\"\n class=\"ax-col-start-8 md:ax-col-start-9 2xl:ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTextBoxModule, FormsModule, AXFormModule, AXDecoratorModule, AXValidationModule, AXButtonModule],\n inputs: []\n})\nexport class AXPTextBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n\n protected multiple = computed<boolean>(() => this.options()[\"multiple\"] as boolean);\n protected hasClearButton = computed<boolean>(() => this.options()['hasClearButton'] as boolean);\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected placeholder = computed<string>(() => (this.options()[\"placeholder\"] as string));\n protected validationRules = computed<AXPValidationRules>(() => (this.options()[\"validationRules\"] as AXPValidationRules) ?? []);\n\n\n protected internalValue: Signal<string[]> = computed(() => (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]));\n\n protected handleValueChange(e: AXValueChangedEvent, i: number) {\n if (e.isUserInteraction) {\n const newValues = this.internalValue().map((item, index) => (i === index ? e.value : item));\n if (this.multiple()) {\n this.setValue(newValues);\n }\n else {\n this.setValue(newValues[0]);\n }\n }\n }\n\n protected addItem() {\n const newValues = [...this.internalValue(), ''];\n this.setValue(newValues);\n }\n protected deleteItem(i: number) {\n const newValues = this.internalValue().filter((_, index) => index != i);\n this.setValue(newValues);\n }\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPTextBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n selector: 'axp-text-box-widget-column',\n template: `{{ rawValue }}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPTextBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> { }\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPTextBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n plainTextDefaultProperty,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPTextBoxWidget: AXPWidgetConfig = {\n name: 'text-editor',\n title: 'Text Box',\n icon: 'fa-solid fa-input-text',\n description: 'Inputs single-line text',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n defaultFilterWidgetName: 'string-filter',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_PROPERTY,\n plainTextDefaultProperty(),\n //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),\n ],\n components: {\n view: {\n component: () => import('./text-box-widget-view.component').then((c) => c.AXPTextBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./text-box-widget-edit.component').then((c) => c.AXPTextBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./text-box-widget-filter.component').then((c) => c.AXPTextBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./text-box-widget-column.component').then((c) => c.AXPTextBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./text-box-widget-print.component').then((c) => c.AXPTextBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./text-box-widget-edit.component').then((c) => c.AXPTextBoxWidgetEditComponent),\n },\n },\n};\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n text: 'text-editor';\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-switch-widget-view',\n template: ` @if(getValue()){ @if(trulyText()) {\n <ax-badge [text]=\"trulyText()\" [color]=\"negative() ? 'danger' : 'success'\" [look]=\"'twotone'\"></ax-badge>\n } @else { @if(negative()) {\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger\"> </ax-icon>\n } @else {\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n } } }@else { @if(falsyText()) {\n <ax-badge [text]=\"falsyText()\" [color]=\"negative() ? 'success' : 'danger'\" [look]=\"'twotone'\"></ax-badge>\n } @else { @if(negative()) {\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n }@else {\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger\"> </ax-icon>\n } } }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, AXBadgeModule],\n})\nexport class AXPToggleWidgetViewComponent extends AXPWidgetComponent<any> {\n protected negative = computed<boolean>(() => this.options()['negative']);\n protected falsyText = computed<string>(() => this.options()['falsyText']);\n protected trulyText = computed<string>(() => this.options()['trulyText']);\n}\n","import { AXStyleColorType } from '@acorex/components/common';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-switch-widget-edit',\n template: `\n <div class=\"ax-flex ax-flex-row ax-gap-2\">\n <ax-switch\n [ngModel]=\"this.getValue()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [color]=\"color()\"\n (onValueChanged)=\"handleValueChanged($event)\">\n \n </ax-switch>\n @if(label())\n {\n <ax-label [textContent]=\"label()\"></ax-label>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXFormModule, AXSwitchModule, AXValidationModule, AXLabelModule],\n})\nexport class AXPToggleWidgetEditComponent extends AXPWidgetComponent<any> {\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected readonly = computed<boolean>(() => this.options()['readonly'] as boolean);\n protected label = computed<string>(() => this.options()['label'] as string);\n protected color = computed<AXStyleColorType>(() => this.options()['color']?.id ?? 'primary');\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls['ax-inline-block'] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPToggleWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: `@if(rawValue){ @if(trulyText){\n <ax-badge [text]=\"trulyText\" [color]=\"negative ? 'danger' : 'success'\" [look]=\"'twotone'\"></ax-badge>\n }@else { @if(negative){\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger\"> </ax-icon>\n }@else {\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n } } }@else { @if(falsyText){\n <ax-badge [text]=\"falsyText\" [color]=\"negative ? 'success' : 'danger'\" [look]=\"'twotone'\"></ax-badge>\n }@else { @if(negative){\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n }@else {\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger\"> </ax-icon>\n } } }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, AXBadgeModule],\n inputs: ['rawValue'],\n})\nexport class AXPToggleWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected negative = this.options['negative'] as boolean;\n protected trulyText = this.options['trulyText'] as string;\n protected falsyText = this.options['falsyText'] as string;\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n selector: 'axp-swith-widget-print',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPToggleWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_FALSY_TEXT_PROPERTY,\n AXP_STYLE_COLOR_PROPERTY,\n AXP_TRULY_TEXT_PROPERTY,\n booleanDefaultProperty,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\nexport const AXPToggleWidget: AXPWidgetConfig = {\n name: 'toggle-editor',\n title: 'Toggle',\n description: 'Switches between on/off states',\n icon: 'fa-solid fa-toggle-on',\n defaultFilterWidgetName: 'boolean-filter',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_STYLE_COLOR_PROPERTY,\n AXP_FALSY_TEXT_PROPERTY,\n AXP_TRULY_TEXT_PROPERTY,\n booleanDefaultProperty(),\n ],\n components: {\n view: {\n component: () => import('./toggle-widget-view.component').then((c) => c.AXPToggleWidgetViewComponent),\n },\n edit: {\n component: () => import('./toggle-widget-edit.component').then((c) => c.AXPToggleWidgetEditComponent),\n },\n filter: {\n component: () => import('./toggle-widget-filter.component').then((c) => c.AXPToggleWidgetFilterComponent),\n },\n column: {\n component: () => import('./toggle-widget-column.component').then((c) => c.AXPToggleWidgetColumnComponent),\n },\n print: {\n component: () => import('./toggle-widget-print.component').then((c) => c.AXPToggleWidgetPrintComponent),\n },\n designer: {\n component: () => import('./toggle-widget-edit.component').then((c) => c.AXPToggleWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n toggle: 'toggle-editor';\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n })\nexport class AXPAvatarWidgetViewComponent extends AXPWidgetComponent<any> {}","import { AXPPageStatus, AXPWidgetComponent, AXPWidgetStatus } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal, untracked, ViewEncapsulation } from '@angular/core';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXPFileStorageService } from '@acorex/platform/common';\n\n@Component({\n selector: 'axp-avatar-widget-edit',\n template: `\n @if(isBusy()) {\n <div class=\"axp-empty axp-state-loading\" >\n <i class=\"fa-solid fa-spinner-third fa-spin\"></i>\n </div> \n }\n @else if(!url())\n {\n <div class=\"axp-empty\" (click)=\"handleChange()\" [class.axp-state-error]=\"this.status()=='error'\" >\n <i class=\"fa-solid fa-camera ax-text-3xl ax-text-gray-400\"></i>\n </div>\n }\n @else {\n <div class=\"axp-content\" [class.axp-state-error]=\"this.status()=='error'\" >\n <div [style.backgroundImage]=\"url() ? 'url(' + url() + ')' : ''\">\n </div>\n <div >\n <div (click)=\"handleChange()\">\n <i class=\"fa-solid fa-camera \"></i>\n </div>\n <div (click)=\"handleRemove()\">\n <i class=\"fa-light fa-trash-can \"></i>\n </div>\n </div>\n </div>\n }\n `,\n styleUrl: './avatar-widget-edit.component.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n ],\n})\nexport class AXPAvatarWidgetEditComponent extends AXPWidgetComponent<any> {\n\n protected refId = computed<string>(() => this.options()['refId'] as string);\n protected refType = computed<string>(() => this.options()['refType'] as string);\n\n private fileService = inject(AXFileService);\n private fileStorage = inject(AXPFileStorageService);\n\n protected url = signal<string | null>(null);\n\n protected isEmpty = computed(() => this.url() == null);\n\n\n private markedAsCommited: string | null = null;\n private markedAsDeleted: string | null = null;\n\n\n\n #effect1 = effect(async () => {\n const fileId = this.getValue();\n await untracked(async () => {\n try {\n if (fileId) {\n this.setStatus(AXPWidgetStatus.Processing);\n const info = await this.fileStorage.getInfo(fileId);\n this.url.set(info.url ? info.url : null);\n } else {\n this.url.set(null);\n }\n this.setStatus(AXPWidgetStatus.Rendered);\n }\n catch (error) {\n this.setStatus(AXPWidgetStatus.Error);\n }\n });\n });\n\n #effect2 = effect(async () => {\n const status = this.layoutService.status();\n if (status == AXPPageStatus.Submitted) {\n if (this.markedAsCommited) {\n await this.fileStorage.commit(this.markedAsCommited);\n this.markedAsCommited = null\n }\n if (this.markedAsDeleted) {\n await this.fileStorage.markForDeletion(this.markedAsDeleted);\n this.markedAsDeleted = null;\n }\n }\n });\n\n\n\n private async chooseFile() {\n const files = await this.fileService.choose({ accept: 'image/png, image/jpeg' });\n const file = files[0];\n const base64 = await this.fileService.blobToBase64(file);\n this.url.set(base64);\n // start upload\n const info = await this.fileStorage.save({\n category: 'company-logo',\n file: file,\n refId: this.refId(),\n refType: this.refType(),\n isPrimary: true,\n });\n this.markedAsCommited = info.fileId;\n this.setValue(info.fileId);\n }\n\n protected async handleChange() {\n await this.chooseFile();\n }\n\n protected async handleRemove() {\n this.markedAsDeleted = this.getValue();\n this.setValue(null);\n }\n}","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: `{{rawValue}}`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPAvatarWidgetColumnComponent extends AXPColumnWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPAvatarWidgetPrintComponent extends AXPWidgetComponent<any> {}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPAvatarWidgetDesignerComponent extends AXPWidgetComponent<any> {}","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY, AXP_READONLY_PROPERTY } from '../../../properties';\n\nexport const AXPAvatarWidget: AXPWidgetConfig = {\n name: \"avatar\",\n title: \"Avatar\",\n icon: \"fa-solid fa-image-user\",\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_READONLY_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./avatar-widget-view.component').then((c) => c.AXPAvatarWidgetViewComponent),\n },\n edit: {\n component: () => import('./avatar-widget-edit.component').then((c) => c.AXPAvatarWidgetEditComponent),\n },\n column: {\n component: () => import('./avatar-widget-column.component').then((c) => c.AXPAvatarWidgetColumnComponent),\n },\n print: {\n component: () => import('./avatar-widget-print.component').then((c) => c.AXPAvatarWidgetPrintComponent),\n },\n designer: {\n component: () => import('./avatar-widget-designer.component').then((c) => c.AXPAvatarWidgetDesignerComponent),\n },\n },\n\n}\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n avatar: 'avatar';\n }\n}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPFileBoxWidgetColumnComponent extends AXPWidgetComponent<any> { }","import { AXUploadRequest } from '@acorex/components/uploader';\nimport { Observable } from 'rxjs';\n\nexport abstract class AXPFileManagementService {\n abstract upload(requests: AXUploadRequest[], metaData?: any): Promise<PromiseSettledResult<{ result: unknown; status: string }>[]>;\n abstract delete(fileId: string): Promise<any>;\n abstract get(fileId: string, name: string): Observable<any>;\n abstract list(): Promise<any>;\n abstract setMetadata(fileId: string, metadata: any): Promise<any>;\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXUploaderChangedEvent, AXUploaderFileCompleteEvent, AXUploaderFilesCompleteEvent, AXUploaderModule } from '@acorex/components/uploader';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, computed, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPFileManagementService } from './file-box-widget.service';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12\">\n <div class=\"ax-col-span-12\">\n <ax-uploader-drop-zone\n axUploaderZone\n (onChanged)=\"handleChanged($event)\"\n [multiple]=\"multiple()\"\n [accept]=\"accept()\"\n [description]=\"description()\"\n \n (onFileUploadComplete)=\"handleOnFileUploadComplete($event)\"\n (onFilesUploadComplete)=\"handleOnFilesUploadComplete($event)\"\n ></ax-uploader-drop-zone>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXUploaderModule],\n inputs: []\n})\nexport class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n private fileService = inject(AXPFileManagementService);\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected accept = computed<string>(() => this.options()['accept'] as string);\n protected description = computed<string>(() => this.options()['description'] as string);\n protected metaData = computed<string>(() => this.options()['metaData'] as any);\n\n protected internalValue: Signal<{ value?: string | null; label?: string | undefined }[]> = computed(() => {\n if (!this.getValue())\n return [];\n return this.getValue() ? (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]) : [{}]\n }\n );\n\n handleOnFileUploadComplete(e: AXUploaderFileCompleteEvent) {\n\n }\n\n handleOnFilesUploadComplete(e: AXUploaderFilesCompleteEvent) {\n }\n\n protected async handleChanged(e: AXUploaderChangedEvent) {\n const results = await this.fileService.upload(e.requests, this.metaData);\n const uploadedFilesResult = results.filter((r) => r.status === 'fulfilled');\n if (!this.multiple) this.setValue(uploadedFilesResult[0].value);\n else {\n this.setValue(uploadedFilesResult.map((r) => r.value));\n }\n }\n\n protected getFileInfo(fileName: string): { icon: string; color: string } {\n const extension = fileName?.split('.')?.pop()?.toLowerCase();\n\n switch (extension) {\n case 'txt':\n return { icon: 'fa-file-alt', color: 'ax-bg-blue-100 ax-text-blue-500' };\n\n case 'pdf':\n return { icon: 'fa-file-pdf', color: 'ax-bg-red-100 ax-text-red-500' };\n\n case 'doc':\n case 'docx':\n return { icon: 'fa-file-word', color: 'ax-bg-blue-200 ax-text-blue-600' };\n\n case 'xls':\n case 'xlsx':\n return { icon: 'fa-file-excel', color: 'ax-bg-green-100 ax-text-green-500' };\n\n case 'ppt':\n case 'pptx':\n return { icon: 'fa-file-powerpoint', color: 'ax-bg-orange-100 ax-text-orange-500' };\n\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n case 'bmp':\n return { icon: 'fa-file-image', color: 'ax-bg-purple-100 ax-text-purple-500' };\n\n case 'zip':\n case 'rar':\n case '7z':\n return { icon: 'fa-file-archive', color: 'ax-bg-yellow-100 ax-text-yellow-500' };\n\n case 'mp3':\n case 'wav':\n case 'ogg':\n return { icon: 'fa-file-audio', color: 'ax-bg-pink-100 ax-text-pink-500' };\n\n case 'mp4':\n case 'avi':\n case 'mkv':\n case 'mov':\n return { icon: 'fa-file-video', color: 'ax-bg-blue-100 ax-text-blue-500' };\n\n case 'js':\n case 'jsx':\n case 'ts':\n case 'tsx':\n return { icon: 'fa-file-code', color: 'ax-bg-yellow-100 ax-text-yellow-500' };\n\n // Add more cases as needed for other file types\n\n default:\n return { icon: 'fa-file', color: 'ax-bg-gray-100 ax-text-gray-500' };\n }\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPFileBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPFileBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { ChangeDetectionStrategy, Component, Signal, computed, inject } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXPFileManagementService } from './file-box-widget.service';\n\ninterface AXPFile {\n name: string;\n type: string;\n value: string;\n size: string;\n}\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-2\">\n @if(multiple()){ @for(item of internalValue();let first=$first;track item.name) {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" ] [ngTemplateOutletContext]=\"{ data: item }\" ]></ng-template>\n } }@else {\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" ] [ngTemplateOutletContext]=\"{ data: internalValue()[0] }\" ]></ng-template>\n }\n <ng-template #itemTemplate let-item=\"data\">\n <div\n *ngIf=\"item\"\n class=\"ax-flex ax-items-center ax-justify-between ax-p-2 ax-border ax-rounded-lg ax-bg-surface ax-col-start-1 ax-col-end-13\"\n >\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n <ng-container *ngIf=\"getFileInfo(item.name) as fileInfo\">\n <div class=\"ax-w-10 ax-h-10 ax-rounded-lg ax-flex ax-items-center ax-justify-center\" [ngClass]=\"[fileInfo.color]\">\n <i [ngClass]=\"['fa-solid', 'ax-text-xl', fileInfo.icon]\"></i>\n </div>\n </ng-container>\n <div>\n <div class=\"ax-leading-6\">{{ item.name }}</div>\n <p class=\"ax-text-sm ax-text-neutral-400\">{{ item.size }}</p>\n </div>\n </div>\n @if(downloadable()){\n <ax-button (onClick)=\"handleDownload(item)\" look=\"blank\" color=\"ghost\" class=\"!ax-text-neutral-400 hover:!ax-text-neutral-600\">\n <ax-icon>\n <i class=\"fa-solid fa-download\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n </ng-template>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule],\n inputs: []\n})\nexport class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n private fileService = inject(AXPFileManagementService);\n private loadingDialog = inject(AXLoadingDialogService);\n private translateService = inject(AXTranslationService);\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected downloadable = computed<boolean>(() => this.options()['downloadable'] as boolean);\n\n protected internalValue: Signal<AXPFile[]> = computed(() => {\n if (!this.getValue())\n return [];\n return Array.isArray(this.getValue()) ? this.getValue().map((item: any) => this.extractItem(item)) : [this.extractItem(this.getValue())];\n });\n private downloadSubscription = new Subscription();\n\n protected async handleDownload(item: AXPFile) {\n const d = this.loadingDialog.show({\n title: await this.translateService.translateAsync('downloader.dialog.downloading'), // Downloading File\n mode: 'determinate',\n progressColor: 'primary',\n progressValue: 0,\n text: await this.translateService.translateAsync('downloader.dialog.waiting'), // Waiting...\n buttons: [\n {\n text: await this.translateService.translateAsync('downloader.dialog.cancel'),\n color: 'danger',\n onClick: () => {\n this.cancelDownload();\n d.close();\n },\n },\n ],\n });\n\n this.downloadSubscription = this.fileService.get(item.value, item.name || 'download').subscribe(\n (event) => {\n d.setProgressText(event.status);\n d.setProgressStatus(`${event.progress}%`);\n d.setProgressValue(event.progress);\n if (event.progress === 100) {\n this.triggerDownload(event.data, item.name);\n setTimeout(() => {\n d.close();\n }, 1000);\n }\n },\n async (error: HttpErrorResponse) => {\n d.setProgressText(error.statusText);\n d.setProgressStatus(await this.translateService.translateSync('downloader.dialog.downloadFailed')); //Downloading Failed\n setTimeout(() => {\n d.close();\n }, 1000);\n }\n );\n }\n\n private cancelDownload() {\n this.downloadSubscription.unsubscribe();\n }\n\n private triggerDownload(blob: Blob, name: string) {\n const link = document.createElement('a');\n const url = URL.createObjectURL(blob);\n link.href = url;\n link.download = name || 'asset';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(url);\n }\n\n protected getFileInfo(fileName: string): { icon: string; color: string } {\n const extension = fileName.split('.').pop()?.toLowerCase();\n\n switch (extension) {\n case 'txt':\n return { icon: 'fa-file-alt', color: 'ax-bg-blue-100 ax-text-blue-500' };\n\n case 'pdf':\n return { icon: 'fa-file-pdf', color: 'ax-bg-red-100 ax-text-red-500' };\n\n case 'doc':\n case 'docx':\n return { icon: 'fa-file-word', color: 'ax-bg-blue-200 ax-text-blue-600' };\n\n case 'xls':\n case 'xlsx':\n return { icon: 'fa-file-excel', color: 'ax-bg-green-100 ax-text-green-500' };\n\n case 'ppt':\n case 'pptx':\n return { icon: 'fa-file-powerpoint', color: 'ax-bg-orange-100 ax-text-orange-500' };\n\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n case 'bmp':\n return { icon: 'fa-file-image', color: 'ax-bg-purple-100 ax-text-purple-500' };\n\n case 'zip':\n case 'rar':\n case '7z':\n return { icon: 'fa-file-archive', color: 'ax-bg-yellow-100 ax-text-yellow-500' };\n\n case 'mp3':\n case 'wav':\n case 'ogg':\n return { icon: 'fa-file-audio', color: 'ax-bg-pink-100 ax-text-pink-500' };\n\n case 'mp4':\n case 'avi':\n case 'mkv':\n case 'mov':\n return { icon: 'fa-file-video', color: 'ax-bg-blue-100 ax-text-blue-500' };\n\n case 'js':\n case 'jsx':\n case 'ts':\n case 'tsx':\n return { icon: 'fa-file-code', color: 'ax-bg-yellow-100 ax-text-yellow-500' };\n\n // Add more cases as needed for other file types\n\n default:\n return { icon: 'fa-file', color: 'ax-bg-gray-100 ax-text-gray-500' };\n }\n }\n\n private extractItem(item: any): AXPFile {\n return typeof item == 'object'\n ? {\n name: item.name,\n type: item.type ?? 'Unknown',\n value: item.value,\n size: item.size || '-',\n }\n : {\n name: item || '',\n type: 'Unknown',\n value: item || '',\n size: '-',\n };\n }\n}\n","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_BEHAVIOR_PROPERTY_GROUP,\n AXP_DESCRIPTION_PROPERTY,\n AXP_DOWNLOADABLE_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPFileBoxWidget: AXPWidgetConfig = {\n name: 'file',\n title: 'File',\n description: 'Uploads and manages files',\n icon: 'fa-solid fa-files',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DOWNLOADABLE_PROPERTY,\n AXP_DESCRIPTION_PROPERTY,\n {\n name: 'accept',\n title: 'Accept',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'accept',\n path: 'options.accept',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n },\n ],\n components: {\n view: {\n component: () => import('./file-box-widget-view.component').then((c) => c.AXPFileBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./file-box-widget-edit.component').then((c) => c.AXPFileBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./file-box-widget-filter.component').then((c) => c.AXPFileBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./file-box-widget-column.component').then((c) => c.AXPFileBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./file-box-widget-print.component').then((c) => c.AXPFileBoxWidgetPrintComponent),\n },\n designer: {\n component: () => import('./file-box-widget-edit.component').then((c) => c.AXPFileBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n file: 'file';\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, WritableSignal, computed, signal } from '@angular/core';\nimport { AXPMediaInfo, AXPMediaItem } from './gallery-widget-types';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-2\">\n @if(internalValue().length){\n <div class=\"ax-flex ax-items-center ax-justify-between ax-rounded-lg ax-col-start-1 ax-col-end-13\">\n <div class=\"ax-flex ax-items-center md:ax-justify-start ax-justify-center ax-w-full ax-gap-3\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-4\">\n @switch (getMediaInfo(activeMedia()?.name||'').format) { @case ('video') {\n <video class=\"ax-rounded-lg ax-h-48 md:ax-h-72 ax-w-auto ax-shadow-md\" controls [src]=\"activeMedia()?.url\"></video>\n } @case ('image') {\n <ax-image class=\"ax-rounded-lg ax-h-48 md:ax-h-72 ax-w-auto\" [src]=\"activeMedia()?.url\">\n <ax-loading></ax-loading>\n <ax-placeholder>\n <div class=\"ax-w-96 ax-h-72 ax-gap-4 ax-flex ax-flex-col ax-items-center ax-justify-center ax-border ax-rounded-lg\">\n <ax-icon class=\"fa-solid fa-circle-exclamation ax-text-2xl\"> </ax-icon>\n <span>Connection Error!</span>\n </div>\n </ax-placeholder>\n </ax-image>\n } @case ('audio') {\n <audio controls class=\"ax-rounded-lg\">\n <source [src]=\"activeMedia()?.url\" type=\"audio/mp3\" />\n </audio>\n } }\n <div class=\"ax-flex ax-gap-4 ax-overflow-x-auto ax-max-w-[320px] lg:ax-max-w-[480px] ax-pb-2\">\n @for (media of thumbnails(); track $index) {\n <div\n *ngIf=\"getMediaInfo(media.name) as mediaInfo\"\n class=\"hover:ax-opacity-75 ax-transition-all ax-relative ax-cursor-pointer ax-flex ax-justify-center ax-items-center\"\n (click)=\"changeMediaSelected(media)\"\n >\n <ax-image\n class=\"ax-w-16 ax-brightness-50 ax-h-16 ax-rounded-lg ax-shadow-md ax-filter\"\n [src]=\"mediaInfo.format == 'image' ? media.url : media.posterUrl\"\n ></ax-image>\n <div class=\"ax-absolute ax-text-neutral-300 ax-text-xl\">\n <ax-icon [class]=\"mediaInfo.icon\"> </ax-icon>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n } @else {\n <!-- ask for empty state: -->\n <small>No Media!</small>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXImageModule, AXDecoratorModule, AXLoadingModule],\n inputs: []\n})\nexport class AXPGalleryWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => {\n const parsedValue = this.getValue() ? JSON.parse(this.getValue()) : [];\n return Array.isArray(parsedValue) ? parsedValue.map((c) => c) : [parsedValue];\n });\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n\n protected thumbnails: Signal<AXPMediaItem[]> = computed(() => this.internalValue().filter((i) => i.id !== this.activeMedia()?.id));\n protected activeMedia: WritableSignal<AXPMediaItem | undefined> = signal(undefined);\n\n ngAfterViewInit(): void {\n this.activeMedia.set(this.internalValue()[0]);\n }\n\n changeMediaSelected(media: AXPMediaItem) {\n this.activeMedia.set(media);\n }\n\n protected getMediaInfo(mediaName: string): AXPMediaInfo {\n const extension = mediaName.split('.').pop()?.toLowerCase();\n\n switch (extension) {\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n case 'bmp':\n return { icon: '', format: 'image' };\n\n case 'mp4':\n case 'avi':\n case 'mkv':\n case 'mov':\n return { icon: 'fa-regular fa-play', format: 'video' };\n\n case 'mp3':\n case 'wav':\n case 'ogg':\n return { icon: 'fa-regular fa-volume-high', format: 'audio' };\n\n default:\n return { icon: '', format: 'image' };\n }\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXUploaderModule } from '@acorex/components/uploader';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Signal, WritableSignal, computed, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPMediaInfo, AXPMediaItem } from './gallery-widget-types';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-2\">\n @if(internalValue().length){\n <div class=\"ax-col-start-1 ax-col-end-13 ax-flex ax-items-center lg:ax-justify-start ax-justify-center \">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-gap-4 ax-w-full\">\n @switch (getMediaInfo(activeMedia()?.name||'').format) { @case ('video') {\n <video class=\"ax-rounded-lg ax-h-48 md:ax-h-72 ax-w-auto ax-shadow-md\" controls [src]=\"activeMedia()?.url\"></video>\n } @case ('image') {\n <ax-image class=\"ax-rounded-lg ax-h-48 md:ax-h-72 ax-w-auto\" [src]=\"activeMedia()?.url\">\n <ax-loading></ax-loading>\n <ax-placeholder>\n <div class=\"ax-w-96 ax-h-72 ax-gap-4 ax-flex ax-flex-col ax-items-center ax-justify-center ax-border ax-rounded-lg\">\n <ax-icon class=\"fa-solid fa-circle-exclamation ax-text-2xl\"> </ax-icon>\n <span>Connection Error!</span>\n </div>\n </ax-placeholder>\n </ax-image>\n } @case ('audio') {\n <audio controls class=\"ax-rounded-lg\">\n <source [src]=\"activeMedia()?.url\" type=\"audio/mp3\" />\n </audio>\n } }\n <div class=\"ax-flex ax-gap-4 ax-overflow-x-auto ax-max-w-[320px] lg:ax-max-w-[480px] ax-pb-2\">\n @for (media of thumbnails(); track $index) {\n <div\n *ngIf=\"getMediaInfo(media.name) as mediaInfo\"\n class=\"hover:ax-opacity-75 ax-transition-all ax-relative ax-cursor-pointer ax-flex ax-justify-center ax-items-center\"\n (click)=\"changeMediaSelected(media)\"\n >\n <ax-image\n class=\"ax-w-16 ax-brightness-50 ax-h-16 ax-rounded-lg ax-shadow-md ax-filter\"\n [src]=\"mediaInfo.format == 'image' ? media.url : media.posterUrl\"\n ></ax-image>\n <div class=\"ax-absolute ax-text-neutral-300 ax-text-xl\">\n <ax-icon [class]=\"mediaInfo.icon\"> </ax-icon>\n </div>\n </div>\n }\n <div axUploaderZone>\n <div axUploaderBrowseHandle class=\"ax-flex ax-justify-center ax-items-center ax-w-16 ax-h-16 ax-border ax-rounded-lg ax-cursor-pointer\">\n <ax-icon class=\"fa-solid fa-plus ax-text-neutral-500\"> </ax-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n } @else {\n <div class=\" ax-col-start-1 ax-col-end-13\">\n <ax-uploader-drop-zone></ax-uploader-drop-zone>\n </div>\n\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXImageModule, AXDecoratorModule, AXLoadingModule, AXUploaderModule],\n inputs: []\n})\nexport class AXPGalleryWidgetEditComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => {\n const parsedValue = this.getValue() ? JSON.parse(this.getValue()) : [];\n return Array.isArray(parsedValue) ? parsedValue.map((c) => c) : [parsedValue];\n });\n\n protected activeMedia: WritableSignal<AXPMediaItem | null> = signal(null);\n protected thumbnails: Signal<AXPMediaItem[]> = computed(() => this.internalValue().filter((i) => i.id !== this.activeMedia()?.id));\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n\n changeMediaSelected(media: AXPMediaItem) {\n this.activeMedia.set(media);\n }\n\n ngAfterViewInit(): void {\n this.activeMedia.set(this.internalValue()[0]);\n }\n\n protected getMediaInfo(mediaName: string): AXPMediaInfo {\n const extension = mediaName.split('.').pop()?.toLowerCase();\n\n switch (extension) {\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n case 'bmp':\n return { icon: '', format: 'image' };\n\n case 'mp4':\n case 'avi':\n case 'mkv':\n case 'mov':\n return { icon: 'fa-regular fa-play', format: 'video' };\n\n case 'mp3':\n case 'wav':\n case 'ogg':\n return { icon: 'fa-regular fa-volume-high', format: 'audio' };\n\n default:\n return { icon: '', format: 'image' };\n }\n }\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPGalleryWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPGalleryWidgetColumnComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGalleryWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_ADVANCE_GROUP } from '@acorex/platform/layout/builder';\nexport const AXPGalleryWidget: AXPWidgetConfig = {\n name: 'gallery',\n title: 'Media Gallery',\n description: 'Shows and edits image galleries',\n icon: 'fa-solid fa-images',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n components: {\n view: {\n component: () => import('./gallery-widget-view.component').then((c) => c.AXPGalleryWidgetViewComponent),\n },\n edit: {\n component: () => import('./gallery-widget-edit.component').then((c) => c.AXPGalleryWidgetEditComponent),\n },\n filter: {\n component: () => import('./gallery-widget-filter.component').then((c) => c.AXPGalleryWidgetFilterComponent),\n },\n column: {\n component: () => import('./gallery-widget-column.component').then((c) => c.AXPGalleryWidgetColumnComponent),\n },\n print: {\n component: () => import('./gallery-widget-print.component').then((c) => c.AXPGalleryWidgetPrintComponent),\n },\n designer: {\n component: () => import('./gallery-widget-edit.component').then((c) => c.AXPGalleryWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n gallery: 'gallery';\n }\n}\n","import { AXMapData, AXMapModule } from '@acorex/components/map';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, ViewEncapsulation } from '@angular/core';\n\n@Component({\n template: `<div [style.height.px]=\"height()\" class=\"ax-w-full\">\n <ax-map\n [polygons]=\"polygons()\"\n [zoomLevel]=\"zoomLevel()\"\n [latitude]=\"latitude()\"\n [longitude]=\"longitude()\"\n [markers]=\"markers()\"\n ></ax-map>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXMapModule],\n inputs: [],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPMapBoxWidgetViewComponent extends AXPWidgetComponent<AXMapData | undefined> {\n markers = computed(() => this.getValue()?.markers ?? []);\n polygons = computed(() => this.getValue()?.polygons ?? []);\n height = computed<number>(() => this.options()['height'] ?? 300);\n zoomLevel = computed<number>(() => this.options()['zoomLevel'] ?? 13);\n latitude = computed<number>(() => this.options()['latitude'] ?? 35);\n longitude = computed<number>(() => this.options()['longitude'] ?? 51);\n}\n","import { AXMapData, AXMapModule } from '@acorex/components/map';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n HostBinding,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n template: ` <div [style.height.px]=\"height()\" class=\"ax-w-full\">\n <ax-map\n class=\"ax-h-full\"\n (onMarkerChanged)=\"onMarkerChanged($event)\"\n (onPolygonChanged)=\"onPolygonChanged($event)\"\n [hasLocator]=\"hasLocate()\"\n [hasDraw]=\"hasDraw()\"\n [latitude]=\"latitude()\"\n [longitude]=\"longitude()\"\n [zoomLevel]=\"zoomLevel()\"\n [maxMarker]=\"maxMarker()\"\n [maxPolygon]=\"maxPolygon()\"\n [markers]=\"markers()\"\n [polygons]=\"polygons()\"\n >\n </ax-map>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXMapModule],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent<AXMapData | undefined> {\n cdr = inject(ChangeDetectorRef);\n\n markers = computed(() => this.getValue()?.markers ?? []);\n polygons = computed(() => this.getValue()?.polygons ?? []);\n hasDraw = computed<boolean>(() => this.options()['hasDraw'] ?? false);\n hasLocate = computed<boolean>(() => this.options()['hasLocate'] ?? false);\n maxMarker = computed<number>(() => this.options()['maxMarker'] ?? 1);\n maxPolygon = computed<number>(() => this.options()['maxPolygon'] ?? 1);\n zoomLevel = computed<number>(() => this.options()['zoomLevel'] ?? 13);\n latitude = computed<number>(() => this.options()['latitude'] ?? 35);\n longitude = computed<number>(() => this.options()['longitude'] ?? 51);\n height = computed<number>(() => this.options()['height'] ?? 300);\n\n onMarkerChanged($event: import('@acorex/components/map').AXMapMarker[]) {\n this.setValue({ polygons: this.getValue()?.polygons ?? [], markers: $event });\n }\n\n onPolygonChanged($event: import('@acorex/components/map').AXMapPolygon[]) {\n this.setValue({ polygons: $event, markers: this.getValue()?.markers ?? [] });\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetConfig, AXPWidgetsCatalog, AXP_WIDGETS_ADVANCE_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_STYLING_PROPERTY_GROUP } from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPMapBoxWidget: AXPWidgetConfig = {\n name: 'map',\n title: 'Map',\n description: 'Displays and interacts with maps',\n icon: 'fa-solid fa-map-location',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n {\n name: 'height',\n title: 'Height',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n defaultValue: 300,\n dataType: 'number',\n interface: {\n name: 'height',\n path: 'options.height',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 0,\n maxValue: 500,\n },\n },\n },\n visible: true,\n },\n {\n name: 'maxMarker',\n title: 'Max Marker',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n defaultValue: 1,\n dataType: 'number',\n interface: {\n name: 'maxMarker',\n path: 'options.maxMarker',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 0,\n maxValue: 100,\n },\n },\n },\n visible: true,\n },\n {\n name: 'maxPolygon',\n title: 'Max Polygon',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n defaultValue: 1,\n dataType: 'number',\n interface: {\n name: 'maxPolygon',\n path: 'options.maxPolygon',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 0,\n maxValue: 100,\n },\n },\n },\n visible: true,\n },\n\n {\n name: 'latitude',\n title: 'Latitude',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n defaultValue: 35,\n dataType: 'number',\n interface: {\n name: 'latitude',\n path: 'options.latitude',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: -90,\n maxValue: 90,\n },\n },\n },\n visible: true,\n },\n {\n name: 'longitude',\n title: 'Longitude',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n defaultValue: 51,\n dataType: 'number',\n interface: {\n name: 'longitude',\n path: 'options.longitude',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: -180,\n maxValue: 180,\n },\n },\n },\n visible: true,\n },\n {\n name: 'zoomLevel',\n title: 'Zoom Level',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n defaultValue: 13,\n dataType: 'number',\n interface: {\n name: 'zoomLevel',\n path: 'options.zoomLevel',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 2,\n maxValue: 18,\n },\n },\n },\n visible: true,\n },\n {\n name: 'hasLocate',\n title: 'Has Locate',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n name: 'hasLocate',\n path: 'options.hasLocate',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n },\n {\n name: 'hasDraw',\n title: 'Has Draw',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n name: 'hasDraw',\n path: 'options.hasDraw',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n },\n ],\n components: {\n view: {\n component: () => import('./map-box-widget-view.component').then((c) => c.AXPMapBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./map-box-widget-edit.component').then((c) => c.AXPMapBoxWidgetEditComponent),\n },\n print: {\n component: () => import('./map-box-widget-view.component').then((c) => c.AXPMapBoxWidgetViewComponent),\n },\n designer: {\n component: () => import('./map-box-widget-edit.component').then((c) => c.AXPMapBoxWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n map: 'map';\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPSignatureWidgetColumnComponent extends AXPWidgetComponent<any> { }","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, ViewChild, WritableSignal, computed, effect, inject, signal } from '@angular/core';\nimport SignaturePad from 'signature_pad';\n\n@Component({\n selector: 'axp-signature-widget',\n template: `\n <div class=\"ax-flex ax-gap-3\">\n @if(editMode() ){\n <canvas width=\"300\" class=\"ax-border ax-rounded-md\" #padCanvas></canvas>\n <div class=\"ax-flex ax-flex-col ax-col-span-1 ax-gap-3\">\n <ax-button class=\"ax-sm\" (onClick)=\"downloadSVG()\" look=\"outline\" color=\"primary\" [disabled]=\"disabled()\">\n <ax-icon class=\"fas fa-download\"></ax-icon>\n </ax-button>\n <ax-button class=\"ax-sm\" (onClick)=\"undo()\" look=\"outline\" color=\"primary\" [disabled]=\"disabled()\">\n <ax-icon class=\"fas fa-rotate-left\"></ax-icon>\n </ax-button>\n <ax-button class=\"ax-sm\" (onClick)=\"clear()\" look=\"outline\" color=\"danger\" [disabled]=\"disabled()\">\n <ax-icon class=\"fas fa-trash ax-text-danger\"></ax-icon>\n </ax-button>\n </div>\n }@else{\n <div class=\"ax-border ax-rounded\">\n <ax-image [src]=\"this.getValue()\">\n <ax-overlay class=\"ax-flex ax-justify-center\">\n <ax-button look=\"twotone\" color=\"primary\" (onClick)=\"switchEditMode()\" [disabled]=\"disabled()\">\n <ax-icon class=\"far fa-edit\"> </ax-icon>\n </ax-button>\n </ax-overlay>\n </ax-image>\n </div>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXImageModule]\n})\nexport class AXPSignatureWidgetEditComponent extends AXPWidgetComponent<any> {\n\n //TODO: Apply diabled\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected placeholder = computed<string>(() => (this.options()[\"placeholder\"] as string));\n\n @ViewChild('padCanvas') padCanvas!: ElementRef<HTMLCanvasElement>;\n protected signaturePad!: SignaturePad;\n protected editMode: WritableSignal<boolean> = signal(false);\n protected platform = inject(AXPlatform);\n\n override async ngOnInit() {\n super.ngOnInit();\n this.editMode.set(this.getValue() ? false : true);\n }\n\n private changeModeEffect = effect(() => {\n if (this.editMode()) {\n setTimeout(() => {\n this.initPad();\n }, 100);\n }\n });\n\n async initPad() {\n const pad = await import('signature_pad');\n this.signaturePad = new pad.default(this.padCanvas.nativeElement, {});\n this.signaturePad.addEventListener('afterUpdateStroke', () => {\n if (window) {\n //fix canvas ViewBox issue on mobile devices\n const prevDPR = window.devicePixelRatio;\n if (this.platform.is('SM')) {\n window.devicePixelRatio = 1;\n }\n this.setValue(this.getDataURL());\n window.devicePixelRatio = prevDPR;\n }\n });\n }\n\n protected clear() {\n this.signaturePad.clear();\n this.setValue(this.getDataURL());\n }\n\n private getDataURL() {\n return this.signaturePad.toDataURL('image/svg+xml');\n }\n\n protected downloadSVG() {\n const link = document.createElement('a');\n link.href = this.getDataURL();\n link.target = '_blank';\n link.download = 'download';\n link.click();\n }\n\n protected async switchEditMode() {\n this.editMode.update((prev) => !prev);\n }\n\n protected undo() {\n let data = this.signaturePad.toData();\n if (data) {\n data.pop();\n this.signaturePad.fromData(data);\n this.setValue(this.getDataURL());\n }\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPSignatureWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSignatureWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXImageModule } from '@acorex/components/image';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-signature-widget',\n template: `\n <div class=\"ax-w-full md:ax-w-auto ax-h-36 ax-border ax-rounded-md ax-flex ax-justify-center ax-items-center\">\n @if(internalValue()){\n <ax-image [src]=\"internalValue()\"></ax-image>\n }@else{\n <span>{{placeholder()}}</span>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXImageModule],\n inputs: []\n})\nexport class AXPSignatureWidgetViewComponent extends AXPWidgetComponent<any> {\n protected placeholder = computed<string>(() => (this.options()[\"placeholder\"] as string) ?? 'Not Set!');\n\n protected internalValue = computed(() => this.getValue());\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_ADVANCE_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\n\n\nexport const AXPSignatureWidget: AXPWidgetConfig = {\n name: 'signature',\n title: 'Signature',\n description: 'Captures digital signatures',\n icon: 'fa-solid fa-file-signature',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_VALIDATION_PROPERTY],\n components: {\n view: {\n component: () => import('./signature-pad-widget-view.component').then((c) => c.AXPSignatureWidgetViewComponent),\n },\n edit: {\n component: () => import('./signature-pad-widget-edit.component').then((c) => c.AXPSignatureWidgetEditComponent),\n },\n column: {\n component: () => import('./signature-pad-widget-column.component').then((c) => c.AXPSignatureWidgetColumnComponent),\n },\n print: {\n component: () => import('./signature-pad-widget-print.component').then((c) => c.AXPSignatureWidgetPrintComponent),\n },\n designer: {\n component: () => import('./signature-pad-widget-edit.component').then((c) => c.AXPSignatureWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n signature: 'signature';\n }\n}\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\n\nimport {\n AXPDesignerAddWidgetMiniButtonComponent,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { AXPFlexBoxValues } from '../../property-editors/flex-options';\nimport { AXPBorderBoxString, AXPSpacingBoxString } from '../../property-editors/property-editor.type';\n\n@Component({\n selector: 'axp-block-widget',\n template: `\n @for (node of children(); track $index) {\n <ng-container\n axp-widget-designer-renderer\n [node]=\"node\"\n [parentNode]=\"this\"\n [mode]=\"this.mode\"\n [locked]=\"this.locked\"\n ></ng-container>\n } @empty {\n <axp-designer-add-widget-mini-button\n class=\"ax-flex-1 ax-self-center ax-place-self-end\"\n ></axp-designer-add-widget-mini-button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n AXPDesignerAddWidgetMiniButtonComponent,\n ],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPBlockWidgetDesignerComponent,\n },\n ],\n})\nexport class AXPBlockWidgetDesignerComponent extends AXPWidgetComponent<void> {\n protected backgroundColor = computed<string>(() => this.options()['backgroundColor'] as string);\n protected cssClass = computed<string>(() => this.options()['cssClass'] as string);\n protected flexAlignItems = computed<string>(() => this.options()['flexAlignItems']?.id);\n protected flexJustifyContent = computed<string>(() => this.options()['flexJustifyContent']?.id);\n protected flexWrap = computed<string>(() => this.options()['flexWrap']?.id);\n protected flexDirection = computed<string>(() => this.options()['flexDirection']?.id);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-w-full`] = true;\n cls[`ax-widget-outline`] = true;\n //\n cls[`ax-flex`] = true;\n cls[`ax-gap-${this.gap()}`] = true;\n //\n if (this.flexAlignItems()) {\n cls[this.flexAlignItems()] = true;\n }\n if (this.flexJustifyContent()) {\n cls[this.flexJustifyContent()] = true;\n }\n if (this.flexWrap()) {\n cls[this.flexWrap()] = true;\n }\n if (this.flexDirection()) {\n cls[this.flexDirection()] = true;\n }\n return cls;\n }\n // TEST PURPOSE ONLY\n // eff = effect(() => console.log(this.options()['flexOptions']));\n\n @HostBinding('style')\n private get __style(): any {\n const spacing: AXPSpacingBoxString = this.options()['spacing'];\n const border: AXPBorderBoxString = this.options()['border'];\n const flex: AXPFlexBoxValues = this.options()['flexOptions'];\n return {\n // Background\n 'background-color': this.backgroundColor(),\n\n // Spacing\n padding: spacing.padding,\n margin: spacing.margin,\n\n // Border\n 'border-radius': border.radius,\n 'border-width': border.width,\n 'border-color': border.color,\n 'border-style': border.style,\n\n // Flexbox\n 'flex-direction': flex?.flexDirection ?? 'row',\n 'flex-wrap': flex?.flexWrap ?? 'nowrap',\n 'justify-content': flex?.justifyContent ?? 'flex-start',\n 'align-items': flex?.alignItems ?? 'flex-start',\n gap: flex?.gap ?? '0px',\n };\n }\n}\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\nimport { AXPBorderBoxString, AXPSpacingBoxString } from '../../property-editors/property-editor.type';\n\n@Component({\n selector: 'axp-block-widget',\n template: `\n @for (node of children(); track $index) {\n <ng-container\n axp-widget-renderer\n [node]=\"node\"\n [index]=\"index\"\n [parentNode]=\"this\"\n [mode]=\"this.mode\"\n ></ng-container>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule],\n})\nexport class AXPBlockWidgetViewComponent extends AXPWidgetComponent<void> {\n protected backgroundColor = computed<string>(() => this.options()['backgroundColor'] as string);\n protected cssClass = computed<string>(() => this.options()['cssClass'] as string);\n protected flexAlignItems = computed<string>(() => this.options()['flexAlignItems']?.id);\n protected flexJustifyContent = computed<string>(() => this.options()['flexJustifyContent']?.id);\n protected flexWrap = computed<string>(() => this.options()['flexWrap']?.id);\n protected flexDirection = computed<string>(() => this.options()['flexDirection']?.id);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-w-full`] = true;\n //\n cls[`ax-flex`] = true;\n cls[`ax-gap-${this.gap()}`] = true;\n //\n if (this.flexAlignItems()) {\n cls[this.flexAlignItems()] = true;\n }\n if (this.flexJustifyContent()) {\n cls[this.flexJustifyContent()] = true;\n }\n if (this.flexWrap()) {\n cls[this.flexWrap()] = true;\n }\n if (this.flexDirection()) {\n cls[this.flexDirection()] = true;\n }\n\n return cls;\n }\n\n @HostBinding('style')\n private get __style(): any {\n const spacing: AXPSpacingBoxString = this.options()['spacing'];\n const border: AXPBorderBoxString = this.options()['border'];\n return {\n // Background\n 'background-color': this.backgroundColor(),\n\n padding: spacing.padding,\n\n margin: spacing.margin,\n\n 'border-radius': border.radius,\n\n 'border-width': border.width,\n\n 'border-color': border.color,\n\n 'border-style': border.style,\n };\n }\n}\n","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY } from '../../../properties';\nimport {\n AXP_LAYOUT_BORDER_PROPERTY,\n AXP_LAYOUT_FLEX_PROPERTIES,\n AXP_LAYOUT_FLEX_PROPERTY,\n AXP_LAYOUT_SPACING_PROPERTY,\n} from '../../../properties/layout.props';\n\nexport const AXPBlockWidget: AXPWidgetConfig<AXPBlockWidgetConfigType> = {\n name: 'block-layout',\n type: 'container',\n title: 'Block',\n description: 'Organizes content in blocks',\n icon: 'fa-solid fa-block',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n options: {\n canInsert: true,\n },\n properties: [\n AXP_NAME_PROPERTY,\n // AXP_FONT_SIZE_PROPERTY,\n // cloneProperty(AXP_BG_COLOR_PROPERTY, { schema: { defaultValue: null } }),\n ...AXP_LAYOUT_FLEX_PROPERTIES,\n AXP_LAYOUT_SPACING_PROPERTY,\n AXP_LAYOUT_BORDER_PROPERTY,\n AXP_LAYOUT_FLEX_PROPERTY,\n ],\n components: {\n designer: {\n component: () => import('./block-widget-designer.component').then((c) => c.AXPBlockWidgetDesignerComponent),\n },\n edit: {\n component: () => import('./block-widget-view.component').then((c) => c.AXPBlockWidgetViewComponent),\n },\n print: {\n component: () => import('./block-widget-view.component').then((c) => c.AXPBlockWidgetViewComponent),\n },\n view: {\n component: () => import('./block-widget-view.component').then((c) => c.AXPBlockWidgetViewComponent),\n },\n },\n};\n\nexport type AXPBlockWidgetConfigType = {\n type: 'container';\n};\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'axp-page-widget',\n template: `\n @for (node of children(); track $index) {\n <ng-container axp-widget-renderer [node]=\"node\" [index]=\"index\" [parentNode]=\"this\" [mode]=\"this.mode\"></ng-container>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, AXPLayoutBuilderModule]\n})\nexport class AXPPageWidgetViewComponent extends AXPWidgetComponent<void> {\n\n protected backgroundColor = computed<string>(() => this.options()[\"backgroundColor\"] as string);\n\n @HostBinding('style')\n private get __style(): any {\n return {\n 'background-color': this.backgroundColor(),\n };\n }\n\n}","import {\n AXPWidgetConfig,\n AXP_WIDGETS_LAYOUT_GROUP,\n cloneProperty,\n createBooleanProperty,\n} from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP } from '../../../properties';\nimport { AXP_BG_COLOR_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_THEME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPPageWidget: AXPWidgetConfig = {\n name: 'page-layout',\n title: 'Page',\n description: 'Structures the entire page',\n icon: 'fa-solid fa-page',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n visible: false,\n properties: [\n AXP_THEME_PROPERTY,\n cloneProperty(AXP_BG_COLOR_PROPERTY, { schema: { defaultValue: '#ffffff' } }),\n AXP_FONT_SIZE_PROPERTY,\n createBooleanProperty({\n name: 'hasHeader',\n path: 'options.hasHeader',\n title: 'Header',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n }),\n createBooleanProperty({\n name: 'hasFooter',\n path: 'options.hasFooter',\n title: 'Footer',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n }),\n ],\n components: {\n view: {\n component: () => import('./page-widget-view.component').then((c) => c.AXPPageWidgetViewComponent),\n },\n edit: {\n component: () => import('./page-widget-view.component').then((c) => c.AXPPageWidgetViewComponent),\n },\n print: {\n component: () => import('./page-widget-view.component').then((c) => c.AXPPageWidgetViewComponent),\n },\n designer: {\n component: () => import('./page-widget-designer.component').then((c) => c.AXPPageWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n pageLayout: 'page-layout';\n }\n}\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, WritableSignal, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-repeater-widget',\n template: `\n @for(row of rows();let i=$index; track i)\n {\n @for (node of children();track $index) \n {\n <ng-container axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [index]=\"i\" [mode]=\"this.mode\"></ng-container>\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXPLayoutBuilderModule]\n})\nexport class AXPRepeaterWidgetViewComponent extends AXPWidgetComponent<any[]> {\n protected rows: WritableSignal<any[]> = signal([]);\n\n ngAfterViewInit() {\n this.rows.set(this.getValue() ?? []);\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPLayoutBuilderModule, AXPLayoutElementAPI, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-repeater-widget',\n template: `\n @if(hasControls())\n {\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-items-center\">\n @for(row of rows();let i=$index; track i)\n {\n <div class=\"ax-col-span-11\">\n <ng-container [ngTemplateOutlet]=\"tpl\" [ngTemplateOutletContext]=\"{index:i}\"></ng-container>\n </div>\n <ax-button\n [disabled]=\"disabled()\"\n look=\"twotone\"\n color=\"danger\"\n (onClick)=\"handleRemoveItemClick(i)\"\n class=\"ax-col-start-12 ax-col-end-13 ax-justify-self-end ax-self-end\"\n >\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n }\n @empty {\n <ng-container [ngTemplateOutlet]=\"empty\" ></ng-container>\n } \n <ax-button\n [text]=\"rows().length ? 'Start Adding Items':'Add Your First Item'\"\n look=\"twotone\"\n [disabled]=\"disabled()\"\n (onClick)=\"handleAddItemClick()\"\n class=\"ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n @else {\n @for(row of rows();let i=$index; track i)\n {\n <ng-container [ngTemplateOutlet]=\"tpl\" [ngTemplateOutletContext]=\"{index:i}\"></ng-container>\n }\n @empty {\n <ng-container [ngTemplateOutlet]=\"empty\" ></ng-container>\n } \n }\n <ng-template #tpl let-index=\"index\"> \n @for (node of children();track $index) \n {\n <ng-container axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [index]=\"index\" [mode]=\"this.mode\"></ng-container>\n }\n \n </ng-template>\n <ng-template #empty>\n <div class=\"ax-col-start-1 ax-col-end-10 ax-text-sm ax-text-gray-400\">\n You haven't added any items yet. Click “Start Adding Items” to get started!\n </div>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXPLayoutBuilderModule]\n})\nexport class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent<any> {\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected hasControls = computed<boolean>(() => this.options()[\"hasControls\"] as boolean);\n\n protected rows = computed<any[]>(() => {\n return this.convertValueToArray() ?? [];\n })\n\n\n protected handleAddItemClick() {\n this.addNew();\n }\n\n protected handleRemoveItemClick(i: number) {\n this.removeItem(i);\n\n }\n\n public addNew() {\n const newValue = [...(this.convertValueToArray() ?? []), {}];\n this.setValue(newValue);\n }\n\n public removeItem(index: number) {\n const currentArray = [...this.convertValueToArray()];\n currentArray.splice(index, 1);\n this.setValue(currentArray);\n }\n\n\n private convertValueToArray(): any[] {\n return this.getValue() ?\n Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()] :\n [];\n }\n\n override api(): AXPLayoutElementAPI {\n return {\n \"addNew\": this.addNew.bind(this)\n }\n }\n\n\n}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n selector: 'axp-repeater-widget',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPRepeaterWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPWidgetComponent, AXPLayoutBuilderModule, } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetMiniButtonComponent, AXPDesignerService, AXPWidgetDesignerRendererDirective } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\n@Component({\n selector: 'axp-repeater-widget',\n template: `\n @if(hasControls())\n {\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <div class=\"ax-col-span-11\">\n <ng-container [ngTemplateOutlet]=\"tpl\" ></ng-container>\n </div>\n <ax-button\n [disabled]=\"disabled()\"\n look=\"twotone\"\n color=\"danger\"\n class=\"ax-col-start-12 ax-col-end-13 ax-justify-self-end ax-self-end\"\n >\n <ax-icon icon=\"fa-regular fa-xmark\"></ax-icon>\n </ax-button>\n <ax-button\n [text]=\"'Add New'\"\n look=\"twotone\"\n [disabled]=\"disabled()\"\n class=\"ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n @else {\n <ng-container [ngTemplateOutlet]=\"tpl\"></ng-container>\n }\n <ng-template #tpl>\n @for (node of children();track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\" [locked]=\"this.locked\"> </ng-container>\n }\n @empty {\n <axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>\n }\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetMiniButtonComponent],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPRepeaterWidgetDesignerComponent\n }\n ]\n})\nexport class AXPRepeaterWidgetDesignerComponent extends AXPWidgetComponent<void> {\n\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected hasControls = computed<boolean>(() => this.options()[\"hasControls\"] as boolean);\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-block`] = true;\n cls[`ax-w-full`] = true;\n return cls;\n }\n\n}","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP, createBooleanProperty } from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\nexport const AXPRepeaterWidget: AXPWidgetConfig = {\n name: 'repeater-layout',\n title: 'Repeater',\n description: 'Adds repeating form elements',\n icon: 'fa-solid fa-table-list',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n createBooleanProperty({\n name: \"hasControls\",\n title: \"Controls\",\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n defaultValue: true,\n path: \"options.hasControls\",\n })\n ],\n components: {\n view: {\n component: () => import('./repeater-widget-view.component').then((c) => c.AXPRepeaterWidgetViewComponent),\n },\n edit: {\n component: () => import('./repeater-widget-edit.component').then((c) => c.AXPRepeaterWidgetEditComponent),\n },\n print: {\n component: () => import('./repeater-widget-print.component').then((c) => c.AXPRepeaterWidgetPrintComponent),\n },\n designer: {\n component: () => import('./repeater-widget-designer.component').then((c) => c.AXPRepeaterWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n repeaterLayout: 'repeater-layout';\n }\n}\n","import {\n AXPBorderBox,\n AXPBorderBoxString,\n AXPPropertyCorners,\n AXPPropertySides,\n AXPSpacingBox,\n AXPSpacingBoxString,\n} from './property-editor.type';\n\n/**\n * Utility class for parsing and handling property editor values like borders, spacing, and units.\n */\nexport class AXPPropertyEditorHelper {\n /**\n * Expands shorthand input values into full sets for sides or corners.\n * @param values - Array of input values.\n * @returns Expanded array of values.\n */\n private static expandShorthand<T extends string>(values: T[]): T[] {\n switch (values.length) {\n case 1:\n return [values[0], values[0], values[0], values[0]];\n case 2:\n return [values[0], values[1], values[0], values[1]];\n case 3:\n return [values[0], values[1], values[2], values[1]];\n case 4:\n return values;\n default:\n throw new Error(`Invalid shorthand value count. Input: ${values}`);\n }\n }\n\n /**\n * @param values An array of four values to condense.\n * @returns A condensed string representation of the values.\n */\n private static condenseShorthand<T>(values: T[]): string {\n if (values.length !== 4) {\n throw new Error('Expected 4 values for condensation.');\n }\n\n if (values[0] === values[1] && values[1] === values[2] && values[2] === values[3]) {\n return `${values[0]}`;\n } else if (values[0] === values[2] && values[1] === values[3]) {\n return `${values[0]} ${values[1]}`;\n } else if (values[1] === values[3]) {\n return `${values[0]} ${values[1]} ${values[2]}`;\n } else {\n return `${values[0]} ${values[1]} ${values[2]} ${values[3]}`;\n }\n }\n\n /**\n * Parses sides (top, left, bottom, right) from a string.\n * @param input - Input string.\n * @returns Parsed sides object.\n */\n private static parseSides(input: string): AXPPropertySides {\n const values = this.expandShorthand(input.match(/(?:rgb\\([^)]+\\)|[^ ]+)/g)?.map((value) => value.trim()) || []);\n return { top: values[0], right: values[1], bottom: values[2], left: values[3] };\n }\n\n private static parseSidesWithUnits(input: string): AXPPropertySides<number> {\n const values = this.expandShorthand(input.match(/(?:rgb\\([^)]+\\)|[^ ]+)/g)?.map((value) => value.trim()) || []);\n return {\n top: AXPPropertyEditorHelper.getValueWithUnit(values[0]).value,\n right: AXPPropertyEditorHelper.getValueWithUnit(values[1]).value,\n bottom: AXPPropertyEditorHelper.getValueWithUnit(values[2]).value,\n left: AXPPropertyEditorHelper.getValueWithUnit(values[3]).value,\n };\n }\n\n /**\n * Parses corners (top-left, top-right, bottom-left, bottom-right) from a string.\n * @param input - Input string.\n * @returns Parsed corners object.\n */\n private static parseCorners(input: string): AXPPropertyCorners<number> {\n const values = this.expandShorthand(input.split(' ').map((value) => value.trim()));\n return {\n 'top-left': AXPPropertyEditorHelper.getValueWithUnit(values[0]).value,\n 'top-right': AXPPropertyEditorHelper.getValueWithUnit(values[1]).value,\n 'bottom-left': AXPPropertyEditorHelper.getValueWithUnit(values[2]).value,\n 'bottom-right': AXPPropertyEditorHelper.getValueWithUnit(values[3]).value,\n };\n }\n\n /**\n * Parses a spacing box from strings for margin and padding.\n * @param input - Spacing box string input.\n * @returns Parsed spacing box.\n */\n public static parseSpacingBox(input: AXPSpacingBoxString): AXPSpacingBox<number> {\n return {\n margin: this.parseSidesWithUnits(input.margin),\n padding: this.parseSidesWithUnits(input.padding),\n };\n }\n\n /**\n * Parses a border box from strings for width, radius, color, and style.\n * @param input - Border box string input.\n * @returns Parsed border box.\n */\n public static parseBorderBox(input: AXPBorderBoxString): AXPBorderBox<number | string> {\n return {\n width: this.parseSidesWithUnits(input.width),\n radius: this.parseCorners(input.radius),\n color: this.parseSides(input.color),\n style: this.parseSides(input.style),\n };\n }\n\n /**\n * Reverses a spacing box object into a string representation.\n * @param input - Spacing box object.\n * @param units - Units for margin and padding.\n * @returns String representation of the spacing box.\n */\n public static parseSpacingBoxReverse(\n input: AXPSpacingBox<number>,\n units: AXPSpacingBox<string>\n ): AXPSpacingBoxString {\n const format = (value: number, unit: string) => `${value}${unit}`;\n return {\n margin: AXPPropertyEditorHelper.condenseShorthand([\n format(input.margin.top, units.margin.top),\n format(input.margin.right, units.margin.right),\n format(input.margin.bottom, units.margin.bottom),\n format(input.margin.left, units.margin.left),\n ]),\n padding: AXPPropertyEditorHelper.condenseShorthand([\n format(input.padding.top, units.padding.top),\n format(input.padding.right, units.padding.right),\n format(input.padding.bottom, units.padding.bottom),\n format(input.padding.left, units.padding.left),\n ]),\n };\n }\n\n /**\n * Reverses a border box object into a string representation.\n * @param input - Border box object.\n * @param units - Units for width, radius, color, and style.\n * @returns String representation of the border box.\n */\n public static parseBorderBoxReverse(\n input: AXPBorderBox<number | string>,\n units: AXPBorderBox<string>\n ): AXPBorderBoxString {\n const format = (value: number | string, unit: string) => `${value}${unit}`;\n\n return {\n width: AXPPropertyEditorHelper.condenseShorthand([\n format(input.width.top, units.width.top),\n format(input.width.right, units.width.right),\n format(input.width.bottom, units.width.bottom),\n format(input.width.left, units.width.left),\n ]),\n radius: AXPPropertyEditorHelper.condenseShorthand([\n format(input.radius['top-left'], units.radius['top-left']),\n format(input.radius['top-right'], units.radius['top-right']),\n format(input.radius['bottom-right'], units.radius['bottom-right']),\n format(input.radius['bottom-left'], units.radius['bottom-left']),\n ]),\n color: AXPPropertyEditorHelper.condenseShorthand([\n `${input.color.top}${units.color.top}`,\n `${input.color.right}${units.color.right}`,\n `${input.color.bottom}${units.color.bottom}`,\n `${input.color.left}${units.color.left}`,\n ]),\n style: AXPPropertyEditorHelper.condenseShorthand([\n `${input.style.top}${units.style.top}`,\n `${input.style.right}${units.style.right}`,\n `${input.style.bottom}${units.style.bottom}`,\n `${input.style.left}${units.style.left}`,\n ]),\n };\n }\n\n /**\n * Parses a value with a unit (e.g., \"20px\") and returns its numeric value and unit.\n * @param input - Input string or number.\n * @returns Object with value and unit.\n */\n public static getValueWithUnit(input: string | number): { value: number; unit: string } {\n if (typeof input === 'number') return { value: input, unit: 'px' };\n if (input === 'auto') return { value: 0, unit: 'px' };\n\n const match = input.match(/^([0-9.]+)([a-z%]*)$/i);\n if (!match) throw new Error(`Invalid unit format: ${input}`);\n\n return { value: parseFloat(match[1]), unit: match[2] || '' };\n }\n\n /**\n * Reverses a numeric value and unit into a single string.\n * @param value - Numeric value.\n * @param unit - Unit string.\n * @returns Combined string.\n */\n public static getValueFromUnit(value: number, unit: string): string {\n return unit ? `${value}${unit}` : `${value}`;\n }\n\n /**\n * Parses a gap string into x and y values and units.\n *\n * @param gapString The gap string to parse (e.g., \"10px\", \"10px 20px\").\n * @returns An object containing the x and y values and units.\n * @throws Error If the gap string is invalid.\n */\n public static parseGap(gapString: string): {\n units: Record<'x' | 'y', string>;\n values: Record<'x' | 'y', number>;\n } {\n const gapValues = gapString.trim().split(/\\s+/);\n\n const result = {\n values: { x: 0, y: 0 },\n units: { x: 'px', y: 'px' },\n };\n\n /**\n * Extracts the numeric value and unit from a gap value string.\n *\n * @param value The gap value string to parse (e.g., \"10px\").\n * @returns An object containing the numeric value and unit.\n * @throws Error If the gap value is invalid.\n */\n function extractValueAndUnit(value: string): { value: number; unit: string } {\n const match = value.match(/^([\\d.]+)([a-z%]*)$/i);\n if (!match) throw new Error(`Invalid gap value: ${value}`);\n return { value: parseFloat(match[1]), unit: match[2] || 'px' };\n }\n\n if (gapValues.length === 1) {\n const { value, unit } = extractValueAndUnit(gapValues[0]);\n result.values.x = value;\n result.units.x = unit;\n result.values.y = value;\n result.units.y = unit;\n } else if (gapValues.length === 2) {\n const { value: xValue, unit: xUnit } = extractValueAndUnit(gapValues[0]);\n const { value: yValue, unit: yUnit } = extractValueAndUnit(gapValues[1]);\n result.values.x = xValue;\n result.units.x = xUnit;\n result.values.y = yValue;\n result.units.y = yUnit;\n } else {\n throw new Error(`Invalid gap string: ${gapString}`);\n }\n\n return result;\n }\n}\n","export type AXPPropertyEditorSideValues = 'top' | 'left' | 'bottom' | 'right';\nexport type AXPPropertyEditorCornerValues = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n\nexport type AXPPropertyEditorSideGeneric<T extends string, U extends string | number = string> = Record<T, U>;\n\nexport type AXPPropertySides<T extends string | number = string> = AXPPropertyEditorSideGeneric<\n AXPPropertyEditorSideValues,\n T\n>;\nexport type AXPPropertyCorners<T extends string | number = string> = AXPPropertyEditorSideGeneric<\n AXPPropertyEditorCornerValues,\n T\n>;\n\nexport interface AXPSpacingBox<T extends string | number = string> {\n margin: AXPPropertySides<T>;\n padding: AXPPropertySides<T>;\n}\n\nexport interface AXPBorderBox<T extends string | number = string> {\n width: AXPPropertySides<T>;\n radius: AXPPropertyCorners<T>;\n color: AXPPropertySides<T>;\n style: AXPPropertySides<T>;\n}\nexport interface AXPSpacingBoxString {\n margin: string;\n padding: string;\n}\n\nexport interface AXPBorderBoxString {\n width: string;\n radius: string;\n color: string;\n style: string;\n}\n\nexport interface AXPSpacingBoxDefaultValues {\n label: string;\n value: number;\n colspan?: number;\n rowspan?: number;\n}\n\nexport const AXP_default_Border_Box_Value: AXPBorderBox<string | number> = {\n width: { top: 0, left: 0, bottom: 0, right: 0 },\n radius: { 'top-left': 0, 'top-right': 0, 'bottom-left': 0, 'bottom-right': 0 },\n color: { top: '#000000', left: '#000000', bottom: '#000000', right: '#000000' },\n style: { top: 'none', left: 'none', bottom: 'none', right: 'none' },\n};\n\nexport const AXP_default_Border_Box_Units: AXPBorderBox<string> = {\n width: { top: 'px', left: 'px', bottom: 'px', right: 'px' },\n radius: { 'top-left': 'px', 'top-right': 'px', 'bottom-left': 'px', 'bottom-right': 'px' },\n color: { top: '', left: '', bottom: '', right: '' },\n style: { top: '', left: '', bottom: '', right: '' },\n};\n\nexport const AXP_default_Spacing_Box_Value: AXPSpacingBox<number> = {\n padding: { top: 0, left: 0, bottom: 0, right: 0 },\n margin: { top: 0, left: 0, bottom: 0, right: 0 },\n};\n\nexport const AXP_default_Spacing_Box_Units: AXPSpacingBox<string> = {\n padding: { top: 'px', left: 'px', bottom: 'px', right: 'px' },\n margin: { top: 'px', left: 'px', bottom: 'px', right: 'px' },\n};\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPPropertyEditorHelper } from '../property-editor-helper';\nimport {\n AXP_default_Border_Box_Units,\n AXP_default_Border_Box_Value,\n AXPBorderBox,\n AXPBorderBoxString,\n AXPPropertyEditorCornerValues,\n AXPPropertyEditorSideValues,\n} from '../property-editor.type';\n\n@Component({\n templateUrl: './border-widget-editor.component.html',\n styleUrl: './border-widget-editor.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXNumberBoxModule,\n FormsModule,\n AXCheckBoxModule,\n AXButtonModule,\n AXDecoratorModule,\n AXRangeSliderModule,\n AXButtonGroupModule,\n AXColorBoxModule,\n ],\n})\nexport class AXPBorderWidgetEditComponent extends AXPWidgetComponent<AXPBorderBoxString> {\n private el = inject(ElementRef);\n\n private allwidth = signal(0);\n private allcolor = signal('rgba(0, 0, 0, 1)');\n private allstyle = signal('none');\n protected allRadius = signal(0);\n\n private units = signal(AXP_default_Border_Box_Units);\n\n private lastRadius = signal<number | null>(null);\n\n protected rendered = signal(false);\n\n protected currentActiveSide = signal<AXPPropertyEditorSideValues | 'all'>('all');\n protected currentActiveRadiusSide = signal<AXPPropertyEditorCornerValues | 'sides' | 'all'>('all');\n\n private allBorderEl = viewChild<ElementRef<HTMLButtonElement>>('allBorderEl');\n private allRadiusEl = viewChild<ElementRef<HTMLButtonElement>>('allRadiusEl');\n\n private currentActiveBorderEl?: HTMLButtonElement;\n private currentActiveRadiusEl?: HTMLButtonElement;\n\n protected calculatedValues = signal(AXP_default_Border_Box_Value);\n\n protected setBorder(\n value: number | [number, number] | string,\n type: keyof AXPBorderBox,\n side: AXPPropertyEditorCornerValues | AXPPropertyEditorSideValues | 'all'\n ) {\n if (!this.rendered()) {\n return;\n }\n\n const currentValue = this.calculatedValues();\n\n if (type === 'radius') {\n this.lastRadius.set(value as number);\n }\n if (side === 'all') {\n this.updateAllValues(type, value as number);\n this.calculatedValues.set({\n ...currentValue,\n [type]: this.getUpdatedAllValues(type, value as number),\n });\n } else {\n this.calculatedValues.set({\n ...currentValue,\n [type]: { ...currentValue[type], [side]: value },\n });\n }\n\n const data = AXPPropertyEditorHelper.parseBorderBoxReverse(this.calculatedValues(), this.units());\n this.setValue(data);\n }\n\n private updateAllValues(type: keyof AXPBorderBox, value: number | string) {\n if (type === 'width') this.allwidth.set(value as number);\n if (type === 'color') this.allcolor.set(value as string);\n if (type === 'radius') this.allRadius.set(value as number);\n if (type === 'style') this.allstyle.set(value as string);\n }\n\n private getUpdatedAllValues(type: keyof AXPBorderBox, value: number | string): Record<string, number | string> {\n return type === 'radius'\n ? { 'top-left': value, 'top-right': value, 'bottom-left': value, 'bottom-right': value }\n : { top: value, left: value, bottom: value, right: value };\n }\n\n protected shownWidth = computed(() =>\n this.currentActiveSide() === 'all'\n ? this.allwidth()\n : (this.calculatedValues().width[this.currentActiveSide() as AXPPropertyEditorSideValues] as number)\n );\n // protected shownRadius = computed(() => {\n // return this.currentActiveRadiusSide() === 'all'\n // ? this.allRadius()\n // : (this.calculatedValues().radius[this.currentActiveRadiusSide() as AXPPropertyEditorCornerValues] as number);\n // });\n protected shownColor = computed(() =>\n this.currentActiveSide() === 'all'\n ? this.allcolor()\n : (this.calculatedValues().color[this.currentActiveSide() as AXPPropertyEditorSideValues] as string)\n );\n protected shownStyle = computed(() =>\n this.currentActiveSide() === 'all'\n ? this.allstyle()\n : (this.calculatedValues().style[this.currentActiveSide() as AXPPropertyEditorSideValues] as string)\n );\n\n protected handleActiveBorderSide(event: PointerEvent) {\n event.stopPropagation();\n\n if (this.currentActiveBorderEl) {\n this.currentActiveBorderEl.style.backgroundColor = 'transparent';\n }\n\n this.currentActiveBorderEl = event.currentTarget as HTMLButtonElement;\n\n const newActiveSide = this.currentActiveBorderEl.name as AXPPropertyEditorSideValues | 'all';\n const previousActiveSide = this.currentActiveSide();\n\n if (newActiveSide === 'all' && previousActiveSide !== 'all') {\n const lastValues = this.calculatedValues();\n const lastUnits = this.units();\n\n const lastWidth = lastValues.width[previousActiveSide as AXPPropertyEditorSideValues] as number;\n const lastColor = lastValues.color[previousActiveSide as AXPPropertyEditorSideValues] as string;\n const lastStyle = lastValues.style[previousActiveSide as AXPPropertyEditorSideValues] as string;\n const lastRadiusObject = lastValues.radius;\n\n const lastWidthUnit = lastUnits.width[previousActiveSide as AXPPropertyEditorSideValues];\n const lastColorUnit = lastUnits.color[previousActiveSide as AXPPropertyEditorSideValues];\n const lastStyleUnit = lastUnits.style[previousActiveSide as AXPPropertyEditorSideValues];\n const lastRadiusObjectUnit = lastUnits.radius;\n\n this.allwidth.set(lastWidth);\n this.allcolor.set(lastColor);\n this.allstyle.set(lastStyle);\n\n this.units.set({\n width: this.createUniformValues(lastWidthUnit),\n color: this.createUniformValues(lastColorUnit),\n style: this.createUniformValues(lastStyleUnit),\n radius: lastRadiusObjectUnit,\n });\n\n this.calculatedValues.set({\n width: this.createUniformValues(lastWidth),\n color: this.createUniformValues(lastColor),\n style: this.createUniformValues(lastStyle),\n radius: lastRadiusObject,\n });\n\n const data = AXPPropertyEditorHelper.parseBorderBoxReverse(this.calculatedValues(), this.units());\n this.setValue(data);\n }\n\n this.currentActiveSide.set(newActiveSide);\n\n this.currentActiveBorderEl.style.backgroundColor = 'var(--focus-color)';\n }\n\n protected handleActiveRadiusSide(event: PointerEvent) {\n event.stopPropagation();\n\n if (this.currentActiveRadiusEl) {\n this.currentActiveRadiusEl.style.backgroundColor = 'transparent';\n }\n this.currentActiveRadiusEl = event.currentTarget as HTMLButtonElement;\n const newActiveRadiusSide = this.currentActiveRadiusEl.name as 'sides' | 'all';\n if (newActiveRadiusSide === 'all' && this.lastRadius() !== null) {\n this.calculatedValues.update((old) => ({\n ...old,\n radius: {\n 'bottom-left': this.lastRadius()!,\n 'bottom-right': this.lastRadius()!,\n 'top-left': this.lastRadius()!,\n 'top-right': this.lastRadius()!,\n },\n }));\n this.allRadius.set(this.lastRadius()!);\n const data = AXPPropertyEditorHelper.parseBorderBoxReverse(this.calculatedValues(), this.units());\n this.setValue(data);\n }\n\n this.currentActiveRadiusSide.set(newActiveRadiusSide);\n this.currentActiveRadiusEl.style.backgroundColor = 'var(--focus-color)';\n }\n\n private afterRender = afterNextRender(() => {\n if (this.getValue()) {\n this.calculatedValues.set(AXPPropertyEditorHelper.parseBorderBox(this.getValue()));\n }\n this.initializeBorder();\n this.initializeRadius();\n this.rendered.set(true);\n });\n\n private initializeBorder(): void {\n const widthValue = this.calculatedValues().width;\n const widthColor = this.calculatedValues().color;\n const widthStyle = this.calculatedValues().style;\n const [firstWidthValue, ...restWidthValues] = Object.values(widthValue);\n const [firstColorValue, ...restColorValues] = Object.values(widthColor);\n const [firstStyleValue, ...restStyleValues] = Object.values(widthStyle);\n\n if (\n restWidthValues.every((value) => value === firstWidthValue) &&\n restColorValues.every((value) => value === firstColorValue) &&\n restStyleValues.every((value) => value === firstStyleValue)\n ) {\n this.allcolor.set(firstColorValue as string);\n this.allstyle.set(firstStyleValue as string);\n this.allwidth.set(firstWidthValue as number);\n this.currentActiveSide.set('all');\n this.currentActiveBorderEl = this.allBorderEl()?.nativeElement;\n if (this.currentActiveBorderEl) {\n this.currentActiveBorderEl.style.backgroundColor = 'var(--focus-color)';\n }\n } else {\n const sides: AXPPropertyEditorSideValues[] = ['top', 'right', 'bottom', 'left'];\n for (const side of sides) {\n if (widthValue[side]) {\n this.currentActiveSide.set(side);\n const element = (this.el.nativeElement as HTMLElement).querySelector<HTMLButtonElement>(\n `button[name=\"${side}\"]`\n );\n if (element) {\n this.currentActiveBorderEl = element;\n element.style.backgroundColor = 'var(--focus-color)';\n }\n break;\n }\n }\n }\n }\n\n private initializeRadius(): void {\n const values = this.calculatedValues().radius;\n const [firstValue, ...restValues] = Object.values(values);\n\n if (restValues.every((value) => value === firstValue)) {\n this.currentActiveRadiusSide.set('all');\n this.currentActiveRadiusEl = this.allRadiusEl()?.nativeElement;\n if (this.currentActiveRadiusEl) {\n this.currentActiveRadiusEl.style.backgroundColor = 'var(--focus-color)';\n this.allRadius.set(firstValue as number);\n }\n } else {\n const element = (this.el.nativeElement as HTMLElement).querySelector<HTMLButtonElement>(`button[name=\"sides\"]`);\n if (element) {\n this.currentActiveRadiusSide.set('sides');\n this.currentActiveRadiusEl = element;\n element.style.backgroundColor = 'var(--focus-color)';\n }\n }\n }\n\n private createUniformValues<T>(value: T): Record<AXPPropertyEditorSideValues, T> {\n return {\n top: value,\n right: value,\n bottom: value,\n left: value,\n };\n }\n\n // private debugEffect1 = effect(() => {\n // console.log(this.currentActiveSide());\n // });\n // private debugEffect2 = effect(() => {\n // console.log(this.calculatedValues());\n // });\n // private debugEffect3 = effect(() => {\n // console.log(this.getValue());\n // });\n}\n","<div class=\"ax-pt-2 axp-border-container\">\n <div class=\"ax-radius-box ax-flex ax-justify-between ax-items-center ax-gap-2 ax-h-[26px]\">\n <span class=\"ax-text-sm ax-font-light\">Radius</span>\n <div class=\"ax-flex ax-gap-2 ax-items-center\">\n <button\n #allRadiusEl\n (pointerdown)=\"handleActiveRadiusSide($event)\"\n name=\"all\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M2.5 5.5C2.5 3.84315 3.84315 2.5 5.5 2.5H10.5C12.1569 2.5 13.5 3.84315 13.5 5.5V10.5C13.5 12.1569 12.1569 13.5 10.5 13.5H5.5C3.84315 13.5 2.5 12.1569 2.5 10.5V5.5Z\"\n stroke=\"currentColor\"\n ></path>\n </svg>\n </button>\n\n <button\n (pointerdown)=\"handleActiveRadiusSide($event)\"\n name=\"sides\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M4.5 2C3.11929 2 2 3.11929 2 4.5V7H3V4.5C3 3.67157 3.67157 3 4.5 3H7V2H4.5Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M9 2V3H11.5C12.3284 3 13 3.67157 13 4.5V7H14V4.5C14 3.11929 12.8807 2 11.5 2H9Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M14 9H13V11.5C13 12.3284 12.3284 13 11.5 13H9V14H11.5C12.8807 14 14 12.8807 14 11.5V9Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M7 14V13H4.5C3.67157 13 3 12.3284 3 11.5V9H2V11.5C2 12.8807 3.11929 14 4.5 14H7Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </button>\n\n @if(currentActiveRadiusSide() ==='all'){\n <div class=\"ax-flex ax-justify-center ax-items-center ax-flex-shrink\">\n <ax-range-slider\n [values]=\"allRadius()\"\n [min]=\"0\"\n [max]=\"100\"\n (valuesChange)=\"setBorder($event ?? 0, 'radius', 'all')\"\n class=\"ax-min-w-28\"\n ></ax-range-slider>\n </div>\n <div class=\"ax-flex ax-justify-start ax-items-center\">\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"100\"\n [value]=\"allRadius()\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'all')\"\n class=\"ax-min-w-8\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n }@else{\n <div class=\"ax-w-48\"></div>\n }\n </div>\n </div>\n\n <div\n class=\"axp-border-radius-sides ax-flex ax-justify-end ax-items-center ax-overflow-y-hidden ax-transition-[height] ax-duration-300 ax-ease-in-out\"\n [class]=\"currentActiveRadiusSide() === 'all' ? '!ax-h-0' : '!ax-h-[56px]'\"\n >\n <div class=\"ax-grid ax-grid-cols-2 ax-grid-rows-2 ax-gap-2\">\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M14 14V9H13V13H9V14H14Z\" fill=\"currentColor\"></path>\n <path d=\"M7 14V13H3V9H2V14H7Z\" fill=\"currentColor\"></path>\n <path d=\"M2 7H3V6.5C3 4.567 4.567 3 6.5 3H7V2H6.5C4.01472 2 2 4.01472 2 6.5V7Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M2.5 7V6.5C2.5 4.29086 4.29086 2.5 6.5 2.5H7\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['top-left']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'top-left')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 14V9H3V13H7V14H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 14V13H13V9H14V14H9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M14 7H13V6.5C13 4.567 11.433 3 9.5 3H9V2H9.5C11.9853 2 14 4.01472 14 6.5V7Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M7 2V3H3V7H2V2H7Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M13.5 7V6.5C13.5 4.29086 11.7091 2.5 9.5 2.5H9\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['top-right']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'top-right')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 2V7H3V3H7V2H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n <path d=\"M14 9H13V13H9V14H14V9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M7 14V13H6.5C4.567 13 3 11.433 3 9.5V9H2V9.5C2 11.9853 4.01472 14 6.5 14H7Z\"\n fill=\"currentColor\"\n ></path>\n </g>\n <path d=\"M2.5 9V9.5C2.5 11.7091 4.29086 13.5 6.5 13.5H7\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['bottom-left']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'bottom-left')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 2V7H3V3H7V2H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M14 9H13V11.5C13 12.3284 12.3284 13 11.5 13H9V14H11.5C12.8807 14 14 12.8807 14 11.5V9Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M7 14V13H3V9H2V14H7Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M13.5 9V9.5C13.5 11.7091 11.7091 13.5 9.5 13.5H9\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['bottom-right']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'bottom-right')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"ax-flex ax-justify-between ax-items-center ax-py-1\">\n <span class=\"ax-text-sm ax-font-light\">Borders</span>\n </div>\n\n <div class=\"ax-border-box ax-flex ax-justify-between ax-items-center ax-gap-4\">\n <div class=\"ax-grid ax-grid-cols-3 ax-grid-rows-3 ax-gap-1 ax-flex-shrink-0\">\n <!-- Top Border -->\n <div class=\"ax-border-box-top ax-col-start-2 ax-row-start-1\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"top\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 13C2 13.5523 2.44772 14 3 14H13C13.5523 14 14 13.5523 14 13V5H13V13H3V5H2V13Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 3H14V2H2V3Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Right Border -->\n <div class=\"ax-border-box-right ax-col-start-3 ax-row-start-2\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"right\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3 2C2.44772 2 2 2.44772 2 3L2 13C2 13.5523 2.44772 14 3 14L11 14L11 13L3 13L3 3L11 3L11 2L3 2Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13 2L13 14L14 14L14 2L13 2Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Bottom Border -->\n <div class=\"ax-border-box-bottom ax-col-start-2 ax-row-start-3\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"bottom\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 3C2 2.44772 2.44772 2 3 2H13C13.5523 2 14 2.44772 14 3V11H13V3H3V11H2V3Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 13H14V14H2V13Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Left Border -->\n <div class=\"ax-border-box-left ax-col-start-1 ax-row-start-2\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"left\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13 2C13.5523 2 14 2.44772 14 3L14 13C14 13.5523 13.5523 14 13 14L5 14L5 13L13 13L13 3L5 3L5 2L13 2Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 2L3 14L2 14L2 2L3 2Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- All -->\n <div class=\"ax-border-box-all ax-col-start-2 ax-row-start-2\">\n <button\n #allBorderEl\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"all\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 3C2 2.44772 2.44772 2 3 2H13C13.5523 2 14 2.44772 14 3V13C14 13.5523 13.5523 14 13 14H3C2.44772 14 2 13.5523 2 13V3ZM13 3L3 3V13H13V3Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </button>\n </div>\n </div>\n <div class=\"ax-grid ax-grid-cols-[auto_1fr] ax-items-center ax-gap-x-2 ax-gap-y-2\">\n <div class=\"ax-text-sm ax-font-light\">Style</div>\n <ax-button-group [selection]=\"'single'\">\n <ax-button-group-item\n (onClick)=\"setBorder('none', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'none'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.70714 8.00004L12.3536 4.35359L11.6465 3.64648L8.00004 7.29293L4.35359 3.64648L3.64648 4.35359L7.29293 8.00004L3.64648 11.6465L4.35359 12.3536L8.00004 8.70714L11.6465 12.3536L12.3536 11.6465L8.70714 8.00004Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('solid', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'solid'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2 7.5H14\" stroke=\"currentColor\"></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('dashed', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'dashed'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 7H2V8H5V7ZM11 8H12H14V7H12H11V8ZM9.5 7H6.5V8H9.5V7Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('dotted', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'dotted'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4 7H3V8H4V7ZM6 7H5V8H6V7ZM7 7H8V8H7V7ZM10 7H9V8H10V7ZM11 7H12V8H11V7ZM14 7H13V8H14V7Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n </ax-button-group>\n <div class=\"ax-contents\" [class]=\"shownStyle() === 'none' ? 'ax-invisible' : 'ax-visible'\">\n <div class=\"ax-text-sm ax-font-light\">Width</div>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-36\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"shownWidth()\"\n (valueChange)=\"setBorder($event ?? 0, 'width', currentActiveSide())\"\n class=\"ax-min-w-8 ax-exclude\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text>PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n\n <div class=\"ax-text-sm ax-font-light\">Color</div>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-36 ax-overflow-hidden\">\n <ax-color-box\n [value]=\"shownColor()\"\n (valueChange)=\"setBorder($event, 'color', currentActiveSide())\"\n ></ax-color-box>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\nexport const AXPBorderWidget: AXPWidgetConfig = {\n name: 'border',\n title: 'Box Border',\n description: 'Editing Elements Border',\n group: AXP_WIDGETS_EDITOR_GROUP,\n icon: 'fa-solid fa-border',\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],\n components: {\n edit: {\n component: () => import('./border-widget-editor.component').then((c) => c.AXPBorderWidgetEditComponent),\n },\n },\n visible: false,\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n border: 'border';\n }\n}\n","export interface AXPFlexBoxValues {\n flexDirection: 'row' | 'row-reverse' | 'column' | 'column-reverse';\n flexWrap: 'nowrap' | 'wrap' | 'wrap-reverse';\n justifyContent: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around';\n alignItems: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline';\n gap: string;\n}\n\nexport interface AXPFlexBoxOption {\n value: string;\n label: string;\n}\n\nexport interface AXPFlexBoxAlignmentOption extends AXPFlexBoxOption {\n alignItems: AXPFlexBoxValues['alignItems'];\n justifyContent: AXPFlexBoxValues['justifyContent'];\n}\n\nexport const AXP_Flex_Box_Alignments: AXPFlexBoxAlignmentOption[] = [\n { value: 'top-left', label: 'Top Left', alignItems: 'flex-start', justifyContent: 'flex-start' },\n { value: 'top-center', label: 'Top Center', alignItems: 'flex-start', justifyContent: 'center' },\n { value: 'top-right', label: 'Top Right', alignItems: 'flex-start', justifyContent: 'flex-end' },\n { value: 'middle-left', label: 'Middle Left', alignItems: 'center', justifyContent: 'flex-start' },\n { value: 'middle-center', label: 'Middle Center', alignItems: 'center', justifyContent: 'center' },\n { value: 'middle-right', label: 'Middle Right', alignItems: 'center', justifyContent: 'flex-end' },\n { value: 'bottom-left', label: 'Bottom Left', alignItems: 'flex-end', justifyContent: 'flex-start' },\n { value: 'bottom-center', label: 'Bottom Center', alignItems: 'flex-end', justifyContent: 'center' },\n { value: 'bottom-right', label: 'Bottom Right', alignItems: 'flex-end', justifyContent: 'flex-end' },\n];\n\nexport const AXP_Flex_Box_Justify_Options: AXPFlexBoxOption[] = [\n { value: 'flex-start', label: 'Start' },\n { value: 'flex-end', label: 'End' },\n { value: 'center', label: 'Center' },\n { value: 'space-between', label: 'Space Between' },\n { value: 'space-around', label: 'Space Around' },\n];\n\nexport const AXP_Flex_Box_Align_Options: AXPFlexBoxOption[] = [\n { value: 'flex-start', label: 'Start' },\n { value: 'flex-end', label: 'End' },\n { value: 'center', label: 'Center' },\n { value: 'stretch', label: 'Stretch' },\n { value: 'baseline', label: 'Baseline' },\n];\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPPropertyEditorHelper } from '../property-editor-helper';\nimport {\n AXP_Flex_Box_Align_Options,\n AXP_Flex_Box_Alignments,\n AXP_Flex_Box_Justify_Options,\n AXPFlexBoxAlignmentOption,\n AXPFlexBoxOption,\n AXPFlexBoxValues,\n} from './flex-options-widget.type';\n\n@Component({\n templateUrl: './flex-options-widget-editor.component.html',\n styleUrl: './flex-options-widget-editor.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXRangeSliderModule,\n AXNumberBoxModule,\n AXDropdownModule,\n AXButtonModule,\n FormsModule,\n ],\n})\nexport class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent<AXPFlexBoxValues> {\n private rendered = signal(false);\n protected flexSides = AXP_Flex_Box_Alignments;\n\n protected flexDirection = signal<AXPFlexBoxValues['flexDirection']>('row');\n protected flexWrap = signal<AXPFlexBoxValues['flexWrap']>('nowrap');\n protected flexDirectionIsColumn = computed(() => this.flexDirection().startsWith('column'));\n protected flexDirectionIsReverse = computed(() => this.flexDirection().endsWith('reverse'));\n protected flexDirectionWithoutReverse = computed(() => this.flexDirection().replace('-reverse', ''));\n\n protected gapMode = signal<'single' | 'both'>('both');\n protected gapUnit = signal<Record<'both' | 'x' | 'y', string>>({ both: 'px', x: 'px', y: 'px' });\n protected gap = signal<Record<'both' | 'x' | 'y', number>>({ both: 0, x: 0, y: 0 });\n protected lastGap = signal(0);\n\n protected selectedJustify = signal<AXPFlexBoxOption>({ value: 'flex-start', label: 'Start' });\n protected selectedAlign = signal<AXPFlexBoxOption>({ value: 'flex-start', label: 'Start' });\n\n protected hoveredAlign = signal<AXPFlexBoxValues['alignItems'] | null>(null);\n protected hoveredJustify = signal<AXPFlexBoxValues['justifyContent'] | null>(null);\n\n protected clickedAlign = signal<AXPFlexBoxValues['alignItems']>('flex-start');\n protected clickedJustify = signal<AXPFlexBoxValues['justifyContent']>('flex-start');\n\n protected setWrapMode(type: AXPFlexBoxValues['flexWrap']) {\n this.flexWrap.set(type);\n this.saveValue({ flexWrap: type });\n }\n\n protected setGapMode() {\n if (this.gapMode() === 'single') {\n this.gapMode.set('both');\n // this.gap.set({ ...this.gap(), both: this.lastGap() });\n this.setGap(this.lastGap(), 'both');\n } else {\n this.gapMode.set('single');\n // this.gap.set({ ...this.gap(), x: this.lastGap(), y: this.lastGap() });\n this.setGap(this.lastGap(), 'x');\n this.setGap(this.lastGap(), 'y');\n }\n }\n\n protected setFlexDirection(type: AXPFlexBoxValues['flexDirection']) {\n this.flexDirection.set(type);\n this.saveValue({ flexDirection: type });\n }\n\n protected setGap(size: number, side: 'both' | 'x' | 'y') {\n this.gap.set({ ...this.gap(), [side]: size });\n if (this.gapMode() === 'both') {\n const gap = this.gap().both + this.gapUnit().both;\n this.saveValue({ gap });\n } else {\n const gap = this.gap().x + this.gapUnit().x + ' ' + this.gap().y + this.gapUnit().y;\n this.saveValue({ gap });\n }\n this.lastGap.set(size);\n }\n\n protected onClick(data: AXPFlexBoxAlignmentOption): void {\n // const directionAlign = this.flexDirectionIsReverse() === true ? 'flex-start' : 'flex-end';\n const directionAlign = 'flex-start';\n let calcAlign = this.calculateAlign(data.alignItems);\n let calcJustify = this.calculateJustify(data.justifyContent);\n\n if (this.flexDirectionIsColumn()) {\n [calcAlign, calcJustify] = [calcJustify as any, calcAlign as any];\n }\n\n if (this.clickedJustify() === 'space-between') {\n if (this.clickedAlign() === 'stretch') {\n return;\n } else if (this.clickedAlign() === 'baseline' && calcAlign === directionAlign) {\n return;\n }\n this.clickedAlign.set(calcAlign);\n this.selectedAlign.set({ value: calcAlign, label: this.findAlignNameById(calcAlign)! });\n } else if (this.clickedJustify() === 'space-around') {\n if (this.clickedAlign() === 'stretch') {\n return;\n } else if (this.clickedAlign() === 'baseline' && calcAlign === directionAlign) {\n return;\n }\n this.clickedAlign.set(calcAlign);\n this.selectedAlign.set({ value: calcAlign, label: this.findAlignNameById(calcAlign)! });\n } else if (this.clickedAlign() === 'stretch') {\n this.clickedJustify.set(calcJustify);\n this.selectedJustify.set({ value: calcJustify, label: this.findJustifyNameById(calcJustify)! });\n } else if (this.clickedAlign() === 'baseline' && calcAlign === directionAlign) {\n this.clickedJustify.set(calcJustify);\n this.selectedJustify.set({ value: calcJustify, label: this.findJustifyNameById(calcJustify)! });\n } else {\n this.clickedAlign.set(calcAlign);\n this.clickedJustify.set(calcJustify);\n this.selectedJustify.set({ value: calcJustify, label: this.findJustifyNameById(calcJustify)! });\n this.selectedAlign.set({ value: calcAlign, label: this.findAlignNameById(calcAlign)! });\n }\n this.saveValue({ alignItems: this.clickedAlign(), justifyContent: this.clickedJustify() });\n }\n\n protected onHover(data: AXPFlexBoxAlignmentOption): void {\n // const directionAlign = this.flexDirectionIsReverse() === true ? 'flex-start' : 'flex-end';\n const directionAlign = 'flex-start';\n let calcAlign = this.calculateAlign(data.alignItems);\n let calcJustify = this.calculateJustify(data.justifyContent);\n\n if (this.flexDirectionIsColumn()) {\n [calcAlign, calcJustify] = [calcJustify as any, calcAlign as any];\n }\n\n if (this.clickedJustify() === 'space-between') {\n this.hoveredAlign.set(calcAlign);\n this.hoveredJustify.set('space-between');\n } else if (this.clickedJustify() === 'space-around') {\n this.hoveredAlign.set(calcAlign);\n this.hoveredJustify.set('space-around');\n } else if (this.clickedAlign() === 'stretch') {\n this.hoveredAlign.set('stretch');\n this.hoveredJustify.set(calcJustify);\n } else if (this.clickedAlign() === 'baseline' && calcAlign === directionAlign) {\n this.hoveredAlign.set('baseline');\n this.hoveredJustify.set(calcJustify);\n } else {\n this.hoveredAlign.set(calcAlign);\n this.hoveredJustify.set(calcJustify);\n }\n }\n\n protected onHoverLeave() {\n this.hoveredAlign.set(null);\n this.hoveredJustify.set(null);\n }\n\n protected onJustifyChange(event: AXValueChangedEvent<any>) {\n if (event.isUserInteraction) {\n this.selectedJustify.set({ value: event.value, label: this.findAlignNameById(event.value)! });\n this.clickedJustify.set(event.value);\n }\n this.saveValue({ justifyContent: this.clickedJustify() });\n }\n\n protected onAlignChange(event: AXValueChangedEvent<any>) {\n if (event.isUserInteraction) {\n this.selectedAlign.set({ value: event.value, label: this.findAlignNameById(event.value)! });\n this.clickedAlign.set(event.value);\n }\n this.saveValue({ alignItems: this.clickedAlign() });\n }\n\n protected justifyDataSource = new AXDataSource({\n pageSize: 99,\n load: async (e) => {\n return {\n items: AXP_Flex_Box_Justify_Options,\n total: AXP_Flex_Box_Justify_Options.length,\n };\n },\n });\n\n protected alignDataSource = new AXDataSource({\n pageSize: 99,\n load: async (e) => {\n return {\n items: AXP_Flex_Box_Align_Options,\n total: AXP_Flex_Box_Align_Options.length,\n };\n },\n });\n\n private findAlignNameById = (value: string): string | undefined => {\n const side = AXP_Flex_Box_Align_Options.find((side) => side.value === value);\n return side?.label;\n };\n\n private findJustifyNameById = (value: string): string | undefined => {\n const side = AXP_Flex_Box_Justify_Options.find((side) => side.value === value);\n return side?.label;\n };\n\n protected calculateAlign(value: AXPFlexBoxValues['alignItems']): AXPFlexBoxValues['alignItems'] {\n if (this.flexDirection() === 'column-reverse') {\n if (value === 'flex-end') {\n return 'flex-start';\n } else if (value === 'flex-start') {\n return 'flex-end';\n } else {\n return value;\n }\n }\n return value;\n }\n\n private calculateJustify(value: AXPFlexBoxValues['justifyContent']): AXPFlexBoxValues['justifyContent'] {\n if (this.flexDirection() === 'row-reverse') {\n if (value === 'flex-end') {\n return 'flex-start';\n } else if (value === 'flex-start') {\n return 'flex-end';\n } else {\n return value;\n }\n }\n return value;\n }\n\n private saveValue(item: Partial<AXPFlexBoxValues>) {\n this.setValue({ ...this.getValue(), ...item });\n }\n\n #af = afterNextRender(() => {\n const value = this.getValue();\n //this.flexDirection.set(value?.flexDirection ?? 'row');\n this.setFlexDirection(value?.flexDirection ?? 'row');\n // this.flexWrap.set(value?.flexWrap ?? 'nowrap');\n this.setWrapMode(value?.flexWrap ?? 'nowrap');\n\n this.clickedJustify.set(value?.justifyContent ?? 'flex-start');\n this.clickedAlign.set(value?.alignItems ?? 'flex-start');\n\n const { values, units } = AXPPropertyEditorHelper.parseGap(value?.gap ?? '0px');\n this.gapUnit.set({ ...units, both: units.x });\n if (values.x === values.y) {\n this.gapMode.set('both');\n this.setGap(values.x, 'both');\n } else {\n this.gapMode.set('single');\n this.setGap(values.x, 'x');\n this.setGap(values.y, 'y');\n }\n this.rendered.set(true);\n });\n\n // #eff1 = effect(() => console.log('HOVER: ', this.hoveredAlign(), this.hoveredJustify()));\n // #eff2 = effect(() => console.log('CLICKED: ', this.clickedAlign(), this.clickedJustify()));\n // #eff3 = effect(() => console.log(this.getValue()));\n}\n","<div class=\"axp-flex-option ax-grid ax-grid-cols-[auto_1fr] ax-pt-2 ax-gap-2 ax-items-center ax-justify-items-start\">\n <span>Direction</span>\n <div>\n <ax-button-group [selection]=\"'single'\">\n <ax-button-group-item (onClick)=\"setFlexDirection('row')\" [selected]=\"flexDirection() === 'row'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.2929 7.00004L9.14645 3.85359L9.85355 3.14648L14.2071 7.50004L9.85355 11.8536L9.14645 11.1465L12.2929 8.00004H3V7.00004H12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item (onClick)=\"setFlexDirection('row-reverse')\" [selected]=\"flexDirection() === 'row-reverse'\"\n ><ax-prefix\n ><svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"transform: rotate(180deg)\"\n >\n <path\n d=\"M12.2929 7.00004L9.14645 3.85359L9.85355 3.14648L14.2071 7.50004L9.85355 11.8536L9.14645 11.1465L12.2929 8.00004H3V7.00004H12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item (onClick)=\"setFlexDirection('column')\" [selected]=\"flexDirection() === 'column'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8.00001 12.2929L4.85356 9.14645L4.14645 9.85355L8.50001 14.2071L12.8536 9.85355L12.1465 9.14645L9.00001 12.2929L9.00001 3H8.00001L8.00001 12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setFlexDirection('column-reverse')\"\n [selected]=\"flexDirection() === 'column-reverse'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.00004 3.70721L12.1465 6.85363L12.8536 6.14652L8.50001 1.79297L4.14645 6.14652L4.85356 6.85363L8.00004 3.70715L8.00004 13.0001H9.00004L9.00004 3.70721Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item color=\"primary\">\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Wrap\" (click)=\"setWrapMode('wrap')\" [class]=\"\" >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-bars\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item text=\"No Wrap\" (click)=\"setWrapMode('nowrap')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-minus\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-solid fa-chevron-down\"></ax-icon>\n </ax-suffix>\n </ax-button-group-item>\n </ax-button-group>\n </div>\n <span>Align</span>\n <div class=\"ax-flex ax-justify-between ax-gap-2 ax-items-center\">\n <div\n class=\"ax-relative ax-size-[62px] ax-bg-[rgb(30,30,30)] ax-border ax-border-white ax-border-opacity-15 ax-rounded\"\n >\n <div class=\"ax-absolute ax-inset-0 ax-grid ax-grid-cols-3 ax-grid-rows-3\">\n @for(side of flexSides; track side.value){\n <div\n [attr.aria-label]=\"side.label\"\n [attr.aria-value]=\"side.value\"\n class=\"ax-grid ax-place-content-center\"\n (mouseenter)=\"onHover(side)\"\n (mouseleave)=\"onHoverLeave()\"\n (click)=\"onClick(side)\"\n >\n @if (true) {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"7\" y=\"7\" width=\"2\" height=\"2\" rx=\"1\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n </svg>\n }\n </div>\n }\n </div>\n <div\n class=\"ax-absolute ax-inset-0 ax-flex ax-pointer-events-none ax-transition-all\"\n [style.justify-content]=\"hoveredJustify()\"\n [style.align-items]=\"hoveredAlign()\"\n [style.flex-direction]=\"flexDirection()\"\n >\n <div class=\"ax-flex ax-justify-center ax-items-center ax-min-w-5 ax-min-h-5\">\n <div class=\"ax-size-auto ax-z-[1] ax-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\" [class]=\"flexDirectionIsColumn()? '-ax-rotate-90': ''\">\n @if(hoveredJustify()==='space-between'){ @if(clickedAlign()==='stretch'){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5V15.5C31 15.7761 30.7761 16 30.5 16H29.5C29.2239 16 29 15.7761 29 15.5V6.5ZM9 8.5C9 8.22386 9.22386 8 9.5 8H10.5C10.7761 8 11 8.22386 11 8.5V12.5C11 12.7761 10.7761 13 10.5 13H9.5C9.22386 13 9 12.7761 9 12.5V8.5ZM49.5 8C49.2239 8 49 8.22386 49 8.5V14.5C49 14.7761 49.2239 15 49.5 15H50.5C50.7761 15 51 14.7761 51 14.5V8.5C51 8.22386 50.7761 8 50.5 8H49.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } } @else if(hoveredJustify()==='space-around'){ @if(clickedAlign()==='stretch' ){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"11\" y=\"9\" width=\"2\" height=\"5\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <rect x=\"29\" y=\"6\" width=\"2\" height=\"10\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <rect x=\"47\" y=\"8\" width=\"2\" height=\"7\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 13L8 11L5 9V13ZM55 9L52 11L55 13V9Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } } @else if(hoveredAlign()==='flex-start'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.5 7C3.22386 7 3 6.77614 3 6.5V3.5C3 3.22386 3.22386 3 3.5 3H4.5C4.77614 3 5 3.22386 5 3.5V6.5C5 6.77614 4.77614 7 4.5 7H3.5ZM7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM11.5 3C11.2239 3 11 3.22386 11 3.5V8.5C11 8.77614 11.2239 9 11.5 9H12.5C12.7761 9 13 8.77614 13 8.5V3.5C13 3.22386 12.7761 3 12.5 3H11.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n }@else if (hoveredAlign()==='center') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM3.5 10C3.22386 10 3 9.77614 3 9.5V6.5C3 6.22386 3.22386 6 3.5 6H4.5C4.77614 6 5 6.22386 5 6.5V9.5C5 9.77614 4.77614 10 4.5 10H3.5ZM11.5 5C11.2239 5 11 5.22386 11 5.5V10.5C11 10.7761 11.2239 11 11.5 11H12.5C12.7761 11 13 10.7761 13 10.5V5.5C13 5.22386 12.7761 5 12.5 5H11.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if (hoveredAlign()==='flex-end') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.5 7C11.2239 7 11 7.22386 11 7.5L11 12.5C11 12.7761 11.2239 13 11.5 13L12.5 13C12.7761 13 13 12.7761 13 12.5L13 7.5C13 7.22386 12.7761 7 12.5 7L11.5 7ZM7.5 13C7.22386 13 7 12.7761 7 12.5L7 3.5C7 3.22386 7.22386 3 7.5 3L8.5 3C8.77614 3 9 3.22386 9 3.5L9 12.5C9 12.7761 8.77614 13 8.5 13L7.5 13ZM3.5 13C3.22386 13 3 12.7761 3 12.5L3 9.5C3 9.22386 3.22386 9 3.5 9L4.5 9C4.77614 9 5 9.22386 5 9.5L5 12.5C5 12.7761 4.77614 13 4.5 13L3.5 13Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if (hoveredAlign()==='stretch') {\n <svg width=\"20\" height=\"60\" viewBox=\"0 0 20 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7 53.5C7 53.7761 6.77614 54 6.5 54L5.5 54C5.22386 54 5 53.7761 5 53.5L5 6.5C5 6.22386 5.22386 6 5.5 6L6.5 6C6.77614 6 7 6.22386 7 6.5L7 53.5ZM11 53.5C11 53.7761 10.7761 54 10.5 54L9.5 54C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6L10.5 6C10.7761 6 11 6.22386 11 6.5L11 53.5ZM14.5 54C14.7761 54 15 53.7761 15 53.5L15 6.5C15 6.22386 14.7761 6 14.5 6L13.5 6C13.2239 6 13 6.22386 13 6.5L13 53.5C13 53.7761 13.2239 54 13.5 54L14.5 54Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if(hoveredAlign()==='baseline'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13 2V8.29289L14.6464 6.64645L15.3536 7.35355L12.5 10.2071L9.64645 7.35355L10.3536 6.64645L12 8.29289V2H13Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n <path d=\"M16 12L1 12V13L16 13V12Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.62582 2H6.37412L8.72712 10H7.68476L7.09649 7.99994H3.90349L3.31524 10H2.27288L4.62582 2ZM6.80237 6.99994L5.62585 2.9999H5.37409L4.19761 6.99994H6.80237Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n }\n </div>\n </div>\n </div>\n <div\n class=\"ax-absolute ax-inset-0 ax-flex ax-pointer-events-none ax-transition-all\"\n [style.justify-content]=\"clickedJustify()\"\n [style.align-items]=\"clickedAlign()\"\n [style.flex-direction]=\"flexDirection()\"\n\n >\n <div class=\"ax-flex ax-justify-center ax-items-center ax-min-w-5 ax-min-h-5\">\n <div class=\"ax-size-auto ax-z-[2] ax-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\"\n [class]=\"flexDirectionIsColumn()? '-ax-rotate-90': ''\">\n @if(clickedJustify()==='space-between'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11 53.5C11 53.7761 10.7761 54 10.5 54H9.5C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6H10.5C10.7761 6 11 6.22386 11 6.5L11 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM50.5 54C50.7761 54 51 53.7761 51 53.5L51 6.5C51 6.22386 50.7761 6 50.5 6H49.5C49.2239 6 49 6.22386 49 6.5L49 53.5C49 53.7761 49.2239 54 49.5 54H50.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='baseline'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M50.5996 4V10.2929L52.246 8.64645L52.9531 9.35355L50.0996 12.2071L47.246 9.35355L47.9531 8.64645L49.5996 10.2929V4H50.5996Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9.35294 4H11.1012L13.4542 12H12.4119L11.8236 9.99994H8.63061L8.04236 12H7L9.35294 4ZM11.5295 8.99994L10.353 4.9999H10.1012L8.92473 8.99994H11.5295Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else{\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5V15.5C31 15.7761 30.7761 16 30.5 16H29.5C29.2239 16 29 15.7761 29 15.5V6.5ZM9 8.5C9 8.22386 9.22386 8 9.5 8H10.5C10.7761 8 11 8.22386 11 8.5V12.5C11 12.7761 10.7761 13 10.5 13H9.5C9.22386 13 9 12.7761 9 12.5V8.5ZM49.5 8C49.2239 8 49 8.22386 49 8.5V14.5C49 14.7761 49.2239 15 49.5 15H50.5C50.7761 15 51 14.7761 51 14.5V8.5C51 8.22386 50.7761 8 50.5 8H49.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } } @else if(clickedJustify()==='space-around'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 30L5 32L5 28L8 30Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13 53.5C13 53.7761 12.7761 54 12.5 54H11.5C11.2239 54 11 53.7761 11 53.5L11 6.5C11 6.22386 11.2239 6 11.5 6H12.5C12.7761 6 13 6.22386 13 6.5L13 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM48.5 54C48.7761 54 49 53.7761 49 53.5L49 6.5C49 6.22386 48.7761 6 48.5 6H47.5C47.2239 6 47 6.22386 47 6.5L47 53.5C47 53.7761 47.2239 54 47.5 54H48.5Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M52 30L55 28L55 32L52 30Z\" fill=\"currentColor\"></path>\n </svg>\n }@else if(clickedAlign()==='baseline'){\n <svg\n data-wf-icon=\"NineBoxAlignItemsRowSpaceAroundBaselineIcon\"\n width=\"60\"\n height=\"20\"\n viewBox=\"0 0 60 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M40.8529 4V10.2929L42.4993 8.64645L43.2064 9.35355L40.3529 12.2071L37.4993 9.35355L38.2064 8.64645L39.8529 10.2929V4H40.8529Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M19.3523 4H21.1006L23.4536 12H22.4112L21.8229 9.99994H18.6299L18.0417 12H16.9993L19.3523 4ZM21.5288 8.99994L20.3523 4.9999H20.1005L18.924 8.99994H21.5288Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else {\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"11\" y=\"9\" width=\"2\" height=\"5\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <rect x=\"29\" y=\"6\" width=\"2\" height=\"10\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <rect x=\"47\" y=\"8\" width=\"2\" height=\"7\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 13L8 11L5 9V13ZM55 9L52 11L55 13V9Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } } @else if(clickedAlign()==='flex-start'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.5 7C3.22386 7 3 6.77614 3 6.5V3.5C3 3.22386 3.22386 3 3.5 3H4.5C4.77614 3 5 3.22386 5 3.5V6.5C5 6.77614 4.77614 7 4.5 7H3.5ZM7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM11.5 3C11.2239 3 11 3.22386 11 3.5V8.5C11 8.77614 11.2239 9 11.5 9H12.5C12.7761 9 13 8.77614 13 8.5V3.5C13 3.22386 12.7761 3 12.5 3H11.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }@else if (clickedAlign()==='center') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM3.5 10C3.22386 10 3 9.77614 3 9.5V6.5C3 6.22386 3.22386 6 3.5 6H4.5C4.77614 6 5 6.22386 5 6.5V9.5C5 9.77614 4.77614 10 4.5 10H3.5ZM11.5 5C11.2239 5 11 5.22386 11 5.5V10.5C11 10.7761 11.2239 11 11.5 11H12.5C12.7761 11 13 10.7761 13 10.5V5.5C13 5.22386 12.7761 5 12.5 5H11.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if (clickedAlign()==='flex-end') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.5 7C11.2239 7 11 7.22386 11 7.5L11 12.5C11 12.7761 11.2239 13 11.5 13L12.5 13C12.7761 13 13 12.7761 13 12.5L13 7.5C13 7.22386 12.7761 7 12.5 7L11.5 7ZM7.5 13C7.22386 13 7 12.7761 7 12.5L7 3.5C7 3.22386 7.22386 3 7.5 3L8.5 3C8.77614 3 9 3.22386 9 3.5L9 12.5C9 12.7761 8.77614 13 8.5 13L7.5 13ZM3.5 13C3.22386 13 3 12.7761 3 12.5L3 9.5C3 9.22386 3.22386 9 3.5 9L4.5 9C4.77614 9 5 9.22386 5 9.5L5 12.5C5 12.7761 4.77614 13 4.5 13L3.5 13Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if (clickedAlign()==='stretch') {\n <svg width=\"20\" height=\"60\" viewBox=\"0 0 20 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7 53.5C7 53.7761 6.77614 54 6.5 54L5.5 54C5.22386 54 5 53.7761 5 53.5L5 6.5C5 6.22386 5.22386 6 5.5 6L6.5 6C6.77614 6 7 6.22386 7 6.5L7 53.5ZM11 53.5C11 53.7761 10.7761 54 10.5 54L9.5 54C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6L10.5 6C10.7761 6 11 6.22386 11 6.5L11 53.5ZM14.5 54C14.7761 54 15 53.7761 15 53.5L15 6.5C15 6.22386 14.7761 6 14.5 6L13.5 6C13.2239 6 13 6.22386 13 6.5L13 53.5C13 53.7761 13.2239 54 13.5 54L14.5 54Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }@else if(clickedAlign()==='baseline'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13 2V8.29289L14.6464 6.64645L15.3536 7.35355L12.5 10.2071L9.64645 7.35355L10.3536 6.64645L12 8.29289V2H13Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M16 12L1 12V13L16 13V12Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.62582 2H6.37412L8.72712 10H7.68476L7.09649 7.99994H3.90349L3.31524 10H2.27288L4.62582 2ZM6.80237 6.99994L5.62585 2.9999H5.37409L4.19761 6.99994H6.80237Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"ax-grid ax-grid-cols-[auto_1fr] ax-items-center ax-justify-items-start ax-gap-2\">\n <span class=\"ax-order-1\">X:</span>\n <div class=\"ax-w-32\"\n [style.order]=\"flexDirectionIsColumn()?'4':'2'\">\n <!-- <ax-select-box\n [dataSource]=\"flexDirectionIsColumn()? alignDataSource : justifyDataSource\"\n [ngModel]=\"flexDirectionIsColumn()? selectedAlign : selectedJustify\"\n (ngModelChange)=\"flexDirectionIsColumn()? selectedAlign = $event : selectedJustify = $event\"\n (onValueChanged)=\"flexDirectionIsColumn()? onAlignChange($event) :onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box> -->\n <ax-select-box\n [dataSource]=\"justifyDataSource\"\n [(ngModel)]=\"selectedJustify\"\n (onValueChanged)=\"onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n <span class=\"ax-order-3\">Y:</span>\n <div class=\"ax-w-32\" [style.order]=\"flexDirectionIsColumn()?'2':'4'\">\n <ax-select-box\n [dataSource]=\"alignDataSource\"\n [(ngModel)]=\"selectedAlign\"\n (onValueChanged)=\"onAlignChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n </div>\n </div>\n <span>Gap</span>\n <div class=\"ax-flex ax-gap-2 ax-justify-between\">\n @if(gapMode()==='both') {\n <ax-range-slider\n class=\"ax-w-32\"\n color=\"neutral\"\n [ngModel]=\"gap().both\"\n (ngModelChange)=\"setGap($event ?? 0, 'both')\"\n ></ax-range-slider>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().both\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'both')\"\n class=\"ax-min-w-6\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n } @else {\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <span class=\"ax-text-xs\">Row</span>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().x\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'x')\"\n class=\"ax-min-w-5\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n <span class=\"ax-text-xs\">Column</span>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().y\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'y')\"\n class=\"ax-min-w-5\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n }\n <button (click)=\"setGapMode()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(gapMode()==='both'){\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 7L5 5C5 3.34315 6.34315 2 8 2C9.65685 2 11 3.34315 11 5V7C11.5523 7 12 7.44772 12 8V12C12 12.5523 11.5523 13 11 13H5C4.44772 13 4 12.5523 4 12V8C4 7.44771 4.44772 7 5 7ZM6 5C6 3.89543 6.89543 3 8 3C9.10457 3 10 3.89543 10 5V7H6V5ZM5 12V8H11V12H5Z\"\n fill=\"currentColor\"\n ></path>\n }@else {\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9 5C9 3.89543 9.89543 3 11 3C12.1046 3 13 3.89543 13 5V6H14V5C14 3.34315 12.6569 2 11 2C9.34315 2 8 3.34315 8 5V7H3C2.44772 7 2 7.44771 2 8V12C2 12.5523 2.44772 13 3 13H9C9.55228 13 10 12.5523 10 12V8C10 7.44772 9.55228 7 9 7V5ZM3 8H9V12H3V8Z\"\n fill=\"currentColor\"\n ></path>\n }\n </svg>\n </button>\n </div>\n</div>","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\nexport const AXPFlexOptionsWidget: AXPWidgetConfig = {\n name: 'flex-options',\n title: 'Flex Options',\n description: 'Make an Elements Flex',\n group: AXP_WIDGETS_EDITOR_GROUP,\n icon: 'fa-solid fa-ellipsis-h',\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],\n components: {\n edit: {\n component: () =>\n import('./flex-options-widget-editor.component').then((c) => c.AXPFlexOptionsWidgetEditComponent),\n },\n },\n visible: false,\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n flexOptions: 'flex-options';\n }\n}\n","import { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, inject, NgZone, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPPropertyEditorHelper } from '../property-editor-helper';\nimport {\n AXP_default_Spacing_Box_Units,\n AXP_default_Spacing_Box_Value,\n AXPPropertyEditorSideValues,\n AXPSpacingBox,\n AXPSpacingBoxDefaultValues,\n AXPSpacingBoxString,\n} from '../property-editor.type';\n\n@Component({\n templateUrl: './spacing-widget-editor.component.html',\n styleUrl: './spacing-widget-editor.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXNumberBoxModule, FormsModule, AXCheckBoxModule, AXPopoverModule, CommonModule, AXRangeSliderModule],\n inputs: [],\n})\nexport class AXPSpacingWidgetEditComponent extends AXPWidgetComponent<AXPSpacingBoxString> {\n private ngZone = inject(NgZone);\n\n private rendered = signal(false);\n private isDragging = false;\n\n protected calculatedValues = signal(AXP_default_Spacing_Box_Value);\n protected originalValues = signal(AXP_default_Spacing_Box_Value);\n protected units = signal(AXP_default_Spacing_Box_Units);\n\n protected current = signal<{\n type: keyof AXPSpacingBox;\n side: AXPPropertyEditorSideValues;\n el?: HTMLElement | null;\n }>({\n type: 'margin',\n side: 'bottom',\n });\n protected FixedValues: AXPSpacingBoxDefaultValues[] = [\n { label: '0', value: 0, rowspan: 2 },\n { label: '5', value: 5 },\n { label: '10', value: 10 },\n { label: '25', value: 25 },\n { label: '50', value: 50 },\n { label: '75', value: 75 },\n { label: '100', value: 100 },\n { label: '150', value: 150 },\n { label: '200', value: 200 },\n ];\n\n protected popover = viewChild.required(AXPopoverComponent);\n\n protected setSpacing(input: number | Event, type: keyof AXPSpacingBox, side: AXPPropertyEditorSideValues) {\n if (!this.rendered()) {\n return;\n }\n const value = input instanceof Event ? Number.parseInt((input.target as HTMLInputElement).value) : input;\n\n const currentValue = this.calculatedValues();\n\n this.calculatedValues.set({\n ...currentValue,\n [type]: {\n ...currentValue[type],\n [side]: value,\n },\n });\n\n const data = AXPPropertyEditorHelper.parseSpacingBoxReverse(this.calculatedValues(), this.units());\n this.setValue(data);\n }\n\n protected openPopUp(event: Event, type: keyof AXPSpacingBox, side: AXPPropertyEditorSideValues) {\n if (this.isDragging) {\n return;\n }\n this.current.set({ type, side, el: (event as PointerEvent).target as HTMLElement });\n this.popover().target = (event as PointerEvent).target as HTMLElement;\n this.popover().placement = side === 'right' ? ['bottom-end', 'end'] : ['bottom', 'top'];\n this.popover().open();\n }\n\n protected listenToMove(event: Event, type: keyof AXPSpacingBox, side: AXPPropertyEditorSideValues): void {\n this.ngZone.runOutsideAngular(() => {\n event.preventDefault();\n let startY = 0,\n currentValue = 0;\n\n const targetElement = event.target as HTMLElement | SVGElement;\n\n (targetElement as HTMLElement).style.cursor = 's-resize';\n\n const onMouseDown = (e: MouseEvent | TouchEvent) => {\n const { clientY } = this.getClientCoordinates(e);\n startY = clientY;\n\n window.addEventListener('mousemove', onMouseMove);\n window.addEventListener('mouseup', onMouseUp);\n window.addEventListener('touchmove', onMouseMove);\n window.addEventListener('touchend', onMouseUp);\n };\n\n const onMouseMove = (e: MouseEvent | TouchEvent) => {\n this.isDragging = true;\n const { clientY } = this.getClientCoordinates(e);\n const delta = (clientY - startY) * -1;\n const oldValue = this.calculatedValues()[type][side];\n currentValue = delta + AXPPropertyEditorHelper.getValueWithUnit(oldValue).value;\n this.ngZone.run(() => {\n this.setSpacing(Math.max(currentValue, 0), type, side);\n });\n\n startY = clientY;\n };\n\n const onMouseUp = () => {\n window.removeEventListener('mousemove', onMouseMove);\n window.removeEventListener('mouseup', onMouseUp);\n window.removeEventListener('touchmove', onMouseMove);\n window.removeEventListener('touchend', onMouseUp);\n (targetElement as HTMLElement).style.cursor = '';\n //TODO FIX LATER\n setTimeout(() => {\n this.isDragging = false;\n });\n };\n\n onMouseDown(event as MouseEvent | TouchEvent);\n });\n }\n\n private getClientCoordinates(e: MouseEvent | TouchEvent): { clientX: number; clientY: number } {\n if (e instanceof MouseEvent) {\n return { clientX: e.clientX, clientY: e.clientY };\n }\n const touch = e.touches[0];\n return { clientX: touch.clientX, clientY: touch.clientY };\n }\n\n private afterRender = afterNextRender(() => {\n if (this.getValue()) {\n this.calculatedValues.set(AXPPropertyEditorHelper.parseSpacingBox(this.getValue()));\n this.originalValues.set(AXPPropertyEditorHelper.parseSpacingBox(this.getValue()));\n }\n this.rendered.set(true);\n });\n}\n","<div class=\"axp-spacing-box ax-flex ax-justify-center ax-items-center ax-pt-4 ax-pb-2\">\n <div class=\"axp-spacing-inner-box\">\n <div class=\"axp-spacing-margin-box\">\n <!--MARGIN SVG DEFINE-->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"224\" height=\"112\" class=\"area\">\n <mask id=\"margin-mask\" width=\"224\" height=\"112\">\n <rect fill=\"#000\" height=\"112\" width=\"224\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#fff\" height=\"112\" rx=\"4\" width=\"224\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#000\" height=\"66\" rx=\"4\" width=\"154\" x=\"35\" y=\"23\"></rect>\n </mask>\n <defs>\n <linearGradient id=\"FuseLinearGradient\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop stop-color=\"white\"></stop>\n <stop offset=\"1\" stop-color=\"white\" stop-opacity=\"0\"></stop>\n </linearGradient>\n </defs>\n\n <!--MARGIN TOP SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'top')\"\n (mousedown)=\"listenToMove($event, 'margin', 'top')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n fill-opacity=\"0.12\"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"url(#FuseLinearGradient)\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n fill-opacity=\"0.02\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN RIGHT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'right')\"\n (mousedown)=\"listenToMove($event, 'margin', 'right')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m224,0\n v112\n l-36,-24\n v-64\n l36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m224,0\n v112\n l-36,-24\n v-64\n l36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN BOTTOM SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'bottom')\"\n (mousedown)=\"listenToMove($event, 'margin', 'bottom')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,112\n h224\n l-36,-24\n h-152\n l-36,24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,112\n h224\n l-36,-24\n h-152\n l-36,24z\n \"\n fill-opacity=\"0.064\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN LEFT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'left')\"\n (mousedown)=\"listenToMove($event, 'margin', 'left')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n v112\n l36,-24\n v-64\n l-36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n v112\n l36,-24\n v-64\n l-36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n </svg>\n\n <!--MARGIN TOP VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <span>{{ calculatedValues().margin.top + ' ' + units().margin.top }}</span>\n </div>\n </div>\n\n <!--MARGIN RIGHT VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <span>{{ calculatedValues().margin.right + ' ' + units().margin.right }}</span>\n </div>\n </div>\n\n <!--MARGIN BOTTOM VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <span>{{ calculatedValues().margin.bottom + ' ' + units().margin.bottom }}</span>\n </div>\n </div>\n\n <!--MARGIN LEFT VALUE-->\n <div tabindex=\"0\" style=\"grid-area: 2 / 1 / 3 / 2\" class=\"axp-spacing-value-container\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <span>{{ calculatedValues().margin.left + ' ' + units().margin.left }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"axp-spacing-padding-box\">\n <!--SVG DEFINE-->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"62\" class=\"area\">\n <mask id=\"padding-mask\" width=\"150\" height=\"62\">\n <rect fill=\"#000\" height=\"60\" width=\"150\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#fff\" height=\"60\" rx=\"2\" width=\"150\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#000\" height=\"14\" rx=\"2\" width=\"80\" x=\"35\" y=\"23\"></rect>\n </mask>\n\n <!--PADDING TOP SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'top')\"\n (mousedown)=\"listenToMove($event, 'padding', 'top')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n h150\n l-36,24\n h-78\n l-36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n h150\n l-36,24\n h-78\n l-36,-24z\n \"\n fill-opacity=\"0.064\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING RIGHT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'right')\"\n (mousedown)=\"listenToMove($event, 'padding', 'right')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m150,0\n v60\n l-36,-24\n v-12\n l36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m150,0\n v60\n l-36,-24\n v-12\n l36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING BOTTOM SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'bottom')\"\n (mousedown)=\"listenToMove($event, 'padding', 'bottom')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,60\n h150\n l-36,-24\n h-78\n l-36,24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,60\n h150\n l-36,-24\n h-78\n l-36,24z\n \"\n fill-opacity=\"0.12\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING LEFT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'left')\"\n (mousedown)=\"listenToMove($event, 'padding', 'left')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n v60\n l36,-24\n v-12\n l-36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n v60\n l36,-24\n v-12\n l-36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n </svg>\n\n <!--PADDING TOP SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <span>{{ this.calculatedValues().padding.top + ' ' + units().padding.top }}</span>\n </div>\n </div>\n\n <!--PADDING RIGHT SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <span>{{ this.calculatedValues().padding.right + ' ' + units().padding.right }}</span>\n </div>\n </div>\n\n <!--PADDING BOTTOM SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <span>{{ this.calculatedValues().padding.bottom + ' ' + units().padding.bottom }}</span>\n </div>\n </div>\n\n <!--PADDING LEFT SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <span>{{ this.calculatedValues().padding.left + ' ' + units().padding.left }}</span>\n </div>\n </div>\n </div>\n\n <!--PADDING TEXT-->\n <svg class=\"axp-spacing-padding-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"10\" fill=\"white\" font-weight=\"500\" font-size=\"7\">PADDING</text>\n </svg>\n\n <!--MARGIN TEXT-->\n <svg class=\"axp-spacing-margin-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"10\" fill=\"white\" font-weight=\"500\" font-size=\"7\">MARGIN</text>\n </svg>\n </div>\n</div>\n\n<ng-template #template let-type=\"type\" let-side=\"side\" let-value=\"value\">\n <div\n class=\"axp-spacing-popup-container\"\n (keydown.control.b)=\"setSpacing(originalValues()[this.current().type][this.current().side], type, side)\"\n >\n <div class=\"axp-spacing-popover\">\n <!--SET EMPTY-->\n <div class=\"ax-size-4 ax-cursor-pointer\" (click)=\"setSpacing(0, type, side)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path opacity=\"0.4\" d=\"M14 2L14 13L10 13L10 2L14 2Z\" fill=\"currentColor\" fill-opacity=\"0.67\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.99995 7L7.99995 1H8.99995L8.99995 14H7.99995L7.99995 8L3.70706 8L5.85351 10.1464L5.1464 10.8536L1.79285 7.5L5.1464 4.14645L5.85351 4.85355L3.70706 7L7.99995 7Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n\n <div class=\"ax-flex ax-justify-center ax-h-6 ax-flex-col\">\n <input\n type=\"range\"\n name=\"range\"\n [min]=\"0\"\n [max]=\"200\"\n [value]=\"this.calculatedValues()[this.current().type][this.current().side]\"\n (input)=\"setSpacing($event, type, side)\"\n />\n </div>\n <div>\n <!--INPUT NUMBER-->\n <div style=\"--local-gap: 8px\">\n <div\n style=\"\n gap: 8px;\n height: auto;\n display: flex;\n flex-flow: column;\n -webkit-box-align: stretch;\n align-items: stretch;\n -webkit-box-pack: start;\n position: relative;\n justify-content: stretch;\n width: 100%;\n -webkit-box-flex: 1;\n flex-grow: 1;\n \"\n >\n <div style=\"display: grid; grid-template-columns: 1fr auto; transform: translate3d(0px, 0px, 0px)\">\n <div\n data-legacy-styled=\"true\"\n style=\"\n grid-area: 1 / 1 / 2 / -1;\n align-items: stretch;\n background-color: var(--color-ui-input-background);\n border-color: var(--color-border-2);\n border-radius: 4px;\n border-style: solid;\n border-width: 1px;\n display: flex;\n flex: 0 1 auto;\n height: 24px;\n position: relative;\n \"\n >\n <input\n autocomplete=\"off\"\n data-wf-text-input=\"true\"\n name=\"spacing\"\n placeholder=\"\"\n aria-label=\"Edit spacing input\"\n type=\"text\"\n aria-disabled=\"false\"\n [value]=\"value\"\n (input)=\"setSpacing($event, type, side)\"\n style=\"\n padding-right: 20px;\n background-color: transparent;\n border-color: transparent;\n border-radius: 4px;\n border-style: solid;\n border-width: 0px;\n box-sizing: border-box;\n color: var(--color-text-primary);\n cursor: auto;\n display: block;\n font-family: inherit;\n font-size: inherit;\n height: 100%;\n line-height: 1;\n outline: transparent solid 2px;\n padding: 0px 4px;\n width: 100%;\n \"\n />\n </div>\n <div\n id=\"spacing-UnitSelect\"\n data-prevent-global-event-handlers=\"true\"\n tabindex=\"-1\"\n data-legacy-styled=\"true\"\n aria-expanded=\"false\"\n aria-haspopup=\"listbox\"\n data-focus=\"false\"\n style=\"\n border-color: transparent;\n outline: 0px;\n cursor: default;\n user-select: none;\n font-size: 9px;\n font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu,\n Cantarell, 'Helvetica Neue', Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol', sans-serif;\n line-height: 12px;\n letter-spacing: -0.115px;\n text-transform: none;\n color: var(--color-text-primary);\n place-self: center stretch;\n grid-area: 1 / 2 / 2 / 3;\n z-index: 1;\n min-width: 16px;\n border-radius: 1px;\n height: calc(100% - 2px);\n text-align: center;\n background: transparent;\n box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px;\n border-width: 0px;\n margin: 1px;\n position: relative;\n right: 2px;\n display: grid;\n grid-template-columns: auto;\n grid-auto-flow: column;\n justify-content: unset;\n width: 100%;\n flex-grow: unset;\n padding: 0px;\n box-sizing: border-box;\n --component-icon-color: var(--color-text-secondary);\n align-items: center;\n border-style: solid;\n \"\n >\n <div\n data-legacy-styled=\"true\"\n style=\"\n justify-self: start;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n \"\n >\n PX\n <!--PX-->\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"axp-spacing-template-values\">\n @for(i of FixedValues; track $index){\n <div\n (click)=\"setSpacing(i.value, type, side)\"\n class=\"hover:!ax-bg-gradient-to-b hover:!ax-from-white/20 hover:!ax-to-white/5 !ax-cursor-pointer\"\n [class]=\"i.colspan ? 'ax-col-span-' + i.colspan : ''\"\n [class]=\"i.rowspan ? 'ax-row-span-' + i.rowspan : ''\"\n tabindex=\"0\"\n style=\"\n border-bottom-color: var(--color-border-1);\n border-left-color: var(--color-border-1);\n border-right-color: var(--color-border-1);\n border-top-color: var(--color-border-1);\n outline: 0px;\n cursor: default;\n user-select: none;\n padding: 0px;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--color-text-secondary);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n border-radius: 4px;\n color: var(--color-action-secondary-text);\n background: var(--color-action-secondary-background);\n border-width: 0px;\n border-style: solid;\n box-shadow: var(--box-shadows-action-secondary);\n align-self: center;\n \"\n >\n <div class=\"ax-truncate\">\n {{ i.label }}\n <span class=\"ax-text-xs ax-text-neutral-400\"> {{ units()[this.current().type][this.current().side] }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n\n <div class=\"ax-h-[1px] ax-mt-1 ax-mb-1 ax-bg-border-1 ax-pointer-events-none\"></div>\n\n <div\n [class.ax-opacity-50]=\"\n originalValues()[this.current().type][this.current().side] ===\n calculatedValues()[this.current().type][this.current().side]\n \"\n (click)=\"setSpacing(originalValues()[this.current().type][this.current().side], type, side)\"\n tabindex=\"0\"\n class=\"ax-outline-none ax-select-none ax-py-1 ax-px-2 ax-my-1 ax-min-h-6 ax-cursor-pointer hover:!ax-bg-[#404040]\"\n >\n <div class=\"ax-flex ax-flex-row ax-items-center\">\n <div class=\"ax-min-w-6 ax-self-center ax-grow ax-basis-0\">\n <div class=\"ax-items-center ax-box-border ax-grid ax-grid-cols-[16px_1fr_auto] ax-gap-x-2 ax-gap-y-1\">\n <div class=\"ax-size-4\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M3.70712 5.00004L6.35357 2.35359L5.64646 1.64648L1.79291 5.50004L5.64646 9.35359L6.35357 8.64648L3.70712 6.00004H10C11.6569 6.00004 13 7.34318 13 9.00004C13 10.6569 11.6569 12 10 12H8.00001V13H10C12.2092 13 14 11.2092 14 9.00004C14 6.7909 12.2092 5.00004 10 5.00004H3.70712Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n <div>Reset</div>\n </div>\n </div>\n <div class=\"ax-self-center\">\n <div\n class=\"ax-cursor-default ax-select-none ax-text-[11.5px] ax-font-normal ax-leading-4 ax-tracking-tight ax-text-secondary ax-justify-self-end ax-ml-[1px]\"\n >\n <span><kbd>Ctrl</kbd> + <kbd>B</kbd></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ax-popover #popover [openOn]=\"'click'\" [offsetY]=\"10\" [closeOn]=\"'clickOut'\">\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n type: this.current().type,\n side: this.current().side,\n value: this.calculatedValues()[this.current().type][this.current().side]\n }\"\n ></ng-container>\n</ax-popover>\n","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\nexport const AXPSpacingWidget: AXPWidgetConfig = {\n name: 'spacing',\n title: 'Box Spacing',\n description: 'Editing Elements Spacing',\n group: AXP_WIDGETS_EDITOR_GROUP,\n icon: 'fa-solid fa-box',\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],\n components: {\n edit: {\n component: () => import('./spacing-widget-editor.component').then((c) => c.AXPSpacingWidgetEditComponent),\n },\n },\n visible: false,\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n spacing: 'spacing';\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n template: `<p>{{ internalValue() }}</p>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPCronJobWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => this.getValue());\n}\n","import { AXCronJobModule } from '@acorex/components/cron-job';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `<ax-cron-job-container > </ax-cron-job-container>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXCronJobModule]\n})\nexport class AXPCronJobWidgetEditComponent extends AXPWidgetComponent<any> {\n getExpressionHandler(e: any) {\n this.setValue(e.data);\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPCronJobWidgetFilterComponent extends AXPWidgetComponent<any> {}","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n selector: 'axp-text-box-widget-column',\n template: `{{ rawValue }}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPCronJobWidgetColumnComponent extends AXPColumnWidgetComponent<any> {}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPCronJobWidgetPrintComponent extends AXPWidgetComponent<any> {}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPCronJobWidgetDesignerComponent extends AXPWidgetComponent<any> {}","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPCronJobWidget: AXPWidgetConfig = {\n name: 'cron-job',\n title: 'Cron Job',\n icon: 'fa-solid fa-alarm-clock',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n visible: false,\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n view: {\n component: () => import('./cron-job-widget-view.component').then((c) => c.AXPCronJobWidgetViewComponent),\n },\n edit: {\n component: () => import('./cron-job-widget-edit.component').then((c) => c.AXPCronJobWidgetEditComponent),\n },\n filter: {\n component: () => import('./cron-job-widget-filter.component').then((c) => c.AXPCronJobWidgetFilterComponent),\n },\n column: {\n component: () => import('./cron-job-widget-column.component').then((c) => c.AXPCronJobWidgetColumnComponent),\n },\n print: {\n component: () => import('./cron-job-widget-print.component').then((c) => c.AXPCronJobWidgetPrintComponent),\n },\n designer: {\n component: () => import('./cron-job-widget-designer.component').then((c) => c.AXPCronJobWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n cronJob: 'cron-job';\n }\n}\n","import { AXQrcodeLevel, AXQrcodeModule, AXQrcodeOutputType } from '@acorex/components/qrcode';\nimport { AXColorUtil } from '@acorex/core/utils';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostBinding } from '@angular/core';\n@Component({\n selector: 'axp-qrcode-widget',\n template: `\n @if(this.content()){\n <ax-qrcode\n [content]=\"this.content()\"\n [size]=\"size()\"\n [color]=\"color()\"\n [level]=\"level()\"\n [outputType]=\"outputType()\"\n >\n </ax-qrcode>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXQrcodeModule]\n})\nexport class AXPQrcodeWidgetViewComponent extends AXPWidgetComponent<string> {\n protected content = computed<string>(() => this.options()['content']);\n protected size = computed<number>(() => this.options()['size'] ?? 200);\n protected level = computed<AXQrcodeLevel>(() => this.options()['level']?.id ?? 'M');\n protected color = computed<string>(() => AXColorUtil.colorStringToHex(this.options()['color'] ?? '#000000'));\n protected outputType = computed<AXQrcodeOutputType>(() => this.options()['outputType'] ?? 'svg');\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-inline-block`] = true;\n return cls;\n }\n}\n","import {\n AXP_WIDGETS_ADVANCE_GROUP,\n AXPWidgetConfig,\n AXPWidgetsCatalog,\n cloneProperty,\n} from '@acorex/platform/layout/builder';\nimport { AXP_CONTENT_PROPERTY, AXP_STYLING_PROPERTY_GROUP } from '../../../properties';\nimport { AXP_COLOR_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPQrcodeWidget: AXPWidgetConfig = {\n name: 'qrcode',\n title: 'QR Code',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n icon: 'fa-solid fa-qrcode',\n description: 'Display and edit QR Codes',\n type: 'view',\n properties: [\n AXP_NAME_PROPERTY,\n cloneProperty(AXP_COLOR_PROPERTY, { schema: { interface: { defaultValue: '#000000' } } }),\n cloneProperty(AXP_CONTENT_PROPERTY, { schema: { interface: { defaultValue: 'http://google.com' } } }),\n {\n name: 'size',\n title: 'Size',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: 200,\n interface: {\n name: 'size',\n path: 'options.size',\n type: AXPWidgetsCatalog.number,\n },\n },\n visible: true,\n },\n {\n name: 'level',\n title: 'Error Correction Level',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n defaultValue: 'M',\n name: 'level',\n path: 'options.level',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: ['L', 'M', 'Q', 'H'].map((i) => ({ title: i, id: i })),\n },\n },\n },\n visible: true,\n },\n ],\n components: {\n view: {\n component: () => import('./qrcode-widget-view.component').then((c) => c.AXPQrcodeWidgetViewComponent),\n },\n edit: {\n component: () => import('./qrcode-widget-view.component').then((c) => c.AXPQrcodeWidgetViewComponent),\n },\n print: {\n component: () => import('./qrcode-widget-view.component').then((c) => c.AXPQrcodeWidgetViewComponent),\n },\n designer: {\n component: () => import('./qrcode-widget-view.component').then((c) => c.AXPQrcodeWidgetViewComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n qrcode: 'qrcode';\n }\n}\n","import { AXColorUtil } from '@acorex/core/utils';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n\n@Component({\n selector: 'axp-color-box-widget',\n template: `<div class=\"ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit\">\n <div class=\"ax-size-4 ax-rounded-full ax-border\" [style.backgroundColor]=\"rgba()\"></div>\n <span>{{ getValue() }}</span>\n <i\n (click)=\"clipboard.copy('Color', getValue())\"\n class=\"fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible\"\n ></i>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPColorBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n rgba = computed(() => AXColorUtil.toString(this.getValue(), 'rgba'));\n protected clipboard = inject(AXPClipBoardService);\n}\n","import { AXPValidationRules } from '@acorex/platform/core';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXColorBoxModule } from '@acorex/components/color-box'\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\n\n@Component({\n selector: 'axp-color-box-widget',\n template: `\n <ax-color-box [disabled]=\"disabled()\" [readonly]=\"readonly()\" [ngModel]=\"getValue()\" [placeholder]=\"placeholder()\" (onValueChanged)=\"handleValueChanged($event)\">\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n @if(hasClearButton()){\n <ax-clear-button></ax-clear-button>\n } \n </ax-color-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXColorBoxModule, AXDecoratorModule, AXFormModule]\n})\nexport class AXPColorBoxWidgetEditComponent extends AXPWidgetComponent<string> {\n\n protected placeholder = computed<string>(() => this.options()[\"placeholder\"] as string);\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected readonly = computed<boolean>(() => this.options()[\"readonly\"] as boolean);\n protected hasClearButton = computed<boolean>(() => this.options()['hasClearButton'] as boolean);\n protected validationRules = computed<AXPValidationRules>(() => (this.options()[\"validationRules\"] as AXPValidationRules) ?? []);\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-flex-1`] = true;\n return cls;\n }\n\n}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPColorBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXColorUtil } from '@acorex/core/utils';\nimport { AXPClipBoardService } from '@acorex/platform/common';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\n@Component({\n template: `<div class=\"ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit\">\n <div class=\"ax-size-4 ax-rounded-full ax-border\" [style.backgroundColor]=\"rgba()\"></div>\n <span>{{ rawValue }}</span>\n <i\n (click)=\"clipboard.copy('Color', rawValue)\"\n class=\"fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible\"\n ></i>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPColorBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n rgba = computed(() => AXColorUtil.toString(this.rawValue, 'rgba'));\n protected clipboard = inject(AXPClipBoardService);\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: `{{getValue()}}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPColorBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n} from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPColorBoxWidget: AXPWidgetConfig = {\n name: 'color-editor',\n title: 'Color Box',\n description: 'Picks and applies colors',\n icon: 'fa-solid fa-palette',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n AXP_PLACEHOLDER_PROPERTY\n ],\n components: {\n designer: {\n component: () => import('./color-box-widget-designer.component').then((c) => c.AXPColorBoxWidgetDesignerComponent),\n },\n view: {\n component: () => import('./color-box-widget-view.component').then((c) => c.AXPColorBoxWidgetViewComponent),\n },\n edit: {\n component: () => import('./color-box-widget-edit.component').then((c) => c.AXPColorBoxWidgetEditComponent),\n },\n filter: {\n component: () => import('./color-box-widget-filter.component').then((c) => c.AXPColorBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./color-box-widget-column.component').then((c) => c.AXPColorBoxWidgetColumnComponent),\n },\n print: {\n component: () => import('./color-box-widget-print.component').then((c) => c.AXPColorBoxWidgetPrintComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n color: 'color-editor';\n }\n}\n","import { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-items-center\">\n <ax-select-box\n textField=\"text\"\n valueField=\"value\"\n [placeholder]=\"('select' | translate | async) ?? ''\"\n [dataSource]=\"dataSource\"\n [ngModel]=\"value()\"\n (onValueChanged)=\"handleValueChange($event)\"\n ></ax-select-box>\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXDecoratorModule, AXSelectBoxModule, AXTranslationModule],\n})\nexport class AXPBooleanFilterWidgetEditComponent extends AXPWidgetComponent<any> {\n protected operation = computed(() => this.getValue()?.operation || 'equal');\n protected value = computed(() => this.getValue()?.value);\n protected trulyText = computed(() => this.options()['trulyText']);\n protected falsyText = computed(() => this.options()['falsyText']);\n\n protected items: { text: string; value: boolean }[] = [];\n\n protected handleValueChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.setValue({\n value: e.value,\n operation: 'equal',\n });\n }\n }\n\n protected dataSource: any = new AXDataSource({\n load: () => {\n return Promise.resolve({\n items: this.items,\n total: this.items.length,\n });\n },\n byKey: (id: unknown) => {\n const item = this.items.find((c) => c.value.toString() == id);\n return Promise.resolve(item);\n },\n pageSize: 10,\n key: 'value',\n });\n\n #effect = effect(() => {\n this.items = [\n { text: this.trulyText() || 'Yes', value: true },\n { text: this.falsyText() || 'No', value: false },\n ];\n });\n}\n","import { AXP_WIDGETS_FILTER_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPBooleanFilterWidget: AXPWidgetConfig = {\n name: 'boolean-filter',\n title: 'Boolean Filter',\n group: AXP_WIDGETS_FILTER_GROUP,\n type: 'filter',\n icon: 'fa-solid fa-square',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () =>\n import('./boolean-filter-widget-edit.component').then((c) => c.AXPBooleanFilterWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n booleanFilter: 'boolean-filter';\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n Signal,\n signal,\n untracked,\n WritableSignal,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-flex-col ax-items-center\">\n <ax-select-box\n [dataSource]=\"filterTypeDataSource\"\n [placeholder]=\"('select' | translate | async) ?? ''\"\n [ngModel]=\"filterTypeSelectedItem()\"\n (onValueChanged)=\"handleFilterTypeSelectedItemChange($event)\"\n ></ax-select-box>\n @if(filterTypeSelectedItem()==='Between'){\n <div class=\"ax-flex ax-gap-2 ax-mt-2\">\n <ax-datetime-box\n format=\"yyyy/MM/dd\"\n [placeholder]=\"'from' | translate | async\"\n [ngModel]=\"value()?.from\"\n (onValueChanged)=\"handleValueChange($event, 'from')\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n <ax-datetime-box\n format=\"yyyy/MM/dd\"\n [placeholder]=\"'to' | translate | async\"\n [ngModel]=\"value()?.to\"\n (onValueChanged)=\"handleValueChange($event, 'to')\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n </div>\n } @if(filterTypeSelectedItem()===\"Greater Than\" || filterTypeSelectedItem()===\"Less Than\"){\n <div class=\"ax-w-full ax-mt-2\">\n <ax-datetime-box format=\"yyyy/MM/dd\" [ngModel]=\"value()\" (onValueChanged)=\"handleValueChange($event, 'self')\">\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n </div>\n }\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXTranslationModule, AXSelectBoxModule, AXDateTimeBoxModule, AXDecoratorModule],\n})\nexport class AXPDateTimeFilterWidgetEditComponent extends AXPWidgetComponent<any> {\n private calendarService = inject(AXCalendarService);\n protected value: Signal<any> = computed(() => this.convertISODateToDate(this.getValue()?.value));\n protected operation = computed(() => this.getValue()?.operation);\n protected filterTypeSelectedItem: WritableSignal<string> = signal('');\n\n ngAfterViewInit(): void {\n const availableTypes = ['between', 'greaterThan', 'lessThan'];\n if (availableTypes.includes(this.operation())) {\n this.filterTypeSelectedItem.set(this.formatCamelCaseToUpper(this.operation()));\n }\n }\n\n filterTypeDataSource = [\n 'Today',\n 'This Week',\n 'This Month',\n 'Yesterday',\n 'Last Week',\n 'Last Month',\n 'Tomorrow',\n 'Next Week',\n 'Next Month',\n 'Between',\n 'Greater Than',\n 'Less Than',\n ];\n\n private convertISODateToDate = (value?: string | { from: string; to: string }) => {\n if (typeof value === 'object') {\n return { from: value.from ? new Date(value.from) : '', to: value.to ? new Date(value.to) : '' };\n } else {\n return value ? new Date(value) : '';\n }\n };\n\n protected handleFilterTypeSelectedItemChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.filterTypeSelectedItem.set(e.value);\n this.setDateValue();\n }\n }\n\n protected setDateValue(): void {\n const currentDate = this.calendarService.now().date;\n const calendar = this.calendarService.calendar;\n switch (this.filterTypeSelectedItem()) {\n case 'Today':\n this.setValue({\n operation: 'between',\n value: {\n from: calendar.startOf(currentDate, 'day').date.toISOString(),\n to: calendar.endOf(currentDate, 'day').date.toISOString(),\n },\n });\n break;\n case 'This Week':\n this.setValue({\n operation: 'between',\n value: {\n from: calendar.startOf(currentDate, 'week').date.toISOString(),\n to: calendar.endOf(currentDate, 'week').date.toISOString(),\n },\n });\n break;\n case 'This Month':\n this.setValue({\n operation: 'between',\n value: {\n from: calendar.startOf(currentDate, 'month').date.toISOString(),\n to: calendar.endOf(currentDate, 'month').date.toISOString(),\n },\n });\n break;\n case 'Yesterday':\n const yesterDay = calendar.add(currentDate, 'day', -1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: yesterDay.startOf('day').date.toISOString(),\n to: yesterDay.endOf('day').date.toISOString(),\n },\n });\n break;\n case 'Last Week':\n const lastWeek = calendar.add(currentDate, 'week', -1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: lastWeek.startOf('week').date.toISOString(),\n to: lastWeek.endOf('week').date.toISOString(),\n },\n });\n break;\n case 'Last Month':\n const lastMonth = calendar.add(currentDate, 'month', -1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: lastMonth.startOf('month').date.toISOString(),\n to: lastMonth.endOf('month').date.toISOString(),\n },\n });\n break;\n case 'Tomorrow':\n const tomorrow = calendar.add(currentDate, 'day', 1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: tomorrow.startOf('day').date.toISOString(),\n to: tomorrow.endOf('day').date.toISOString(),\n },\n });\n break;\n case 'Next Week':\n const nextWeek = calendar.add(currentDate, 'week', 1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: nextWeek.startOf('week').date.toISOString(),\n to: nextWeek.endOf('week').date.toISOString(),\n },\n });\n break;\n case 'Next Month':\n const nextMonth = calendar.add(currentDate, 'month', -1);\n\n this.setValue({\n operation: 'between',\n value: {\n from: nextMonth.startOf('month').date.toISOString(),\n to: nextMonth.endOf('month').date.toISOString(),\n },\n });\n break;\n case 'Between':\n this.setValue({\n operation: 'between',\n value: {\n from: '',\n to: '',\n },\n });\n break;\n case 'Greater Than':\n this.setValue({\n operation: 'greaterThan',\n });\n break;\n case 'Less Than':\n this.setValue({\n operation: 'lessThan',\n });\n break;\n default:\n break;\n }\n }\n\n protected handleValueChange(e: AXValueChangedEvent, type: 'from' | 'to' | 'self') {\n if (e.isUserInteraction) {\n const operation = untracked(this.operation);\n switch (type) {\n case 'self':\n this.setValue({ operation, value: e.value?.toISOString() });\n break;\n case 'to':\n this.setValue({ operation, value: { to: e.value?.toISOString() } });\n break;\n case 'from':\n this.setValue({ operation, value: { from: e.value?.toISOString() } });\n break;\n default:\n break;\n }\n }\n }\n private formatCamelCaseToUpper = (input: string): string =>\n input?.replace(/([a-z])([A-Z])/g, '$1 $2')?.replace(/\\b\\w/g, (char) => char.toUpperCase());\n}\n","import { AXP_WIDGETS_FILTER_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPDateTimeFilterWidget: AXPWidgetConfig = {\n name: 'datetime-filter',\n title: 'Date Time Filter',\n icon: 'fa-solid fa-square',\n group: AXP_WIDGETS_FILTER_GROUP,\n type: 'filter',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () =>\n import('./date-time-filter-widget-edit.component').then((c) => c.AXPDateTimeFilterWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n dateTimeFilter: 'datetime-filter';\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport {\n ALL_DEFAULT_OPERATORS,\n BOOLEAN_OPERATORS,\n DATE_OPERATORS,\n NUMBER_OPERATORS,\n STRING_OPERATORS,\n} from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-filter-operations',\n templateUrl: './operations.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXDecoratorModule, AXPopoverModule, AXButtonModule, AXSelectionListModule],\n})\nexport class AXPFilterOperationsComponent {\n selectedOperation = model.required();\n type = input<'string' | 'number' | 'datetime' | 'boolean'>('string');\n\n protected operations = computed(() => this.getOperations());\n\n protected getOperations() {\n switch (this.type()) {\n case 'string':\n return STRING_OPERATORS;\n case 'number':\n return NUMBER_OPERATORS;\n case 'boolean':\n return BOOLEAN_OPERATORS;\n case 'datetime':\n return DATE_OPERATORS;\n default:\n return ALL_DEFAULT_OPERATORS;\n }\n }\n}\n","@if(operations().length){\n<ax-button #changeOperator look=\"blank\" color=\"default\" class=\"ax-sm\">\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"></ax-icon>\n</ax-button>\n<ax-popover\n #operatorsPopover\n [target]=\"changeOperator\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n>\n <div\n class=\"ax-max-h-max ax-overflow-auto ax-bg-surface ax-py-5 ax-px-3 ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\n >\n <ax-selection-list\n class=\"\"\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedOperation\"\n (ngModelChange)=\"operatorsPopover.close()\"\n [direction]=\"'vertical'\"\n [items]=\"operations()\"\n [multiple]=\"false\"\n ></ax-selection-list>\n </div>\n</ax-popover>\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPFilterOperationsComponent } from '../operations/operations.component';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-items-center\">\n @if(this.operation()=== 'between'){\n <div class=\"ax-flex-1 ax-flex ax-gap-4\">\n <ax-number-box\n class=\"ax-w-full\"\n [placeholder]=\"('from' | translate | async) ?? 'From'\"\n [showSpinButtons]=\"false\"\n [ngModel]=\"value()?.from\"\n (onValueChanged)=\"handleValueChange($event, 'from')\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-number-box>\n <ax-number-box\n class=\"ax-w-full\"\n [placeholder]=\"('to' | translate | async) ?? 'To'\"\n [showSpinButtons]=\"false\"\n [ngModel]=\"value()?.to\"\n (onValueChanged)=\"handleValueChange($event, 'to')\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-number-box>\n </div>\n }@else{\n <ax-number-box\n class=\"ax-flex-1\"\n [placeholder]=\"(placeholder() | translate | async) ?? ''\"\n [disabled]=\"this.operation() === 'isEmpty' || this.operation() === 'isNotEmpty'\"\n [showSpinButtons]=\"false\"\n [ngModel]=\"value()\"\n (onValueChanged)=\"handleValueChange($event, 'self')\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-number-box>\n }\n <axp-filter-operations\n type=\"number\"\n [selectedOperation]=\"operation()\"\n (selectedOperationChange)=\"handleOperationChange($event)\"\n ></axp-filter-operations>\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXDecoratorModule,\n AXNumberBoxModule,\n AXPFilterOperationsComponent,\n AXTranslationModule,\n ],\n})\nexport class AXPNumberFilterWidgetEditComponent extends AXPWidgetComponent<any> {\n protected value = computed(() => this.getValue()?.value);\n protected operation = computed(() => this.getValue()?.operation || 'equal');\n protected placeholder = computed(() => this.options()['placeholder']);\n\n handleValueChange(e: AXValueChangedEvent, type: 'self' | 'from' | 'to') {\n switch (type) {\n case 'self':\n this.setValue({\n value: e.value,\n operation: this.operation(),\n });\n break;\n case 'from':\n this.setValue({\n value: {\n from: e.value,\n to: this.value()?.to,\n },\n operation: this.operation(),\n });\n break;\n case 'to':\n this.setValue({\n value: {\n from: this.value()?.from,\n to: e.value,\n },\n operation: this.operation(),\n });\n break;\n default:\n break;\n }\n }\n\n handleOperationChange(e: unknown) {\n this.setValue({\n value: this.value(),\n operation: e,\n });\n }\n}\n","import { AXP_WIDGETS_FILTER_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPNumberFilterWidget: AXPWidgetConfig = {\n name: 'number-filter',\n title: 'Number Filter',\n group: AXP_WIDGETS_FILTER_GROUP,\n type: 'filter',\n defaultFilterWidgetName: 'number-filter',\n icon: 'fa-solid fa-square',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () =>\n import('./number-filter-widget-edit.component').then((c) => c.AXPNumberFilterWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n numberFilter: 'number-filter';\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-items-center\">\n <ax-select-box\n [placeholder]=\"(placeholder() | translate | async) ?? ''\"\n [textField]=\"textField()\"\n [valueField]=\"valueField()\"\n [dataSource]=\"dataSource()\"\n [multiple]=\"multiple()\"\n [ngModel]=\"value()\"\n (onValueChanged)=\"handleValueChange($event)\"\n >\n @if(allowSearch()){\n <ax-search-box><ax-clear-button></ax-clear-button></ax-search-box>\n }\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectBoxModule, AXDecoratorModule, AXSearchBoxModule, AXTranslationModule],\n})\nexport class AXPSelectFilterWidgetEditComponent extends AXPWidgetComponent<any> {\n protected value = computed(() => this.getValue()?.value);\n protected dataSource = computed(() => this.options()['dataSource'] || []);\n protected textField = computed(() => this.options()['textField']);\n protected valueField = computed(() => this.options()['valueField']);\n protected multiple = computed(() => this.options()['multiple'] || false);\n protected allowSearch = computed(() => this.options()['allowSearch'] || false);\n protected placeholder = computed(() => this.options()['placeholder'] || false);\n\n protected operation = 'contains';\n\n handleValueChange(e: AXValueChangedEvent) {\n let arrayValue = [];\n if (this.multiple()) {\n arrayValue = e.value;\n } else {\n arrayValue.push(e.value);\n }\n this.setValue({\n operation: this.operation,\n value: arrayValue,\n });\n }\n}\n","import { AXP_WIDGETS_FILTER_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPSelectFilterWidget: AXPWidgetConfig = {\n name: 'select-filter',\n title: 'Select Filter',\n group: AXP_WIDGETS_FILTER_GROUP,\n type: 'filter',\n defaultFilterWidgetName: 'select-filter',\n icon: 'fa-solid fa-square',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () =>\n import('./select-filter-widget-edit.component').then((c) => c.AXPSelectFilterWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n selectFilter: 'select-filter';\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPFilterOperationsComponent } from '../operations/operations.component';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-items-center\">\n <ax-text-box\n class=\"ax-flex-1\"\n [placeholder]=\"(placeholder() | translate | async) ?? ''\"\n [disabled]=\"this.operation() === 'isEmpty' || this.operation() === 'isNotEmpty'\"\n [ngModel]=\"value()\"\n (onValueChanged)=\"handleValueChange($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-text-box>\n <axp-filter-operations\n [type]=\"'string'\"\n [selectedOperation]=\"operation()\"\n (selectedOperationChange)=\"handleOperationChanged($event)\"\n ></axp-filter-operations>\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXTextBoxModule,\n FormsModule,\n AXFormModule,\n AXDecoratorModule,\n AXPFilterOperationsComponent,\n AXTranslationModule,\n ],\n})\nexport class AXPStringWidgetFilterComponent extends AXPWidgetComponent<any> {\n protected operation = computed(() => this.getValue()?.operation || 'equal');\n protected value = computed(() => this.getValue()?.value);\n protected placeholder = computed(() => this.options()['placeholder']);\n\n handleValueChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.setValue({\n value: e.value,\n operation: this.operation(),\n });\n }\n }\n\n handleOperationChanged(e: unknown) {\n this.setValue({\n value: this.value(),\n operation: e,\n });\n }\n}\n","import { AXP_WIDGETS_FILTER_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPStringFilterWidget: AXPWidgetConfig = {\n name: 'string-filter',\n title: 'String Filter',\n icon: 'fa-solid fa-square',\n group: AXP_WIDGETS_FILTER_GROUP,\n type: 'filter',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () => import('./string-filter-widget-edit.component').then((c) => c.AXPStringWidgetFilterComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n stringFilter: 'string-filter';\n }\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\nexport const AXPDocumentWidget: AXPWidgetConfig = {\n name: 'document-layout',\n title: 'Document',\n description: 'Structures the entire document',\n icon: 'fa-solid fa-page',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n visible: false,\n properties: [],\n components: {},\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n document: 'document-layout';\n }\n}\n","import { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'axp-form-field-widget',\n template: `\n <ax-form-field>\n <ax-label>{{ label() }}</ax-label>\n @for (node of children(); track $index) {\n <ng-container axp-widget-renderer [node]=\"node\" [index]=\"index\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n </ax-form-field>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXFormModule, AXLabelModule, AXPLayoutBuilderModule]\n})\nexport class AXPFormFieldWidgetViewComponent extends AXPWidgetComponent<any> {\n protected label = computed<string>(() => this.options()['label'] as string);\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-w-full`] = true;\n return cls;\n }\n}\n","import { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPWidgetComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetMiniButtonComponent, AXPWidgetDesignerRendererDirective } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n@Component({\n selector: \"axp-form-field-widget\",\n template: `\n <ax-form-field>\n <ax-label>{{label()}}</ax-label>\n @for (node of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\" [locked]=\"this.locked\"> </ng-container>\n }\n @empty {\n <axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>\n }\n </ax-form-field>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXFormModule, AXLabelModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetMiniButtonComponent],\n providers: [\n {\n provide: AXPWidgetComponent, useExisting: AXPFormFieldWidgetDesignerComponent\n }\n ]\n})\nexport class AXPFormFieldWidgetDesignerComponent extends AXPWidgetComponent<void> {\n protected label = computed<string>(() => this.options()[\"label\"] as string);\n\n\n @HostBinding('class')\n private get __class(): any {\n return {\n 'ax-widget-container': true,\n 'ax-block': true,\n 'ax-w-full': true\n };\n }\n}","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_LABEL_PROPERTY } from '../../../properties';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPFormFieldWidget: AXPWidgetConfig = {\n name: 'form-field',\n title: 'Form Field',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n icon: 'fa-solid fa-pen-field',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_LABEL_PROPERTY\n ],\n components: {\n view: {\n component: () => import('./form-field-widget-view.component').then((c) => c.AXPFormFieldWidgetViewComponent),\n },\n edit: {\n component: () => import('./form-field-widget-view.component').then((c) => c.AXPFormFieldWidgetViewComponent),\n },\n print: {\n component: () => import('./form-field-widget-view.component').then((c) => c.AXPFormFieldWidgetViewComponent),\n },\n designer: {\n component: () => import('./form-field-widget-designer.component').then((c) => c.AXPFormFieldWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n formField: 'form-field';\n }\n}\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-grid-layout-widget',\n template: `\n <div class=\"ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}\">\n @for (child of children(); track $index) {\n <ng-container axp-widget-renderer [node]=\"child\" [index]=\"index\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule]\n})\nexport class AXPGridWidgetViewComponent extends AXPWidgetComponent<any> {\n protected cols = computed<number>(() => (this.options()['cols'] as number) ?? 1);\n protected rows = computed<number>(() => (this.options()['rows'] as number) ?? 1);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridWidgetPrintComponent extends AXPWidgetComponent<any> {}","import {\n AXPWidgetComponent,\n AXPLayoutBuilderModule,\n AXPWidgetsCatalog,\n} from '@acorex/platform/layout/builder';\nimport {\n AXPDesignerGridDrawerComponent,\n AXPDesignerService,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\n\n@Component({\n selector: 'axp-grid-layout-widget',\n template: `\n @if(settled()) {\n <div class=\"ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}\">\n @for (child of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"child\" [parentNode]=\"this\" [mode]=\"this.mode\" [locked]=\"this.locked\"> </ng-container>\n }\n </div>\n }@else {\n <axp-designer-grid-drawer (onSelect)=\"handleDrawerSelect($event)\"></axp-designer-grid-drawer>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n AXPDesignerGridDrawerComponent,\n ],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPGridWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPGridWidgetDesignerComponent extends AXPWidgetComponent<void> {\n private designerService = inject(AXPDesignerService);\n\n protected cols = computed<number>(() => (this.options()['cols'] as number) ?? 1);\n protected rows = computed<number>(() => (this.options()['rows'] as number) ?? 1);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n protected cells = computed<number[]>(() =>\n Array.from({ length: this.cols() * this.rows() }).map((c, index) => index)\n );\n\n protected settled = computed(() => this.cols() * this.rows() > 1 && this.children().length);\n\n protected handleDrawerSelect(e: { rows: number; cols: number }) {\n this.designerService.update({\n values: {\n options: e,\n },\n mode: 'update',\n widget: this.node,\n });\n const list = Array.from({ length: this.cells().length }).map(() => ({\n type: AXPWidgetsCatalog.gridItem,\n }));\n list.forEach((node) => {\n this.designerService.addWidget(this.node, node);\n });\n }\n\n @HostBinding('class')\n private get __class(): any {\n return {\n 'ax-widget-container': true,\n 'ax-block': true,\n 'ax-w-full': true\n };\n }\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_LAYOUT_GRID_PROPERTIES } from '../../../properties/layout.props';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPGridWidget: AXPWidgetConfig = {\n name: 'grid-layout',\n title: 'Grid Layout',\n type: 'container',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n icon: 'fa-solid fa-grid',\n properties: [\n AXP_NAME_PROPERTY,\n ...AXP_LAYOUT_GRID_PROPERTIES\n ],\n components: {\n view: {\n component: () => import('./grid-widget-view.component').then((c) => c.AXPGridWidgetViewComponent),\n },\n edit: {\n component: () => import('./grid-widget-view.component').then((c) => c.AXPGridWidgetViewComponent),\n },\n print: {\n component: () => import('./grid-widget-view.component').then((c) => c.AXPGridWidgetViewComponent),\n },\n designer: {\n component: () => import('./grid-widget-designer.component').then((c) => c.AXPGridWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n grid: 'grid-layout';\n }\n}\n","import { AXPWidgetComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'axp-grid-layout-item-widget',\n template: `\n @for (child of children(); track $index) {\n <ng-container axp-widget-renderer [node]=\"child\" [index]=\"index\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPGridItemWidgetViewComponent,\n },\n ]\n})\nexport class AXPGridItemWidgetViewComponent extends AXPWidgetComponent<any> {\n protected colSpan = computed<number>(() => this.options()['colSpan'] as number);\n protected colStart = computed<number>(() => this.options()['colStart'] as number);\n protected colEnd = computed<number>(() => this.options()['colEnd'] as number);\n\n protected flexAlignItems = computed<string>(() => this.options()['flexAlignItems']?.id);\n protected flexJustifyContent = computed<string>(() => this.options()['flexJustifyContent']?.id);\n protected flexWrap = computed<string>(() => this.options()['flexWrap']?.id);\n protected flexDirection = computed<string>(() => this.options()['flexDirection']?.id);\n\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n @HostBinding('class')\n private get __class(): any {\n const cls: any = {};\n //\n cls[`ax-flex`] = true;\n cls[`ax-gap-${this.gap()}`] = true;\n //\n if (this.flexAlignItems()) {\n cls[this.flexAlignItems()] = true;\n }\n if (this.flexJustifyContent()) {\n cls[this.flexJustifyContent()] = true;\n }\n if (this.flexWrap()) {\n cls[this.flexWrap()] = true;\n }\n if (this.flexDirection()) {\n cls[this.flexDirection()] = true;\n }\n //\n cls[`ax-col-span-12`] = true;\n if (this.colSpan() != null) {\n cls[`lg:ax-col-span-${this.colSpan()}`] = true;\n } else {\n cls[`lg:ax-col-span-1`] = true;\n }\n //\n if (this.colStart() != null) {\n cls[`lg:ax-col-start-${this.colStart()}`] = true;\n }\n //\n if (this.colEnd() != null) {\n cls[`lg:ax-col-end-${this.colEnd()}`] = true;\n }\n return cls;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridItemWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport {\n AXPDesignerAddWidgetMiniButtonComponent,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'axp-grid-layout-item-widget',\n template: `\n @for (child of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"child\" [parentNode]=\"this\" [mode]=\"this.mode\" [locked]=\"this.locked\"> </ng-container>\n } @empty {\n <axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n AXPDesignerAddWidgetMiniButtonComponent,\n ],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPGridItemWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPGridItemWidgetDesignerComponent extends AXPWidgetComponent<void> {\n\n protected colSpan = computed<number>(() => this.options()['colSpan'] as number);\n protected colStart = computed<number>(() => this.options()['colStart'] as number);\n protected colEnd = computed<number>(() => this.options()['colEnd'] as number);\n\n protected flexAlignItems = computed<string>(() => this.options()['flexAlignItems']?.id);\n protected flexJustifyContent = computed<string>(() => this.options()['flexJustifyContent']?.id);\n protected flexWrap = computed<string>(() => this.options()['flexWrap']?.id);\n protected flexDirection = computed<string>(() => this.options()['flexDirection']?.id);\n\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n\n\n @HostBinding('class')\n private get __class(): any {\n const cls: any = {};\n //\n cls[`ax-widget-container`] = true;\n cls[`ax-flex`] = true;\n cls[`ax-gap-${this.gap()}`] = true;\n //\n if (this.flexAlignItems()) {\n cls[this.flexAlignItems()] = true;\n }\n if (this.flexJustifyContent()) {\n cls[this.flexJustifyContent()] = true;\n }\n if (this.flexWrap()) {\n cls[this.flexWrap()] = true;\n }\n if (this.flexDirection()) {\n cls[this.flexDirection()] = true;\n }\n //\n cls[`ax-col-span-12`] = true;\n if (this.colSpan() != null) {\n cls[`lg:ax-col-span-${this.colSpan()}`] = true;\n } else {\n cls[`lg:ax-col-span-1`] = true;\n }\n //\n if (this.colStart() != null) {\n cls[`lg:ax-col-start-${this.colStart()}`] = true;\n }\n //\n if (this.colEnd() != null) {\n cls[`lg:ax-col-end-${this.colEnd()}`] = true;\n }\n return cls;\n }\n}\n","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_LAYOUT_FLEX_PROPERTIES, AXP_LAYOUT_GRID_ITEM_PROPERTIES } from '../../../properties/layout.props';\nimport { AXP_NAME_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPGridItemWidget: AXPWidgetConfig = {\n name: 'grid-item-layout',\n title: 'Grid Item',\n type: 'container',\n visible: false,\n group: AXP_WIDGETS_LAYOUT_GROUP,\n icon: 'fa-solid fa-objects-column',\n properties: [\n AXP_NAME_PROPERTY,\n ...AXP_LAYOUT_GRID_ITEM_PROPERTIES,\n ...AXP_LAYOUT_FLEX_PROPERTIES\n ],\n components: {\n view: {\n component: () => import('./grid-item-widget-view.component').then((c) => c.AXPGridItemWidgetViewComponent),\n },\n edit: {\n component: () => import('./grid-item-widget-view.component').then((c) => c.AXPGridItemWidgetViewComponent),\n },\n print: {\n component: () => import('./grid-item-widget-view.component').then((c) => c.AXPGridItemWidgetViewComponent),\n },\n designer: {\n component: () => import('./grid-item-widget-designer.component').then((c) => c.AXPGridItemWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n gridItem: 'grid-item-layout';\n }\n}\n","import { AXPLayoutBuilderModule, AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-grid-row-widget',\n template: `\n <div class=\"ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}\">\n @for (child of children(); track $index) {\n <ng-container axp-widget-renderer [node]=\"child\" [index]=\"index\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule]\n})\nexport class AXPGridRowWidgetViewComponent extends AXPWidgetComponent<any> {\n protected cols = computed<number>(() => (this.options()['cols'] as number) ?? 1);\n protected rows = computed<number>(() => (this.options()['rows'] as number) ?? 1);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridRowWidgetPrintComponent extends AXPWidgetComponent<any> { }","import {\n AXPWidgetComponent,\n AXPLayoutBuilderModule,\n AXPWidgetsCatalog,\n} from '@acorex/platform/layout/builder';\nimport {\n AXPDesignerService,\n AXPWidgetDesignerRendererDirective,\n} from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n HostBinding,\n HostListener,\n inject,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { get, sum } from 'lodash-es';\nimport { AXPGridWidgetDesignerComponent } from '../grid/grid-widget-designer.component';\n@Component({\n selector: 'axp-grid-row-widget',\n template: `\n <div class=\"ax-grid ax-grid-cols-{{ cols() }} ax-gap-{{ gap() }}\">\n @for (node of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\" [locked]=\"this.locked\"> </ng-container>\n } @for (node of cells(); track $index) {\n <div\n class=\"axp-empty-slot\"\n (mouseenter)=\"handleMouseHover($index)\"\n (mouseleave)=\"handleMouseLeave($event)\"\n (click)=\"handleClick($event, $index)\"\n [class.axp-state-hover]=\"hoverIndex() >= $index\"\n ></div>\n }\n </div>\n `,\n styleUrls: ['grid-row-widget-designer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n AXPLayoutBuilderModule,\n AXPWidgetDesignerRendererDirective,\n ],\n providers: [\n {\n provide: AXPWidgetComponent,\n useExisting: AXPGridWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPGridRowWidgetDesignerComponent extends AXPWidgetComponent<any> {\n private designerService = inject(AXPDesignerService);\n\n protected cols = computed<number>(() => (this.options()['cols'] as number) ?? 1);\n protected gap = computed<number>(() => (this.options()['gap'] as number) ?? 0);\n\n protected cells = computed<number[]>(() =>\n Array.from({ length: this.cols() - sum(this.children().map((c) => get(c.options, 'colSpan'))) }).map(\n (c, index) => index\n )\n );\n\n protected hoverIndex = signal(0);\n\n protected handleMouseHover(index: number) {\n this.hoverIndex.set(index);\n }\n\n protected handleClick(e: MouseEvent, index: number) {\n e.stopPropagation();\n this.hoverIndex.set(-1);\n e.preventDefault();\n this.designerService.addWidget(this.node, {\n type: AXPWidgetsCatalog.gridItem,\n options: {\n colSpan: index + 1,\n },\n });\n }\n\n @HostListener('mouseleave', ['$event'])\n protected handleMouseLeave(event: MouseEvent) {\n this.hoverIndex.set(-1);\n }\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-widget-container`] = true;\n cls[`ax-block`] = true;\n cls[`ax-w-full`] = true;\n return cls;\n }\n}\n","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPGridRowWidget: AXPWidgetConfig = {\n name: \"grid-row-layout\",\n title: \"Grid Row Layout\",\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n icon: \"fa-solid fa-diagram-cells\",\n properties: [\n AXP_NAME_PROPERTY,\n ...AXP_LAYOUT_GRID_ROW_PROPERTIES\n ],\n components: {\n view: {\n component: () => import('./grid-row-widget-view.component').then((c) => c.AXPGridRowWidgetViewComponent),\n },\n edit: {\n component: () => import('./grid-row-widget-view.component').then((c) => c.AXPGridRowWidgetViewComponent),\n },\n print: {\n component: () => import('./grid-row-widget-print.component').then((c) => c.AXPGridRowWidgetPrintComponent),\n },\n designer: {\n component: () => import('./grid-row-widget-designer.component').then((c) => c.AXPGridRowWidgetDesignerComponent),\n },\n }\n}\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n gridRow: 'grid-row-layout';\n }\n}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: \"axp-text-block-widget\",\n template: `\n <div [innerHTML]=\"innerContent()\"></div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPTextBlockWidgetViewComponent extends AXPWidgetComponent<void> {\n sanitizer = inject(DomSanitizer);\n\n protected content = computed<string>(() => this.options()['content'] as string);\n\n protected innerContent = computed(() =>\n this.sanitizer.bypassSecurityTrustHtml(this.content())\n );\n}","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPTextBlockWidget: AXPWidgetConfig = {\n name: 'text-block-layout',\n title: 'Text Block',\n description: 'Displays text blocks',\n icon: 'fa-solid fa-text',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'view',\n properties: [\n AXP_NAME_PROPERTY,\n {\n name: 'content',\n title: 'Content',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: 'Text Block',\n interface: {\n name: 'content',\n path: 'options.content',\n type: AXPWidgetsCatalog.richText,\n },\n },\n visible: true,\n },\n ],\n components: {\n view: {\n component: () => import('./text-block-widget-view.component').then((c) => c.AXPTextBlockWidgetViewComponent),\n },\n edit: {\n component: () => import('./text-block-widget-view.component').then((c) => c.AXPTextBlockWidgetViewComponent),\n },\n print: {\n component: () => import('./text-block-widget-view.component').then((c) => c.AXPTextBlockWidgetViewComponent),\n },\n designer: {\n component: () => import('./text-block-widget-designer.component').then((c) => c.AXPTextBlockWidgetDesignerComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n textBlockLayout: 'text-block-layout';\n }\n}\n","import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { NgModule } from '@angular/core';\nimport {\n AXPAvatarWidget,\n AXPBlockWidget,\n AXPBorderWidget,\n AXPButtonWidget,\n AXPCheckBoxWidget,\n AXPContactWidget,\n AXPDateTimeBoxWidget,\n AXPFileBoxWidget,\n AXPGalleryWidget,\n AXPLargeTextWidget,\n AXPMapBoxWidget,\n AXPNumberBoxWidget,\n AXPPageWidget,\n AXPPasswordBoxWidget,\n AXPRepeaterWidget,\n AXPRichTextWidget,\n AXPSelectBoxWidget,\n AXPSelectionListWidget,\n AXPSignatureWidget,\n AXPSpacingWidget,\n AXPTextBoxWidget,\n AXPToggleWidget,\n} from './widgets';\nimport { AXPCronJobWidget } from './widgets/advance/cron-job';\nimport { AXPQrcodeWidget } from './widgets/advance/qrcode';\nimport { AXPColorBoxWidget } from './widgets/editors/color';\nimport { AXPBooleanFilterWidget } from './widgets/filters/boolean-filter';\nimport { AXPDateTimeFilterWidget } from './widgets/filters/date-time-filter';\nimport { AXPNumberFilterWidget } from './widgets/filters/number-filter';\nimport { AXPSelectFilterWidget } from './widgets/filters/select-filter';\nimport { AXPStringFilterWidget } from './widgets/filters/string-filter';\nimport { AXPDocumentWidget } from './widgets/layout/document/document-widget.config';\nimport { AXPFormFieldWidget } from './widgets/layout/form-field';\nimport { AXPGridWidget } from './widgets/layout/grid';\nimport { AXPGridItemWidget } from './widgets/layout/grid-item';\nimport { AXPGridRowWidget } from './widgets/layout/grid-row';\nimport { AXPTextBlockWidget } from './widgets/layout/text-block';\nimport { AXPFlexOptionsWidget } from './widgets/property-editors/flex-options/flex-options-widget.config';\n\n@NgModule({\n imports: [\n AXPLayoutBuilderModule.forChild({\n widgets: [\n AXPDocumentWidget,\n //\n AXPBlockWidget,\n AXPPageWidget,\n AXPRepeaterWidget,\n AXPTextBlockWidget,\n AXPFormFieldWidget,\n AXPGridWidget,\n AXPGridItemWidget,\n AXPGridRowWidget,\n //\n AXPTextBoxWidget,\n AXPCheckBoxWidget,\n AXPSelectBoxWidget,\n AXPRichTextWidget,\n AXPNumberBoxWidget,\n AXPSignatureWidget,\n AXPDateTimeBoxWidget,\n AXPContactWidget,\n AXPSelectionListWidget,\n AXPLargeTextWidget,\n AXPMapBoxWidget,\n AXPCronJobWidget,\n AXPFileBoxWidget,\n AXPQrcodeWidget,\n AXPPasswordBoxWidget,\n AXPGalleryWidget,\n AXPToggleWidget,\n AXPColorBoxWidget,\n AXPAvatarWidget,\n //\n AXPButtonWidget,\n //\n AXPSpacingWidget,\n AXPBorderWidget,\n //\n AXPStringFilterWidget,\n AXPBooleanFilterWidget,\n AXPNumberFilterWidget,\n AXPDateTimeFilterWidget,\n AXPSelectFilterWidget,\n AXPFlexOptionsWidget,\n ],\n }),\n ],\n exports: [],\n declarations: [],\n})\nexport class AXPWidgetsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4","i6","i7","i8","i5"],"mappings":"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"}
|