@acorex/platform 18.0.6 → 18.0.8

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 (149) hide show
  1. package/auth/lib/auth.strategy.d.ts +1 -1
  2. package/auth/lib/session.service.d.ts +0 -1
  3. package/common/lib/data/data-provider.types.d.ts +1 -1
  4. package/common/lib/schema/entity/entity.class.d.ts +1 -0
  5. package/common/lib/schema/widgets/lookup/lookup-widget-column.component.d.ts +1 -1
  6. package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +3 -1
  7. package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +3 -1
  8. package/esm2022/auth/lib/auth.guard.mjs +4 -4
  9. package/esm2022/auth/lib/auth.strategy.mjs +1 -1
  10. package/esm2022/auth/lib/session.service.mjs +14 -15
  11. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  12. package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
  13. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +2 -2
  14. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +2 -2
  15. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +1 -1
  16. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +2 -2
  17. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +2 -2
  18. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +2 -2
  19. package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +2 -2
  20. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +2 -2
  21. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +3 -3
  22. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +23 -19
  23. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +2 -2
  24. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +1 -1
  25. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +8 -4
  26. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +2 -2
  27. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +56 -61
  28. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +4 -2
  29. package/esm2022/layout/entity/lib/entity.module.mjs +16 -19
  30. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +62 -55
  31. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +83 -61
  32. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +10 -8
  33. package/esm2022/layouts/lib/admin/admin.module.mjs +9 -2
  34. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +6 -3
  35. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +7 -5
  36. package/esm2022/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.mjs +91 -0
  37. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +4 -3
  38. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +4 -3
  39. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +4 -3
  40. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +1 -1
  41. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +4 -3
  42. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +18 -6
  43. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +9 -5
  44. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +6 -3
  45. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +5 -3
  46. package/esm2022/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.mjs +77 -0
  47. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +8 -5
  48. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +29 -13
  49. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +17 -13
  50. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +13 -9
  51. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +8 -5
  52. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +8 -5
  53. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +2 -2
  54. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +2 -2
  55. package/esm2022/widgets/lib/editors/link-widget/index.mjs +8 -0
  56. package/esm2022/widgets/lib/editors/link-widget/link-widget-column.component.mjs +19 -0
  57. package/esm2022/widgets/lib/editors/link-widget/link-widget-designer.component.mjs +19 -0
  58. package/esm2022/widgets/lib/editors/link-widget/link-widget-edit.component.mjs +391 -0
  59. package/esm2022/widgets/lib/editors/link-widget/link-widget-filter.component.mjs +20 -0
  60. package/esm2022/widgets/lib/editors/link-widget/link-widget-print.component.mjs +19 -0
  61. package/esm2022/widgets/lib/editors/link-widget/link-widget-view.component.mjs +120 -0
  62. package/esm2022/widgets/lib/editors/link-widget/link-widget.config.mjs +24 -0
  63. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +10 -7
  64. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +5 -3
  65. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +2 -2
  66. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +13 -3
  67. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +3 -3
  68. package/esm2022/widgets/lib/widgets.module.mjs +4 -1
  69. package/fesm2022/acorex-platform-auth.mjs +14 -15
  70. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  71. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-B8txzrTw.mjs → acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs} +2 -2
  72. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-B8txzrTw.mjs.map → acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs.map} +1 -1
  73. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-B3Ubyw3X.mjs → acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs} +2 -2
  74. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-B3Ubyw3X.mjs.map → acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs.map} +1 -1
  75. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CcJ5Vj4q.mjs → acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs} +2 -2
  76. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CcJ5Vj4q.mjs.map → acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs.map} +1 -1
  77. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DRsoJMVG.mjs → acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs} +2 -2
  78. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DRsoJMVG.mjs.map → acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs.map} +1 -1
  79. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-uB7iwji0.mjs → acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs} +2 -2
  80. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-uB7iwji0.mjs.map → acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs.map} +1 -1
  81. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CY-Nu0xD.mjs → acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs} +2 -2
  82. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CY-Nu0xD.mjs.map → acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs.map} +1 -1
  83. package/fesm2022/{acorex-platform-common-file-widget-filter.component-qL-PznYm.mjs → acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs} +2 -2
  84. package/fesm2022/{acorex-platform-common-file-widget-filter.component-qL-PznYm.mjs.map → acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs.map} +1 -1
  85. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Bvy3nmy6.mjs → acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs} +2 -2
  86. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Bvy3nmy6.mjs.map → acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs.map} +1 -1
  87. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs → acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs} +3 -3
  88. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs.map +1 -0
  89. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CpzTuRyJ.mjs → acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs} +23 -19
  90. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs.map +1 -0
  91. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-i8oRoMWh.mjs → acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs} +2 -2
  92. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-i8oRoMWh.mjs.map → acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs.map} +1 -1
  93. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-WHM8ANuQ.mjs → acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs} +2 -2
  94. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-WHM8ANuQ.mjs.map → acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs.map} +1 -1
  95. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BdxXFoxc.mjs → acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs} +8 -4
  96. package/fesm2022/acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs.map +1 -0
  97. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-NDAFZhfE.mjs → acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs} +2 -2
  98. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-NDAFZhfE.mjs.map → acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs.map} +1 -1
  99. package/fesm2022/acorex-platform-common.mjs +15 -15
  100. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  101. package/fesm2022/acorex-platform-layout-entity.mjs +309 -289
  102. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  103. package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs +110 -0
  104. package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs.map +1 -0
  105. package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs +93 -0
  106. package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs.map +1 -0
  107. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-C-dS2HFl.mjs → acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs} +6 -3
  108. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs.map +1 -0
  109. package/fesm2022/acorex-platform-layouts.mjs +130 -35
  110. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  111. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs +99 -0
  112. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs.map +1 -0
  113. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DHmUvWx8.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs} +9 -6
  114. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs.map +1 -0
  115. package/fesm2022/acorex-platform-themes-default.mjs +50 -31
  116. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  117. package/fesm2022/acorex-platform-widgets.mjs +628 -14
  118. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  119. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +7 -6
  120. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -0
  121. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +5 -4
  122. package/layout/entity/lib/workflows/create-entity.workflow.d.ts +1 -0
  123. package/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.d.ts +27 -0
  124. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +2 -0
  125. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +2 -1
  126. package/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.d.ts +1 -0
  127. package/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.d.ts +27 -0
  128. package/package.json +4 -1
  129. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +3 -0
  130. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +1 -1
  131. package/widgets/lib/editors/link-widget/index.d.ts +7 -0
  132. package/widgets/lib/editors/link-widget/link-widget-column.component.d.ts +6 -0
  133. package/widgets/lib/editors/link-widget/link-widget-designer.component.d.ts +6 -0
  134. package/widgets/lib/editors/link-widget/link-widget-edit.component.d.ts +45 -0
  135. package/widgets/lib/editors/link-widget/link-widget-filter.component.d.ts +6 -0
  136. package/widgets/lib/editors/link-widget/link-widget-print.component.d.ts +6 -0
  137. package/widgets/lib/editors/link-widget/link-widget-view.component.d.ts +13 -0
  138. package/widgets/lib/editors/link-widget/link-widget.config.d.ts +2 -0
  139. package/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.d.ts +4 -1
  140. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +2 -0
  141. package/fesm2022/acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs.map +0 -1
  142. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CpzTuRyJ.mjs.map +0 -1
  143. package/fesm2022/acorex-platform-common-phone-widget-edit.component-BdxXFoxc.mjs.map +0 -1
  144. package/fesm2022/acorex-platform-layouts-entity-create-view.component-Bxkv579D.mjs +0 -107
  145. package/fesm2022/acorex-platform-layouts-entity-create-view.component-Bxkv579D.mjs.map +0 -1
  146. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-C-dS2HFl.mjs.map +0 -1
  147. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CTlj-QBs.mjs +0 -96
  148. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CTlj-QBs.mjs.map +0 -1
  149. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DHmUvWx8.mjs.map +0 -1
