@acorex/platform 19.0.1 → 19.1.1

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.
Files changed (96) hide show
  1. package/common/lib/app/application.types.d.ts +1 -0
  2. package/common/lib/common.module.d.ts +2 -2
  3. package/common/lib/layout/sticky.directive.d.ts +5 -1
  4. package/common/lib/settings/index.d.ts +1 -0
  5. package/common/lib/settings/setting-definition.provider.d.ts +7 -8
  6. package/common/lib/settings/setting.builder.d.ts +45 -0
  7. package/common/lib/settings/settings.provider.d.ts +3 -2
  8. package/common/lib/settings/settings.service.d.ts +9 -5
  9. package/common/lib/settings/settings.types.d.ts +15 -25
  10. package/common/lib/store/common.effects.d.ts +2 -2
  11. package/fesm2022/acorex-platform-common.mjs +255 -190
  12. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-builder.mjs +82 -25
  14. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-designer.mjs +12 -10
  16. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-entity.mjs +25 -6
  18. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-setting.mjs +95 -76
  20. package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layouts.mjs +1 -1
  22. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  23. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Bw-rbKbL.mjs → acorex-platform-themes-default-entity-master-create-view.component-CJ_HVKX-.mjs} +4 -4
  24. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Bw-rbKbL.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-CJ_HVKX-.mjs.map} +1 -1
  25. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BJ-ELNnN.mjs +305 -0
  26. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BJ-ELNnN.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DoeGBemE.mjs → acorex-platform-themes-default-entity-master-modify-view.component-DveB-N1Z.mjs} +5 -5
  28. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DoeGBemE.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-DveB-N1Z.mjs.map} +1 -1
  29. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-D8UjpvuI.mjs → acorex-platform-themes-default-entity-master-single-view.component-q_DOP0cT.mjs} +12 -12
  30. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-D8UjpvuI.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-q_DOP0cT.mjs.map} +1 -1
  31. package/fesm2022/acorex-platform-themes-default.mjs +233 -193
  32. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  33. package/fesm2022/acorex-platform-themes-shared.mjs +182 -23
  34. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  35. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs → acorex-platform-widgets-checkbox-widget-designer.component-B_Gec5Qf.mjs} +4 -4
  36. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-B_Gec5Qf.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs → acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs} +4 -4
  38. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DGNcuRbs.mjs → acorex-platform-widgets-page-widget-designer.component-CITselce.mjs} +5 -5
  40. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-CITselce.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-widgets.mjs +280 -127
  42. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  43. package/layout/builder/lib/builder/widget-column-renderer.d.ts +5 -1
  44. package/layout/builder/lib/builder/widget-renderer.component.directive.d.ts +6 -1
  45. package/layout/builder/lib/builder/widget.types.d.ts +14 -9
  46. package/layout/designer/lib/preview/preview.component.d.ts +2 -2
  47. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +1 -0
  48. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +1 -0
  49. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +1 -0
  50. package/layout/setting/lib/setting.viewmodel.d.ts +19 -19
  51. package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +1 -0
  52. package/package.json +10 -10
  53. package/themes/default/index.d.ts +2 -1
  54. package/themes/default/lib/layouts/base/index.d.ts +1 -0
  55. package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +7 -0
  56. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +1 -0
  57. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +1 -0
  58. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +2 -2
  59. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +1 -0
  60. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +1 -0
  61. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +1 -0
  62. package/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.d.ts +0 -2
  63. package/themes/default/lib/layouts/setting-layout/setting-page/setting-page.component.d.ts +5 -0
  64. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +3 -1
  65. package/themes/shared/index.d.ts +1 -0
  66. package/themes/shared/lib/components/layout-elements/index.d.ts +2 -0
  67. package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +5 -0
  68. package/themes/shared/lib/components/layout-elements/layout-page-header.component.d.ts +11 -0
  69. package/themes/shared/lib/components/theme-slot.component.d.ts +1 -0
  70. package/themes/shared/lib/services/theme.service.d.ts +1 -0
  71. package/themes/shared/lib/setting.keys.d.ts +4 -0
  72. package/themes/shared/lib/setting.provider.d.ts +4 -0
  73. package/widgets/lib/properties/layout.props.d.ts +1 -0
  74. package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +1 -1
  75. package/widgets/lib/widgets/advance/map/map-box-widget-view.component.d.ts +1 -1
  76. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.d.ts +0 -3
  77. package/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.d.ts +4 -6
  78. package/widgets/lib/widgets/editors/password/password-box-widget-view.component.d.ts +1 -1
  79. package/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.d.ts +4 -0
  80. package/widgets/lib/widgets/index.d.ts +1 -0
  81. package/widgets/lib/widgets/layout/block/block-widget-designer.component.d.ts +2 -2
  82. package/widgets/lib/widgets/layout/form-field/form-field-widget-designer.component.d.ts +2 -2
  83. package/widgets/lib/widgets/layout/grid/grid-widget-designer.component.d.ts +2 -2
  84. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.d.ts +2 -2
  85. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.d.ts +2 -2
  86. package/widgets/lib/widgets/layout/grid-row/grid-row-widget-designer.component.d.ts +2 -2
  87. package/widgets/lib/widgets/layout/page/page-widget-designer.component.d.ts +2 -2
  88. package/widgets/lib/widgets/layout/repeater/repeater-widget-designer.component.d.ts +2 -2
  89. package/widgets/lib/widgets/property-editors/spacing/index.d.ts +3 -0
  90. package/widgets/lib/widgets/property-editors/spacing/spacing-widget-editor.component.d.ts +13 -0
  91. package/widgets/lib/widgets/property-editors/spacing/spacing-widget-type.d.ts +10 -0
  92. package/widgets/lib/widgets/property-editors/spacing/spacing-widget.config.d.ts +7 -0
  93. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DJYTC375.mjs +0 -305
  94. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DJYTC375.mjs.map +0 -1
  95. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DGNcuRbs.mjs.map +0 -1
