@acorex/platform 18.0.15 → 18.0.16

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 (176) hide show
  1. package/core/index.d.ts +1 -0
  2. package/core/utils/data-conditioner.d.ts +6 -0
  3. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +3 -3
  4. package/esm2022/core/index.mjs +2 -1
  5. package/esm2022/core/utils/data-conditioner.mjs +138 -0
  6. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +2 -2
  7. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +3 -3
  8. package/esm2022/layout/builder/lib/builder/widget.types.mjs +10 -8
  9. package/esm2022/layout/designer/index.mjs +2 -7
  10. package/esm2022/layout/designer/lib/{helpers → designer/components}/add-widget-button/add-widget-button.component.mjs +2 -2
  11. package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +112 -0
  12. package/esm2022/layout/designer/lib/designer/components/breadcrumbs/breadcrumbs.component.mjs +64 -0
  13. package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +32 -0
  14. package/esm2022/layout/designer/lib/designer/components/drawers/history/history.component.mjs +30 -0
  15. package/esm2022/layout/designer/lib/designer/components/drawers/outline/outline.component.mjs +61 -0
  16. package/esm2022/layout/designer/lib/designer/components/drawers/pages/pages.component.mjs +28 -0
  17. package/esm2022/layout/designer/lib/designer/components/grid-drawer/grid-drawer.component.mjs +82 -0
  18. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +24 -0
  19. package/esm2022/layout/designer/lib/{widget-picker → designer/components/widget-picker}/widget-picker.component.mjs +1 -1
  20. package/esm2022/layout/designer/lib/designer/designer.component.mjs +28 -17
  21. package/esm2022/layout/designer/lib/designer/index.mjs +8 -0
  22. package/esm2022/layout/designer/lib/designer/shared/command.mjs +185 -0
  23. package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +10 -0
  24. package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +488 -0
  25. package/esm2022/layout/designer/lib/designer/shared/designer.typs.mjs +2 -0
  26. package/esm2022/layout/designer/lib/designer/shared/drawer-content/drawer-content.component.mjs +16 -0
  27. package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +224 -0
  28. package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +17 -5
  29. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +2 -5
  30. package/esm2022/layout/entity/lib/entity-registery.service.mjs +3 -3
  31. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.mjs +2 -1
  32. package/esm2022/themes/default/index.mjs +3 -2
  33. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +14 -18
  34. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.mjs +123 -0
  35. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.service.mjs +3 -0
  36. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +22 -23
  37. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +68 -0
  38. package/esm2022/themes/default/lib/layouts/entity-layouts/index.mjs +2 -0
  39. package/esm2022/widgets/lib/properties/data-source.props.mjs +21 -0
  40. package/esm2022/widgets/lib/properties/editors.props.mjs +17 -3
  41. package/esm2022/widgets/lib/properties/general.props.mjs +31 -3
  42. package/esm2022/widgets/lib/properties/index.mjs +2 -1
  43. package/esm2022/widgets/lib/properties/table-column.props.mjs +2 -2
  44. package/esm2022/widgets/lib/widgets/actions/button/button-widget.config.mjs +2 -1
  45. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget.config.mjs +2 -1
  46. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget.config.mjs +2 -1
  47. package/esm2022/widgets/lib/widgets/advance/map/index.mjs +1 -4
  48. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-edit.component.mjs +47 -159
  49. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-view.component.mjs +40 -53
  50. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget.config.mjs +95 -11
  51. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.mjs +11 -11
  52. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget.config.mjs +8 -7
  53. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget.config.mjs +4 -6
  54. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.mjs +2 -2
  55. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget.config.mjs +2 -1
  56. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget.config.mjs +2 -1
  57. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget.config.mjs +2 -1
  58. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget.config.mjs +2 -1
  59. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget.config.mjs +2 -1
  60. package/esm2022/widgets/lib/widgets/editors/link/link-widget.config.mjs +2 -1
  61. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-edit.component.mjs +2 -2
  62. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget.config.mjs +2 -1
  63. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget.config.mjs +2 -1
  64. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget.config.mjs +2 -1
  65. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget.config.mjs +2 -1
  66. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +14 -2
  67. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget.config.mjs +2 -1
  68. package/esm2022/widgets/lib/widgets/editors/selection-list/index.mjs +2 -1
  69. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +75 -0
  70. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +13 -10
  71. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.mjs +2 -3
  72. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.mjs +16 -3
  73. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget.config.mjs +2 -1
  74. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget.config.mjs +2 -1
  75. package/esm2022/widgets/lib/widgets/layout/block/block-widget.config.mjs +2 -2
  76. package/esm2022/widgets/lib/widgets/layout/document/document-widget.config.mjs +2 -2
  77. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget.config.mjs +2 -2
  78. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget.config.mjs +2 -2
  79. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget.config.mjs +2 -2
  80. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget.config.mjs +2 -2
  81. package/esm2022/widgets/lib/widgets/layout/page/page-widget.config.mjs +7 -3
  82. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget.config.mjs +2 -2
  83. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget.config.mjs +2 -1
  84. package/fesm2022/acorex-platform-common.mjs +1 -1
  85. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  86. package/fesm2022/acorex-platform-core.mjs +139 -1
  87. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  88. package/fesm2022/acorex-platform-layout-builder.mjs +12 -10
  89. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  90. package/fesm2022/{acorex-platform-layout-designer-preview.component-9dJh_ulU.mjs → acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs} +3 -3
  91. package/fesm2022/{acorex-platform-layout-designer-preview.component-9dJh_ulU.mjs.map → acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs.map} +1 -1
  92. package/fesm2022/{acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs → acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs} +4 -4
  93. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs.map +1 -0
  94. package/fesm2022/acorex-platform-layout-designer.mjs +438 -282
  95. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  96. package/fesm2022/acorex-platform-layout-entity.mjs +2 -4
  97. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  98. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-BGT0puX_.mjs → acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs} +7 -7
  99. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-BGT0puX_.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs.map} +1 -1
  100. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BHo31YVi.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs} +7 -7
  101. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs.map +1 -0
  102. package/fesm2022/{acorex-platform-themes-default-error-401.component-zyAGwz2j.mjs → acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs} +3 -3
  103. package/fesm2022/{acorex-platform-themes-default-error-401.component-zyAGwz2j.mjs.map → acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs.map} +1 -1
  104. package/fesm2022/{acorex-platform-themes-default-error-404.component-DcxQ89LL.mjs → acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs} +3 -3
  105. package/fesm2022/{acorex-platform-themes-default-error-404.component-DcxQ89LL.mjs.map → acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs.map} +1 -1
  106. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BMB6D5Cx.mjs → acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs} +3 -3
  107. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BMB6D5Cx.mjs.map → acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs.map} +1 -1
  108. package/fesm2022/acorex-platform-themes-default.mjs +222 -68
  109. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  110. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DfUr_DMU.mjs → acorex-platform-widgets-checkbox-widget-designer.component-DAGbdSTk.mjs} +4 -4
  111. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DfUr_DMU.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-DAGbdSTk.mjs.map} +1 -1
  112. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-BF24k3Y-.mjs → acorex-platform-widgets-color-box-widget-designer.component-Bb3aXCNZ.mjs} +4 -4
  113. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-Bb3aXCNZ.mjs.map +1 -0
  114. package/fesm2022/acorex-platform-widgets.mjs +447 -376
  115. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  116. package/layout/builder/lib/builder/widget.types.d.ts +13 -4
  117. package/layout/designer/index.d.ts +1 -6
  118. package/layout/designer/lib/{board → designer/components/board}/board.component.d.ts +1 -1
  119. package/layout/designer/lib/{breadcrumbs → designer/components/breadcrumbs}/breadcrumbs.component.d.ts +1 -1
  120. package/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.d.ts +12 -0
  121. package/layout/designer/lib/{history → designer/components/drawers/history}/history.component.d.ts +1 -1
  122. package/layout/designer/lib/{outline → designer/components/drawers/outline}/outline.component.d.ts +1 -1
  123. package/layout/designer/lib/{pages → designer/components/drawers/pages}/pages.component.d.ts +1 -1
  124. package/layout/designer/lib/{header-menu → designer/components/header-menu}/header-menu.component.d.ts +1 -1
  125. package/layout/designer/lib/designer/designer.component.d.ts +1 -1
  126. package/layout/designer/lib/designer/index.d.ts +7 -0
  127. package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +11 -0
  128. package/layout/designer/lib/{designer.service.d.ts → designer/shared/designer.service.d.ts} +9 -12
  129. package/layout/designer/lib/designer/shared/designer.typs.d.ts +4 -0
  130. package/layout/designer/lib/designer/shared/drawer-content/drawer-content.component.d.ts +8 -0
  131. package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +8 -0
  132. package/layout/entity/lib/entity-registery.service.d.ts +1 -1
  133. package/package.json +16 -16
  134. package/themes/default/index.d.ts +2 -1
  135. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +5 -3
  136. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.d.ts +33 -0
  137. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.service.d.ts +11 -0
  138. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +3 -2
  139. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.d.ts +11 -0
  140. package/themes/default/lib/layouts/entity-layouts/index.d.ts +1 -0
  141. package/widgets/lib/properties/data-source.props.d.ts +2 -0
  142. package/widgets/lib/properties/editors.props.d.ts +1 -0
  143. package/widgets/lib/properties/general.props.d.ts +2 -1
  144. package/widgets/lib/properties/index.d.ts +1 -0
  145. package/widgets/lib/widgets/advance/map/index.d.ts +0 -3
  146. package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +9 -32
  147. package/widgets/lib/widgets/advance/map/map-box-widget-view.component.d.ts +6 -11
  148. package/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.d.ts +4 -4
  149. package/widgets/lib/widgets/editors/selection-list/index.d.ts +1 -0
  150. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.d.ts +16 -0
  151. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.d.ts +3 -2
  152. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.d.ts +1 -1
  153. package/esm2022/layout/designer/lib/board/board.component.mjs +0 -112
  154. package/esm2022/layout/designer/lib/breadcrumbs/breadcrumbs.component.mjs +0 -64
  155. package/esm2022/layout/designer/lib/command.mjs +0 -185
  156. package/esm2022/layout/designer/lib/designer.service.mjs +0 -399
  157. package/esm2022/layout/designer/lib/header-menu/header-menu.component.mjs +0 -24
  158. package/esm2022/layout/designer/lib/helpers/grid-drawer/grid-drawer.component.mjs +0 -82
  159. package/esm2022/layout/designer/lib/history/history.component.mjs +0 -28
  160. package/esm2022/layout/designer/lib/outline/outline.component.mjs +0 -56
  161. package/esm2022/layout/designer/lib/pages/pages.component.mjs +0 -28
  162. package/esm2022/layout/designer/lib/widget-designer-renderer.directive.mjs +0 -224
  163. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-column.component.mjs +0 -19
  164. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-filter.component.mjs +0 -20
  165. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-print.component.mjs +0 -19
  166. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs.map +0 -1
  167. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BHo31YVi.mjs.map +0 -1
  168. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BF24k3Y-.mjs.map +0 -1
  169. package/widgets/lib/widgets/advance/map/map-box-widget-column.component.d.ts +0 -6
  170. package/widgets/lib/widgets/advance/map/map-box-widget-filter.component.d.ts +0 -6
  171. package/widgets/lib/widgets/advance/map/map-box-widget-print.component.d.ts +0 -6
  172. /package/layout/designer/lib/{helpers → designer/components}/add-widget-button/add-widget-button.component.d.ts +0 -0
  173. /package/layout/designer/lib/{helpers → designer/components}/grid-drawer/grid-drawer.component.d.ts +0 -0
  174. /package/layout/designer/lib/{widget-picker → designer/components/widget-picker}/widget-picker.component.d.ts +0 -0
  175. /package/layout/designer/lib/{command.d.ts → designer/shared/command.d.ts} +0 -0
  176. /package/layout/designer/lib/{widget-designer-renderer.directive.d.ts → designer/shared/widget-designer-renderer.directive.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import * as i2 from '@acorex/components/button';
2
2
  import { AXButtonModule } from '@acorex/components/button';
3
- import * as i2$1 from '@acorex/components/decorators';
3
+ import * as i1 from '@acorex/components/decorators';
4
4
  import { AXDecoratorModule } from '@acorex/components/decorators';
5
5
  import * as i0 from '@angular/core';
6
6
  import { Component, ViewEncapsulation } from '@angular/core';
@@ -9,7 +9,7 @@ class AXPLayoutDesignerPreviewComponent {
9
9
  constructor() { }
10
10
  ngOnInit() { }
11
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutDesignerPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPLayoutDesignerPreviewComponent, isStandalone: true, selector: "axp-layout-preview", ngImport: i0, template: "<div class=\"ax-dark ax-h-full ax-relative ax-bg-default\">\n <div class=\"ax-flex ax-items-center ax-justify-between ax-h-12 ax-bg-surface ax-shadow\">\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-edit\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <p class=\"ax-text-neutral-100\">Preview Title</p>\n <div class=\"ax-flex\">\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-sliders\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-up-right-and-down-left-from-center\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n\n </div>\n <div\n class=\"ax-select-none ax-flex ax-items-center ax-gap-1 ax-w-fit ax-rounded-full ax-text-sm ax-font-medium ax-p-1 ax-text-neutral-100 ax-bg-surface ax-absolute ax-bottom-3 ax-inset-x-0 ax-mx-auto\">\n <ax-button class=\"ax-sm\" look=\"blank\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <p>1 of 10</p>\n <ax-button class=\"ax-sm\" look=\"blank\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-chevron-right\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$1.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" }], encapsulation: i0.ViewEncapsulation.None }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPLayoutDesignerPreviewComponent, isStandalone: true, selector: "axp-layout-preview", ngImport: i0, template: "<div class=\"ax-dark ax-h-full ax-relative ax-bg-default\">\n <div class=\"ax-flex ax-items-center ax-justify-between ax-h-12 ax-bg-surface ax-shadow\">\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-edit\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <p class=\"ax-text-neutral-100\">Preview Title</p>\n <div class=\"ax-flex\">\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-sliders\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-up-right-and-down-left-from-center\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n\n </div>\n <div\n class=\"ax-select-none ax-flex ax-items-center ax-gap-1 ax-w-fit ax-rounded-full ax-text-sm ax-font-medium ax-p-1 ax-text-neutral-100 ax-bg-surface ax-absolute ax-bottom-3 ax-inset-x-0 ax-mx-auto\">\n <ax-button class=\"ax-sm\" look=\"blank\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <p>1 of 10</p>\n <ax-button class=\"ax-sm\" look=\"blank\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-chevron-right\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.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" }], encapsulation: i0.ViewEncapsulation.None }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutDesignerPreviewComponent, decorators: [{
15
15
  type: Component,
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
20
20
  }], ctorParameters: () => [] });