@@ -31,6 +31,8 @@ import * as i4$1 from '@acorex/components/loading';
31
31
  import { AXLoadingModule } from '@acorex/components/loading';
32
32
  import * as i5 from '@acorex/components/uploader';
33
33
  import { AXUploaderModule } from '@acorex/components/uploader';
34
+ import { AXDataSource } from '@acorex/components/common';
35
+ import { AXTranslationService } from '@acorex/core/translation';
34
36
  import { AXFormatService } from '@acorex/core/format';
35
37
  import { isNumber } from 'lodash-es';
36
38
  import * as i1$2 from '@acorex/components/number-box';
@@ -40,6 +42,7 @@ import { AXPasswordBoxModule } from '@acorex/components/password-box';
40
42
  import { DomSanitizer } from '@angular/platform-browser';
41
43
  import * as i2$4 from '@acorex/components/selection-list';
42
44
  import { AXSelectionListModule } from '@acorex/components/selection-list';
45
+ import { AXPlatform } from '@acorex/core/platform';
43
46
  import * as i2$5 from '@acorex/components/switch';
44
47
  import { AXSwitchModule } from '@acorex/components/switch';
45
48
 
@@ -209,7 +212,7 @@ class AXPDateTimeBoxWidgetEditComponent extends AXPWidgetBase {
209
212
  <ax-button class="ax-col-span-2" [text]="!internalValue().length ? 'Add New' : 'Add Another'" look="twotone" (onClick)="addItem()"></ax-button>
210
213
  }
211
214
  </div>
212
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXDateTimeBoxModule }, { kind: "component", type: i3$1.AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "allowTyping", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
215
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXDateTimeBoxModule }, { kind: "component", type: i3$1.AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
213
216
  }