@@ -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/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/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/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 hasClearButton: false,\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 hasClearButton: false,\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: true,\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","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_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 hasClearButton: false,\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 hasClearButton: false,\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 hasClearButton: false,\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 hasClearButton: false,\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 hasClearButton: false,\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","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 negative = computed<boolean>(() => this.options()['negative'] as boolean);\n protected trulyText = computed<boolean>(() => this.options()['trulyText'] as boolean);\n protected falsyText = computed<boolean>(() => this.options()['falsyText'] as boolean);\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 = {\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 type: 'editor',\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\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n checkbox: 'checkbox-editor';\n }\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 inputs: []\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 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 <ax-validation-rule rule=\"callback\" [options]=\"{ validate: validateFn }\"></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-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 validationService = inject(AXValidationService);\n\n protected validationRules: AXPValidationRules = [];\n\n protected internalValue: Signal<number[]> = computed(() =>\n Array.isArray(this.getValue()) ? (this.getValue() as number[]) : [this.getValue() as number]\n );\n\n protected validateFn = async (value: any, options: any) => {\n const vn = this.validationService.ruleFor(value);\n this.validationRules.forEach((v) => {\n const options = { ...v.options };\n if (v.message) options.message = v.message;\n vn.addRule(v.rule as any, options);\n });\n const a = await vn.validate();\n return { result: a.result, message: a.rules.find((c) => !c.result)?.message };\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_PLACEHOLDER_PROPERTY,\n AXP_TABLE_COLUMN_WIDTH_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n numberDefaultProperty,\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 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 numberDefaultProperty(),\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 { AXFormModule } from '@acorex/components/form';\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 @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: [CommonModule, AXWysiwygModule, AXValidationModule, AXFormModule, FormsModule]\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>(() => (this.options()[\"validationRules\"] as AXPValidationRules) ?? []);\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\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 multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n\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 handleValueChange(e: AXValueChangedEvent) {\n console.log(this.allowSearch());\n if (e.isUserInteraction) {\n if (this.multiple()) {\n this.setValue((e.component as AXSelectBoxComponent).selectedItems);\n } else {\n this.setValue((e.component as AXSelectBoxComponent).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\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\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 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, 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, 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 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 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: `\n @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-check ax-text-sanger\"> </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-xmark 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 { AXSwitchModule } from '@acorex/components/switch';\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: `<ax-switch\n [ngModel]=\"this.getValue()\"\n [disabled]=\"disabled()\"\n [color]=\"color()\"\n (onValueChanged)=\"handleValueChanged($event)\"\n ></ax-switch>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSwitchModule],\n inputs: []\n})\nexport class AXPToggleWidgetEditComponent extends AXPWidgetComponent<any> {\n protected disabled = computed<boolean>(() => this.options()['disabled']);\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'] = 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-check ax-text-sanger\"> </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-xmark 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 AXP_VALIDATION_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 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_VALIDATION_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@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 ax-gap-4\">\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 (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 this.getValue() ? (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]) : [{}]\n );\n\n handleOnFileUploadComplete(e: AXUploaderFileCompleteEvent) {\n console.log(e);\n }\n\n handleOnFilesUploadComplete(e: AXUploaderFilesCompleteEvent) {\n console.log(e);\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\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 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 { AXMapLocation, 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 [hasDraw]=\"false\"\n [markers]=\"markers()\"\n [zoomLevel]=\"zoomLevel()\"\n [latitude]=\"initialLocation().latitude\"\n [longitude]=\"initialLocation().longitude\"\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<AXMapLocation[]> {\n markers = computed(() => this.getValue());\n height = computed<number>(() => this.options()['height'] ?? 300);\n zoomLevel = computed<number>(() => this.options()['zoomLevel'] ?? 13);\n initialLocation = computed<AXMapLocation>(\n () => this.options()['initialLocation'] ?? { latitude: 51.505, longitude: -0.09 },\n {\n equal: (a: AXMapLocation, b: AXMapLocation) => {\n if (a.latitude === b.latitude && a.longitude === b.longitude) return true;\n else return false;\n },\n }\n );\n}\n","import { AXMapLocation, 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 [hasLocator]=\"hasLocate()\"\n [hasDraw]=\"hasDraw()\"\n [latitude]=\"initialLocation().latitude\"\n [longitude]=\"initialLocation().longitude\"\n [zoomLevel]=\"zoomLevel()\"\n [maxMarker]=\"maxMarker()\"\n >\n </ax-map>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXMapModule],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent<AXMapLocation[]> {\n cdr = inject(ChangeDetectorRef);\n\n markers = computed(() => this.getValue() ?? []);\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 zoomLevel = computed<number>(() => this.options()['zoomLevel'] ?? 13);\n height = computed<number>(() => {\n this.cdr.markForCheck();\n return this.options()['height'] ?? 300;\n });\n\n initialLocation = computed<AXMapLocation>(\n () => this.options()['initialLocation'] ?? { latitude: 51.505, longitude: -0.09 },\n {\n equal: (a: AXMapLocation, b: AXMapLocation) => {\n if (a.latitude === b.latitude && a.longitude === b.longitude) return true;\n else return false;\n },\n }\n );\n\n onMarkerChanged(event: AXMapLocation[]) {\n this.setValue(event);\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 hasClearButton: false,\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 hasClearButton: false,\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: 1,\n maxValue: 20,\n hasClearButton: false,\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 { AXPContainerWidgetComponent, 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-block-widget',\n template: `\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\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: AXPContainerWidgetComponent,\n useExisting: AXPBlockWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPBlockWidgetDesignerComponent extends AXPContainerWidgetComponent<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 return {\n 'background-color': this.backgroundColor(),\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';\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 return cls;\n }\n\n @HostBinding('style')\n private get __style(): any {\n return {\n 'background-color': this.backgroundColor(),\n };\n }\n}\n","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_LAYOUT_FLEX_PROPERTIES } from '../../../properties/layout.props';\nimport { AXP_NAME_PROPERTY } from '../../../properties';\n\nexport const AXPBlockWidget: AXPWidgetConfig<AXPBlockWidgetConfigType> = {\n name: 'block-layout',\n title: 'Block',\n description: 'Organizes content in blocks',\n icon: 'fa-solid fa-block',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\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 ],\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\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 { AXPContainerWidgetComponent, 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: AXPContainerWidgetComponent, useExisting: AXPRepeaterWidgetDesignerComponent\n }\n ]\n})\nexport class AXPRepeaterWidgetDesignerComponent extends AXPContainerWidgetComponent<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 { 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 { 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 { AXPContainerWidgetComponent, 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: AXPContainerWidgetComponent, useExisting: AXPFormFieldWidgetDesignerComponent\n }\n ]\n})\nexport class AXPFormFieldWidgetDesignerComponent extends AXPContainerWidgetComponent<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 AXPContainerWidgetComponent,\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: AXPContainerWidgetComponent,\n useExisting: AXPGridWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPGridWidgetDesignerComponent extends AXPContainerWidgetComponent<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 { AXPContainerWidgetComponent, 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: AXPContainerWidgetComponent,\n useExisting: AXPGridItemWidgetViewComponent,\n },\n ]\n})\nexport class AXPGridItemWidgetViewComponent extends AXPContainerWidgetComponent<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 { AXPContainerWidgetComponent, 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: AXPContainerWidgetComponent,\n useExisting: AXPGridItemWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPGridItemWidgetDesignerComponent extends AXPContainerWidgetComponent<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 AXPContainerWidgetComponent,\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: AXPContainerWidgetComponent,\n useExisting: AXPGridWidgetDesignerComponent,\n },\n ]\n})\nexport class AXPGridRowWidgetDesignerComponent extends AXPContainerWidgetComponent<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 AXPBlockWidget,\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 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 { 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';\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 //\n AXPButtonWidget,\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/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/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/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\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","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_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_LAYOUT_FLEX_PROPERTY_GROUP,\n schema: {\n dataType: 'object',\n defaultValue: {\n margin: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n },\n padding: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n },\n },\n interface: {\n name: 'spacing',\n path: 'options.spacing',\n type: AXPWidgetsCatalog.spacing,\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 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\n\n\nexport type AXPCheckBoxWidgetConfigType = {\n type: 'editor';\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 inputs: []\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 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 <ax-validation-rule rule=\"callback\" [options]=\"{ validate: validateFn }\"></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-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 validationService = inject(AXValidationService);\n\n protected validationRules: AXPValidationRules = [];\n\n protected internalValue: Signal<number[]> = computed(() =>\n Array.isArray(this.getValue()) ? (this.getValue() as number[]) : [this.getValue() as number]\n );\n\n protected validateFn = async (value: any, options: any) => {\n const vn = this.validationService.ruleFor(value);\n this.validationRules.forEach((v) => {\n const options = { ...v.options };\n if (v.message) options.message = v.message;\n vn.addRule(v.rule as any, options);\n });\n const a = await vn.validate();\n return { result: a.result, message: a.rules.find((c) => !c.result)?.message };\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_PLACEHOLDER_PROPERTY,\n AXP_TABLE_COLUMN_WIDTH_PROPERTY,\n AXP_VALIDATION_PROPERTY,\n numberDefaultProperty,\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 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 numberDefaultProperty(),\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 { AXFormModule } from '@acorex/components/form';\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 @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: [CommonModule, AXWysiwygModule, AXValidationModule, AXFormModule, FormsModule]\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>(() => (this.options()[\"validationRules\"] as AXPValidationRules) ?? []);\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\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 multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n\n protected validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\n\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 handleValueChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n if (this.multiple()) {\n this.setValue((e.component as AXSelectBoxComponent).selectedItems);\n } else {\n this.setValue((e.component as AXSelectBoxComponent).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\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\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 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, 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, 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 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 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: `\n @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-check ax-text-sanger\"> </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-xmark 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 @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"validation.options?.message\"\n [options]=\"validation.options\"\n >\n </ax-validation-rule>\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 inputs: []\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 validationRules = computed<AXPValidationRules>(\n () => (this.options()['validationRules'] as AXPValidationRules) ?? []\n );\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'] = 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-check ax-text-sanger\"> </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-xmark 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 AXP_VALIDATION_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 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_VALIDATION_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@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 ax-gap-4\">\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 (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 this.getValue() ? (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]) : [{}]\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\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 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 { AXMapLocation, 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 [hasDraw]=\"false\"\n [markers]=\"markers()\"\n [zoomLevel]=\"zoomLevel()\"\n [latitude]=\"initialLocation().latitude\"\n [longitude]=\"initialLocation().longitude\"\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<AXMapLocation[]> {\n markers = computed(() => this.getValue());\n height = computed<number>(() => this.options()['height'] ?? 300);\n zoomLevel = computed<number>(() => this.options()['zoomLevel'] ?? 13);\n initialLocation = computed<AXMapLocation>(\n () => this.options()['initialLocation'] ?? { latitude: 51.505, longitude: -0.09 },\n {\n equal: (a: AXMapLocation, b: AXMapLocation) => {\n if (a.latitude === b.latitude && a.longitude === b.longitude) return true;\n else return false;\n },\n }\n );\n}\n","import { AXMapLocation, 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 [hasLocator]=\"hasLocate()\"\n [hasDraw]=\"hasDraw()\"\n [latitude]=\"initialLocation().latitude\"\n [longitude]=\"initialLocation().longitude\"\n [zoomLevel]=\"zoomLevel()\"\n [maxMarker]=\"maxMarker()\"\n >\n </ax-map>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXMapModule],\n encapsulation: ViewEncapsulation.None\n})\nexport class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent<AXMapLocation[]> {\n cdr = inject(ChangeDetectorRef);\n\n markers = computed(() => this.getValue() ?? []);\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 zoomLevel = computed<number>(() => this.options()['zoomLevel'] ?? 13);\n height = computed<number>(() => {\n this.cdr.markForCheck();\n return this.options()['height'] ?? 300;\n });\n\n initialLocation = computed<AXMapLocation>(\n () => this.options()['initialLocation'] ?? { latitude: 51.505, longitude: -0.09 },\n {\n equal: (a: AXMapLocation, b: AXMapLocation) => {\n if (a.latitude === b.latitude && a.longitude === b.longitude) return true;\n else return false;\n },\n }\n );\n\n onMarkerChanged(event: AXMapLocation[]) {\n this.setValue(event);\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 },\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 },\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: 1,\n maxValue: 20,\n\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 { AXPSpacingBox } from '../../property-editors/spacing';\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: AXPSpacingBox = this.options()['spacing'];\n return {\n 'background-color': this.backgroundColor(),\n 'padding-top': spacing.padding.top + 'px',\n 'padding-right': spacing.padding.right + 'px',\n 'padding-bottom': spacing.padding.bottom + 'px',\n 'padding-left': spacing.padding.left + 'px',\n 'margin-top': spacing.margin.top + 'px',\n 'margin-right': spacing.margin.right + 'px',\n 'margin-bottom': spacing.margin.bottom + 'px',\n 'margin-left': spacing.margin.left + 'px',\n transition: 'padding 0.5s ease, margin 0.5s ease',\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 { AXPSpacingBox } from '../../property-editors/spacing';\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: AXPSpacingBox = this.options()['spacing'];\n return {\n 'background-color': this.backgroundColor(),\n 'padding-top': spacing.padding.top + 'px',\n 'padding-right': spacing.padding.right + 'px',\n 'padding-bottom': spacing.padding.bottom + 'px',\n 'padding-left': spacing.padding.left + 'px',\n 'margin-top': spacing.margin.top + 'px',\n 'margin-right': spacing.margin.right + 'px',\n 'margin-bottom': spacing.margin.bottom + 'px',\n 'margin-left': spacing.margin.left + 'px',\n transition: 'padding 0.25s ease, margin 0.25s ease',\n };\n }\n}\n","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY } from '../../../properties';\nimport { AXP_LAYOUT_FLEX_PROPERTIES, AXP_LAYOUT_SPACING_PROPERTY } 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 ],\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 { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { ChangeDetectionStrategy, Component, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPSpacingBox, AXPSpacingDimention } from './spacing-widget-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],\n inputs: [],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPSpacingWidgetEditComponent extends AXPWidgetComponent<AXPSpacingBox> {\n protected isPaddingLinked = signal(false);\n protected isMarginLinked = signal(false);\n\n protected setSpacing(e: AXValueChangedEvent, type: keyof AXPSpacingBox, side: keyof AXPSpacingDimention) {\n //if (e.isUserInteraction) {\n const value = e.value ?? 0;\n const currentValue = this.getValue();\n this.setValue({\n ...currentValue,\n [type]: {\n ...currentValue[type],\n [side]: value,\n },\n });\n if (this.isPaddingLinked() || this.isMarginLinked()) {\n this.syncSpacing(value, type);\n }\n //}\n }\n\n private syncSpacing(value: number, type: keyof AXPSpacingBox) {\n debugger;\n if ((type === 'padding' && this.isPaddingLinked()) || (type === 'margin' && this.isMarginLinked())) {\n this.setValue({\n ...this.getValue(),\n [type]: this.setSameValue(value),\n });\n }\n }\n\n private setSameValue(value: number) {\n return { top: value, right: value, bottom: value, left: value };\n }\n}\n","<div class=\"axp-spacing-container-box\">\n <div class=\"axp-spacing-content\">\n <div class=\"axp-spacing-box\">{{ 'Block' }}</div>\n </div>\n\n <!-- Margin -->\n <div class=\"axp-spacing-margin\">\n <div class=\"axp-spacing-box\"></div>\n <div class=\"axp-spacing-text\">Margin</div>\n <div class=\"axp-spacing-info\">\n <div class=\"ax-flex ax-gap-1 ax-justify-center ax-items-center\">\n <i class=\"fa-regular fa-link\"></i> <ax-check-box [(ngModel)]=\"isMarginLinked\"> </ax-check-box>\n </div>\n </div>\n <div class=\"axp-spacing-top\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'top')\"\n [ngModel]=\"this.getValue().margin.top\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-right\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'right')\"\n [ngModel]=\"this.getValue().margin.right\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-bottom\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'bottom')\"\n [ngModel]=\"this.getValue().margin.bottom\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-left\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'left')\"\n [ngModel]=\"this.getValue().margin.left\"\n ></ax-number-box>\n </div>\n </div>\n\n <!-- Padding -->\n <div class=\"axp-spacing-padding\">\n <div class=\"axp-spacing-box\"></div>\n <div class=\"axp-spacing-text\">Padding</div>\n <div class=\"axp-spacing-info\">\n <div class=\"ax-flex ax-gap-1 ax-justify-center ax-items-center\">\n <i class=\"fa-regular fa-link\"></i> <ax-check-box [(ngModel)]=\"isPaddingLinked\"> </ax-check-box>\n </div>\n </div>\n <div class=\"axp-spacing-top\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'top')\"\n [ngModel]=\"this.getValue().padding.top\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-right\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'right')\"\n [ngModel]=\"this.getValue().padding.right\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-bottom\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'bottom')\"\n [ngModel]=\"this.getValue().padding.bottom\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-left\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'left')\"\n [ngModel]=\"this.getValue().padding.left\"\n ></ax-number-box>\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, 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 { 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 AXPBlockWidget,\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 { 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';\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 //\n AXPButtonWidget,\n //\n AXPSpacingWidget,\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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"}