@acorex/platform 18.0.16 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/common/lib/schema/entity/entity.class.d.ts +2 -1
  2. package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
  3. package/esm2022/common/lib/workflows/common.workflow.mjs +1 -1
  4. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +1 -1
  5. package/esm2022/layout/designer/lib/designer/designer.component.mjs +2 -2
  6. package/esm2022/layout/entity/lib/entity.module.mjs +4 -2
  7. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +7 -4
  8. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +4 -3
  9. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +10 -11
  10. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +3 -2
  11. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +2 -3
  12. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +3 -3
  13. package/esm2022/layouts/lib/admin/entity-layout/index.mjs +2 -2
  14. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +2 -2
  15. package/esm2022/themes/default/lib/entity-reuse.strategy.mjs +2 -4
  16. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +33 -6
  17. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +4 -4
  18. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.mjs +4 -4
  19. package/esm2022/widgets/lib/properties/editors.props.mjs +61 -2
  20. package/esm2022/widgets/lib/properties/table-column.props.mjs +17 -2
  21. package/esm2022/widgets/lib/widgets/actions/button/button-widget-designer.component.mjs +23 -7
  22. package/esm2022/widgets/lib/widgets/actions/button/button-widget-view.component.mjs +24 -8
  23. package/esm2022/widgets/lib/widgets/actions/button/button-widget.config.mjs +4 -2
  24. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget-column.component.mjs +3 -3
  25. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-column.component.mjs +3 -3
  26. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-edit.component.mjs +7 -3
  27. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget.config.mjs +4 -4
  28. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget.config.mjs +3 -3
  29. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget-column.component.mjs +3 -3
  30. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-column.component.mjs +6 -6
  31. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +23 -14
  32. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-view.component.mjs +58 -58
  33. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget.config.mjs +3 -3
  34. package/esm2022/widgets/lib/widgets/editors/contact/index.mjs +3 -4
  35. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +1 -1
  36. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.mjs +63 -41
  37. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.mjs +14 -20
  38. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-column.component.mjs +1 -1
  39. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.mjs +1 -1
  40. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-view.component.mjs +1 -1
  41. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget.config.mjs +5 -4
  42. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-edit.component.mjs +49 -57
  43. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-view.component.mjs +11 -17
  44. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget.config.mjs +3 -2
  45. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-column.component.mjs +44 -7
  46. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-edit.component.mjs +1 -1
  47. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-view.component.mjs +11 -5
  48. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +33 -15
  49. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget.config.mjs +4 -4
  50. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-column.component.mjs +20 -6
  51. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.mjs +4 -4
  52. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget.config.mjs +4 -4
  53. package/esm2022/widgets/lib/widgets.module.mjs +16 -10
  54. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  55. package/fesm2022/acorex-platform-layout-designer.mjs +2 -2
  56. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  57. package/fesm2022/acorex-platform-layout-entity.mjs +18 -13
  58. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  59. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-C2pYReAo.mjs → acorex-platform-layouts-entity-create-view.component-CPGbLM4C.mjs} +3 -2
  60. package/fesm2022/acorex-platform-layouts-entity-create-view.component-CPGbLM4C.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-layouts.mjs +1633 -1633
  62. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  63. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CWXJxLS0.mjs +281 -0
  64. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CWXJxLS0.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CGhOE3jO.mjs +357 -0
  66. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CGhOE3jO.mjs.map +1 -0
  67. package/fesm2022/acorex-platform-themes-default.mjs +11 -562
  68. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  69. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-C0S_HJkl.mjs → acorex-platform-widgets-button-widget-designer.component-COvuxaTt.mjs} +23 -7
  70. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-COvuxaTt.mjs.map +1 -0
  71. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-BzNhzB9y.mjs → acorex-platform-widgets-checkbox-widget-column.component-j1jG8pCr.mjs} +6 -6
  72. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-j1jG8pCr.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-widgets-contact-widget-filter.component-GTwK51nJ.mjs +23 -0
  74. package/fesm2022/acorex-platform-widgets-contact-widget-filter.component-GTwK51nJ.mjs.map +1 -0
  75. package/fesm2022/acorex-platform-widgets.mjs +747 -586
  76. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  77. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +1 -1
  78. package/layout/entity/lib/workflows/create-entity.workflow.d.ts +2 -0
  79. package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +2 -0
  80. package/layouts/lib/admin/entity-layout/index.d.ts +1 -1
  81. package/package.json +12 -12
  82. package/themes/default/lib/entity-reuse.strategy.d.ts +1 -1
  83. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +5 -0
  84. package/widgets/lib/properties/editors.props.d.ts +4 -0
  85. package/widgets/lib/properties/table-column.props.d.ts +1 -0
  86. package/widgets/lib/widgets/actions/button/button-widget-designer.component.d.ts +2 -1
  87. package/widgets/lib/widgets/actions/button/button-widget-view.component.d.ts +2 -1
  88. package/widgets/lib/widgets/advance/file/file-box-widget-column.component.d.ts +1 -1
  89. package/widgets/lib/widgets/advance/gallery/gallery-widget-column.component.d.ts +1 -1
  90. package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +2 -0
  91. package/widgets/lib/widgets/advance/signature/signature-pad-widget-column.component.d.ts +1 -1
  92. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-column.component.d.ts +1 -1
  93. package/widgets/lib/widgets/editors/contact/contact-widget-edit.component.d.ts +1 -0
  94. package/widgets/lib/widgets/editors/contact/contact-widget-view.component.d.ts +2 -2
  95. package/widgets/lib/widgets/editors/contact/index.d.ts +2 -3
  96. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.d.ts +1 -1
  97. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.d.ts +2 -1
  98. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.d.ts +2 -2
  99. package/widgets/lib/widgets/editors/large-text/large-text-widget-column.component.d.ts +1 -1
  100. package/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.d.ts +1 -1
  101. package/widgets/lib/widgets/editors/large-text/large-text-widget-view.component.d.ts +1 -1
  102. package/widgets/lib/widgets/editors/number/number-box-widget-edit.component.d.ts +1 -1
  103. package/widgets/lib/widgets/editors/password/password-box-widget-column.component.d.ts +7 -3
  104. package/widgets/lib/widgets/editors/password/password-box-widget-edit.component.d.ts +1 -1
  105. package/widgets/lib/widgets/editors/password/password-box-widget-view.component.d.ts +1 -1
  106. package/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.d.ts +2 -0
  107. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-column.component.d.ts +1 -1
  108. package/fesm2022/acorex-platform-layouts-entity-create-view.component-C2pYReAo.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C0S_HJkl.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BzNhzB9y.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-view.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-filter.component.ts","../../../../libs/platform/widgets/src/lib/widgets/editors/contact/contact-widget-column.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.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-view.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-column.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.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/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/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/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/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/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.module.ts","../../../../libs/platform/widgets/src/acorex-platform-widgets.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXClickEvent, AXStyleColorType, AXStyleLookType } from '@acorex/components/common';\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 (onClick)=\"handleClick($event)\" [disabled]=\"disabled()\" [color]=\"color()\" [look]=\"look()\" [text]=\"text()\">\n @if(loading()){\n <ax-loading> </ax-loading>\n }\n </ax-button>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXLoadingModule],\n inputs: [],\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>(() => this.options()['text']);\n protected loading = computed<boolean>(() => this.options()['loading']);\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 } from '@acorex/platform/layout/builder';\nimport { AXP_STYLING_PROPERTY_GROUP, AXP_WIDGET_PROPERTY_GROUP } from './groups';\n\nexport const AXP_NAME_PROPERTY: AXPWidgetProperty = {\n name: 'name',\n title: 'Name',\n group: AXP_WIDGET_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'name',\n path: 'name',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\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' },\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\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 } from '@acorex/components/common';\nimport { AXPWidgetProperty, AXPWidgetsCatalog } 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: AXPWidgetProperty = {\n name: 'content',\n title: 'Content',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'content',\n path: 'options.content',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_DISABLED_PROPERTY: AXPWidgetProperty = {\n name: 'disabled',\n title: 'Disabled',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n name: 'disabled',\n path: 'options.disabled',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_READONLY_PROPERTY: AXPWidgetProperty = {\n name: 'readonly',\n title: 'Readonly',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n name: 'readonly',\n path: 'options.readonly',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_PLACEHOLDER_PROPERTY: AXPWidgetProperty = {\n name: 'placeholder',\n title: 'Placeholder',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'placeholder',\n path: 'options.placeholder',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_DATA_PATH_PROPERTY: AXPWidgetProperty = {\n name: 'path',\n title: 'Data Path',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'path',\n path: 'path',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_ALLOW_MULTIPLE_PROPERTY: AXPWidgetProperty = {\n name: 'multiple',\n title: 'Multiple',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n name: 'multiple',\n path: 'options.multiple',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_HAS_LABEL_PROPERTY: AXPWidgetProperty = {\n name: 'hasLabel',\n title: 'Label',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: true,\n interface: {\n name: 'hasLabel',\n path: 'options.hasLabel',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_HAS_ICON_PROPERTY: AXPWidgetProperty = {\n name: 'hasIcon',\n title: 'Icon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: true,\n interface: {\n name: 'hasIcon',\n path: 'options.hasIcon',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_HAS_CLEAR_BUTTON_PROPERTY: AXPWidgetProperty = {\n name: 'hasClearButton',\n title: 'Clear Button',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n interface: {\n name: 'hasClearButton',\n path: 'options.hasClearButton',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\nexport const AXP_HAS_COPY_ICON_PROPERTY: AXPWidgetProperty = {\n name: 'hasCopyIcon',\n title: 'Copy Icon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n interface: {\n name: 'hasCopyIcon',\n path: 'options.hasCopyIcon',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\nexport const AXP_HAS_EYE_ICON_PROPERTY: AXPWidgetProperty = {\n name: 'hasEyeIcon',\n title: 'Eye Icon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n interface: {\n name: 'hasEyeIcon',\n path: 'options.hasEyeIcon',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\nexport const AXP_DOWNLOADABLE_PROPERTY: AXPWidgetProperty = {\n name: 'downloadable',\n title: 'Downloadable',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n interface: {\n name: 'downloadable',\n path: 'options.downloadable',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_TRULY_TEXT_PROPERTY: AXPWidgetProperty = {\n name: 'trulyText',\n title: 'Truly Text',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'trulyText',\n path: 'options.trulyText',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\nexport const AXP_FALSY_TEXT_PROPERTY: AXPWidgetProperty = {\n name: 'falsyText',\n title: 'Falsy Text',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'falsyText',\n path: 'options.falsyText',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_TEXT_PROPERTY: AXPWidgetProperty = {\n name: 'text',\n title: 'Text',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'text',\n path: 'options.text',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_TITLE_PROPERTY: AXPWidgetProperty = {\n name: 'title',\n title: 'Title',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'title',\n path: 'options.title',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_LABEL_PROPERTY: AXPWidgetProperty = {\n name: 'label',\n title: 'Label',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: 'Sample Label',\n interface: {\n name: 'label',\n path: 'options.label',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_VALUE_FIELD_PROPERTY: AXPWidgetProperty = {\n name: 'valueField',\n title: 'Value Field',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'valueField',\n path: 'options.valueField',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\nexport const AXP_TEXT_FIELD_PROPERTY: AXPWidgetProperty = {\n name: 'textField',\n title: 'Text Field',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'textField',\n path: 'options.textField',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_DESCRIPTION_PROPERTY: AXPWidgetProperty = {\n name: 'description',\n title: 'Description',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'description',\n path: 'options.description',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_STYLE_COLOR_PROPERTY: AXPWidgetProperty = {\n name: 'color',\n title: 'Color',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'primary' },\n interface: {\n name: 'color',\n path: 'options.color',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: AX_STYLE_COLOR_TYPES.map((i) => ({ id: i, title: i })),\n hasClearButton: true,\n },\n },\n },\n visible: true,\n};\nexport const AXP_STYLE_LOOK_PROPERTY: AXPWidgetProperty = {\n name: 'look',\n title: 'Look',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'solid' },\n interface: {\n name: 'look',\n path: 'options.look',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: ['solid', 'blank', 'outline', 'twotone', 'flat', 'fill', 'none'].map((i) => ({ id: i, title: i })), //TODO remove this array and use AX_STYLE_LOOK_TYPES instead\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_DATE_FROMAT_PROPERTY: AXPWidgetProperty = {\n name: 'format',\n title: 'Format',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'date', title: 'Date' },\n interface: {\n name: 'format',\n path: 'options.format',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'date', title: 'Date' },\n { id: 'datetime', title: 'DateTime' },\n { id: 'time', title: 'Time' },\n ],\n },\n },\n },\n visible: true,\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 defaultValue: 'Sample Text',\n interface: {\n name: 'defaultValue',\n path: 'defaultValue',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n };\n}\n","import { AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetsCatalog, cloneProperty } from '@acorex/platform/layout/builder';\n\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\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\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\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]","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: '200px',\n interface: {\n name: 'width',\n path: 'options.width',\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_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_DISABLED_PROPERTY,\n cloneProperty(AXP_TEXT_PROPERTY, { schema: { defaultValue: 'Click Here' } }),\n AXP_STYLE_COLOR_PROPERTY,\n AXP_STYLE_LOOK_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 { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXLabelModule } from '@acorex/components/label';\n\n@Component({\n selector: 'axp-checkbox-widget-edit',\n template: `\n <ax-check-box [ngModel]=\"this.getValue()\" [disabled]=\"disabled()\" [readonly]=\"readonly()\" (onValueChanged)=\"handleValueChanged($event)\"> \n @if(label())\n {\n <ax-label >{{label()}}</ax-label>\n }\n </ax-check-box>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXCheckBoxModule, FormsModule, AXLabelModule],\n})\nexport class AXPCheckBoxWidgetEditComponent extends AXPWidgetComponent<boolean | null> {\n\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\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 { 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: `<div class=\"ax-grid ax-grid-cols-12 ax-gap-1 ax-justify-center ax-items-center ax-group\">\n @for(item of internalValue();track $index){ @if(item){ @if(hasIcon()){\n <ax-icon class=\"ax-col-start-1 ax-col-end-2 fa-solid ax-text-neutral-400\" [class]=\"chooseIcon()\"> </ax-icon>\n } @let href = type() === 'link' ? item.value : type()==='phone'? 'tel:'+item.value : 'mailto:'+ item.value ;\n <div class=\"ax-col-start-2 ax-col-end-9\">\n <a\n [href]=\"href\"\n [target]=\"'_blank'\"\n class=\"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('Email', item.value)\"\n >\n <i class=\"fa-solid fa-copy \"></i>\n </span>\n </div>\n @if(hasLabel()){\n <ax-badge\n class=\"ax-col-start-10 ax-col-end-12 ax-flex ax-justify-center ax-items-center\"\n color=\"primary\"\n [look]=\"'twotone'\"\n [text]=\"item.label ?? ''\"\n ></ax-badge>\n } }}\n </div> `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXBadgeModule, AXDecoratorModule],\n inputs: [],\n})\nexport class AXPContactWidgetViewComponent extends AXPWidgetComponent<any> {\n protected type = computed<'link' | 'phone' | 'email'>(() => this.options()['type']);\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\n protected internalValue: Signal<AXPContactDataType[]> = computed(() => this.valueToArray());\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 valueToArray(): AXPContactDataType[] {\n const value: AXPContactDataType | string = 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}\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 standalone: true,\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=\"lg:ax-grid lg:ax-grid-cols-12 lg:ax-gap-4\">\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=\"Enter {{ type() }} ...\"\n [ngClass]=\"generateClasses('value')\"\n [disabled]=\"disabled()\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-validation-rule message=\"field can't be empty\" 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=\"Choose label...\"\n name=\"label\"\n [ngClass]=\"generateClasses('label')\"\n >\n @if(type()==='email'){\n <ax-validation-rule [rule]=\"'email'\"></ax-validation-rule>\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=\"sm:ax-col-start-8 lg:ax-col-start-7 xl:ax-col-start-11 sm: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 standalone: true,\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<any> {\n //properties\n protected type = computed<'link' | 'phone' | 'email'>(() => this.options()['type'] as 'link' | 'phone' | 'email');\n protected labelList = computed<string[]>(() => this.options()['labelList'] || ['primary', 'secondary', '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\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 protected internalValue: Signal<AXPContactDataType[]> = computed(() => this.valueToArray());\n protected addItem() {\n const newValues: AXPContactDataType[] = [...this.internalValue(), this.emptyValue()];\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 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 }\n const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, [name as string]: value } : item));\n if (this.multiple()) this.setValue(newValues);\n else this.setValue(newValues[0]);\n }\n protected generateClasses(element: 'value' | 'label'): string | any {\n if (this.multiple()) {\n if (this.hasLabel()) {\n if (element === 'value') {\n return 'ax-col-start-1 ax-col-end-13 lg:ax-col-end-7';\n } else {\n return 'ax-col-start-1 ax-col-end-12 lg:ax-col-start-7 lg:ax-col-end-12';\n }\n } else {\n if (element === 'value') {\n return 'ax-col-start-1 ax-col-end-12';\n }\n }\n } else {\n if (this.hasLabel()) {\n if (element === 'value') {\n return 'ax-col-start-1 ax-col-end-13 lg:ax-col-end-7';\n } else {\n return 'ax-col-start-1 ax-col-end-13 lg:ax-col-start-7 lg:ax-col-end-13';\n }\n } else {\n if (element === 'value') {\n return '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: AXPContactDataType | string = 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 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';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPContactWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { AXPContactDataType } from './contact.type';\n@Component({\n template: `<span class=\"ax-truncate\" [title]=\"getText('line')\">{{ getText('comma') }}</span>`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXPContactWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\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 { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPContactWidgetPrintComponent extends AXPWidgetComponent<any> { }","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_DISABLED_PROPERTY,\n AXP_HAS_ICON_PROPERTY,\n AXP_HAS_LABEL_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 {\n name: 'type',\n title: 'Type',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n nullable: false,\n interface: {\n name: 'type',\n path: 'options.type',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'link', title: 'Link' },\n { id: 'email', title: 'Email' },\n { id: 'phone', title: 'Phone' },\n ],\n },\n },\n },\n visible: true,\n },\n {\n name: 'labelList',\n title: 'Label List',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n nullable: false,\n interface: {\n name: 'labelList',\n path: 'options.labelList',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'primary', title: 'Primary' },\n { id: 'secondary', title: 'Secondary' },\n { id: 'new', title: 'New' },\n ],\n },\n },\n },\n visible: false,\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 { 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()){ \n @for (item of internalValue(); track $index) {\n <p>{{ item }}</p>\n } \n }\n @else \n {\n <p>{{ internalValue()[0] }}</p>\n }\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXPDateTimeBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n private formatter = inject(AXDateTimeFormatter);\n\n\n protected multiple = computed<boolean>(() => this.options()[\"multiple\"] as boolean);\n protected format = computed<'date' | 'time' | 'datetime'>(() => this.options()[\"format\"]['id'] as any);\n\n\n protected internalValue = computed(() =>\n Array.isArray(this.getValue()) ? this.getValue().map((v: string) => this.handleFormat(v)) : [this.handleFormat(this.getValue())]\n );\n\n protected handleFormat(value: string) {\n return value ? this.formatter.format(new Date(value), { format: this.format() }) : '---';\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 >\n @for (validation of validationRules; track $index) \n {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n @if(clearButton()){\n <ax-clear-button></ax-clear-button>\n } \n @if(multiple())\n {\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 } \n @if(multiple()){\n <ax-button class=\"ax-col-span-2\" [text]=\"!internalValue().length ? 'Add New' : 'Add Another'\" look=\"twotone\" (onClick)=\"addItem()\" [disabled]=\"disabled()\"></ax-button>\n }\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXFormModule, AXValidationModule, AXDateTimeBoxModule, AXButtonModule, AXDecoratorModule, AXValidationModule],\n inputs: [],\n})\nexport class AXPDateTimeBoxWidgetEditComponent extends AXPWidgetComponent<any> {\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 protected format = computed<'date' | 'time' | 'datetime'>(() => this.options()[\"format\"]?.['id'] as any);\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n\n\n protected internalValue: Signal<string[]> = computed(() => (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]));\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\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 standalone: true,\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 { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, computed, inject } from '@angular/core';\n@Component({\n template: `<span [title]=\"convertedValue()\">{{ convertedValue() }}</span>`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXPDateTimeBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n private formatter = inject(AXDateTimeFormatter);\n\n protected convertedValue: Signal<string | null> = computed(() => this.updateValue());\n protected multiple!: boolean;\n protected format: 'date' | 'time' | 'datetime' = 'datetime';\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 ? this.formatter.format(new Date(value), { format: this.format }) : '---';\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: `{{rawValue()}}`,\n standalone: true,\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_FROMAT_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_FROMAT_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: () => import('./date-time-box-widget-filter.component').then((c) => c.AXPDateTimeBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./date-time-box-widget-column.component').then((c) => c.AXPDateTimeBoxWidgetColumnComponent),\n },\n print: {\n component: () => 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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXPLargeTextWidgetViewComponent extends AXPWidgetComponent<any> { }\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 [disabled]=\"disabled()\" [ngModel]=\"getValue()\" (ngModelChange)=\"setValue($event)\" [placeholder]=\"placeholder()\">\n @if(clearButton()){\n <ax-clear-button></ax-clear-button>\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-area>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, FormsModule, AXFormModule, AXTextAreaModule],\n inputs: ['disabled', 'clearButton'],\n})\nexport class AXPLargeTextWidgetEditComponent extends AXPWidgetComponent<any> {\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 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 @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 standalone: true,\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXPLargeTextWidgetColumnComponent 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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLargeTextWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig, cloneProperty } from '@acorex/platform/layout/builder';\nimport {\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';\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 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};\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 standalone: true,\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 standalone: true,\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 inputs: [],\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 standalone: true,\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 standalone: true,\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 standalone: true,\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()){ \n @for (item of internalValue(); track $index) {\n <p>{{ item }}</p>\n } \n }@else \n {\n <p>{{ internalValue()[0] }}</p>\n }\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXPNumberBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]));\n\n\n protected multiple = computed<boolean>(() => this.options()[\"multiple\"] as boolean);\n protected format = computed<AXNumberFormatterOptions>(() => (this.options()[\"format\"] as AXNumberFormatterOptions));\n\n\n\n private formatService = inject(AXFormatService);\n\n\n override getValue() {\n if (!isNumber(super.getValue())) return '---';\n const value: number = Number(super.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]=\"','\"\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 {\n <ax-clear-button></ax-clear-button>\n } \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 } \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 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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXNumberBoxModule, FormsModule, AXDecoratorModule, AXFormModule, AXButtonModule],\n})\nexport class AXPNumberBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n\n\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\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(() => (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]));\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 }\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\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 standalone: true,\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 standalone: true,\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 standalone: true,\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} 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 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>{{ showPassword() ? internalValue() : '*******' }}</span>\n @if(hasEyeIcon()){\n <span class=\"ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500\" (click)=\"toggleEye()\">\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXPPasswordBoxWidgetViewComponent extends AXPWidgetComponent<any> {\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXDecoratorModule, AXPasswordBoxModule, AXValidationModule, AXFormModule],\n inputs: [],\n})\nexport class AXPPasswordBoxWidgetEditComponent extends AXPWidgetComponent<any> {\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPPasswordBoxWidgetFilterComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPPasswordBoxWidgetColumnComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n 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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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-block ax-w-full ax-cursor-pointer\" (click)=\"openPopup()\" [innerHTML]=\"text()\"> </span>`,\n standalone: true,\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 { 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, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-rich-text-widget',\n template: `<ax-wysiwyg-container [look]=\"'solid'\" [ngModel]=\"getValue()\" (ngModelChange)=\"setNgModel($event)\" >\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-insert></ax-wysiwyg-insert>\n </ax-wysiwyg-toolbar>\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-wysiwyg-container>`,\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXWysiwygModule, AXValidationModule, AXFormModule, FormsModule],\n inputs: [],\n})\nexport class AXPRichTextWidgetEditComponent extends AXPWidgetComponent<any> {\n\n\n protected setNgModel(event: string) {\n this.setValue(event);\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\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n@Component({\n template: `\n <div>\n @if(multiple())\n { \n @for (item of internalValue(); track $index) {\n <p>{{ item.text }}</p>\n } \n }@else {\n <p>{{ internalValue()[0].text }}</p>\n }\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXPSelectBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() =>\n Array.isArray(this.getValue()) ? this.getValue().map((item: any) => this.extractItem(item)) : [this.extractItem(this.getValue())]\n );\n\n protected text: string | null = null;\n\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 private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n id: item[this.valueField()],\n text: item[this.textField()],\n }\n : {\n id: item,\n text: item,\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 { AXDataSource, AXValueChangedEvent, convertArrayToDataSource } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxComponent, AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPWidgetComponent } 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(hasClearButton())\n {\n <ax-clear-button></ax-clear-button>\n }\n </ax-select-box>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectBoxModule, AXDecoratorModule],\n inputs: [],\n})\nexport class AXPSelectBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n @ViewChild(AXSelectBoxComponent)\n private selectbox!: AXSelectBoxComponent;\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n\n protected dataSource = computed<AXDataSource>(() => {\n const rawValue = this.options()['dataSource'];\n if (rawValue instanceof AXDataSource) {\n return rawValue;\n }\n else if (Array.isArray(rawValue)) {\n return convertArrayToDataSource(rawValue)\n }\n else {\n return convertArrayToDataSource([])\n }\n });\n\n protected valueField = computed<string>(() => (this.options()['valueField'] as string) ?? 'id');\n protected textField = computed<string>(() => (this.options()['textField'] as string) ?? 'title');\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\n protected handleValueChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.setValue((e.component as AXSelectBoxComponent).selectedItems[0]);\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectBoxWidgetFilterComponent 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: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPSelectBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_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_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 ],\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 } from '@angular/core';\n\n@Component({\n template: `\n @for (item of internalValue(); track $index) {\n <ax-badge [class]=\"'ax-ms-1'\" [look]=\"'twotone'\" [text]=\"item[this.textField()]\" color=\"primary\"></ax-badge>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXBadgeModule],\n})\nexport class AXPSelectionListWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => this.updateValue());\n\n protected updateValue() {\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 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","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 { 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-selection-list\n class=\"ax-w-max\"\n [valueField]=\"valueField()\"\n [textField]=\"textField()\"\n [ngModel]=\"this.getValue()\"\n [items]=\"items()\"\n [multiple]=\"multiple()\"\n [direction]=\"direction()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n >\n </ax-selection-list>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionListModule, AXFormModule],\n inputs: [],\n})\nexport class AXPSelectionListWidgetDesignerComponent extends AXPWidgetComponent<any> {\n\n private samples = computed<any[]>(() => Array.from({ length: 5 }).map((c, i) => {\n const item: any = {};\n item[this.valueField()] = i + 1;\n item[this.textField()] = `Item ${i + 1}`;\n return item\n }));\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected items = computed<any[]>(() => this.options()['items'] ?? this.samples());\n protected valueField = computed<string>(() => this.options()['valueField'] ?? 'id');\n protected textField = computed<string>(() => this.options()['textField'] ?? 'text');\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\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 { 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-selection-list\n class=\"ax-w-max\"\n [valueField]=\"valueField()\"\n [textField]=\"textField()\"\n [ngModel]=\"this.getValue()\"\n (onValueChanged)=\"handleValueChange($event)\"\n [items]=\"items()\"\n [multiple]=\"multiple()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [direction]=\"direction()\"\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-selection-list>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionListModule, AXFormModule],\n inputs: [],\n})\nexport class AXPSelectionListWidgetEditComponent extends AXPWidgetComponent<any> {\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected items = computed<any[]>(() => this.options()['items']);\n protected valueField = computed<string>(() => this.options()['valueField'] ?? 'id');\n protected textField = computed<string>(() => this.options()['textField'] ?? 'text');\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 validationRules = computed<AXPValidationRules>(() => (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 standalone: true,\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@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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXBadgeModule],\n inputs: ['rawValue'],\n})\nexport class AXPSelectionListWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected valueField!: string;\n protected textField!: string;\n protected items!: any[];\n protected multiple!: boolean;\n\n protected selectedItemIds: Signal<number[]> = computed(() => this.rawValue);\n protected selectedItems = computed(() =>\n this.items.filter((i) => {\n return this.selectedItemIds().includes(i[this.valueField]);\n })\n );\n protected firstItem = computed(() => this.selectedItems()[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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectionListWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP, cloneProperty } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_DISABLED_PROPERTY, AXP_VALIDATION_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_READONLY_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DATA_SOURCE_PROPERTY } from '../../../properties';\n\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_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: () => import('./selection-list-widget-view.component').then((c) => c.AXPSelectionListWidgetViewComponent),\n },\n edit: {\n component: () => import('./selection-list-widget-edit.component').then((c) => c.AXPSelectionListWidgetEditComponent),\n },\n filter: {\n component: () => import('./selection-list-widget-filter.component').then((c) => c.AXPSelectionListWidgetFilterComponent),\n },\n column: {\n component: () => import('./selection-list-widget-column.component').then((c) => c.AXPSelectionListWidgetColumnComponent),\n },\n print: {\n component: () => import('./selection-list-widget-print.component').then((c) => c.AXPSelectionListWidgetPrintComponent),\n },\n designer: {\n component: () => 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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 template: ` @if(getValue()){ @if(trulyText()){\n <ax-badge [text]=\"trulyText()\" [color]=\"negative() ? 'danger' : 'success'\" [look]=\"'twotone'\"></ax-badge>\n }@else { @if(negative()){\n <ax-icon class=\"fa-solid fa-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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, AXBadgeModule],\n inputs: [],\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-swith-widget',\n template: `<ax-switch [ngModel]=\"this.getValue()\" [disabled]=\"disabled()\" [color]=\"color()\" (ngModelChange)=\"onModelChange($event)\"></ax-switch>`,\n standalone: true,\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 protected onModelChange(e: boolean) {\n this.setValue(e);\n }\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 standalone: true,\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\n standalone: true,\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 template: ``,\n standalone: true,\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 handleDownload(item: AXPFile) {\n const d = this.loadingDialog.show({\n title: this.translateService.translateSync('downloader.dialog.downloading'), // Downloading File\n mode: 'determinate',\n progressColor: 'primary',\n progressValue: 0,\n text: this.translateService.translateSync('downloader.dialog.waiting'), // Waiting...\n buttons: [\n {\n text: this.translateService.translateSync('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 (error: HttpErrorResponse) => {\n d.setProgressText(error.statusText);\n d.setProgressStatus(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-3xl\"> </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 standalone: true,\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-3xl\"> </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 standalone: true,\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 standalone: true,\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\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 standalone: true,\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 [class.height.px]=\"height()\" class=\"ax-w-full\">\n <ax-map\n [hasMarker]=\"false\"\n [markers]=\"markers()\"\n [zoomLevel]=\"zoomLevel()\"\n [latitude]=\"initialLocation().latitude\"\n [longitude]=\"initialLocation().longitude\"\n ></ax-map>\n </div>`,\n standalone: true,\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 { ChangeDetectionStrategy, Component, computed, HostBinding, ViewEncapsulation } 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 [hasLocator]=\"hasLocate()\"\n [hasMarker]=\"hasDraw()\"\n [latitude]=\"initialLocation().latitude\"\n [longitude]=\"initialLocation().longitude\"\n [zoomLevel]=\"zoomLevel()\"\n [maxMarker]=\"maxMarker()\"\n >\n </ax-map>\n </div>`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXMapModule],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent<AXMapLocation[]> {\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>(() => this.options()['height'] ?? 300);\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 @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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXImageModule],\n\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 { AXPDesignerAddWidgetButtonComponent, AXPWidgetDesignerRendererDirective } 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\"></ng-container>\n }\n @empty {\n <axp-designer-add-widget-button class=\"ax-flex-1 ax-self-center ax-place-self-end\"></axp-designer-add-widget-button>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent],\n providers: [\n {\n provide: AXPContainerWidgetComponent, useExisting: AXPBlockWidgetDesignerComponent\n }\n ]\n})\nexport class AXPBlockWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {\n\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-border`] = true;\n cls[`ax-border-dashed`] = 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 <axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </axp-widget-renderer>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule],\n})\nexport class AXPBlockWidgetViewComponent extends AXPWidgetComponent<void> {\n\n protected backgroundColor = computed<string>(() => this.options()[\"backgroundColor\"] as string);\n protected cssClass = computed<string>(() => this.options()[\"cssClass\"] as string);\n protected flexAlign = computed<string>(() => this.options()[\"flexAlign\"]?.id);\n protected flexJustify = computed<string>(() => this.options()[\"flexJustify\"]?.id);\n protected gap = computed<number>(() => this.options()[\"gap\"] as number ?? 0);\n\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-flex`] = true;\n cls[`ax-flex-col`] = true;\n cls[`ax-w-full`] = true;\n cls[`ax-gap-${this.gap}`] = true;\n if (this.flexAlign()) {\n cls[this.flexAlign()] = true;\n }\n if (this.flexJustify()) {\n cls[this.flexJustify()] = true;\n }\n return cls;\n }\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, cloneProperty } from '@acorex/platform/layout/builder';\nimport { AXP_LAYOUT_FLEX_PROPERTIES } from '../../../properties/layout.props';\nimport { AXP_BG_COLOR_PROPERTY, AXP_FONT_SIZE_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPBlockWidget: AXPWidgetConfig = {\n name: 'block-layout',\n title: 'Block',\n description: 'Organizes content in blocks',\n icon: 'fa-solid fa-square',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n properties: [\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\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n blockLayout: 'block-layout';\n }\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 <axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"mode\" > </axp-widget-renderer>\n }\n `,\n standalone: true,\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 { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_BG_COLOR_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_THEME_PROPERTY } from '../../../properties/general.props';\nimport { AXP_DATA_SOURCE_PROPERTY } from '../../../properties';\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_FONT_SIZE_PROPERTY,\n AXP_THEME_PROPERTY,\n AXP_BG_COLOR_PROPERTY\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, AXPLayoutElementAPI, 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 template: `\n @for(row of rows();let i=$index; track i){\n <ng-container>\n @for (node of children();track $index) {\n <axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [index]=\"i\"> </axp-widget-renderer>\n }\n </ng-container>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXPLayoutBuilderModule],\n inputs: [],\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 public addNew() {\n this.rows.update((prev) => [...prev, {}]);\n }\n\n override api(): AXPLayoutElementAPI {\n return {\n \"addNew\": this.addNew.bind(this)\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPRepeaterWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPContainerWidgetComponent, AXPLayoutBuilderModule, } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetButtonComponent, AXPWidgetDesignerRendererDirective } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, signal, WritableSignal } from '@angular/core';\n@Component({\n template: `\n @for(row of rows();let i=$index; track i){\n <ng-container>\n @for (node of children();track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [index]=\"i\" [mode]=\"this.mode\"> </ng-container>\n }\n </ng-container>\n }\n <axp-designer-add-widget-button></axp-designer-add-widget-button>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent],\n providers: [\n {\n provide: AXPContainerWidgetComponent, useExisting: AXPRepeaterWidgetDesignerComponent\n }\n ]\n})\nexport class AXPRepeaterWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {\n\n protected rows: WritableSignal<any[]> = signal([0]);\n\n}","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\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 components: {\n view: {\n component: () => import('./repeater-widget-view.component').then((c) => c.AXPRepeaterWidgetViewComponent),\n },\n edit: {\n component: () => import('./repeater-widget-view.component').then((c) => c.AXPRepeaterWidgetViewComponent),\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, inject } from '@angular/core';\n\n@Component({\n template: `{{ rawValue() }}`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPColorBoxWidgetViewComponent extends AXPWidgetComponent<any> { }","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';\nimport { AXValueChangedEvent } from '@acorex/components/common';\n\n@Component({\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 standalone: true,\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPColorBoxWidgetFilterComponent 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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPColorBoxWidgetColumnComponent 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: `{{rawValue()}}`,\n standalone: true,\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 { 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 standalone: true,\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 } 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 {\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 { 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 } from '@angular/core';\n\n@Component({\n template: `\n <ax-form-field>\n <ax-label>{{label()}}</ax-label>\n @for (node of children(); track $index) {\n <axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </axp-widget-renderer>\n }\n </ax-form-field>\n `,\n standalone: true,\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}","import { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPContainerWidgetComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetButtonComponent, 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\"> </ng-container>\n }\n @empty {\n <axp-designer-add-widget-button class=\"axp-empty-space ax-block ax-p-0 \"></axp-designer-add-widget-button>\n }\n </ax-form-field>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXFormModule, AXLabelModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent],\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(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-w-full`] = true;\n return cls;\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: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_LABEL_PROPERTY],\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 { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n })\nexport class AXPGridWidgetViewComponent extends AXPWidgetComponent<any> {}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridWidgetPrintComponent extends AXPWidgetComponent<any> {}","import { AXPContainerWidgetComponent, AXPLayoutBuilderModule, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent, AXPDesignerService, AXPWidgetDesignerRendererDirective } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\n\n\n@Component({\n selector: 'axp-grid-layout-widget',\n template: `\n @if(settled())\n {\n <div class=\"ax-grid ax-grid-cols-{{cols()}} ax-grid-rows-{{rows()}} ax-gap-{{gap()}}\">\n @for (node of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n </div>\n }@else {\n <axp-designer-grid-drawer (onSelect)=\"handleDrawerSelect($event)\"></axp-designer-grid-drawer>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent],\n providers: [\n {\n provide: AXPContainerWidgetComponent, 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[]>(() => Array.from({ length: this.cols() * this.rows() }).map((c, index) => index));\n\n protected settled = computed(() => (this.cols() * this.rows() > 1) && this.children().length);\n\n // private e = effect(async () => {\n // if (this.settled()) {\n // const cols = this.cols();\n // const rows = this.rows();\n // const gap = this.gap();\n // // const gridstack = (await import('gridstack')).GridStack;\n // // const cols = this.cols();\n // // const rows = this.rows();\n // // debugger\n // // // Initialize the grid with responsive options\n // // gridstack.init({\n // // cellHeight: 80,\n // // margin: 0,\n // // minRow: 1,\n // // column: 11,\n // // });\n // setTimeout(() => {\n // this.element.nativeElement.style.minHeight = this.placeholder?.nativeElement ? `${this.placeholder.nativeElement.clientHeight}px` : '100px';\n // }, 50);\n // }\n // })\n\n\n protected handleDrawerSelect(e: { rows: number, cols: number }) {\n this.designerService.update(\n {\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(): string {\n const cls: any = {};\n //\n cls[`ax-block`] = true;\n cls[`ax-w-full`] = true;\n return cls;\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 { 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, HostBinding } from '@angular/core';\n@Component({\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 standalone: true,\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-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}\n","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig, AXPWidgetsCatalog, cloneProperty } from '@acorex/platform/layout/builder';\nimport {\n AXP_CONTENT_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_STYLING_PROPERTY_GROUP,\n plainTextDefaultProperty,\n} 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 { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPGridItemWidgetViewComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridItemWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPContainerWidgetComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent, AXPDesignerService, AXPWidgetDesignerRendererDirective } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\n\n\n@Component({\n selector: 'axp-grid-layout-item-widget',\n template: `\n @for (node of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n @empty {\n <div class=\"axp-empty-space ax-flex-1 ax-flex ax-justify-center ax-items-center\" >\n <div class=\"ax-m-auto ax-p-4 ax-text-primary-500 hover:ax-text-primary-800\" (click)=\"handleSlotClick()\">\n <i class=\"fa-solid fa-plus \"></i>\n </div>\n </div>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent],\n providers: [\n {\n provide: AXPContainerWidgetComponent, useExisting: AXPGridItemWidgetDesignerComponent\n }\n ]\n})\nexport class AXPGridItemWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {\n\n private designerService = inject(AXPDesignerService);\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 protected async handleSlotClick() {\n await this.designerService.showPicker(this.node);\n }\n\n\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 }\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 { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n })\nexport class AXPGridRowWidgetViewComponent extends AXPWidgetComponent<any> {}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridRowWidgetPrintComponent extends AXPWidgetComponent<any> {}","import { AXPContainerWidgetComponent, AXPLayoutBuilderModule, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent, AXPDesignerService } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, HostListener, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPGridWidgetDesignerComponent } from '../grid/grid-widget-designer.component';\nimport { get, sum } from 'lodash-es';\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\"> </ng-container>\n }\n @for (node of cells(); track $index) {\n <div class=\"axp-empty-slot\" (mouseenter)=\"handleMouseHover($index)\" (mouseleave)=\"handleMouseLeave($event)\" (click)=\"handleClick($event,$index)\" [class.axp-state-hover]=\"hoverIndex()>=$index\">\n </div>\n }\n </div>\n `,\n styleUrls: ['grid-row-widget-designer.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent],\n providers: [\n {\n provide: AXPContainerWidgetComponent, useExisting: AXPGridWidgetDesignerComponent\n }\n ]\n})\nexport class AXPGridRowWidgetDesignerComponent extends AXPContainerWidgetComponent<any> {\n\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[]>(() => Array.from({ length: this.cols() - sum(this.children().map(c => get(c.options, 'colSpan'))) }).map((c, index) => index));\n\n\n protected hoverIndex = signal(0);\n\n\n protected handleMouseHover(index: number) {\n console.log(\"handleMouseHover\", index)\n this.hoverIndex.set(index);\n }\n\n protected handleClick(e: MouseEvent, index: number) {\n console.log(\"handleClick\", index)\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-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 { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { NgModule } from '@angular/core';\nimport {\n AXPBlockWidget,\n AXPButtonWidget,\n AXPCheckBoxWidget,\n AXPContactWidget,\n AXPDateTimeBoxWidget,\n AXPEmailBoxWidget,\n AXPFileBoxWidget,\n AXPGalleryWidget,\n AXPLargeTextWidget,\n AXPLinkWidget,\n AXPMapBoxWidget,\n AXPNumberBoxWidget,\n AXPPageWidget,\n AXPPasswordBoxWidget,\n AXPPhoneBoxWidget,\n AXPRepeaterWidget,\n AXPRichTextWidget,\n AXPSelectBoxWidget,\n AXPSelectionListWidget,\n AXPSignatureWidget,\n AXPTextBoxWidget,\n AXPToggleWidget,\n} from './widgets';\nimport { AXPColorBoxWidget } from './widgets/editors/color';\nimport { AXPTextBlockWidget } from './widgets/layout/text-block';\nimport { AXPDocumentWidget } from './widgets/layout/document/document-widget.config';\nimport { AXPFormFieldWidget } from './widgets/layout/form-field';\nimport { AXPGridWidget } from './widgets/layout/grid';\nimport { AXPQrcodeWidget } from './widgets/advance/qrcode';\nimport { AXPGridItemWidget } from './widgets/layout/grid-item';\nimport { AXPGridRowWidget } from './widgets/layout/grid-row';\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 AXPPhoneBoxWidget,\n AXPEmailBoxWidget,\n AXPLinkWidget,\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","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-view.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-column.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.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/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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXLoadingModule, AXDecoratorModule, AXBadgeModule],\n inputs: [],\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 } from '@acorex/platform/layout/builder';\nimport { AXP_STYLING_PROPERTY_GROUP, AXP_WIDGET_PROPERTY_GROUP } from './groups';\n\nexport const AXP_NAME_PROPERTY: AXPWidgetProperty = {\n name: 'name',\n title: 'Name',\n group: AXP_WIDGET_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'name',\n path: 'name',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\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' },\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\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 } from '@acorex/components/common';\nimport { AXPWidgetProperty, AXPWidgetsCatalog } 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: AXPWidgetProperty = {\n name: 'content',\n title: 'Content',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'content',\n path: 'options.content',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_DISABLED_PROPERTY: AXPWidgetProperty = {\n name: 'disabled',\n title: 'Disabled',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n name: 'disabled',\n path: 'options.disabled',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_READONLY_PROPERTY: AXPWidgetProperty = {\n name: 'readonly',\n title: 'Readonly',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n name: 'readonly',\n path: 'options.readonly',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_PLACEHOLDER_PROPERTY: AXPWidgetProperty = {\n name: 'placeholder',\n title: 'Placeholder',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'placeholder',\n path: 'options.placeholder',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_DATA_PATH_PROPERTY: AXPWidgetProperty = {\n name: 'path',\n title: 'Data Path',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'path',\n path: 'path',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_ALLOW_MULTIPLE_PROPERTY: AXPWidgetProperty = {\n name: 'multiple',\n title: 'Multiple',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n name: 'multiple',\n path: 'options.multiple',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_HAS_LABEL_PROPERTY: AXPWidgetProperty = {\n name: 'hasLabel',\n title: 'Label',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: true,\n interface: {\n name: 'hasLabel',\n path: 'options.hasLabel',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_HAS_ICON_PROPERTY: AXPWidgetProperty = {\n name: 'hasIcon',\n title: 'Icon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n defaultValue: true,\n interface: {\n name: 'hasIcon',\n path: 'options.hasIcon',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_ICON_PROPERTY: AXPWidgetProperty = {\n name: 'icon',\n title: 'Icon Name',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'icon',\n path: 'options.icon',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_IS_LOADING_PROPERTY: AXPWidgetProperty = {\n name: 'loading',\n title: 'Is Loading',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n interface: {\n name: 'loading',\n path: 'options.loading',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_HAS_CLEAR_BUTTON_PROPERTY: AXPWidgetProperty = {\n name: 'hasClearButton',\n title: 'Clear Button',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n interface: {\n name: 'hasClearButton',\n path: 'options.hasClearButton',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\nexport const AXP_HAS_COPY_ICON_PROPERTY: AXPWidgetProperty = {\n name: 'hasCopyIcon',\n title: 'Copy Icon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n interface: {\n name: 'hasCopyIcon',\n path: 'options.hasCopyIcon',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\nexport const AXP_HAS_EYE_ICON_PROPERTY: AXPWidgetProperty = {\n name: 'hasEyeIcon',\n title: 'Eye Icon',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n interface: {\n name: 'hasEyeIcon',\n path: 'options.hasEyeIcon',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\nexport const AXP_DOWNLOADABLE_PROPERTY: AXPWidgetProperty = {\n name: 'downloadable',\n title: 'Downloadable',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'boolean',\n interface: {\n name: 'downloadable',\n path: 'options.downloadable',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n};\n\nexport const AXP_TRULY_TEXT_PROPERTY: AXPWidgetProperty = {\n name: 'trulyText',\n title: 'Truly Text',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'trulyText',\n path: 'options.trulyText',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\nexport const AXP_FALSY_TEXT_PROPERTY: AXPWidgetProperty = {\n name: 'falsyText',\n title: 'Falsy Text',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'falsyText',\n path: 'options.falsyText',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_TEXT_PROPERTY: AXPWidgetProperty = {\n name: 'text',\n title: 'Text',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'text',\n path: 'options.text',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_TITLE_PROPERTY: AXPWidgetProperty = {\n name: 'title',\n title: 'Title',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'title',\n path: 'options.title',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_LABEL_PROPERTY: AXPWidgetProperty = {\n name: 'label',\n title: 'Label',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: 'Sample Label',\n interface: {\n name: 'label',\n path: 'options.label',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_VALUE_FIELD_PROPERTY: AXPWidgetProperty = {\n name: 'valueField',\n title: 'Value Field',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'valueField',\n path: 'options.valueField',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\nexport const AXP_TEXT_FIELD_PROPERTY: AXPWidgetProperty = {\n name: 'textField',\n title: 'Text Field',\n group: AXP_DATA_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'textField',\n path: 'options.textField',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_DESCRIPTION_PROPERTY: AXPWidgetProperty = {\n name: 'description',\n title: 'Description',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n interface: {\n name: 'description',\n path: 'options.description',\n type: AXPWidgetsCatalog.text,\n },\n },\n visible: true,\n};\n\nexport const AXP_STYLE_COLOR_PROPERTY: AXPWidgetProperty = {\n name: 'color',\n title: 'Color',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'primary' },\n interface: {\n name: 'color',\n path: 'options.color',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: AX_STYLE_COLOR_TYPES.map((i) => ({ id: i, title: i })),\n hasClearButton: true,\n },\n },\n },\n visible: true,\n};\nexport const AXP_STYLE_LOOK_PROPERTY: AXPWidgetProperty = {\n name: 'look',\n title: 'Look',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'solid' },\n interface: {\n name: 'look',\n path: 'options.look',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: ['solid', 'blank', 'outline', 'twotone', 'flat', 'fill', 'none'].map((i) => ({ id: i, title: i })), //TODO remove this array and use AX_STYLE_LOOK_TYPES instead\n },\n },\n },\n visible: true,\n};\n\nexport const AXP_DATE_FROMAT_PROPERTY: AXPWidgetProperty = {\n name: 'format',\n title: 'Format',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n defaultValue: { id: 'date', title: 'Date' },\n interface: {\n name: 'format',\n path: 'options.format',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'date', title: 'Date' },\n { id: 'datetime', title: 'DateTime' },\n { id: 'time', title: 'Time' },\n ],\n },\n },\n },\n visible: true,\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}\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}\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 { AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetsCatalog, cloneProperty } from '@acorex/platform/layout/builder';\n\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\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\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\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]","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_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_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 { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXValidationModule, AXValidationService } from '@acorex/core/validation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXLabelModule } from '@acorex/components/label';\n\n@Component({\n selector: 'axp-checkbox-widget-edit',\n template: `\n <ax-check-box [ngModel]=\"this.getValue()\" [disabled]=\"disabled()\" [readonly]=\"readonly()\" (onValueChanged)=\"handleValueChanged($event)\"> \n @if(label())\n {\n <ax-label >{{label()}}</ax-label>\n }\n </ax-check-box>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXCheckBoxModule, FormsModule, AXLabelModule],\n})\nexport class AXPCheckBoxWidgetEditComponent extends AXPWidgetComponent<boolean | null> {\n\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\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 { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { AXPContactDataType } from './contact.type';\n@Component({\n template: `<span class=\"ax-truncate\" [title]=\"getText('line')\">{{ getText('comma') }}</span>`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXPContactWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\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 standalone: true,\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, effect, 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=\"lg:ax-grid lg:ax-grid-cols-12 lg:ax-gap-4\">\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=\"Enter {{ type() }} ...\"\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 }\n <ax-validation-rule message=\"field can't be empty\" 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=\"Choose label...\"\n name=\"label\"\n [ngClass]=\"generateClasses('label')\"\n >\n @if(type()==='email'){\n <ax-validation-rule [rule]=\"'email'\"></ax-validation-rule>\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-7 ax-col-end-13 lg:ax-col-start-10 xl:ax-col-start-11 \"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div> `,\n standalone: true,\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<any> {\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\n constructor() {\n super();\n effect(() => console.log(this.type()));\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 protected internalValue: Signal<AXPContactDataType[]> = computed(() => this.valueToArray());\n protected addItem() {\n const newValues: AXPContactDataType[] = [...this.internalValue(), this.emptyValue()];\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 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 }\n const newValues = this.internalValue().map((item, index) =>\n selectedIndex === index ? { ...item, [name as string]: value } : item\n );\n if (this.multiple()) this.setValue(newValues);\n else this.setValue(newValues[0]);\n }\n protected generateClasses(element: 'value' | 'label'): string | any {\n if (this.multiple()) {\n if (this.hasLabel()) {\n if (element === 'value') {\n return 'ax-col-start-1 ax-col-end-13 lg:ax-col-end-7';\n } else {\n return 'ax-col-start-1 ax-col-end-11 lg:ax-col-start-7 lg:ax-col-end-12 ';\n }\n } else {\n if (element === 'value') {\n return 'ax-col-start-1 ax-col-end-11';\n }\n }\n } else {\n if (this.hasLabel()) {\n if (element === 'value') {\n return 'ax-col-start-1 ax-col-end-13 lg:ax-col-end-7';\n } else {\n return 'ax-col-start-1 ax-col-end-13 lg:ax-col-start-7 lg:ax-col-end-13';\n }\n } else {\n if (element === 'value') {\n return '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: AXPContactDataType | string = 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 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 standalone: true,\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 standalone: true,\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']);\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\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_DISABLED_PROPERTY,\n AXP_HAS_ICON_PROPERTY,\n AXP_HAS_LABEL_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 {\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: { id: 'link', title: 'Link' },\n name: 'type',\n path: 'options.type',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'link', title: 'Link' },\n { id: 'email', title: 'Email' },\n { id: 'phone', title: 'Phone' },\n ],\n },\n },\n },\n visible: true,\n },\n {\n name: 'labelList',\n title: 'Label List',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'string',\n nullable: false,\n interface: {\n name: 'labelList',\n path: 'options.labelList',\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: [\n { id: 'primary', title: 'Primary' },\n { id: 'secondary', title: 'Secondary' },\n ],\n },\n },\n },\n visible: false,\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 { 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 <p>{{ item }}</p>\n } } @else {\n <p>{{ internalValue()[0] }}</p>\n }\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXPDateTimeBoxWidgetViewComponent extends AXPWidgetComponent<string | string[]> {\n private formatter = inject(AXDateTimeFormatter);\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected format = computed<'date' | 'time' | 'datetime'>(() => this.options()['format']['id'] as any);\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 ? this.formatter.format(new Date(value), { format: this.format() }) : '---';\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 standalone: true,\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 protected format = computed<'date' | 'time' | 'datetime'>(() => this.options()['format']?.['id'] as any);\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 standalone: true,\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 { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Signal, computed, inject } from '@angular/core';\n@Component({\n template: `<span [title]=\"convertedValue()\">{{ convertedValue() }}</span>`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXPDateTimeBoxWidgetColumnComponent extends AXPColumnWidgetComponent<string | string[]> {\n private formatter = inject(AXDateTimeFormatter);\n\n protected convertedValue: Signal<string | null> = computed(() => this.updateValue());\n protected multiple!: boolean;\n protected format: 'date' | 'time' | 'datetime' = 'datetime';\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 ? this.formatter.format(new Date(value), { format: this.format }) : '---';\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: `{{rawValue()}}`,\n standalone: true,\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_FROMAT_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_FROMAT_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: () => import('./date-time-box-widget-filter.component').then((c) => c.AXPDateTimeBoxWidgetFilterComponent),\n },\n column: {\n component: () => import('./date-time-box-widget-column.component').then((c) => c.AXPDateTimeBoxWidgetColumnComponent),\n },\n print: {\n component: () => 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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXPLargeTextWidgetViewComponent extends AXPWidgetComponent<string> { }\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 [disabled]=\"disabled()\" [ngModel]=\"getValue()\" (ngModelChange)=\"setValue($event)\" [placeholder]=\"placeholder()\">\n @if(clearButton()){\n <ax-clear-button></ax-clear-button>\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-area>\n `,\n standalone: true,\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 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 @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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 inputs: [],\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXPNumberBoxWidgetViewComponent 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 protected format = computed<AXNumberFormatterOptions>(() => this.options()['format'] as AXNumberFormatterOptions);\n\n private formatService = inject(AXFormatService);\n\n override getValue() {\n if (!isNumber(super.getValue())) return '---';\n const value: number = Number(super.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]=\"','\"\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 standalone: true,\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\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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-block ax-w-full ax-cursor-pointer\" (click)=\"openPopup()\" [innerHTML]=\"text()\"> </span>`,\n standalone: true,\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 { 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 (ngModelChange)=\"setNgModel($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 standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXWysiwygModule, AXValidationModule, AXFormModule, FormsModule],\n inputs: [],\n})\nexport class AXPRichTextWidgetEditComponent extends AXPWidgetComponent<any> {\n protected placeholder = computed<string>(() => this.options()['placeholder'] as string ?? 'default');\n protected setNgModel(event: string) {\n this.setValue(event);\n }\n constructor() {\n super();\n effect(() => console.log(this.placeholder()));\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 @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 standalone: true,\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 standalone: true,\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 standalone: true,\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 { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding } from '@angular/core';\n@Component({\n template: `\n <div>\n @if(multiple())\n { \n @for (item of internalValue(); track $index) {\n <p>{{ item.text }}</p>\n } \n }@else {\n <p>{{ internalValue()[0].text }}</p>\n }\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXPSelectBoxWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() =>\n Array.isArray(this.getValue()) ? this.getValue().map((item: any) => this.extractItem(item)) : [this.extractItem(this.getValue())]\n );\n\n protected text: string | null = null;\n\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 private extractItem(item: any): any {\n return typeof item == 'object'\n ? {\n id: item[this.valueField()],\n text: item[this.textField()],\n }\n : {\n id: item,\n text: item,\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 { AXDataSource, AXValueChangedEvent, convertArrayToDataSource } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxComponent, AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPWidgetComponent } 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(hasClearButton())\n {\n <ax-clear-button></ax-clear-button>\n }\n </ax-select-box>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectBoxModule, AXDecoratorModule],\n inputs: [],\n})\nexport class AXPSelectBoxWidgetEditComponent extends AXPWidgetComponent<any> {\n @ViewChild(AXSelectBoxComponent)\n private selectbox!: AXSelectBoxComponent;\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n\n protected dataSource = computed<AXDataSource>(() => {\n const rawValue = this.options()['dataSource'];\n if (rawValue instanceof AXDataSource) {\n return rawValue;\n }\n else if (Array.isArray(rawValue)) {\n return convertArrayToDataSource(rawValue)\n }\n else {\n return convertArrayToDataSource([])\n }\n });\n\n protected valueField = computed<string>(() => (this.options()['valueField'] as string) ?? 'id');\n protected textField = computed<string>(() => (this.options()['textField'] as string) ?? 'title');\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\n protected handleValueChange(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.setValue((e.component as AXSelectBoxComponent).selectedItems[0]);\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectBoxWidgetFilterComponent 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: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPSelectBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectBoxWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP } from '@acorex/platform/layout/builder';\nimport {\n AXP_ALLOW_MULTIPLE_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_HAS_CLEAR_BUTTON_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_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 ],\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 } from '@angular/core';\n\n@Component({\n template: `\n @for (item of internalValue(); track $index) {\n <ax-badge [class]=\"'ax-ms-1'\" [look]=\"'twotone'\" [text]=\"item[this.textField()]\" color=\"primary\"></ax-badge>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXBadgeModule],\n})\nexport class AXPSelectionListWidgetViewComponent extends AXPWidgetComponent<any> {\n protected internalValue = computed(() => this.updateValue());\n\n protected updateValue() {\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 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","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 { 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-selection-list\n class=\"ax-w-max\"\n [valueField]=\"valueField()\"\n [textField]=\"textField()\"\n [ngModel]=\"this.getValue()\"\n [items]=\"items()\"\n [multiple]=\"multiple()\"\n [direction]=\"direction()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n >\n </ax-selection-list>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionListModule, AXFormModule],\n inputs: [],\n})\nexport class AXPSelectionListWidgetDesignerComponent extends AXPWidgetComponent<any> {\n\n private samples = computed<any[]>(() => Array.from({ length: 5 }).map((c, i) => {\n const item: any = {};\n item[this.valueField()] = i + 1;\n item[this.textField()] = `Item ${i + 1}`;\n return item\n }));\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected items = computed<any[]>(() => this.options()['items'] ?? this.samples());\n protected valueField = computed<string>(() => this.options()['valueField'] ?? 'id');\n protected textField = computed<string>(() => this.options()['textField'] ?? 'text');\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\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 { 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-selection-list\n class=\"ax-w-max\"\n [valueField]=\"valueField()\"\n [textField]=\"textField()\"\n [ngModel]=\"this.getValue()\"\n (onValueChanged)=\"handleValueChange($event)\"\n [items]=\"items()\"\n [multiple]=\"multiple()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [direction]=\"direction()\"\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-selection-list>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionListModule, AXFormModule],\n inputs: [],\n})\nexport class AXPSelectionListWidgetEditComponent extends AXPWidgetComponent<any> {\n\n protected multiple = computed<boolean>(() => this.options()['multiple'] as boolean);\n protected items = computed<any[]>(() => this.options()['items']);\n protected valueField = computed<string>(() => this.options()['valueField'] ?? 'id');\n protected textField = computed<string>(() => this.options()['textField'] ?? 'text');\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 validationRules = computed<AXPValidationRules>(() => (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 standalone: true,\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 standalone: true,\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;\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPSelectionListWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetConfig, AXP_WIDGETS_EDITOR_GROUP, cloneProperty } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_DISABLED_PROPERTY, AXP_VALIDATION_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_READONLY_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DATA_SOURCE_PROPERTY } from '../../../properties';\n\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_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: () => import('./selection-list-widget-view.component').then((c) => c.AXPSelectionListWidgetViewComponent),\n },\n edit: {\n component: () => import('./selection-list-widget-edit.component').then((c) => c.AXPSelectionListWidgetEditComponent),\n },\n filter: {\n component: () => import('./selection-list-widget-filter.component').then((c) => c.AXPSelectionListWidgetFilterComponent),\n },\n column: {\n component: () => import('./selection-list-widget-column.component').then((c) => c.AXPSelectionListWidgetColumnComponent),\n },\n print: {\n component: () => import('./selection-list-widget-print.component').then((c) => c.AXPSelectionListWidgetPrintComponent),\n },\n designer: {\n component: () => 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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 template: ` @if(getValue()){ @if(trulyText()){\n <ax-badge [text]=\"trulyText()\" [color]=\"negative() ? 'danger' : 'success'\" [look]=\"'twotone'\"></ax-badge>\n }@else { @if(negative()){\n <ax-icon class=\"fa-solid fa-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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule, AXBadgeModule],\n inputs: [],\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-swith-widget',\n template: `<ax-switch [ngModel]=\"this.getValue()\" [disabled]=\"disabled()\" [color]=\"color()\" (ngModelChange)=\"onModelChange($event)\"></ax-switch>`,\n standalone: true,\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 protected onModelChange(e: boolean) {\n this.setValue(e);\n }\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 standalone: true,\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\n standalone: true,\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 template: ``,\n standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 handleDownload(item: AXPFile) {\n const d = this.loadingDialog.show({\n title: this.translateService.translateSync('downloader.dialog.downloading'), // Downloading File\n mode: 'determinate',\n progressColor: 'primary',\n progressValue: 0,\n text: this.translateService.translateSync('downloader.dialog.waiting'), // Waiting...\n buttons: [\n {\n text: this.translateService.translateSync('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 (error: HttpErrorResponse) => {\n d.setProgressText(error.statusText);\n d.setProgressStatus(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-3xl\"> </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 standalone: true,\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-3xl\"> </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 standalone: true,\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 [class.height.px]=\"height()\" class=\"ax-w-full\">\n <ax-map\n [hasMarker]=\"false\"\n [markers]=\"markers()\"\n [zoomLevel]=\"zoomLevel()\"\n [latitude]=\"initialLocation().latitude\"\n [longitude]=\"initialLocation().longitude\"\n ></ax-map>\n </div>`,\n standalone: true,\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 [hasLocator]=\"hasLocate()\"\n [hasMarker]=\"hasDraw()\"\n [latitude]=\"initialLocation().latitude\"\n [longitude]=\"initialLocation().longitude\"\n [zoomLevel]=\"zoomLevel()\"\n [maxMarker]=\"maxMarker()\"\n >\n </ax-map>\n </div>`,\n standalone: true,\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 @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 standalone: true,\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXImageModule],\n\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 standalone: true,\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 standalone: true,\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 standalone: true,\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 { AXPDesignerAddWidgetButtonComponent, AXPWidgetDesignerRendererDirective } 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\"></ng-container>\n }\n @empty {\n <axp-designer-add-widget-button class=\"ax-flex-1 ax-self-center ax-place-self-end\"></axp-designer-add-widget-button>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent],\n providers: [\n {\n provide: AXPContainerWidgetComponent, useExisting: AXPBlockWidgetDesignerComponent\n }\n ]\n})\nexport class AXPBlockWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {\n\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-border`] = true;\n cls[`ax-border-dashed`] = 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 <axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </axp-widget-renderer>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule],\n})\nexport class AXPBlockWidgetViewComponent extends AXPWidgetComponent<void> {\n\n protected backgroundColor = computed<string>(() => this.options()[\"backgroundColor\"] as string);\n protected cssClass = computed<string>(() => this.options()[\"cssClass\"] as string);\n protected flexAlign = computed<string>(() => this.options()[\"flexAlign\"]?.id);\n protected flexJustify = computed<string>(() => this.options()[\"flexJustify\"]?.id);\n protected gap = computed<number>(() => this.options()[\"gap\"] as number ?? 0);\n\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n //\n cls[`ax-flex`] = true;\n cls[`ax-flex-col`] = true;\n cls[`ax-w-full`] = true;\n cls[`ax-gap-${this.gap}`] = true;\n if (this.flexAlign()) {\n cls[this.flexAlign()] = true;\n }\n if (this.flexJustify()) {\n cls[this.flexJustify()] = true;\n }\n return cls;\n }\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, cloneProperty } from '@acorex/platform/layout/builder';\nimport { AXP_LAYOUT_FLEX_PROPERTIES } from '../../../properties/layout.props';\nimport { AXP_BG_COLOR_PROPERTY, AXP_FONT_SIZE_PROPERTY } from '../../../properties/general.props';\n\nexport const AXPBlockWidget: AXPWidgetConfig = {\n name: 'block-layout',\n title: 'Block',\n description: 'Organizes content in blocks',\n icon: 'fa-solid fa-square',\n group: AXP_WIDGETS_LAYOUT_GROUP,\n type: 'container',\n properties: [\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\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n blockLayout: 'block-layout';\n }\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 <axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"mode\" > </axp-widget-renderer>\n }\n `,\n standalone: true,\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 { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\nimport { AXP_BG_COLOR_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_THEME_PROPERTY } from '../../../properties/general.props';\nimport { AXP_DATA_SOURCE_PROPERTY } from '../../../properties';\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_FONT_SIZE_PROPERTY,\n AXP_THEME_PROPERTY,\n AXP_BG_COLOR_PROPERTY\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, AXPLayoutElementAPI, 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 template: `\n @for(row of rows();let i=$index; track i){\n <ng-container>\n @for (node of children();track $index) {\n <axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [index]=\"i\"> </axp-widget-renderer>\n }\n </ng-container>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXPLayoutBuilderModule],\n inputs: [],\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 public addNew() {\n this.rows.update((prev) => [...prev, {}]);\n }\n\n override api(): AXPLayoutElementAPI {\n return {\n \"addNew\": this.addNew.bind(this)\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPRepeaterWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPContainerWidgetComponent, AXPLayoutBuilderModule, } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetButtonComponent, AXPWidgetDesignerRendererDirective } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, signal, WritableSignal } from '@angular/core';\n@Component({\n template: `\n @for(row of rows();let i=$index; track i){\n <ng-container>\n @for (node of children();track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [index]=\"i\" [mode]=\"this.mode\"> </ng-container>\n }\n </ng-container>\n }\n <axp-designer-add-widget-button></axp-designer-add-widget-button>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent],\n providers: [\n {\n provide: AXPContainerWidgetComponent, useExisting: AXPRepeaterWidgetDesignerComponent\n }\n ]\n})\nexport class AXPRepeaterWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {\n\n protected rows: WritableSignal<any[]> = signal([0]);\n\n}","import { AXPWidgetConfig, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';\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 components: {\n view: {\n component: () => import('./repeater-widget-view.component').then((c) => c.AXPRepeaterWidgetViewComponent),\n },\n edit: {\n component: () => import('./repeater-widget-view.component').then((c) => c.AXPRepeaterWidgetViewComponent),\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 { 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, HostBinding } from '@angular/core';\n@Component({\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 standalone: true,\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-block`] = true;\n cls[`ax-flex-1`] = 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 { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: `{{ rawValue() }}`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPColorBoxWidgetViewComponent extends AXPWidgetComponent<any> { }","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';\nimport { AXValueChangedEvent } from '@acorex/components/common';\n\n@Component({\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 standalone: true,\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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPColorBoxWidgetFilterComponent 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 standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPColorBoxWidgetColumnComponent 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: `{{rawValue()}}`,\n standalone: true,\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 } from '@angular/core';\n\n@Component({\n template: `\n <ax-form-field>\n <ax-label>{{label()}}</ax-label>\n @for (node of children(); track $index) {\n <axp-widget-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </axp-widget-renderer>\n }\n </ax-form-field>\n `,\n standalone: true,\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}","import { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPContainerWidgetComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetButtonComponent, 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\"> </ng-container>\n }\n @empty {\n <axp-designer-add-widget-button class=\"axp-empty-space ax-block ax-p-0 \"></axp-designer-add-widget-button>\n }\n </ax-form-field>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXFormModule, AXLabelModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent],\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(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-w-full`] = true;\n return cls;\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: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_LABEL_PROPERTY],\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 { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n })\nexport class AXPGridWidgetViewComponent extends AXPWidgetComponent<any> {}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridWidgetPrintComponent extends AXPWidgetComponent<any> {}","import { AXPContainerWidgetComponent, AXPLayoutBuilderModule, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent, AXPDesignerService, AXPWidgetDesignerRendererDirective } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\n\n\n@Component({\n selector: 'axp-grid-layout-widget',\n template: `\n @if(settled())\n {\n <div class=\"ax-grid ax-grid-cols-{{cols()}} ax-grid-rows-{{rows()}} ax-gap-{{gap()}}\">\n @for (node of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n </div>\n }@else {\n <axp-designer-grid-drawer (onSelect)=\"handleDrawerSelect($event)\"></axp-designer-grid-drawer>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent],\n providers: [\n {\n provide: AXPContainerWidgetComponent, 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[]>(() => Array.from({ length: this.cols() * this.rows() }).map((c, index) => index));\n\n protected settled = computed(() => (this.cols() * this.rows() > 1) && this.children().length);\n\n // private e = effect(async () => {\n // if (this.settled()) {\n // const cols = this.cols();\n // const rows = this.rows();\n // const gap = this.gap();\n // // const gridstack = (await import('gridstack')).GridStack;\n // // const cols = this.cols();\n // // const rows = this.rows();\n // // debugger\n // // // Initialize the grid with responsive options\n // // gridstack.init({\n // // cellHeight: 80,\n // // margin: 0,\n // // minRow: 1,\n // // column: 11,\n // // });\n // setTimeout(() => {\n // this.element.nativeElement.style.minHeight = this.placeholder?.nativeElement ? `${this.placeholder.nativeElement.clientHeight}px` : '100px';\n // }, 50);\n // }\n // })\n\n\n protected handleDrawerSelect(e: { rows: number, cols: number }) {\n this.designerService.update(\n {\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(): string {\n const cls: any = {};\n //\n cls[`ax-block`] = true;\n cls[`ax-w-full`] = true;\n return cls;\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 } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n})\nexport class AXPGridItemWidgetViewComponent extends AXPWidgetComponent<any> { }","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridItemWidgetPrintComponent extends AXPWidgetComponent<any> { }","import { AXPContainerWidgetComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent, AXPDesignerService, AXPWidgetDesignerRendererDirective } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\n\n\n@Component({\n selector: 'axp-grid-layout-item-widget',\n template: `\n @for (node of children(); track $index) {\n <ng-container axp-widget-designer-renderer [node]=\"node\" [parentNode]=\"this\" [mode]=\"this.mode\"> </ng-container>\n }\n @empty {\n <div class=\"axp-empty-space ax-flex-1 ax-flex ax-justify-center ax-items-center\" >\n <div class=\"ax-m-auto ax-p-4 ax-text-primary-500 hover:ax-text-primary-800\" (click)=\"handleSlotClick()\">\n <i class=\"fa-solid fa-plus \"></i>\n </div>\n </div>\n }\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent],\n providers: [\n {\n provide: AXPContainerWidgetComponent, useExisting: AXPGridItemWidgetDesignerComponent\n }\n ]\n})\nexport class AXPGridItemWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {\n\n private designerService = inject(AXPDesignerService);\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 protected async handleSlotClick() {\n await this.designerService.showPicker(this.node);\n }\n\n\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 }\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 { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule]\n })\nexport class AXPGridRowWidgetViewComponent extends AXPWidgetComponent<any> {}","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPGridRowWidgetPrintComponent extends AXPWidgetComponent<any> {}","import { AXPContainerWidgetComponent, AXPLayoutBuilderModule, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent, AXPDesignerService } from '@acorex/platform/layout/designer';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, HostListener, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPGridWidgetDesignerComponent } from '../grid/grid-widget-designer.component';\nimport { get, sum } from 'lodash-es';\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\"> </ng-container>\n }\n @for (node of cells(); track $index) {\n <div class=\"axp-empty-slot\" (mouseenter)=\"handleMouseHover($index)\" (mouseleave)=\"handleMouseLeave($event)\" (click)=\"handleClick($event,$index)\" [class.axp-state-hover]=\"hoverIndex()>=$index\">\n </div>\n }\n </div>\n `,\n styleUrls: ['grid-row-widget-designer.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent],\n providers: [\n {\n provide: AXPContainerWidgetComponent, useExisting: AXPGridWidgetDesignerComponent\n }\n ]\n})\nexport class AXPGridRowWidgetDesignerComponent extends AXPContainerWidgetComponent<any> {\n\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[]>(() => Array.from({ length: this.cols() - sum(this.children().map(c => get(c.options, 'colSpan'))) }).map((c, index) => index));\n\n\n protected hoverIndex = signal(0);\n\n\n protected handleMouseHover(index: number) {\n console.log(\"handleMouseHover\", index)\n this.hoverIndex.set(index);\n }\n\n protected handleClick(e: MouseEvent, index: number) {\n console.log(\"handleClick\", index)\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-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 standalone: true,\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 } 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 {\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 //AXPEmailBoxWidget,\n AXPFileBoxWidget,\n AXPGalleryWidget,\n AXPLargeTextWidget,\n //AXPLinkWidget,\n AXPMapBoxWidget,\n AXPNumberBoxWidget,\n AXPPageWidget,\n AXPPasswordBoxWidget,\n //AXPPhoneBoxWidget,\n AXPRepeaterWidget,\n AXPRichTextWidget,\n AXPSelectBoxWidget,\n AXPSelectionListWidget,\n AXPSignatureWidget,\n AXPTextBoxWidget,\n AXPToggleWidget,\n} from './widgets';\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 //AXPPhoneBoxWidget,\n //AXPEmailBoxWidget,\n //AXPLinkWidget,\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","i5"],"mappings":"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"}