21
21
 
22
22
  export { AXPLayoutDesignerPreviewComponent };
23
- //# sourceMappingURL=acorex-platform-layout-designer-preview.component-9dJh_ulU.mjs.map
23
+ //# sourceMappingURL=acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-layout-designer-preview.component-9dJh_ulU.mjs","sources":["../../../../libs/platform/layout/designer/src/lib/preview/preview.component.ts","../../../../libs/platform/layout/designer/src/lib/preview/preview.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'axp-layout-preview',\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n AXButtonModule,\n AXDecoratorModule\n ]\n})\nexport class AXPLayoutDesignerPreviewComponent implements OnInit {\n constructor() { }\n\n ngOnInit(): void { }\n}\n","<div class=\"ax-dark ax-h-full ax-relative ax-bg-default\">\n <div class=\"ax-flex ax-items-center ax-justify-between ax-h-12 ax-bg-surface ax-shadow\">\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-edit\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <p class=\"ax-text-neutral-100\">Preview Title</p>\n <div class=\"ax-flex\">\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-sliders\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-up-right-and-down-left-from-center\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n\n </div>\n <div\n class=\"ax-select-none ax-flex ax-items-center ax-gap-1 ax-w-fit ax-rounded-full ax-text-sm ax-font-medium ax-p-1 ax-text-neutral-100 ax-bg-surface ax-absolute ax-bottom-3 ax-inset-x-0 ax-mx-auto\">\n <ax-button class=\"ax-sm\" look=\"blank\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <p>1 of 10</p>\n <ax-button class=\"ax-sm\" look=\"blank\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-chevron-right\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n</div>"],"names":["i2"],"mappings":";;;;;;;MAea,iCAAiC,CAAA;AAC1C,IAAA,WAAA,GAAA,GAAiB;AAEjB,IAAA,QAAQ,MAAY;8GAHX,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,ECf9C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,+iDAoCM,EDzBE,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,uZACd,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAGZ,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAX7C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,iBAGf,iBAAiB,CAAC,IAAI,EAAA,UAAA,EACzB,IAAI,EACP,OAAA,EAAA;wBACL,cAAc;wBACd,iBAAiB;AACpB,qBAAA,EAAA,QAAA,EAAA,+iDAAA,EAAA,CAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs","sources":["../../../../libs/platform/layout/designer/src/lib/preview/preview.component.ts","../../../../libs/platform/layout/designer/src/lib/preview/preview.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'axp-layout-preview',\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n AXButtonModule,\n AXDecoratorModule\n ]\n})\nexport class AXPLayoutDesignerPreviewComponent implements OnInit {\n constructor() { }\n\n ngOnInit(): void { }\n}\n","<div class=\"ax-dark ax-h-full ax-relative ax-bg-default\">\n <div class=\"ax-flex ax-items-center ax-justify-between ax-h-12 ax-bg-surface ax-shadow\">\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-edit\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <p class=\"ax-text-neutral-100\">Preview Title</p>\n <div class=\"ax-flex\">\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-sliders\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button look=\"blank\" class=\"ax-lg\">\n <ax-prefix>\n <ax-icon class=\"fa-regular fa-up-right-and-down-left-from-center\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n\n </div>\n <div\n class=\"ax-select-none ax-flex ax-items-center ax-gap-1 ax-w-fit ax-rounded-full ax-text-sm ax-font-medium ax-p-1 ax-text-neutral-100 ax-bg-surface ax-absolute ax-bottom-3 ax-inset-x-0 ax-mx-auto\">\n <ax-button class=\"ax-sm\" look=\"blank\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <p>1 of 10</p>\n <ax-button class=\"ax-sm\" look=\"blank\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-chevron-right\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n</div>"],"names":["i2"],"mappings":";;;;;;;MAea,iCAAiC,CAAA;AAC1C,IAAA,WAAA,GAAA,GAAiB;AAEjB,IAAA,QAAQ,MAAY;8GAHX,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,ECf9C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,+iDAoCM,EDzBE,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,uZACd,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAGZ,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAX7C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,iBAGf,iBAAiB,CAAC,IAAI,EAAA,UAAA,EACzB,IAAI,EACP,OAAA,EAAA;wBACL,cAAc;wBACd,iBAAiB;AACpB,qBAAA,EAAA,QAAA,EAAA,+iDAAA,EAAA,CAAA;;;;;"}
@@ -2,12 +2,12 @@ import * as i2$1 from '@acorex/components/button';
2
2
  import { AXButtonModule } from '@acorex/components/button';