214
217
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPDateTimeBoxWidgetEditComponent, decorators: [{
215
218
  type: Component,
@@ -616,7 +619,7 @@ class AXPEmailBoxWidgetEditComponent extends AXPWidgetBase {
616
619
  </ax-prefix>
617
620
  </ax-button>
618
621
  </div>
619
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i7.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXValidationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
622
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i7.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXValidationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
620
623
  }
621
624
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEmailBoxWidgetEditComponent, decorators: [{
622
625
  type: Component,
@@ -1706,6 +1709,601 @@ const AXPGalleryWidget = {
1706
1709
  }
1707
1710
  };
1708
1711
 
1712
+ class AXPLinkWidgetViewComponent extends AXPWidgetBase {
1713
+ constructor() {
1714
+ super(...arguments);
1715
+ this.clipboard = inject(AXPClipBoardService);
1716
+ this.target = 'blank';
1717
+ this.internalValue = computed(() => this.getValue()
1718
+ ? Array.isArray(this.getValue())
1719
+ ? this.getValue().map((item) => this.extractItem(item))
1720
+ : [this.extractItem(this.getValue())]
1721
+ : []);
1722
+ }
1723
+ extractItem(item) {
1724
+ return typeof item == 'object'
1725
+ ? {
1726
+ value: item.value ?? '-',
1727
+ title: item.title,
1728
+ label: this.hasLabel ? item.label || 'primary' : undefined,
1729
+ icon: item.icon,
1730
+ }
1731
+ : {
1732
+ value: item,
1733
+ title: '',
1734
+ icon: '',
1735
+ label: 'Primary',
1736
+ };
1737
+ }
1738
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1739
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPLinkWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<div class="ax-grid ax-grid-cols-12 ax-gap-2 ">
1740
+ @if(multiple){ @for(item of internalValue();track item?.value) {
1741
+ <ng-template [ngTemplateOutlet]="itemTemplate" [ngTemplateOutletContext]="{ data: item }" ]></ng-template>
1742
+ } } @else{
1743
+ <ng-template [ngTemplateOutlet]="itemTemplate" [ngTemplateOutletContext]="{ data: internalValue()[0] }" ]></ng-template>
1744
+ }
1745
+
1746
+ <ng-template #itemTemplate let-item="data">
1747
+ @if(item){
1748
+ <div class="ax-col-start-1 ax-col-end-10 lg:ax-col-end-7">
1749
+ <div class="ax-flex ax-flex-1 ax-gap-3 ax-items-center ax-w-max ax-group">
1750
+ <div class="ax-w-6 ax-h-6 ax-flex ax-items-center ax-justify-center">
1751
+ @if(item.icon){
1752
+ <ax-icon class="fa-solid ax-text-neutral-400" [class]="item.icon"> </ax-icon>
1753
+ }
1754
+ </div>
1755
+ <a
1756
+ [href]="item.value"
1757
+ [target]="'_' + target"
1758
+ class="group-hover:!ax-text-primary-500"
1759
+ >{{ item.title ?? item.value }}</a
1760
+ >
1761
+ <span
1762
+ class="ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500"
1763
+ (click)="clipboard.copy('Email', item.value)"
1764
+ >
1765
+ <i class="fa-solid fa-copy "></i>
1766
+ </span>
1767
+ @if(hasLabel){
1768
+ <ax-badge color="primary" [look]="'twotone'" [text]="item.label"></ax-badge>
1769
+ }
1770
+ </div>
1771
+ </div>
1772
+ }
1773
+ </ng-template>
1774
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i2$1.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1775
+ }
1776
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetViewComponent, decorators: [{
1777
+ type: Component,
1778
+ args: [{
1779
+ template: `<div class="ax-grid ax-grid-cols-12 ax-gap-2 ">
1780
+ @if(multiple){ @for(item of internalValue();track item?.value) {
1781
+ <ng-template [ngTemplateOutlet]="itemTemplate" [ngTemplateOutletContext]="{ data: item }" ]></ng-template>
1782
+ } } @else{
1783
+ <ng-template [ngTemplateOutlet]="itemTemplate" [ngTemplateOutletContext]="{ data: internalValue()[0] }" ]></ng-template>
1784
+ }
1785
+
1786
+ <ng-template #itemTemplate let-item="data">
1787
+ @if(item){
1788
+ <div class="ax-col-start-1 ax-col-end-10 lg:ax-col-end-7">
1789
+ <div class="ax-flex ax-flex-1 ax-gap-3 ax-items-center ax-w-max ax-group">
1790
+ <div class="ax-w-6 ax-h-6 ax-flex ax-items-center ax-justify-center">
1791
+ @if(item.icon){
1792
+ <ax-icon class="fa-solid ax-text-neutral-400" [class]="item.icon"> </ax-icon>
1793
+ }
1794
+ </div>
1795
+ <a
1796
+ [href]="item.value"
1797
+ [target]="'_' + target"
1798
+ class="group-hover:!ax-text-primary-500"
1799
+ >{{ item.title ?? item.value }}</a
1800
+ >
1801
+ <span
1802
+ class="ax-text-neutral-400 ax-cursor-pointer ax-invisible group-hover:ax-visible hover:!ax-text-primary-500"
1803
+ (click)="clipboard.copy('Email', item.value)"
1804
+ >
1805
+ <i class="fa-solid fa-copy "></i>
1806
+ </span>
1807
+ @if(hasLabel){
1808
+ <ax-badge color="primary" [look]="'twotone'" [text]="item.label"></ax-badge>
1809
+ }
1810
+ </div>
1811
+ </div>
1812
+ }
1813
+ </ng-template>
1814
+ </div>`,
1815
+ standalone: true,
1816
+ changeDetection: ChangeDetectionStrategy.OnPush,
1817
+ imports: [CommonModule, AXBadgeModule, AXDecoratorModule],
1818
+ inputs: [],
1819
+ }]
1820
+ }] });
1821
+
1822
+ var linkWidgetView_component = /*#__PURE__*/Object.freeze({
1823
+ __proto__: null,
1824
+ AXPLinkWidgetViewComponent: AXPLinkWidgetViewComponent
1825
+ });
1826
+
1827
+ class AXPLinkWidgetEditComponent extends AXPWidgetBase {
1828
+ constructor() {
1829
+ super(...arguments);
1830
+ this.validationService = inject(AXValidationService);
1831
+ this.translateService = inject(AXTranslationService);
1832
+ this.disabled = false;
1833
+ this.clearButton = true;
1834
+ this.hasLabel = true;
1835
+ this.hasTitle = true;
1836
+ this.labelTypes = ['Primary', 'Secondary'];
1837
+ this.linkTypes = ['http', 'https', 'related'];
1838
+ this.dataSource = new AXDataSource({
1839
+ pageSize: 10,
1840
+ key: 'id',
1841
+ load: (e) => {
1842
+ return new Promise((resolve) => {
1843
+ setTimeout(() => {
1844
+ const list = this.linkTypes;
1845
+ const result = e.filter ? list.filter((item) => item.includes(e.filter?.value)) : list;
1846
+ resolve({
1847
+ items: result.slice(e.skip, e.skip + e.take),
1848
+ total: result.length,
1849
+ });
1850
+ }, e.skip == 0 ? 100 : 300);
1851
+ });
1852
+ },
1853
+ });
1854
+ this.internalValue = computed(() => this.getValueAsArrayOfObjects());
1855
+ this._validationRules = [];
1856
+ this.convertItem = (item, e) => {
1857
+ if (typeof item === 'object')
1858
+ return { ...item, value: e.value };
1859
+ else
1860
+ return e.value;
1861
+ };
1862
+ this.validateFn = async (val) => {
1863
+ const urlRegex = /^([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})(\/[a-zA-Z0-9._~:/?#\[\]@!$&'()*+,;=-]*)?$/;
1864
+ const isValid = urlRegex.test(val);
1865
+ const translatedMessage = await this.translateService.translateAsync('validation.messages.url');
1866
+ return {
1867
+ rule: 'callback',
1868
+ result: isValid,
1869
+ message: translatedMessage,
1870
+ value: val,
1871
+ };
1872
+ };
1873
+ }
1874
+ ngOnInit() {
1875
+ super.ngOnInit();
1876
+ this.getValueAsArrayOfObjects();
1877
+ }
1878
+ get validationRules() {
1879
+ return this._validationRules;
1880
+ }
1881
+ set validationRules(v) {
1882
+ this._validationRules = v;
1883
+ }
1884
+ getValueAsArrayOfObjects() {
1885
+ const value = this.getValue();
1886
+ if (Array.isArray(value)) {
1887
+ return value.map((item) => {
1888
+ typeof item === 'object'
1889
+ ? {
1890
+ value: item.value ?? '-',
1891
+ title: item.title,
1892
+ protocol: item.protocol ?? 'https',
1893
+ label: this.hasLabel ? item.label || 'primary' : undefined,
1894
+ icon: item.icon,
1895
+ }
1896
+ : {
1897
+ value: item,
1898
+ title: '',
1899
+ icon: '',
1900
+ protocol: 'https',
1901
+ label: this.hasLabel ? 'Primary' : undefined,
1902
+ };
1903
+ });
1904
+ }
1905
+ return typeof value === 'object' ? [value] : [{ value: value || '' }];
1906
+ }
1907
+ handleValueChange(e, selectedIndex) {
1908
+ const { name, value, isUserInteraction } = e;
1909
+ if (isUserInteraction) {
1910
+ console.log(e);
1911
+ const newValues = this.internalValue().map((item, index) => selectedIndex === index ? (name === 'value' ? this.convertItem(item, e) : { ...item, [name]: value }) : item);
1912
+ console.log(newValues);
1913
+ if (this.multiple)
1914
+ this.setValue(newValues);
1915
+ else
1916
+ this.setValue(newValues[0]);
1917
+ }
1918
+ }
1919
+ // protected handleLabelChange(e: AXValueChangedEvent, selectedIndex: number) {
1920
+ // if (e.isUserInteraction) {
1921
+ // const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, label: e.value } : item));
1922
+ // if (this.multiple) this.setValue(newValues);
1923
+ // else this.setValue(newValues[0]);
1924
+ // }
1925
+ // }
1926
+ addItem() {
1927
+ const newValues = [...this.internalValue(), ''];
1928
+ this.setValue(newValues);
1929
+ }
1930
+ deleteItem(deletedIndex) {
1931
+ const newValues = this.internalValue().filter((_, index) => index != deletedIndex);
1932
+ this.setValue(newValues);
1933
+ }
1934
+ generateClasses(elementName) {
1935
+ switch (elementName) {
1936
+ case 'url':
1937
+ if (this.hasTitle || this.hasLabel) {
1938
+ //already has ax-col-start-1 ax-col-end-13
1939
+ return ['lg:ax-col-end-7'];
1940
+ }
1941
+ else {
1942
+ return ['lg:ax-col-end-13'];
1943
+ }
1944
+ case 'title':
1945
+ if (this.hasLabel) {
1946
+ return ['ax-col-start-1 ax-col-end-7 lg:ax-col-start-7 lg:ax-col-end-10'];
1947
+ }
1948
+ else {
1949
+ return ['ax-col-start-1 ax-col-end-13 lg:ax-col-start-7 lg:ax-col-end-13'];
1950
+ }
1951
+ case 'label':
1952
+ if (this.hasTitle) {
1953
+ return ['ax-col-start-7 ax-col-end-13 lg:ax-col-start-10 lg:ax-col-end-13'];
1954
+ }
1955
+ else {
1956
+ return ['ax-col-start-1 ax-col-end-13 lg:ax-col-start-7 lg:ax-col-end-13'];
1957
+ }
1958
+ default:
1959
+ return [''];
1960
+ }
1961
+ }
1962
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1963
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPLinkWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<div class="ax-grid ax-grid-cols-12 ax-gap-4">
1964
+ @if(multiple){ @for(item of internalValue();track $index) { @if(item){
1965
+ <!-- TODO need to fix multiple -->
1966
+ <ax-text-box
1967
+ [ngModel]="item.value"
1968
+ (onValueChanged)="handleValueChange($event, $index)"
1969
+ type="text"
1970
+ placeholder="Enter Link"
1971
+ class="ax-col-start-1 ax-col-end-13 lg:ax-col-end-7"
1972
+ [class.lg:!ax-col-end-12]="!hasLabel"
1973
+ >
1974
+ <ax-prefix>
1975
+ <ax-select-box
1976
+ [dataSource]="linkTypes"
1977
+ [ngModel]="item.label"
1978
+ (onValueChanged)="handleValueChange($event, $index)"
1979
+ [look]="'fill'"
1980
+ placeholder="Choose..."
1981
+ >
1982
+ </ax-select-box>
1983
+ </ax-prefix>
1984
+ @for (validation of validationRules; track $index) {
1985
+ <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
1986
+ }
1987
+ <ax-validation-rule message="field can't be empty" rule="required"> </ax-validation-rule>
1988
+ <ax-validation-rule message="field can't be empty" rule="callback" [options]="{ validate: validateFn }"> </ax-validation-rule>
1989
+ </ax-text-box>
1990
+ @if(hasLabel){
1991
+ <ax-select-box
1992
+ [dataSource]="labelTypes"
1993
+ [ngModel]="item.label"
1994
+ (onValueChanged)="handleValueChange($event, $index)"
1995
+ placeholder="Choose Label..."
1996
+ class="ax-col-start-1 ax-col-end-11 lg:ax-col-start-7 lg:ax-col-end-13"
1997
+ >
1998
+ <ax-clear-button></ax-clear-button>
1999
+ </ax-select-box>
2000
+ }
2001
+ <ax-button
2002
+ look="twotone"
2003
+ color="danger"
2004
+ (onClick)="deleteItem($index)"
2005
+ class="ax-col-start-11 ax-col-end-13 lg:ax-col-start-12 lg:ax-col-end-13 ax-justify-self-end"
2006
+ >
2007
+ <ax-icon icon="fa-regular fa-xmark"></ax-icon>
2008
+ </ax-button>
2009
+ }
2010
+ <ax-button
2011
+ [text]="internalValue().length == 0 ? 'Add New' : 'Add Another'"
2012
+ look="twotone"
2013
+ (onClick)="addItem()"
2014
+ class="ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13"
2015
+ >
2016
+ <ax-prefix>
2017
+ <ax-icon class="fa-solid fa-add"></ax-icon>
2018
+ </ax-prefix>
2019
+ </ax-button>
2020
+ } } @else{
2021
+ <ax-text-box
2022
+ [ngClass]="generateClasses('url')"
2023
+ [ngModel]="internalValue()[0].value"
2024
+ (onValueChanged)="handleValueChange($event, 0)"
2025
+ type="text"
2026
+ name="value"
2027
+ placeholder="Link"
2028
+ class="ax-col-start-1 ax-col-end-13"
2029
+ >
2030
+ <ax-prefix
2031
+ ><ax-select-box
2032
+ [dataSource]="linkTypes"
2033
+ [look]="'fill'"
2034
+ name="protocol"
2035
+ placeholder="Protocol"
2036
+ [ngModel]="internalValue()[0].protocol"
2037
+ (onValueChanged)="handleValueChange($event, 0)"
2038
+ >
2039
+ <!-- <ax-validation-rule message="field can't be empty" rule="required"> </ax-validation-rule> -->
2040
+ <ax-clear-button></ax-clear-button> </ax-select-box
2041
+ ></ax-prefix>
2042
+ @for (validation of validationRules; track $index) {
2043
+ <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
2044
+ }
2045
+ <ax-validation-rule message="field can't be empty" rule="required"> </ax-validation-rule>
2046
+ <ax-validation-rule message="field can't be empty" rule="callback" [options]="{ validate: validateFn }"> </ax-validation-rule>
2047
+ </ax-text-box>
2048
+ @if(hasTitle){
2049
+ <ax-text-box
2050
+ [ngClass]="generateClasses('title')"
2051
+ [ngModel]="internalValue()[0].title"
2052
+ (onValueChanged)="handleValueChange($event, 0)"
2053
+ type="text"
2054
+ name="title"
2055
+ placeholder="Title"
2056
+ >
2057
+ </ax-text-box>
2058
+ } @if(hasLabel){
2059
+ <ax-select-box
2060
+ [ngClass]="generateClasses('label')"
2061
+ [dataSource]="labelTypes"
2062
+ [ngModel]="internalValue()[0].label"
2063
+ (onValueChanged)="handleValueChange($event, 0)"
2064
+ name="label"
2065
+ placeholder="Label"
2066
+ >
2067
+ </ax-select-box>
2068
+ } }
2069
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i7.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXValidationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2070
+ }
2071
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetEditComponent, decorators: [{
2072
+ type: Component,
2073
+ args: [{
2074
+ template: `<div class="ax-grid ax-grid-cols-12 ax-gap-4">
2075
+ @if(multiple){ @for(item of internalValue();track $index) { @if(item){
2076
+ <!-- TODO need to fix multiple -->
2077
+ <ax-text-box
2078
+ [ngModel]="item.value"
2079
+ (onValueChanged)="handleValueChange($event, $index)"
2080
+ type="text"
2081
+ placeholder="Enter Link"
2082
+ class="ax-col-start-1 ax-col-end-13 lg:ax-col-end-7"
2083
+ [class.lg:!ax-col-end-12]="!hasLabel"
2084
+ >
2085
+ <ax-prefix>
2086
+ <ax-select-box
2087
+ [dataSource]="linkTypes"
2088
+ [ngModel]="item.label"
2089
+ (onValueChanged)="handleValueChange($event, $index)"
2090
+ [look]="'fill'"
2091
+ placeholder="Choose..."
2092
+ >
2093
+ </ax-select-box>
2094
+ </ax-prefix>
2095
+ @for (validation of validationRules; track $index) {
2096
+ <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
2097
+ }
2098
+ <ax-validation-rule message="field can't be empty" rule="required"> </ax-validation-rule>
2099
+ <ax-validation-rule message="field can't be empty" rule="callback" [options]="{ validate: validateFn }"> </ax-validation-rule>
2100
+ </ax-text-box>
2101
+ @if(hasLabel){
2102
+ <ax-select-box
2103
+ [dataSource]="labelTypes"
2104
+ [ngModel]="item.label"
2105
+ (onValueChanged)="handleValueChange($event, $index)"
2106
+ placeholder="Choose Label..."
2107
+ class="ax-col-start-1 ax-col-end-11 lg:ax-col-start-7 lg:ax-col-end-13"
2108
+ >
2109
+ <ax-clear-button></ax-clear-button>
2110
+ </ax-select-box>
2111
+ }
2112
+ <ax-button
2113
+ look="twotone"
2114
+ color="danger"
2115
+ (onClick)="deleteItem($index)"
2116
+ class="ax-col-start-11 ax-col-end-13 lg:ax-col-start-12 lg:ax-col-end-13 ax-justify-self-end"
2117
+ >
2118
+ <ax-icon icon="fa-regular fa-xmark"></ax-icon>
2119
+ </ax-button>
2120
+ }
2121
+ <ax-button
2122
+ [text]="internalValue().length == 0 ? 'Add New' : 'Add Another'"
2123
+ look="twotone"
2124
+ (onClick)="addItem()"
2125
+ class="ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13"
2126
+ >
2127
+ <ax-prefix>
2128
+ <ax-icon class="fa-solid fa-add"></ax-icon>
2129
+ </ax-prefix>
2130
+ </ax-button>
2131
+ } } @else{
2132
+ <ax-text-box
2133
+ [ngClass]="generateClasses('url')"
2134
+ [ngModel]="internalValue()[0].value"
2135
+ (onValueChanged)="handleValueChange($event, 0)"
2136
+ type="text"
2137
+ name="value"
2138
+ placeholder="Link"
2139
+ class="ax-col-start-1 ax-col-end-13"
2140
+ >
2141
+ <ax-prefix
2142
+ ><ax-select-box
2143
+ [dataSource]="linkTypes"
2144
+ [look]="'fill'"
2145
+ name="protocol"
2146
+ placeholder="Protocol"
2147
+ [ngModel]="internalValue()[0].protocol"
2148
+ (onValueChanged)="handleValueChange($event, 0)"
2149
+ >
2150
+ <!-- <ax-validation-rule message="field can't be empty" rule="required"> </ax-validation-rule> -->
2151
+ <ax-clear-button></ax-clear-button> </ax-select-box
2152
+ ></ax-prefix>
2153
+ @for (validation of validationRules; track $index) {
2154
+ <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
2155
+ }
2156
+ <ax-validation-rule message="field can't be empty" rule="required"> </ax-validation-rule>
2157
+ <ax-validation-rule message="field can't be empty" rule="callback" [options]="{ validate: validateFn }"> </ax-validation-rule>
2158
+ </ax-text-box>
2159
+ @if(hasTitle){
2160
+ <ax-text-box
2161
+ [ngClass]="generateClasses('title')"
2162
+ [ngModel]="internalValue()[0].title"
2163
+ (onValueChanged)="handleValueChange($event, 0)"
2164
+ type="text"
2165
+ name="title"
2166
+ placeholder="Title"
2167
+ >
2168
+ </ax-text-box>
2169
+ } @if(hasLabel){
2170
+ <ax-select-box
2171
+ [ngClass]="generateClasses('label')"
2172
+ [dataSource]="labelTypes"
2173
+ [ngModel]="internalValue()[0].label"
2174
+ (onValueChanged)="handleValueChange($event, 0)"
2175
+ name="label"
2176
+ placeholder="Label"
2177
+ >
2178
+ </ax-select-box>
2179
+ } }
2180
+ </div>`,
2181
+ standalone: true,
2182
+ changeDetection: ChangeDetectionStrategy.OnPush,
2183
+ imports: [
2184
+ CommonModule,
2185
+ FormsModule,
2186
+ AXSelectBoxModule,
2187
+ AXFormModule,
2188
+ AXButtonModule,
2189
+ AXDecoratorModule,
2190
+ AXSelectBoxModule,
2191
+ AXTextBoxModule,
2192
+ AXValidationModule,
2193
+ ],
2194
+ inputs: [],
2195
+ }]
2196
+ }] });
2197
+
2198
+ var linkWidgetEdit_component = /*#__PURE__*/Object.freeze({
2199
+ __proto__: null,
2200
+ AXPLinkWidgetEditComponent: AXPLinkWidgetEditComponent
2201
+ });
2202
+
2203
+ class AXPLinkWidgetFilterComponent extends AXPWidgetBase {
2204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2205
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPLinkWidgetFilterComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2206
+ }
2207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetFilterComponent, decorators: [{
2208
+ type: Component,
2209
+ args: [{
2210
+ template: ``,
2211
+ standalone: true,
2212
+ changeDetection: ChangeDetectionStrategy.OnPush,
2213
+ imports: [CommonModule, FormsModule],
2214
+ inputs: []
2215
+ }]
2216
+ }] });
2217
+
2218
+ var linkWidgetFilter_component = /*#__PURE__*/Object.freeze({
2219
+ __proto__: null,
2220
+ AXPLinkWidgetFilterComponent: AXPLinkWidgetFilterComponent
2221
+ });
2222
+
2223
+ class AXPLinkWidgetColumnComponent extends AXPColumnWidgetBase {
2224
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2225
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPLinkWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: `{{rawValue}}`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2226
+ }
2227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetColumnComponent, decorators: [{
2228
+ type: Component,
2229
+ args: [{
2230
+ template: `{{rawValue}}`,
2231
+ standalone: true,
2232
+ changeDetection: ChangeDetectionStrategy.OnPush,
2233
+ imports: [CommonModule],
2234
+ inputs: ['rawValue']
2235
+ }]
2236
+ }] });
2237
+
2238
+ var linkWidgetColumn_component = /*#__PURE__*/Object.freeze({
2239
+ __proto__: null,
2240
+ AXPLinkWidgetColumnComponent: AXPLinkWidgetColumnComponent
2241
+ });
2242
+
2243
+ class AXPLinkWidgetPrintComponent extends AXPWidgetBase {
2244
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetPrintComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2245
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPLinkWidgetPrintComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2246
+ }
2247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetPrintComponent, decorators: [{
2248
+ type: Component,
2249
+ args: [{
2250
+ template: ``,
2251
+ standalone: true,
2252
+ changeDetection: ChangeDetectionStrategy.OnPush,
2253
+ imports: [CommonModule],
2254
+ inputs: []
2255
+ }]
2256
+ }] });
2257
+
2258
+ var linkWidgetPrint_component = /*#__PURE__*/Object.freeze({
2259
+ __proto__: null,
2260
+ AXPLinkWidgetPrintComponent: AXPLinkWidgetPrintComponent
2261
+ });
2262
+
2263
+ class AXPLinkWidgetDesignerComponent extends AXPWidgetBase {
2264
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2265
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPLinkWidgetDesignerComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2266
+ }
2267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLinkWidgetDesignerComponent, decorators: [{
2268
+ type: Component,
2269
+ args: [{
2270
+ template: ``,
2271
+ standalone: true,
2272
+ changeDetection: ChangeDetectionStrategy.OnPush,
2273
+ imports: [CommonModule],
2274
+ inputs: []
2275
+ }]
2276
+ }] });
2277
+
2278
+ var linkWidgetDesigner_component = /*#__PURE__*/Object.freeze({
2279
+ __proto__: null,
2280
+ AXPLinkWidgetDesignerComponent: AXPLinkWidgetDesignerComponent
2281
+ });
2282
+
2283
+ const AXPLinkWidget = {
2284
+ name: "link-box",
2285
+ components: {
2286
+ view: {
2287
+ component: () => Promise.resolve().then(function () { return linkWidgetView_component; }).then((c) => c.AXPLinkWidgetViewComponent),
2288
+ },
2289
+ edit: {
2290
+ component: () => Promise.resolve().then(function () { return linkWidgetEdit_component; }).then((c) => c.AXPLinkWidgetEditComponent),
2291
+ },
2292
+ filter: {
2293
+ component: () => Promise.resolve().then(function () { return linkWidgetFilter_component; }).then((c) => c.AXPLinkWidgetFilterComponent),
2294
+ },
2295
+ column: {
2296
+ component: () => Promise.resolve().then(function () { return linkWidgetColumn_component; }).then((c) => c.AXPLinkWidgetColumnComponent),
2297
+ },
2298
+ print: {
2299
+ component: () => Promise.resolve().then(function () { return linkWidgetPrint_component; }).then((c) => c.AXPLinkWidgetPrintComponent),
2300
+ },
2301
+ designer: {
2302
+ component: () => Promise.resolve().then(function () { return linkWidgetDesigner_component; }).then((c) => c.AXPLinkWidgetDesignerComponent),
2303
+ },
2304
+ }
2305
+ };
2306
+
1709
2307
  class AXPMapBoxWidgetViewComponent extends AXPWidgetBase {
1710
2308
  constructor() {
1711
2309
  super(...arguments);
@@ -2026,6 +2624,7 @@ class AXPNumberBoxWidgetEditComponent extends AXPWidgetBase {
2026
2624
  this.clearButton = true;
2027
2625
  this.placeholder = null;
2028
2626
  this.disabled = false;
2627
+ this.format = { name: '' };
2029
2628
  this.multiple = false;
2030
2629
  this.decimals = 0;
2031
2630
  this.validationService = inject(AXValidationService);
@@ -2033,14 +2632,14 @@ class AXPNumberBoxWidgetEditComponent extends AXPWidgetBase {
2033
2632
  this.internalValue = computed(() => (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]));
2034
2633
  this.validateFn = async (value, options) => {
2035
2634
  const vn = this.validationService.ruleFor(value);
2036
- this.validationRules.forEach(v => {
2635
+ this.validationRules.forEach((v) => {
2037
2636
  const options = { ...v.options };
2038
2637
  if (v.message)
2039
2638
  options.message = v.message;
2040
2639
  vn.addRule(v.rule, options);
2041
2640
  });
2042
2641
  const a = await vn.validate();
2043
- return { result: a.result, message: a.rules.find(c => !c.result)?.message };
2642
+ return { result: a.result, message: a.rules.find((c) => !c.result)?.message };
2044
2643
  };
2045
2644
  }
2046
2645
  handleValueChange(e, i) {
@@ -2061,18 +2660,19 @@ class AXPNumberBoxWidgetEditComponent extends AXPWidgetBase {
2061
2660
  this.setValue(newValues);
2062
2661
  }
2063
2662
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPNumberBoxWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2064
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPNumberBoxWidgetEditComponent, isStandalone: true, selector: "ng-component", inputs: { validationRules: "validationRules", multiple: "multiple", disabled: "disabled" }, usesInheritance: true, ngImport: i0, template: `
2663
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPNumberBoxWidgetEditComponent, isStandalone: true, selector: "ng-component", inputs: { validationRules: "validationRules", multiple: "multiple", disabled: "disabled", format: "format" }, usesInheritance: true, ngImport: i0, template: `
2065
2664
  <div class="ax-grid ax-grid-cols-12 ax-gap-4">
2066
2665
  @for(number of internalValue(); track $index){
2067
2666
  <ax-number-box
2068
2667
  class="ax-col-span-12"
2069
2668
  [decimals]="decimals"
2669
+ [thousandsSeparator]="format.name === 'number' ? ',' : ''"
2070
2670
  [placeholder]="placeholder"
2071
2671
  [ngModel]="number"
2072
2672
  (onValueChanged)="handleValueChange($event, $index)"
2073
2673
  [disabled]="disabled"
2074
2674
  >
2075
- <ax-validation-rule rule="callback" [options]="{validate:validateFn}"></ax-validation-rule>
2675
+ <ax-validation-rule rule="callback" [options]="{ validate: validateFn }"></ax-validation-rule>
2076
2676
  @if(clearButton){<ax-clear-button></ax-clear-button>} @if(multiple){
2077
2677
  <ax-suffix>
2078
2678
  <ax-button class="ax-border-s" (onClick)="deleteItem($index)" look="blank" color="danger">
@@ -2105,12 +2705,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
2105
2705
  <ax-number-box
2106
2706
  class="ax-col-span-12"
2107
2707
  [decimals]="decimals"
2708
+ [thousandsSeparator]="format.name === 'number' ? ',' : ''"
2108
2709
  [placeholder]="placeholder"
2109
2710
  [ngModel]="number"
2110
2711
  (onValueChanged)="handleValueChange($event, $index)"
2111
2712
  [disabled]="disabled"
2112
2713
  >
2113
- <ax-validation-rule rule="callback" [options]="{validate:validateFn}"></ax-validation-rule>
2714
+ <ax-validation-rule rule="callback" [options]="{ validate: validateFn }"></ax-validation-rule>
2114
2715
  @if(clearButton){<ax-clear-button></ax-clear-button>} @if(multiple){
2115
2716
  <ax-suffix>
2116
2717
  <ax-button class="ax-border-s" (onClick)="deleteItem($index)" look="blank" color="danger">
@@ -2136,7 +2737,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
2136
2737
  standalone: true,
2137
2738
  changeDetection: ChangeDetectionStrategy.OnPush,
2138
2739
  imports: [CommonModule, AXNumberBoxModule, FormsModule, AXDecoratorModule, AXFormModule, AXButtonModule],
2139
- inputs: ['validationRules', 'multiple', 'disabled'],
2740
+ inputs: ['validationRules', 'multiple', 'disabled', 'format'],
2140
2741
  }]
2141
2742
  }] });
2142
2743
 
@@ -2618,8 +3219,10 @@ class AXPPhoneBoxWidgetEditComponent extends AXPWidgetBase {
2618
3219
  const newValues = this.internalValue().map((item, index) => (selectedIndex === index ? { ...item, value: e.value } : item));
2619
3220
  if (this.multiple)
2620
3221
  this.setValue(newValues);
2621
- else
3222
+ else if (this.hasLabel)
2622
3223
  this.setValue(newValues[0]);
3224
+ else
3225
+ this.setValue(newValues[0].value);
2623
3226
  }
2624
3227
  }
2625
3228
  handleLabelChange(e, selectedIndex) {
@@ -2708,7 +3311,7 @@ class AXPPhoneBoxWidgetEditComponent extends AXPWidgetBase {
2708
3311
  </ax-prefix>
2709
3312
  </ax-button>
2710
3313
  </div>
2711
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i7.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXValidationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3314
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i7.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXValidationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2712
3315
  }
2713
3316
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPPhoneBoxWidgetEditComponent, decorators: [{
2714
3317
  type: Component,
@@ -3245,7 +3848,7 @@ class AXPSelectBoxWidgetEditComponent extends AXPWidgetBase {
3245
3848
  >
3246
3849
  <ax-clear-button></ax-clear-button>
3247
3850
  </ax-select-box>
3248
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3851
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3249
3852
  }
3250
3853
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPSelectBoxWidgetEditComponent, decorators: [{
3251
3854
  type: Component,
@@ -3655,6 +4258,7 @@ class AXPSignatureWidgetEditComponent extends AXPWidgetBase {
3655
4258
  constructor() {
3656
4259
  super(...arguments);
3657
4260
  this.editMode = signal(false);
4261
+ this.platform = inject(AXPlatform);
3658
4262
  this.changeModeEffect = effect(() => {
3659
4263
  if (this.editMode()) {
3660
4264
  setTimeout(() => {
@@ -3671,7 +4275,15 @@ class AXPSignatureWidgetEditComponent extends AXPWidgetBase {
3671
4275
  const pad = await import('signature_pad');
3672
4276
  this.signaturePad = new pad.default(this.padCanvas.nativeElement, {});
3673
4277
  this.signaturePad.addEventListener('afterUpdateStroke', () => {
3674
- this.setValue(this.getDataURL());
4278
+ if (window) {
4279
+ //fix canvas ViewBox issue on mobile devices
4280
+ const prevDPR = window.devicePixelRatio;
4281
+ if (this.platform.is('SM')) {
4282
+ window.devicePixelRatio = 1;
4283
+ }
4284
+ this.setValue(this.getDataURL());
4285
+ window.devicePixelRatio = prevDPR;
4286
+ }
3675
4287
  });
3676
4288
  }
3677
4289
  clear() {
@@ -3823,7 +4435,7 @@ class AXPSignatureWidgetViewComponent extends AXPWidgetBase {
3823
4435
  }
3824
4436
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPSignatureWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3825
4437
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPSignatureWidgetViewComponent, isStandalone: true, selector: "axp-signature-widget", usesInheritance: true, ngImport: i0, template: `
3826
- <div class="ax-w-72 ax-h-36 ax-border ax-rounded-md ax-flex ax-justify-center ax-items-center">
4438
+ <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">
3827
4439
  @if(internalValue()){
3828
4440
  <ax-image [src]="internalValue()"></ax-image>
3829
4441
  }@else{
@@ -3837,7 +4449,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
3837
4449
  args: [{
3838
4450
  selector: 'axp-signature-widget',
3839
4451
  template: `
3840
- <div class="ax-w-72 ax-h-36 ax-border ax-rounded-md ax-flex ax-justify-center ax-items-center">
4452
+ <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">
3841
4453
  @if(internalValue()){
3842
4454
  <ax-image [src]="internalValue()"></ax-image>
3843
4455
  }@else{
@@ -4400,6 +5012,7 @@ class AXPWidgetsModule {
4400
5012
  AXPMapBoxWidget,
4401
5013
  AXPPhoneBoxWidget,
4402
5014
  AXPEmailBoxWidget,
5015
+ AXPLinkWidget,
4403
5016
  AXPFileBoxWidget,
4404
5017
  AXPPasswordBoxWidget,
4405
5018
  AXPGalleryWidget,
@@ -4425,6 +5038,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
4425
5038
  AXPMapBoxWidget,
4426
5039
  AXPPhoneBoxWidget,
4427
5040
  AXPEmailBoxWidget,
5041
+ AXPLinkWidget,
4428
5042
  AXPFileBoxWidget,
4429
5043
  AXPPasswordBoxWidget,
4430
5044
  AXPGalleryWidget,