3
3
  import * as i2 from '@acorex/components/common';
4
4
  import { AXCommonModule } from '@acorex/components/common';
5
- import * as i2$2 from '@acorex/components/decorators';
5
+ import * as i1$1 from '@acorex/components/decorators';
6
6
  import { AXDecoratorModule } from '@acorex/components/decorators';
7
7
  import { AXBasePageComponent } from '@acorex/components/page';
8
8
  import * as i7 from '@acorex/components/search-box';
9
9
  import { AXSearchBoxModule } from '@acorex/components/search-box';
10
- import * as i2$3 from '@acorex/components/tabs';
10
+ import * as i2$2 from '@acorex/components/tabs';
11
11
  import { AXTabsModule } from '@acorex/components/tabs';
12
12
  import { AXPStickyDirective } from '@acorex/platform/common';
13
13
  import { AXP_WIDGETS_GROUPS } from '@acorex/platform/layout/builder';
@@ -89,7 +89,7 @@ class AXPDesignerWidgetPickerComponent extends AXBasePageComponent {
89
89
  this.close({ widgets: this.selectedWidgets() });
90
90
  }
91
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerWidgetPickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPDesignerWidgetPickerComponent, isStandalone: true, selector: "ng-component", inputs: { searchTerm: { classPropertyName: "searchTerm", publicName: "searchTerm", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchTerm: "searchTermChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-flex-col lg:ax-h-[75vh]\">\n <div>\n <ax-tabs [look]=\"'with-line'\" (onActiveTabChanged)=\"handleTabChange($event)\">\n @for(w of tabs;track $index)\n {\n <ax-tab-item [text]=\"w.title\" [key]=\"$index.toString()\"\n [active]=\"currentTabIndex() === $index\"></ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-overflow-auto\" #content>\n <div class=\"ax-p-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all \" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-shadow-xl'\" [stickyParent]=\"content\" [stickyOffset]=\"10\">\n <ax-search-box look=\"fill\" placeholder=\"e.g. Button, Text, ...\" [(ngModel)]=\"searchTerm\" [delayTime]=\"300\"\n [axAutoFocus]=\"true\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"ax-flex ax-flex-col ax-p-4 ax-pt-0\">\n <ng-template #itemTpl let-w>\n <div (click)=\"handleClick($event,w)\"\n class=\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-100 ax-cursor-pointer\"\n [class.ax-bg-primary-100]=\"isWidgetSelected(w)\">\n <div class=\"ax-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border ax-border-neutral-200 ax-text-neutral-500 ax-bg-neutral-100 group-hover:ax-bg-primary-200\"\n [class.ax-bg-primary-200]=\"isWidgetSelected(w)\">\n <i [ngClass]=\"w.icon\" class=\"ax-text-lg group-hover:ax-text-primary-700\"\n [class.ax-text-primary-700]=\"isWidgetSelected(w)\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-flex-1\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <div class=\"ax-font-semibold ax-text-sm\">{{w.title}}</div>\n <div (click)=\"handlePinClick($event,w)\">\n @if (w.pinned) {\n <i class=\"fa-solid fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45\"></i>\n }\n @else {\n <i\n class=\"fa-light fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45 ax-invisible group-hover:ax-visible\"></i>\n }\n </div>\n </div>\n <span class=\"ax-text-xs ax-text-neutral-400 ax-truncate\">\n {{w.description}}\n </span>\n </div>\n </div>\n </ng-template>\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of pinnedList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n @if(pinnedList().length)\n {\n <hr class=\"ax-my-4 ax-border-dashed\">\n }\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of regularList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n </div>\n </div>\n</div>\n@if(selectedWidgets().length)\n{\n<ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"primary\" text=\"{{ selectedWidgets().length }} Selected\"\n (onClick)=\"handleConfirmSelection()\"></ax-button>\n </ax-suffix>\n</ax-footer>\n}", styles: [".selected-widget{border-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-color-primary-500),var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-primary-100),var(--tw-bg-opacity))}.selected-widget i{--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-500),var(--tw-text-opacity))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXCommonModule }, { kind: "directive", type: i2.AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i2$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: AXTabsModule }, { kind: "component", type: i2$3.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i2$3.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }], encapsulation: i0.ViewEncapsulation.None }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPDesignerWidgetPickerComponent, isStandalone: true, selector: "ng-component", inputs: { searchTerm: { classPropertyName: "searchTerm", publicName: "searchTerm", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchTerm: "searchTermChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-flex-col lg:ax-h-[75vh]\">\n <div>\n <ax-tabs [look]=\"'with-line'\" (onActiveTabChanged)=\"handleTabChange($event)\">\n @for(w of tabs;track $index)\n {\n <ax-tab-item [text]=\"w.title\" [key]=\"$index.toString()\"\n [active]=\"currentTabIndex() === $index\"></ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-overflow-auto\" #content>\n <div class=\"ax-p-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all \" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-shadow-xl'\" [stickyParent]=\"content\" [stickyOffset]=\"10\">\n <ax-search-box look=\"fill\" placeholder=\"e.g. Button, Text, ...\" [(ngModel)]=\"searchTerm\" [delayTime]=\"300\"\n [axAutoFocus]=\"true\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"ax-flex ax-flex-col ax-p-4 ax-pt-0\">\n <ng-template #itemTpl let-w>\n <div (click)=\"handleClick($event,w)\"\n class=\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-100 ax-cursor-pointer\"\n [class.ax-bg-primary-100]=\"isWidgetSelected(w)\">\n <div class=\"ax-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border ax-border-neutral-200 ax-text-neutral-500 ax-bg-neutral-100 group-hover:ax-bg-primary-200\"\n [class.ax-bg-primary-200]=\"isWidgetSelected(w)\">\n <i [ngClass]=\"w.icon\" class=\"ax-text-lg group-hover:ax-text-primary-700\"\n [class.ax-text-primary-700]=\"isWidgetSelected(w)\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-flex-1\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <div class=\"ax-font-semibold ax-text-sm\">{{w.title}}</div>\n <div (click)=\"handlePinClick($event,w)\">\n @if (w.pinned) {\n <i class=\"fa-solid fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45\"></i>\n }\n @else {\n <i\n class=\"fa-light fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45 ax-invisible group-hover:ax-visible\"></i>\n }\n </div>\n </div>\n <span class=\"ax-text-xs ax-text-neutral-400 ax-truncate\">\n {{w.description}}\n </span>\n </div>\n </div>\n </ng-template>\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of pinnedList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n @if(pinnedList().length)\n {\n <hr class=\"ax-my-4 ax-border-dashed\">\n }\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of regularList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n </div>\n </div>\n</div>\n@if(selectedWidgets().length)\n{\n<ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"primary\" text=\"{{ selectedWidgets().length }} Selected\"\n (onClick)=\"handleConfirmSelection()\"></ax-button>\n </ax-suffix>\n</ax-footer>\n}", styles: [".selected-widget{border-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-color-primary-500),var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-primary-100),var(--tw-bg-opacity))}.selected-widget i{--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-500),var(--tw-text-opacity))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXCommonModule }, { kind: "directive", type: i2.AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1$1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i1$1.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: AXTabsModule }, { kind: "component", type: i2$2.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i2$2.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }], encapsulation: i0.ViewEncapsulation.None }); }
93
93
  }
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerWidgetPickerComponent, decorators: [{
95
95
  type: Component,
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
97
97
  }] });
98
98
 
99
99
  export { AXPDesignerWidgetPickerComponent };
100
- //# sourceMappingURL=acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs.map
100
+ //# sourceMappingURL=acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs","sources":["../../../../libs/platform/layout/designer/src/lib/designer/components/widget-picker/widget-picker.component.ts","../../../../libs/platform/layout/designer/src/lib/designer/components/widget-picker/widget-picker.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXPStickyDirective } from '@acorex/platform/common';\nimport { AXP_WIDGETS_GROUPS, AXPWidgetConfig, AXPWidgetGroup } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, model, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { orderBy } from 'lodash-es';\n\n\nexport interface AXPDisplayWidgetConfig extends AXPWidgetConfig {\n pinned: boolean;\n}\n\n\n@Component({\n standalone: true,\n imports: [CommonModule, AXCommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXTabsModule, AXSearchBoxModule, AXPStickyDirective],\n templateUrl: './widget-picker.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./widget-picker.component.scss'],\n})\nexport class AXPDesignerWidgetPickerComponent extends AXBasePageComponent {\n\n\n protected searchTerm = model('');\n\n // Signals\n private widgets: AXPWidgetConfig[] = [];\n private displayWidgets = signal<AXPDisplayWidgetConfig[]>([]);\n\n // Signal to track selected widgets\n protected selectedWidgets = signal<AXPDisplayWidgetConfig[]>([]);\n\n // Computed for filtered and ordered widget list\n private orderedList = computed(() => {\n const search = this.searchTerm().toLowerCase();\n const selectedTabName = this.selectedTab().name;\n\n return orderBy(\n this.displayWidgets().filter(w => {\n const matchesTab = selectedTabName === 'all' || w.group.name === selectedTabName;\n const matchesSearch = !search || w.title.toLowerCase().includes(search) || w.description?.toLowerCase().includes(search);\n return matchesTab && matchesSearch;\n }),\n ['pinned', 'title'], ['desc', 'asc']\n );\n });\n\n // Pinned and regular lists\n protected pinnedList = computed(() => this.orderedList().filter(c => c.pinned));\n protected regularList = computed(() => this.orderedList().filter(c => !c.pinned));\n\n // Tabs for the widget groups\n protected tabs: AXPWidgetGroup[] = orderBy([{ name: 'all', title: 'All', order: 0 }, ...AXP_WIDGETS_GROUPS], c => c.order);\n protected currentTabIndex = signal(0);\n protected selectedTab = computed(() => this.tabs[this.currentTabIndex()]);\n\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.displayWidgets.set(this.widgets.map(c => ({ ...c, pinned: false })))\n }\n\n protected handleTabChange(event: AXTabStripChangedEvent): void {\n const indx = event.index;\n if (this.currentTabIndex() != indx) {\n this.currentTabIndex.set(indx);\n }\n }\n\n protected handleClick(event: MouseEvent, widget: AXPDisplayWidgetConfig) {\n //this.close({ widgets: [widget] });\n if (event.ctrlKey) {\n const currentSelection = this.selectedWidgets();\n const isAlreadySelected = currentSelection.some(w => w === widget);\n\n if (isAlreadySelected) {\n // Deselect widget if already selected\n this.selectedWidgets.set(currentSelection.filter(w => w !== widget));\n } else {\n // Add widget to selection\n this.selectedWidgets.set([...currentSelection, widget]);\n }\n } else {\n // If CTRL is not pressed, select only the clicked widget\n //this.selectedWidgets.set([widget]);\n this.close({ widgets: [widget] });\n }\n }\n\n protected handlePinClick(e: MouseEvent, widget: AXPDisplayWidgetConfig) {\n e.stopPropagation();\n widget.pinned = !widget.pinned;\n this.displayWidgets.set([...this.displayWidgets()]);\n }\n\n // Check if a widget is selected\n protected isWidgetSelected(widget: AXPDisplayWidgetConfig): boolean {\n return this.selectedWidgets().includes(widget);\n }\n\n protected handleConfirmSelection(): void {\n this.close({ widgets: this.selectedWidgets() });\n }\n\n}\n","<div class=\"ax-flex ax-flex-col lg:ax-h-[75vh]\">\n <div>\n <ax-tabs [look]=\"'with-line'\" (onActiveTabChanged)=\"handleTabChange($event)\">\n @for(w of tabs;track $index)\n {\n <ax-tab-item [text]=\"w.title\" [key]=\"$index.toString()\"\n [active]=\"currentTabIndex() === $index\"></ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-overflow-auto\" #content>\n <div class=\"ax-p-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all \" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-shadow-xl'\" [stickyParent]=\"content\" [stickyOffset]=\"10\">\n <ax-search-box look=\"fill\" placeholder=\"e.g. Button, Text, ...\" [(ngModel)]=\"searchTerm\" [delayTime]=\"300\"\n [axAutoFocus]=\"true\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"ax-flex ax-flex-col ax-p-4 ax-pt-0\">\n <ng-template #itemTpl let-w>\n <div (click)=\"handleClick($event,w)\"\n class=\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-100 ax-cursor-pointer\"\n [class.ax-bg-primary-100]=\"isWidgetSelected(w)\">\n <div class=\"ax-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border ax-border-neutral-200 ax-text-neutral-500 ax-bg-neutral-100 group-hover:ax-bg-primary-200\"\n [class.ax-bg-primary-200]=\"isWidgetSelected(w)\">\n <i [ngClass]=\"w.icon\" class=\"ax-text-lg group-hover:ax-text-primary-700\"\n [class.ax-text-primary-700]=\"isWidgetSelected(w)\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-flex-1\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <div class=\"ax-font-semibold ax-text-sm\">{{w.title}}</div>\n <div (click)=\"handlePinClick($event,w)\">\n @if (w.pinned) {\n <i class=\"fa-solid fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45\"></i>\n }\n @else {\n <i\n class=\"fa-light fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45 ax-invisible group-hover:ax-visible\"></i>\n }\n </div>\n </div>\n <span class=\"ax-text-xs ax-text-neutral-400 ax-truncate\">\n {{w.description}}\n </span>\n </div>\n </div>\n </ng-template>\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of pinnedList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n @if(pinnedList().length)\n {\n <hr class=\"ax-my-4 ax-border-dashed\">\n }\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of regularList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n </div>\n </div>\n</div>\n@if(selectedWidgets().length)\n{\n<ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"primary\" text=\"{{ selectedWidgets().length }} Selected\"\n (onClick)=\"handleConfirmSelection()\"></ax-button>\n </ax-suffix>\n</ax-footer>\n}"],"names":["i5","i6"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA0BM,MAAO,gCAAiC,SAAQ,mBAAmB,CAAA;AAPzE,IAAA,WAAA,GAAA;;AAUY,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;;QAGzB,IAAO,CAAA,OAAA,GAAsB,EAAE,CAAC;AAChC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAA2B,EAAE,CAAC,CAAC;;AAGpD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAA2B,EAAE,CAAC,CAAC;;AAGzD,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;YAEhD,OAAO,OAAO,CACZ,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,IAAG;AAC/B,gBAAA,MAAM,UAAU,GAAG,eAAe,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;AACjF,gBAAA,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzH,OAAO,UAAU,IAAI,aAAa,CAAC;AACrC,aAAC,CAAC,EACF,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CACrC,CAAC;AACJ,SAAC,CAAC,CAAC;;QAGO,IAAU,CAAA,UAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;;AAGxE,QAAA,IAAA,CAAA,IAAI,GAAqB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACjH,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AAkD3E,KAAA;IA/CoB,QAAQ,GAAA;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;KAC1E;AAES,IAAA,eAAe,CAAC,KAA6B,EAAA;AACrD,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE;AAClC,YAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAChC;KACF;IAES,WAAW,CAAC,KAAiB,EAAE,MAA8B,EAAA;;AAErE,QAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACjB,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AAChD,YAAA,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;YAEnE,IAAI,iBAAiB,EAAE;;AAErB,gBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;aACtE;iBAAM;;AAEL,gBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;aACzD;SACF;aAAM;;;YAGL,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACnC;KACF;IAES,cAAc,CAAC,CAAa,EAAE,MAA8B,EAAA;QACpE,CAAC,CAAC,eAAe,EAAE,CAAC;AACpB,QAAA,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;KACrD;;AAGS,IAAA,gBAAgB,CAAC,MAA8B,EAAA;QACvD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAChD;IAES,sBAAsB,GAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;KACjD;8GAlFU,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,+RC1B7C,8xHA0EC,EAAA,MAAA,EAAA,CAAA,uUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrDW,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,yZAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,4XAAE,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAKhI,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAP5C,SAAS;iCACI,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,EAAA,aAAA,EAE7H,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,8xHAAA,EAAA,MAAA,EAAA,CAAA,uUAAA,CAAA,EAAA,CAAA;;;;;"}