@acorex/components 19.14.0-next.3 → 19.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/calendar/lib/calendar.component.d.ts +4 -0
  2. package/common/index.d.ts +1 -0
  3. package/common/lib/classes/components.class.d.ts +1 -0
  4. package/common/lib/components/value-component.class.d.ts +1 -1
  5. package/common/lib/directives/copy-clipboard.directive.d.ts +40 -0
  6. package/datetime-box/lib/datetime-box.component.d.ts +4 -3
  7. package/fesm2022/acorex-components-action-sheet.mjs +32 -5
  8. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  9. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  10. package/fesm2022/acorex-components-audio-wave.mjs +19 -3
  11. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  12. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  13. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  14. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  15. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  16. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  17. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  18. package/fesm2022/acorex-components-button.mjs +14 -2
  19. package/fesm2022/acorex-components-button.mjs.map +1 -1
  20. package/fesm2022/acorex-components-calendar.mjs +11 -1
  21. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  22. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  23. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  24. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  25. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  26. package/fesm2022/acorex-components-color-box.mjs +18 -3
  27. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  28. package/fesm2022/acorex-components-color-palette.mjs +7 -1
  29. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  30. package/fesm2022/acorex-components-comment.mjs +16 -2
  31. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  32. package/fesm2022/acorex-components-common.mjs +110 -15
  33. package/fesm2022/acorex-components-common.mjs.map +1 -1
  34. package/fesm2022/acorex-components-conversation.mjs +8 -1
  35. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  36. package/fesm2022/acorex-components-cron-job.mjs +15 -17
  37. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  38. package/fesm2022/acorex-components-data-pager.mjs +101 -20
  39. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  40. package/fesm2022/acorex-components-data-table.mjs +68 -15
  41. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  42. package/fesm2022/acorex-components-datetime-box.mjs +26 -7
  43. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  44. package/fesm2022/acorex-components-datetime-input.mjs +0 -1
  45. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  46. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  47. package/fesm2022/acorex-components-decorators.mjs +14 -4
  48. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  49. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  50. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  51. package/fesm2022/acorex-components-dropdown-button.mjs +29 -4
  52. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  53. package/fesm2022/acorex-components-dropdown.mjs +26 -3
  54. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  55. package/fesm2022/acorex-components-file-explorer.mjs +26 -3
  56. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  57. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  58. package/fesm2022/acorex-components-form.mjs +43 -24
  59. package/fesm2022/acorex-components-form.mjs.map +1 -1
  60. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  61. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  62. package/fesm2022/acorex-components-image.mjs.map +1 -1
  63. package/fesm2022/acorex-components-json-viewer.mjs +5 -1
  64. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  65. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  66. package/fesm2022/acorex-components-label.mjs.map +1 -1
  67. package/fesm2022/acorex-components-list.mjs +14 -3
  68. package/fesm2022/acorex-components-list.mjs.map +1 -1
  69. package/fesm2022/acorex-components-loading-dialog.mjs +23 -3
  70. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  71. package/fesm2022/acorex-components-loading.mjs +14 -2
  72. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  73. package/fesm2022/acorex-components-map.mjs +7 -0
  74. package/fesm2022/acorex-components-map.mjs.map +1 -1
  75. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  76. package/fesm2022/acorex-components-menu.mjs +23 -18
  77. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  78. package/fesm2022/{acorex-components-modal-acorex-components-modal-C83n2Gqn.mjs → acorex-components-modal-acorex-components-modal-Ckn70-o5.mjs} +2 -2
  79. package/fesm2022/acorex-components-modal-acorex-components-modal-Ckn70-o5.mjs.map +1 -0
  80. package/fesm2022/acorex-components-modal-modal-content.component-DzRhA-Nt.mjs +216 -0
  81. package/fesm2022/acorex-components-modal-modal-content.component-DzRhA-Nt.mjs.map +1 -0
  82. package/fesm2022/acorex-components-modal.mjs +1 -1
  83. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  84. package/fesm2022/acorex-components-notification.mjs +30 -5
  85. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  86. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  87. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  88. package/fesm2022/acorex-components-page.mjs +6 -6
  89. package/fesm2022/acorex-components-page.mjs.map +1 -1
  90. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  91. package/fesm2022/acorex-components-password-box.mjs +28 -3
  92. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  93. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  94. package/fesm2022/acorex-components-phone-box.mjs +53 -4
  95. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  96. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  97. package/fesm2022/acorex-components-popover.mjs +18 -4
  98. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  99. package/fesm2022/acorex-components-popup.mjs +18 -2
  100. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  101. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  102. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  103. package/fesm2022/acorex-components-query-builder.mjs +13 -2
  104. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  105. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  106. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  107. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  108. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  109. package/fesm2022/acorex-components-rest-api-generator.mjs +33 -3
  110. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  111. package/fesm2022/acorex-components-result.mjs.map +1 -1
  112. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  113. package/fesm2022/acorex-components-scheduler.mjs +757 -367
  114. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  115. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  116. package/fesm2022/acorex-components-search-box.mjs +42 -5
  117. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  118. package/fesm2022/acorex-components-select-box.mjs +2 -2
  119. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  120. package/fesm2022/acorex-components-selection-list.mjs +41 -5
  121. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  122. package/fesm2022/acorex-components-side-menu.mjs +44 -6
  123. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  124. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  125. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  126. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  127. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  128. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  129. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  130. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  131. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  132. package/fesm2022/acorex-components-text-area.mjs +12 -1
  133. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  134. package/fesm2022/acorex-components-text-box.mjs +48 -4
  135. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  136. package/fesm2022/acorex-components-time-duration.mjs +45 -60
  137. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  138. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  139. package/fesm2022/acorex-components-toast.mjs +6 -2
  140. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  141. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  142. package/fesm2022/acorex-components-tooltip.mjs +1 -1
  143. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  144. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  145. package/fesm2022/acorex-components-uploader.mjs +3 -1
  146. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  147. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  148. package/fesm2022/acorex-components-wysiwyg.mjs +24 -3
  149. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  150. package/fesm2022/acorex-components.mjs.map +1 -1
  151. package/form/lib/validation-rule.directive.d.ts +10 -9
  152. package/menu/index.d.ts +2 -2
  153. package/menu/lib/menu.service.d.ts +1 -1
  154. package/modal/lib/modal-content/modal-content.component.d.ts +4 -3
  155. package/package.json +1 -1
  156. package/page/lib/page.component.d.ts +6 -6
  157. package/scheduler/lib/scheduler.class.d.ts +10 -3
  158. package/scheduler/lib/scheduler.service.d.ts +18 -6
  159. package/scheduler/lib/views/agenda/scheduler-agenda-view.component.d.ts +17 -7
  160. package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +3 -2
  161. package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +16 -9
  162. package/scheduler/lib/views/timeline-day/scheduler-timeline-day-view.component.d.ts +7 -3
  163. package/scheduler/lib/views/timeline-month/scheduler-timeline-month-view.component.d.ts +16 -11
  164. package/scheduler/lib/views/timeline-multi-day/scheduler-timeline-multi-day-view.component.d.ts +16 -3
  165. package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +30 -8
  166. package/time-duration/lib/time-duration.component.d.ts +11 -1
  167. package/time-duration/lib/time-duration.type.d.ts +1 -1
  168. package/fesm2022/acorex-components-modal-acorex-components-modal-C83n2Gqn.mjs.map +0 -1
  169. package/fesm2022/acorex-components-modal-modal-content.component-YrM5Oi9b.mjs +0 -191
  170. package/fesm2022/acorex-components-modal-modal-content.component-YrM5Oi9b.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-query-builder.mjs","sources":["../../../../libs/components/query-builder/src/lib/query-builder.component.ts","../../../../libs/components/query-builder/src/lib/query-builder.component.html","../../../../libs/components/query-builder/src/lib/query-builder.module.ts","../../../../libs/components/query-builder/src/acorex-components-query-builder.ts"],"sourcesContent":["import { AXButtonComponent } from '@acorex/components/button';\nimport { AXButtonGroupComponent, AXButtonGroupItemComponent } from '@acorex/components/button-group';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDateTimeBoxComponent } from '@acorex/components/datetime-box';\nimport { AXDecoratorClearButtonComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXNumberBoxComponent } from '@acorex/components/number-box';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { NgFor, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, input, model, output, signal, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-query-builder',\n templateUrl: './query-builder.component.html',\n styleUrls: ['./query-builder.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgFor,\n NgTemplateOutlet,\n AXButtonGroupComponent,\n AXButtonGroupItemComponent,\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXSelectBoxComponent,\n AXTextBoxComponent,\n AXDecoratorClearButtonComponent,\n AXNumberBoxComponent,\n AXDateTimeBoxComponent,\n ],\n})\nexport class AXQueryBuilderComponent {\n columnData = input.required<any[]>();\n queryData = model.required<any[]>();\n onValueChanged = output<any[]>();\n protected selectBoxRef = viewChild<AXSelectBoxComponent>('reRender');\n protected selectedItem = signal<any>(null);\n\n ds = new AXDataSource({\n load: async (e) => {\n return {\n items: this.operators[this.selectedItem().type].slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),\n total: this.operators[this.selectedItem().type].length,\n };\n },\n key: 'id',\n pageSize: 20,\n });\n\n protected operators = {\n string: [\n 'Starts With',\n 'Does Not Start With',\n 'Ends With',\n 'Does Not End With',\n 'Contains',\n 'Does Not Contain',\n 'Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Empty',\n 'Is Not Empty',\n 'Is Null',\n 'Is Not Null',\n ],\n boolean: ['Equal', 'Not Equal'],\n number: [\n 'Equal',\n 'Greater Than Or Equal',\n 'Greater Than',\n 'Between',\n 'Less Than',\n 'Not Between',\n 'Less Than Or Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Null',\n 'Is Not Null',\n ],\n date: ['Equal', 'Greater Than', 'Greater Than Or Equal', 'Less Than', 'Less Than Or Equal', 'Not Equal', 'Between', 'Not Between'],\n };\n\n #eff = effect(() => {\n this.onValueChanged.emit(this.queryData());\n });\n\n protected conditionHandler(e: AXButtonGroupItemComponent, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.condition = e.data;\n return copy;\n });\n }\n\n protected columnDataHandler(e: AXValueChangedEvent<any>, i) {\n this.selectedItem.set(i);\n const selectedItem = e.component.selectedItems[0];\n\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.label = selectedItem.label;\n find.field = selectedItem.field;\n find.type = selectedItem.type;\n if (selectedItem.values) find.inputValues = selectedItem.values;\n return copy;\n });\n\n this.selectBoxRef().refresh();\n this.selectBoxRef().reset();\n }\n\n protected operatorDataHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.operator = e.value;\n return copy;\n });\n }\n\n private recursiveFind(array, predicate, nestedKey) {\n for (const item of array) {\n if (predicate(item)) {\n return item;\n }\n if (Array.isArray(item[nestedKey])) {\n const found = this.recursiveFind(item[nestedKey], predicate, nestedKey);\n if (found) {\n return found;\n }\n }\n }\n return null;\n }\n\n private recursiveRemove(array: any[], predicate: (item: any) => boolean, nestedKey: string): any[] {\n return array\n .filter((item) => !predicate(item))\n .map((item) => ({\n ...item,\n [nestedKey]: Array.isArray(item[nestedKey]) ? this.recursiveRemove(item[nestedKey], predicate, nestedKey) : item[nestedKey],\n }));\n }\n\n protected addRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n });\n return copy;\n });\n }\n\n protected addGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n condition: 'and',\n rules: [{ id: Math.random() }],\n });\n return copy;\n });\n }\n\n protected booleanValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.target.value;\n return copy;\n });\n }\n\n protected stringValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected numberValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected dateValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected removeGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n\n protected removeRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n\n protected trackById(_: number, item: any): number {\n return item.id;\n }\n}\n","<ng-container\n *ngFor=\"let item of queryData(); let i = index; trackBy: trackById\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n [ngTemplateOutlet]=\"query\"\n>\n</ng-container>\n\n<ng-template #query let-item let-index=\"index\">\n @if (item.condition) {\n <div class=\"ax-recursive-container\">\n <div class=\"ax-add-condition-container\">\n <ax-button-group\n selection=\"single\"\n (selectedButtonChange)=\"conditionHandler($event, item)\"\n color=\"primary\"\n class=\"ax-sm\"\n >\n <ax-button-group-item data=\"and\" [selected]=\"item.condition === 'and'\" text=\"And\"> </ax-button-group-item>\n <ax-button-group-item data=\"or\" [selected]=\"item.condition === 'or'\" text=\"Or\"> </ax-button-group-item>\n </ax-button-group>\n <ax-button\n (onClick)=\"addRulesHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Rules\"\n ></ax-button>\n <ax-button\n (onClick)=\"addGroupHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Group\"\n ></ax-button>\n @if (index !== 0) {\n <ax-button look=\"blank\" (onClick)=\"removeGroupHandler(item)\" class=\"ax-sm\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n }\n </div>\n\n <ng-container\n *ngFor=\"let child of item.rules; trackBy: trackById\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n [ngTemplateOutlet]=\"query\"\n >\n </ng-container>\n </div>\n } @else {\n <div class=\"ax-rules-container\">\n <div class=\"ax-input-rules-container\">\n <ax-select-box\n (onValueChanged)=\"columnDataHandler($event, item)\"\n valueField=\"field\"\n textField=\"label\"\n [dataSource]=\"columnData()\"\n placeholder=\"Select Field\"\n >\n </ax-select-box>\n\n <ax-select-box\n #reRender\n [disabled]=\"!item.field\"\n name=\"selectBoxOperator\"\n (onValueChanged)=\"operatorDataHandler($event, item)\"\n [dataSource]=\"ds\"\n placeholder=\"Select Operator\"\n >\n </ax-select-box>\n\n @switch (item.type) {\n @case ('boolean') {\n <div class=\"ax-boolean-value-input-container\">\n @for (boolean of item.inputValues; track $index) {\n <label>{{ boolean }}</label>\n <input name=\"same\" [value]=\"boolean\" (input)=\"booleanValueHandler($event, item)\" type=\"radio\" />\n }\n </div>\n }\n @case ('string') {\n <ax-text-box (onValueChanged)=\"stringValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-text-box>\n }\n @case ('number') {\n <ax-number-box (onValueChanged)=\"numberValueHandler($event, item)\"></ax-number-box>\n }\n @case ('date') {\n <ax-datetime-box format=\"yyyy/MM/dd\" (onValueChanged)=\"dateValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n }\n }\n </div>\n <ax-button (onClick)=\"removeRulesHandler(item)\" look=\"blank\" class=\"ax-md\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n </div>\n }\n</ng-template>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXQueryBuilderComponent } from './query-builder.component';\n\nconst COMPONENT = [AXQueryBuilderComponent];\n\nconst MODULES = [\n AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXTextBoxModule,\n AXNumberBoxModule,\n AXDateTimeBoxModule,\n CommonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXQueryBuilderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-query-builder.mjs","sources":["../../../../packages/components/query-builder/src/lib/query-builder.component.ts","../../../../packages/components/query-builder/src/lib/query-builder.component.html","../../../../packages/components/query-builder/src/lib/query-builder.module.ts","../../../../packages/components/query-builder/src/acorex-components-query-builder.ts"],"sourcesContent":["import { AXButtonComponent } from '@acorex/components/button';\nimport { AXButtonGroupComponent, AXButtonGroupItemComponent } from '@acorex/components/button-group';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDateTimeBoxComponent } from '@acorex/components/datetime-box';\nimport { AXDecoratorClearButtonComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXNumberBoxComponent } from '@acorex/components/number-box';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { NgFor, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n input,\n model,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-query-builder',\n templateUrl: './query-builder.component.html',\n styleUrls: ['./query-builder.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgFor,\n NgTemplateOutlet,\n AXButtonGroupComponent,\n AXButtonGroupItemComponent,\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXSelectBoxComponent,\n AXTextBoxComponent,\n AXDecoratorClearButtonComponent,\n AXNumberBoxComponent,\n AXDateTimeBoxComponent,\n ],\n})\nexport class AXQueryBuilderComponent {\n columnData = input.required<any[]>();\n queryData = model.required<any[]>();\n onValueChanged = output<any[]>();\n protected selectBoxRef = viewChild<AXSelectBoxComponent>('reRender');\n protected selectedItem = signal<any>(null);\n\n ds = new AXDataSource({\n load: async (e) => {\n return {\n items: this.operators[this.selectedItem().type].slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),\n total: this.operators[this.selectedItem().type].length,\n };\n },\n key: 'id',\n pageSize: 20,\n });\n\n protected operators = {\n string: [\n 'Starts With',\n 'Does Not Start With',\n 'Ends With',\n 'Does Not End With',\n 'Contains',\n 'Does Not Contain',\n 'Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Empty',\n 'Is Not Empty',\n 'Is Null',\n 'Is Not Null',\n ],\n boolean: ['Equal', 'Not Equal'],\n number: [\n 'Equal',\n 'Greater Than Or Equal',\n 'Greater Than',\n 'Between',\n 'Less Than',\n 'Not Between',\n 'Less Than Or Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Null',\n 'Is Not Null',\n ],\n date: [\n 'Equal',\n 'Greater Than',\n 'Greater Than Or Equal',\n 'Less Than',\n 'Less Than Or Equal',\n 'Not Equal',\n 'Between',\n 'Not Between',\n ],\n };\n\n #eff = effect(() => {\n this.onValueChanged.emit(this.queryData());\n });\n\n protected conditionHandler(e: AXButtonGroupItemComponent, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.condition = e.data;\n return copy;\n });\n }\n\n protected columnDataHandler(e: AXValueChangedEvent<any>, i) {\n this.selectedItem.set(i);\n const selectedItem = e.component.selectedItems[0];\n\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.label = selectedItem.label;\n find.field = selectedItem.field;\n find.type = selectedItem.type;\n if (selectedItem.values) find.inputValues = selectedItem.values;\n return copy;\n });\n\n this.selectBoxRef().refresh();\n this.selectBoxRef().reset();\n }\n\n protected operatorDataHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.operator = e.value;\n return copy;\n });\n }\n\n private recursiveFind(array, predicate, nestedKey) {\n for (const item of array) {\n if (predicate(item)) {\n return item;\n }\n if (Array.isArray(item[nestedKey])) {\n const found = this.recursiveFind(item[nestedKey], predicate, nestedKey);\n if (found) {\n return found;\n }\n }\n }\n return null;\n }\n\n private recursiveRemove(array: any[], predicate: (item: any) => boolean, nestedKey: string): any[] {\n return array\n .filter((item) => !predicate(item))\n .map((item) => ({\n ...item,\n [nestedKey]: Array.isArray(item[nestedKey])\n ? this.recursiveRemove(item[nestedKey], predicate, nestedKey)\n : item[nestedKey],\n }));\n }\n\n protected addRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n });\n return copy;\n });\n }\n\n protected addGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n condition: 'and',\n rules: [{ id: Math.random() }],\n });\n return copy;\n });\n }\n\n protected booleanValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.target.value;\n return copy;\n });\n }\n\n protected stringValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected numberValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected dateValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected removeGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n\n protected removeRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n\n protected trackById(_: number, item: any): number {\n return item.id;\n }\n}\n","<ng-container\n *ngFor=\"let item of queryData(); let i = index; trackBy: trackById\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n [ngTemplateOutlet]=\"query\"\n>\n</ng-container>\n\n<ng-template #query let-item let-index=\"index\">\n @if (item.condition) {\n <div class=\"ax-recursive-container\">\n <div class=\"ax-add-condition-container\">\n <ax-button-group\n selection=\"single\"\n (selectedButtonChange)=\"conditionHandler($event, item)\"\n color=\"primary\"\n class=\"ax-sm\"\n >\n <ax-button-group-item data=\"and\" [selected]=\"item.condition === 'and'\" text=\"And\"> </ax-button-group-item>\n <ax-button-group-item data=\"or\" [selected]=\"item.condition === 'or'\" text=\"Or\"> </ax-button-group-item>\n </ax-button-group>\n <ax-button\n (onClick)=\"addRulesHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Rules\"\n ></ax-button>\n <ax-button\n (onClick)=\"addGroupHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Group\"\n ></ax-button>\n @if (index !== 0) {\n <ax-button look=\"blank\" (onClick)=\"removeGroupHandler(item)\" class=\"ax-sm\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n }\n </div>\n\n <ng-container\n *ngFor=\"let child of item.rules; trackBy: trackById\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n [ngTemplateOutlet]=\"query\"\n >\n </ng-container>\n </div>\n } @else {\n <div class=\"ax-rules-container\">\n <div class=\"ax-input-rules-container\">\n <ax-select-box\n (onValueChanged)=\"columnDataHandler($event, item)\"\n valueField=\"field\"\n textField=\"label\"\n [dataSource]=\"columnData()\"\n placeholder=\"Select Field\"\n >\n </ax-select-box>\n\n <ax-select-box\n #reRender\n [disabled]=\"!item.field\"\n name=\"selectBoxOperator\"\n (onValueChanged)=\"operatorDataHandler($event, item)\"\n [dataSource]=\"ds\"\n placeholder=\"Select Operator\"\n >\n </ax-select-box>\n\n @switch (item.type) {\n @case ('boolean') {\n <div class=\"ax-boolean-value-input-container\">\n @for (boolean of item.inputValues; track $index) {\n <label>{{ boolean }}</label>\n <input name=\"same\" [value]=\"boolean\" (input)=\"booleanValueHandler($event, item)\" type=\"radio\" />\n }\n </div>\n }\n @case ('string') {\n <ax-text-box (onValueChanged)=\"stringValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-text-box>\n }\n @case ('number') {\n <ax-number-box (onValueChanged)=\"numberValueHandler($event, item)\"></ax-number-box>\n }\n @case ('date') {\n <ax-datetime-box format=\"yyyy/MM/dd\" (onValueChanged)=\"dateValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n }\n }\n </div>\n <ax-button (onClick)=\"removeRulesHandler(item)\" look=\"blank\" class=\"ax-md\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n </div>\n }\n</ng-template>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXQueryBuilderComponent } from './query-builder.component';\n\nconst COMPONENT = [AXQueryBuilderComponent];\n\nconst MODULES = [\n AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXTextBoxModule,\n AXNumberBoxModule,\n AXDateTimeBoxModule,\n CommonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXQueryBuilderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-radio.mjs","sources":["../../../../libs/components/radio/src/lib/radio.component.ts","../../../../libs/components/radio/src/lib/radio.component.html","../../../../libs/components/radio/src/lib/radio.module.ts","../../../../libs/components/radio/src/acorex-components-radio.ts"],"sourcesContent":["import { MXValueComponent } from '@acorex/components/common';\nimport { AXLabelComponent } from '@acorex/components/label';\nimport { AfterViewChecked, ChangeDetectionStrategy, Component, ContentChildren, HostListener, QueryList, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category\n */\n@Component({\n selector: 'ax-radio',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'name', 'id', 'checked'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRadioComponent),\n multi: true,\n },\n ],\n imports: [FormsModule],\n})\nexport class AXRadioComponent extends MXValueComponent<boolean | null> implements AfterViewChecked {\n /** @ignore */\n @ContentChildren(AXLabelComponent)\n\n /** @ignore */\n private _labels: QueryList<AXLabelComponent>;\n\n /** @ignore */\n ngAfterViewChecked() {\n this._labels?.forEach((c) => {\n c.for = this;\n });\n }\n\n /** @ignore */\n @HostListener('click', ['$event'])\n\n /** @ignore */\n private _handleClick(e: UIEvent) {\n e.stopPropagation();\n if (this.readonly || this.disabled) {\n e.preventDefault();\n return false;\n }\n return true;\n }\n\n /** @ignore */\n protected _handleModelChange(value: boolean | null) {\n this.commitValue(value, true);\n }\n}\n","<div class=\"ax-radio-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n <div class=\"ax-radio-start-side\">\n <input\n [id]=\"id\"\n class=\"ax-radio\"\n type=\"radio\"\n [ngModel]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n </div>\n <div class=\"ax-radio-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n <span class=\"ax-error-container\"></span>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXRadioComponent } from './radio.component';\n\nconst COMPONENT = [AXRadioComponent];\nconst MODULES = [CommonModule, FormsModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-radio.mjs","sources":["../../../../packages/components/radio/src/lib/radio.component.ts","../../../../packages/components/radio/src/lib/radio.component.html","../../../../packages/components/radio/src/lib/radio.module.ts","../../../../packages/components/radio/src/acorex-components-radio.ts"],"sourcesContent":["import { MXValueComponent } from '@acorex/components/common';\nimport { AXLabelComponent } from '@acorex/components/label';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostListener,\n QueryList,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category\n */\n@Component({\n selector: 'ax-radio',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'name', 'id', 'checked'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRadioComponent),\n multi: true,\n },\n ],\n imports: [FormsModule],\n})\nexport class AXRadioComponent extends MXValueComponent<boolean | null> implements AfterViewChecked {\n /** @ignore */\n @ContentChildren(AXLabelComponent)\n\n /** @ignore */\n private _labels: QueryList<AXLabelComponent>;\n\n /** @ignore */\n ngAfterViewChecked() {\n this._labels?.forEach((c) => {\n c.for = this;\n });\n }\n\n /** @ignore */\n @HostListener('click', ['$event'])\n\n /** @ignore */\n private _handleClick(e: UIEvent) {\n e.stopPropagation();\n if (this.readonly || this.disabled) {\n e.preventDefault();\n return false;\n }\n return true;\n }\n\n /** @ignore */\n protected _handleModelChange(value: boolean | null) {\n this.commitValue(value, true);\n }\n}\n","<div class=\"ax-radio-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n <div class=\"ax-radio-start-side\">\n <input\n [id]=\"id\"\n class=\"ax-radio\"\n type=\"radio\"\n [ngModel]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n </div>\n <div class=\"ax-radio-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n <span class=\"ax-error-container\"></span>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXRadioComponent } from './radio.component';\n\nconst COMPONENT = [AXRadioComponent];\nconst MODULES = [CommonModule, FormsModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-rail-navigation.mjs","sources":["../../../../libs/components/rail-navigation/src/lib/rail-navigation.service.ts","../../../../libs/components/rail-navigation/src/lib/rail-navigation-item/rail-navigation-item.component.ts","../../../../libs/components/rail-navigation/src/lib/rail-navigation-item/rail-navigation-item.component.html","../../../../libs/components/rail-navigation/src/lib/rail-navigation.component.ts","../../../../libs/components/rail-navigation/src/lib/rail-navigation.component.html","../../../../libs/components/rail-navigation/src/lib/rail-navigation.module.ts","../../../../libs/components/rail-navigation/src/acorex-components-rail-navigation.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXRailNavigationItemComponent } from './rail-navigation-item/rail-navigation-item.component';\n\n@Injectable({ providedIn: 'root' })\nexport class AXRailNavigationService {\n private activeItem = new Subject<AXRailNavigationItemComponent>();\n activeItem$ = this.activeItem.asObservable();\n\n setActive(item: AXRailNavigationItemComponent) {\n this.activeItem.next(item);\n }\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n output,\n PLATFORM_ID,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { IsActiveMatchOptions, RouterLink, RouterLinkActive, UrlTree } from '@angular/router';\nimport { AXRailClickEvent } from '../rail-navigation.class';\nimport { AXRailNavigationService } from '../rail-navigation.service';\n\n@Component({\n selector: 'ax-rail-navigation-item',\n templateUrl: './rail-navigation-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [RouterLink, RouterLinkActive, NgTemplateOutlet],\n})\nexport class AXRailNavigationItemComponent extends MXBaseComponent implements AfterViewInit, OnDestroy {\n private railNavigationService = inject(AXRailNavigationService);\n private platformId = inject(PLATFORM_ID);\n\n onClick = output<AXRailClickEvent>();\n\n active = model(false);\n disabled = model(false);\n\n href = input<string | null>();\n routerLink = input<string | any[] | UrlTree | null>();\n routerLinkActive = input<string | string[]>('ax-state-active');\n target = input<'_blank' | '_self' | '_parent' | '_top'>('_self');\n routerLinkActiveOptions = input<{ exact: boolean } | IsActiveMatchOptions>({ exact: false });\n\n itemContainer = viewChild<ElementRef<HTMLElement>>('itemContainer');\n\n private observer: MutationObserver | null = null;\n\n ngAfterViewInit(): void {\n this.checkActive(this.itemContainer().nativeElement);\n if (isPlatformBrowser(this.platformId)) {\n this.observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.attributeName === 'class') {\n this.checkActive(mutation.target as HTMLElement);\n }\n });\n });\n this.observer.observe(this.itemContainer().nativeElement, {\n attributes: true,\n childList: false,\n characterData: false,\n });\n }\n }\n\n ngOnDestroy(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n\n handleClickEvent(e: MouseEvent) {\n if (this.disabled()) return;\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n getStats() {\n return {\n height: this.getHostElement().clientHeight,\n top: this.getHostElement().offsetTop,\n };\n }\n\n private checkActive(item: HTMLElement) {\n if (item.classList.contains('ax-state-active') && !this.disabled()) {\n this.railNavigationService.setActive(this);\n }\n }\n}\n","@if (routerLink()) {\n <a\n #itemContainer\n [target]=\"target()\"\n [routerLink]=\"routerLink()\"\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-disabled]=\"disabled()\"\n [routerLinkActive]=\"routerLinkActive()\"\n [routerLinkActiveOptions]=\"routerLinkActiveOptions()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </a>\n} @else if (href()) {\n <a\n #itemContainer\n [href]=\"href()\"\n [target]=\"target()\"\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-active]=\"active() && !disabled()\"\n [class.ax-state-disabled]=\"disabled()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </a>\n} @else {\n <div\n #itemContainer\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-active]=\"active() && !disabled()\"\n [class.ax-state-disabled]=\"disabled()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </div>\n}\n\n<ng-template #railNavigationItemContent>\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-icon\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ng-container,ng-content\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n</ng-template>\n","import { MXBaseComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n effect,\n ElementRef,\n HostBinding,\n inject,\n input,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXRailNavigationItemComponent } from './rail-navigation-item/rail-navigation-item.component';\nimport { AXRailLocation, AXRailLook } from './rail-navigation.class';\nimport { AXRailNavigationService } from './rail-navigation.service';\n\n@Component({\n selector: 'ax-rail-navigation',\n templateUrl: './rail-navigation.component.html',\n styleUrls: ['./rail-navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXRailNavigationComponent extends MXBaseComponent {\n private railNavigationService = inject(AXRailNavigationService);\n\n private indicator = viewChild<ElementRef<HTMLSpanElement>>('indicator');\n railNavItems = contentChildren(AXRailNavigationItemComponent);\n\n location = input<AXRailLocation>('start');\n look = input<AXRailLook>('with-line-color');\n\n private activeTab = signal<AXRailNavigationItemComponent | null>(null);\n\n #lookLocationChange = effect(() => {\n if (this.location()) {\n if (this.look() === 'with-line-color' || this.look() === 'with-line') {\n setTimeout(() => {\n this.setIndicatorPosition(this.activeTab());\n });\n }\n }\n });\n\n constructor() {\n super();\n this.railNavigationService.activeItem$.subscribe((item) => {\n this.activeTab.set(item);\n if (this.look() === 'with-line-color' || this.look() === 'with-line') {\n this.setIndicatorPosition(item);\n }\n });\n }\n\n private setIndicatorPosition(tabItem: AXRailNavigationItemComponent) {\n const indicatorStyle = this.indicator().nativeElement.style;\n const itemStats = tabItem.getStats();\n indicatorStyle.width = ` var(--ax-comp-rail-navigation-indicator-size)`;\n indicatorStyle.height = `${itemStats.height}px`;\n indicatorStyle.top = `${itemStats.top}px`;\n indicatorStyle.bottom = `unset`;\n if (this.location() === 'start') {\n indicatorStyle.insetInlineStart = `0px`;\n indicatorStyle.insetInlineEnd = `unset`;\n }\n if (this.location() === 'end') {\n indicatorStyle.insetInlineStart = `unset`;\n indicatorStyle.insetInlineEnd = `0px`;\n }\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n const cssClasses: string[] = [];\n cssClasses.push(`ax-${this.location()}`);\n cssClasses.push(`ax-look-${this.look()}`);\n return cssClasses;\n }\n}\n","<ng-content select=\"ax-prefix, ax-header\"></ng-content>\n<ng-content select=\"ax-rail-navigation-item, ng-container, ng-content\"></ng-content>\n<div class=\"ax-suffix-container\">\n <ng-content select=\"ax-suffix, ax-footer\"></ng-content>\n</div>\n<span class=\"ax-rail-indicator\" #indicator></span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { AXRailNavigationItemComponent } from './rail-navigation-item/rail-navigation-item.component';\nimport { AXRailNavigationComponent } from './rail-navigation.component';\n\n@NgModule({\n imports: [CommonModule, RouterLink, RouterLinkActive, AXRailNavigationComponent, AXRailNavigationItemComponent],\n exports: [AXRailNavigationComponent, AXRailNavigationItemComponent],\n providers: [],\n})\nexport class AXRailNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-rail-navigation.mjs","sources":["../../../../packages/components/rail-navigation/src/lib/rail-navigation.service.ts","../../../../packages/components/rail-navigation/src/lib/rail-navigation-item/rail-navigation-item.component.ts","../../../../packages/components/rail-navigation/src/lib/rail-navigation-item/rail-navigation-item.component.html","../../../../packages/components/rail-navigation/src/lib/rail-navigation.component.ts","../../../../packages/components/rail-navigation/src/lib/rail-navigation.component.html","../../../../packages/components/rail-navigation/src/lib/rail-navigation.module.ts","../../../../packages/components/rail-navigation/src/acorex-components-rail-navigation.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXRailNavigationItemComponent } from './rail-navigation-item/rail-navigation-item.component';\n\n@Injectable({ providedIn: 'root' })\nexport class AXRailNavigationService {\n private activeItem = new Subject<AXRailNavigationItemComponent>();\n activeItem$ = this.activeItem.asObservable();\n\n setActive(item: AXRailNavigationItemComponent) {\n this.activeItem.next(item);\n }\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n output,\n PLATFORM_ID,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { IsActiveMatchOptions, RouterLink, RouterLinkActive, UrlTree } from '@angular/router';\nimport { AXRailClickEvent } from '../rail-navigation.class';\nimport { AXRailNavigationService } from '../rail-navigation.service';\n\n@Component({\n selector: 'ax-rail-navigation-item',\n templateUrl: './rail-navigation-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [RouterLink, RouterLinkActive, NgTemplateOutlet],\n})\nexport class AXRailNavigationItemComponent extends MXBaseComponent implements AfterViewInit, OnDestroy {\n private railNavigationService = inject(AXRailNavigationService);\n private platformId = inject(PLATFORM_ID);\n\n onClick = output<AXRailClickEvent>();\n\n active = model(false);\n disabled = model(false);\n\n href = input<string | null>();\n routerLink = input<string | any[] | UrlTree | null>();\n routerLinkActive = input<string | string[]>('ax-state-active');\n target = input<'_blank' | '_self' | '_parent' | '_top'>('_self');\n routerLinkActiveOptions = input<{ exact: boolean } | IsActiveMatchOptions>({ exact: false });\n\n itemContainer = viewChild<ElementRef<HTMLElement>>('itemContainer');\n\n private observer: MutationObserver | null = null;\n\n ngAfterViewInit(): void {\n this.checkActive(this.itemContainer().nativeElement);\n if (isPlatformBrowser(this.platformId)) {\n this.observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.attributeName === 'class') {\n this.checkActive(mutation.target as HTMLElement);\n }\n });\n });\n this.observer.observe(this.itemContainer().nativeElement, {\n attributes: true,\n childList: false,\n characterData: false,\n });\n }\n }\n\n ngOnDestroy(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n\n handleClickEvent(e: MouseEvent) {\n if (this.disabled()) return;\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n getStats() {\n return {\n height: this.getHostElement().clientHeight,\n top: this.getHostElement().offsetTop,\n };\n }\n\n private checkActive(item: HTMLElement) {\n if (item.classList.contains('ax-state-active') && !this.disabled()) {\n this.railNavigationService.setActive(this);\n }\n }\n}\n","@if (routerLink()) {\n <a\n #itemContainer\n [target]=\"target()\"\n [routerLink]=\"routerLink()\"\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-disabled]=\"disabled()\"\n [routerLinkActive]=\"routerLinkActive()\"\n [routerLinkActiveOptions]=\"routerLinkActiveOptions()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </a>\n} @else if (href()) {\n <a\n #itemContainer\n [href]=\"href()\"\n [target]=\"target()\"\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-active]=\"active() && !disabled()\"\n [class.ax-state-disabled]=\"disabled()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </a>\n} @else {\n <div\n #itemContainer\n class=\"ax-rail-navigation-item\"\n (click)=\"handleClickEvent($event)\"\n [class.ax-state-active]=\"active() && !disabled()\"\n [class.ax-state-disabled]=\"disabled()\"\n >\n <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n </div>\n}\n\n<ng-template #railNavigationItemContent>\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-icon\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ng-container,ng-content\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n</ng-template>\n","import { MXBaseComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n effect,\n ElementRef,\n HostBinding,\n inject,\n input,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXRailNavigationItemComponent } from './rail-navigation-item/rail-navigation-item.component';\nimport { AXRailLocation, AXRailLook } from './rail-navigation.class';\nimport { AXRailNavigationService } from './rail-navigation.service';\n\n@Component({\n selector: 'ax-rail-navigation',\n templateUrl: './rail-navigation.component.html',\n styleUrls: ['./rail-navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXRailNavigationComponent extends MXBaseComponent {\n private railNavigationService = inject(AXRailNavigationService);\n\n private indicator = viewChild<ElementRef<HTMLSpanElement>>('indicator');\n railNavItems = contentChildren(AXRailNavigationItemComponent);\n\n location = input<AXRailLocation>('start');\n look = input<AXRailLook>('with-line-color');\n\n private activeTab = signal<AXRailNavigationItemComponent | null>(null);\n\n #lookLocationChange = effect(() => {\n if (this.location()) {\n if (this.look() === 'with-line-color' || this.look() === 'with-line') {\n setTimeout(() => {\n this.setIndicatorPosition(this.activeTab());\n });\n }\n }\n });\n\n constructor() {\n super();\n this.railNavigationService.activeItem$.subscribe((item) => {\n this.activeTab.set(item);\n if (this.look() === 'with-line-color' || this.look() === 'with-line') {\n this.setIndicatorPosition(item);\n }\n });\n }\n\n private setIndicatorPosition(tabItem: AXRailNavigationItemComponent) {\n const indicatorStyle = this.indicator().nativeElement.style;\n const itemStats = tabItem.getStats();\n indicatorStyle.width = ` var(--ax-comp-rail-navigation-indicator-size)`;\n indicatorStyle.height = `${itemStats.height}px`;\n indicatorStyle.top = `${itemStats.top}px`;\n indicatorStyle.bottom = `unset`;\n if (this.location() === 'start') {\n indicatorStyle.insetInlineStart = `0px`;\n indicatorStyle.insetInlineEnd = `unset`;\n }\n if (this.location() === 'end') {\n indicatorStyle.insetInlineStart = `unset`;\n indicatorStyle.insetInlineEnd = `0px`;\n }\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n const cssClasses: string[] = [];\n cssClasses.push(`ax-${this.location()}`);\n cssClasses.push(`ax-look-${this.look()}`);\n return cssClasses;\n }\n}\n","<ng-content select=\"ax-prefix, ax-header\"></ng-content>\n<ng-content select=\"ax-rail-navigation-item, ng-container, ng-content\"></ng-content>\n<div class=\"ax-suffix-container\">\n <ng-content select=\"ax-suffix, ax-footer\"></ng-content>\n</div>\n<span class=\"ax-rail-indicator\" #indicator></span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { AXRailNavigationItemComponent } from './rail-navigation-item/rail-navigation-item.component';\nimport { AXRailNavigationComponent } from './rail-navigation.component';\n\n@NgModule({\n imports: [CommonModule, RouterLink, RouterLinkActive, AXRailNavigationComponent, AXRailNavigationItemComponent],\n exports: [AXRailNavigationComponent, AXRailNavigationItemComponent],\n providers: [],\n})\nexport class AXRailNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-range-slider.mjs","sources":["../../../../libs/components/range-slider/src/lib/range-slider.class.ts","../../../../libs/components/range-slider/src/lib/range-slider.component.ts","../../../../libs/components/range-slider/src/lib/range-slider.component.html","../../../../libs/components/range-slider/src/lib/range-slider.module.ts","../../../../libs/components/range-slider/src/acorex-components-range-slider.ts"],"sourcesContent":["//import { AXRange } from '@acorex/components/common';\n\nimport { AXEvent } from '@acorex/components/common';\n\nexport interface AXRangeStartEvent extends AXEvent {\n data: any;\n}\nexport type AXRangeSliderValue = number | [number, number] | undefined;\nexport type AXRangeSliderMode = 'single' | 'dual';\nexport type AXRangeSliderSnapMode = 'both' | 'start' | 'end';\nexport type AXRangeSliderTooltipMode = 'start' | 'end';\nexport type AXRangeSliderHandler = 'first' | 'second';\n","import { AXOrientation, AXStyleColorType, AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport { isPlatformBrowser, NgStyle } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n forwardRef,\n HostBinding,\n HostListener,\n inject,\n input,\n model,\n NgZone,\n PLATFORM_ID,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport {\n AXRangeSliderMode,\n AXRangeSliderSnapMode,\n AXRangeSliderTooltipMode,\n AXRangeSliderValue,\n} from './range-slider.class';\n\n/**\n * @description\n * A range slider for selecting a range of values, supporting both single and dual modes.\n * The slider offers step, snap, and tooltip configurations.\n *\n * @example\n * <ax-range-slider [min]=\"0\" [max]=\"100\" [step]=\"1\" [mode]=\"'dual'\"></ax-range-slider>\n */\n@Component({\n selector: 'ax-range-slider',\n templateUrl: './range-slider.component.html',\n styleUrls: ['./range-slider.component.scss'],\n inputs: ['disabled', 'readonly'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXValuableComponent, useExisting: AXRangeSliderComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRangeSliderComponent),\n multi: true,\n },\n ],\n imports: [NgStyle],\n})\nexport class AXRangeSliderComponent extends classes(MXValueComponent<AXRangeSliderValue>) {\n private zone = inject(NgZone);\n protected override platformID = inject(PLATFORM_ID);\n\n /**\n * @description\n * The orientation of the slider, either 'horizontal' or 'vertical'.\n * @default 'horizontal'\n */\n orientation = input<AXOrientation>('horizontal');\n\n /**\n * @description\n * Color theme for the slider, affecting highlight, tooltip, and handler.\n * @default 'primary'\n */\n color = input<Exclude<AXStyleColorType, 'default'>>('primary');\n\n /**\n * @description\n * The value(s) of the slider. Can be a single number for single mode or an array of two numbers for dual mode.\n */\n values = model<AXRangeSliderValue>(this.value);\n\n /**\n * @description\n * The mode of the slider, either 'single' or 'dual'.\n * @default 'single'\n */\n mode = input<AXRangeSliderMode>('single');\n\n /**\n * @description\n * The minimum value of the slider.\n * @default 0\n */\n min = input<number>(0);\n\n /**\n * @description\n * The maximum value of the slider.\n * @default 100\n */\n max = input<number>(100);\n\n /**\n * @description\n * The step increment for value changes.\n * @default 1\n */\n step = input<number>(1);\n\n /**\n * @description\n * The snapping increment for the slider.\n * @default 1\n */\n snap = input<number>(1);\n\n /**\n * @description\n * Mode for displaying tooltips, can be at the start, end, or both.\n * @default 'end'\n */\n tooltipMode = input<AXRangeSliderTooltipMode>('end');\n\n /**\n * @description\n * Mode for snapping, can snap at the start, end, or both.\n * @default 'start'\n */\n snapMode = input<AXRangeSliderSnapMode>('start');\n\n /**\n * @description\n * Whether the slider should have steps.\n * @default true\n */\n hasStep = input(true);\n\n /**\n * @description\n * Whether the slider should display snapping.\n * @default false\n */\n hasSnap = input(false);\n\n /**\n * @description\n * Whether the slider should display labels for snapping points.\n * @default Value derived from `hasSnap()`\n */\n hasLable = input(this.hasSnap());\n\n /**\n * @description\n * Whether the slider should display tooltips.\n * @default false\n */\n hasTooltip = input(false);\n\n /**\n * @ignore\n */\n height = 0.25;\n /**\n * @ignore\n */\n newHeight = 'var(--ax-comp-range-slider-size)';\n /**\n * @ignore\n */\n range = computed(() => this.max() - this.min());\n /**\n * @ignore\n */\n isHorizontal = computed(() => this.orientation() === 'horizontal');\n /**\n * @ignore\n */\n isDual = computed(() => this.mode() === 'dual');\n /**\n * @ignore\n */\n correctMinMax = computed(() => this.max() - this.min() > 0);\n /**\n * @ignore\n */\n\n protected calculateSnapBar = computed<number[] | null>(() => {\n if (this.hasSnap()) {\n if (this.snap() <= 0) {\n console.error('Wrong Snap!');\n return null;\n }\n let array = [];\n for (let i = this.min(); i < this.max(); i += this.snap()) {\n array.push(i);\n }\n array = [...array, this.max()];\n if (array[0] < 0) {\n array = array.map((i) => i + -array[0]).sort((a, b) => a - b);\n }\n if (array[0] > 0) {\n array = array.map((i) => i - array[0]).sort((a, b) => a - b);\n }\n return array;\n }\n return null;\n });\n /**\n * @ignore\n */\n protected calculatePos = computed<AXRangeSliderValue>(() => {\n if (this.isDual() && this.values()) {\n return [\n ((this.values()[0] - this.min()) / this.range()) * 100,\n ((this.values()[1] - this.min()) / this.range()) * 100,\n ];\n } else {\n return (((this.values() as number) - this.min()) / this.range()) * 100;\n }\n });\n /**\n * @ignore\n */\n private choosenHandler: 'first' | 'second' | undefined = undefined;\n /**\n * @ignore\n */\n private sliderElement: HTMLElement | null = null;\n /**\n * @ignore\n */\n protected AXRangeSliderHighlight = computed(() =>\n this.isHorizontal()\n ? {\n left: this.isDual() ? this.calculatePos()[0] + '%' : '0%',\n width: this.isDual() ? this.calculatePos()[1] - this.calculatePos()[0] + '%' : this.calculatePos() + '%',\n }\n : {\n height: this.isDual() ? this.calculatePos()[1] - this.calculatePos()[0] + '%' : this.calculatePos() + '%',\n bottom: this.mode() === 'dual' ? this.calculatePos()[0] + '%' : '0%',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderHandler1 = computed(() =>\n this.isHorizontal()\n ? {\n left: this.isDual() ? this.calculatePos()[0] + '%' : (this.calculatePos() as number) + '%',\n }\n : {\n bottom: this.isDual()\n ? 'calc(' + this.calculatePos()[0] + '% - ' + 6 * this.height + 'rem)'\n : 'calc(' + this.calculatePos() + '% - ' + 6 * this.height + 'rem)',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderHandler2 = computed(() =>\n this.isHorizontal()\n ? {\n left: this.calculatePos()[1] + '%',\n }\n : {\n bottom: 'calc(' + this.calculatePos()[1] + '% - ' + 6 * this.height + 'rem)',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderStep = computed(() => {\n if (this.isHorizontal()) {\n switch (this.snapMode()) {\n case 'both':\n return { top: '0', height: 8 * this.height + 'rem' };\n case 'start':\n return { top: 4 * this.height + 'rem', height: 4 * this.height + 'rem' };\n case 'end':\n return { top: -2 * this.height + 'rem', height: 4 * this.height + 'rem' };\n }\n } else {\n switch (this.snapMode()) {\n case 'both':\n return { top: '0', width: 8 * this.height + 'rem' };\n case 'start':\n return { left: 4 * this.height + 'rem', width: 4 * this.height + 'rem' };\n case 'end':\n return { left: -2 * this.height + 'rem', width: 4 * this.height + 'rem' };\n }\n }\n });\n /**\n * @ignore\n */\n protected AXRangeLabel = computed(() => {\n if (this.isHorizontal()) {\n switch (this.snapMode()) {\n case 'both':\n return { top: 6 * this.height + 'rem' };\n case 'start':\n return { top: 4 * this.height + 'rem' };\n case 'end':\n return { top: -6 * this.height + 'rem' };\n }\n } else {\n switch (this.snapMode()) {\n case 'both':\n return { left: 8 * this.height + 'rem' };\n case 'start':\n return { left: 4 * this.height + 'rem' };\n case 'end':\n return { left: -8 * this.height + 'rem' };\n }\n }\n });\n isUserInteraction = false;\n constructor() {\n super();\n effect(() => {\n this.commitValue(this.values(), this.isUserInteraction);\n this.isUserInteraction = false;\n });\n effect(() => {\n if (this.correctMinMax()) {\n this.fixInitializeValues();\n this.fixChangingMode();\n } else {\n console.error(`Min = ${this.min()} And Max = ${this.max()} is not correct inputs.`);\n }\n });\n this.onValueChanged.subscribe((value) => {\n if (value?.value != undefined && value?.value != null && this.values() !== value.value)\n this.values.set(value.value);\n });\n }\n /**\n * @ignore\n */\n protected override ngOnInit(): void {\n super.ngOnInit();\n if (!this.correctMinMax()) {\n console.error(`Min = ${this.min()} And Max = ${this.max()} is not correct inputs.`);\n } else {\n this.initializeValues();\n }\n }\n /**\n * @ignore\n */\n protected override ngOnDestroy(): void {\n super.ngOnDestroy();\n if (isPlatformBrowser(this.platformID)) {\n window.removeEventListener('mousemove', this.moveListener);\n window.removeEventListener('mouseup', this.endListener);\n window.removeEventListener('touchmove', this.moveListener);\n window.removeEventListener('touchend', this.endListener);\n }\n }\n private moveListener;\n private endListener;\n /**\n * @ignore\n */\n protected onStartHandler(event: MouseEvent | TouchEvent, circle: 'first' | 'second'): void {\n this.zone.runOutsideAngular(() => {\n if (this.disabled || this.readonly || !this.correctMinMax()) return;\n event.preventDefault();\n this.sliderElement = (event.target as HTMLElement).closest('.ax-range-slider') as HTMLElement;\n if (this.sliderElement && isPlatformBrowser(this.platformID)) {\n this.choosenHandler = circle;\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.onMove(moveEvent, circle);\n const endListener = () => this.onEnd(moveListener, endListener);\n [this.moveListener, this.endListener] = [moveListener, endListener];\n window.addEventListener('mousemove', moveListener);\n window.addEventListener('mouseup', endListener);\n window.addEventListener('touchmove', moveListener, { passive: true });\n window.addEventListener('touchend', endListener);\n }\n });\n }\n /**\n * @ignore\n */\n protected onStartBar(event: MouseEvent | TouchEvent) {\n this.isUserInteraction = true;\n\n let circle: 'first' | 'second' = 'first';\n this.sliderElement = (event.target as HTMLElement).closest('.ax-range-slider') as HTMLElement;\n this.zone.runOutsideAngular(() => {\n if (!this.sliderElement || this.disabled || this.readonly) return;\n const calculatePercent = this.calculatePercentOnMove(event);\n const exactValue = this.getValueFromPercent(calculatePercent);\n let value = Number.parseFloat(exactValue.toFixed(2));\n if (this.hasStep()) {\n value = this.roundToStep(value);\n }\n if (this.isDual()) {\n if (Math.abs(exactValue - this.values()[0]) > Math.abs(exactValue - this.values()[1])) {\n this.values.set([this.values()[0], value]);\n circle = 'second';\n } else {\n if (this.values()[1] === this.min()) {\n this.values.set([this.values()[0], value]);\n circle = 'second';\n } else {\n this.values.set([value, this.values()[1]]);\n circle = 'first';\n }\n }\n } else {\n this.values.set(value);\n }\n });\n this.onStartHandler(event, circle);\n }\n /**\n * @ignore\n */\n protected onMove(event: MouseEvent | TouchEvent, circle: 'first' | 'second'): void {\n this.isUserInteraction = true;\n\n if (!this.sliderElement) return;\n const calculatePercent = this.calculatePercentOnMove(event);\n let value = this.getValueFromPercent(calculatePercent);\n value = Number.parseFloat(value.toFixed(2));\n if (this.hasStep()) {\n value = this.roundToStep(value);\n }\n if (this.isDual()) {\n if (circle === 'first' && value <= this.values()[1]) {\n if (this.checkValues(value, 'first', this.values()[1]) && this.values()[0] !== value) {\n this.values.set([value, this.values()[1]]);\n }\n } else if (circle === 'second' && value >= this.values()[0] && this.values()[1] !== value) {\n if (this.checkValues(value, 'second', this.values()[0])) {\n this.values.set([this.values()[0], value]);\n }\n }\n } else {\n if (this.checkValue(value) && this.values() !== value) {\n this.values.set(value);\n }\n }\n }\n /**\n * @ignore\n */\n protected onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n window.removeEventListener('mousemove', moveListener);\n window.removeEventListener('mouseup', endListener);\n window.removeEventListener('touchmove', moveListener);\n window.removeEventListener('touchend', endListener);\n this.sliderElement = null;\n }\n /**\n * @ignore\n */\n private initializeValues() {\n this.fixInitializeUndefined();\n this.fixInitializeValues();\n this.fixInitializeStep();\n }\n /**\n * @ignore\n */\n private fixInitializeUndefined() {\n if (typeof this.values() === 'undefined') {\n if (this.isDual()) {\n this.values.set([this.min(), this.max()]);\n } else {\n this.values.set(this.min());\n }\n }\n }\n /**\n * @ignore\n */\n private fixInitializeValues() {\n if (this.isDual() && this.values()[0] > this.values()[1]) {\n this.values.set([this.values()[1], this.values()[0]]);\n }\n if (typeof this.values() === 'number' && !this.checkValue(this.values() as number)) {\n this.values.set(this.min());\n } else if (typeof this.values() !== 'number' && !this.checkValues(this.values()[0], 'first', this.values()[1])) {\n this.values.set([this.min(), this.max()]);\n }\n }\n /**\n * @ignore\n */\n private fixInitializeStep() {\n if (this.step() !== 1) {\n if (this.isDual()) {\n this.values.update((old) => [this.roundToStep(old[0]), this.roundToStep(old[1])]);\n if (this.values()[0] === this.values()[1]) {\n this.values.update((old) => [this.roundToStep(old[0]), this.roundToStep(old[1]) + this.step()]);\n }\n } else {\n this.values.update((old) => this.roundToStep(old as number));\n }\n }\n }\n /**\n * @ignore\n */\n private fixChangingMode() {\n if (typeof this.values() === 'number' && this.isDual()) {\n this.values.set([this.min(), this.max()]);\n } else if (typeof this.values() !== 'number' && !this.isDual()) {\n this.values.set(this.min());\n }\n }\n /**\n * @ignore\n */\n private calculatePercentOnMove(event: MouseEvent | TouchEvent): number {\n const sliderRect = this.sliderElement.getBoundingClientRect();\n let percent: number;\n if (this.isHorizontal()) {\n const clientX = event instanceof MouseEvent ? event.clientX : (event as TouchEvent).touches[0].clientX;\n const x = clientX - sliderRect.left;\n percent = (x / sliderRect.width) * 100;\n } else {\n const clientY = event instanceof MouseEvent ? event.clientY : (event as TouchEvent).touches[0].clientY;\n const y = -(clientY - sliderRect.bottom); //reverce slider from bottom to top\n percent = (y / sliderRect.height) * 100;\n }\n if (percent < 0) {\n percent = 0;\n } else if (percent > 100) {\n percent = 100;\n }\n return percent;\n }\n\n /**\n * @ignore\n */\n private roundToStep(value: number): number {\n const lower = Math.max(this.min(), Math.floor((value - this.min()) / this.step()) * this.step() + this.min());\n const upper = Math.min(this.max(), lower + this.step());\n if (value - lower < upper - value) {\n return lower;\n } else {\n return upper;\n }\n }\n\n /**\n * @ignore\n */\n private checkValue(x: number): boolean {\n if (x >= this.min() && x <= this.max()) return true;\n else return false;\n }\n /**\n * @ignore\n */\n private checkValues(value1: number, y: 'first' | 'second', value2: number): boolean {\n if (value1 >= this.min() && value1 <= this.max()) {\n if (y === 'first') {\n if (value1 <= value2 && value2 <= this.max()) return true;\n else return false;\n } else {\n if (value1 >= value2 && value2 >= this.min()) return true;\n else return false;\n }\n } else return false;\n }\n /**\n * @ignore\n */\n protected getValueFromPercent(value: number) {\n return this.min() + (value * (this.max() - this.min())) / 100;\n }\n /**\n * @ignore\n */\n protected getPercantage(value: number): number {\n return this.range() !== 0 ? (value / this.range()) * 100 : 0;\n }\n /**\n * Increase a step to value if slider in single mode\n * and increase a step the second value if slider in dual mode\n * @method increaseStep\n */\n public increaseStep(): void {\n if (this.isDual()) {\n const newValue = this.roundToStep(this.values()[1] + this.step());\n this.values.set([this.values()[0], newValue]);\n } else {\n const newValue = this.roundToStep((this.values() as number) + this.step());\n this.values.set(newValue);\n }\n }\n /**\n * Decrease a step to value if slider in single mode\n * and decrease a step the second value if slider in dual mode\n * @method decreaseStep\n */\n public decreaseStep() {\n if (this.isDual()) {\n const newValue = this.roundToStep(this.values()[0] - this.step());\n this.values.set([newValue, this.values()[1]]);\n } else {\n const newValue = this.roundToStep((this.values() as number) - this.step());\n this.values.set(newValue);\n }\n }\n /**\n * @ignore\n */\n @HostListener('wheel', ['$event'])\n onWheel(event: WheelEvent) {\n this.isUserInteraction = true;\n\n this.zone.runOutsideAngular(() => {\n event.preventDefault();\n if (!this.choosenHandler || this.readonly || this.disabled || !this.correctMinMax()) return;\n let newValue;\n if (this.isDual()) {\n if (event.deltaY < 0) {\n if (this.choosenHandler === 'first') {\n newValue = this.roundToStep((this.values()[0] as number) + this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[1]) && this.values()[0] !== newValue) {\n this.values.update((old) => [this.roundToStep((old[0] as number) + this.step()), old[1]]);\n }\n } else {\n newValue = this.roundToStep((this.values()[1] as number) + this.step());\n if (newValue <= this.max() && this.values()[1] !== newValue) {\n this.values.update((old) => [old[0], this.roundToStep((old[1] as number) + this.step())]);\n }\n }\n } else {\n if (this.choosenHandler === 'first') {\n newValue = this.roundToStep((this.values()[0] as number) - this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[1]) && this.values() !== newValue) {\n this.values.update((old) => [this.roundToStep((old[0] as number) - this.step()), old[1]]);\n }\n } else {\n newValue = this.roundToStep((this.values()[1] as number) - this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[0]) && this.values()[1] !== newValue) {\n this.values.update((old) => [old[0], this.roundToStep((old[1] as number) - this.step())]);\n }\n }\n }\n } else {\n if (event.deltaY < 0) {\n if (this.checkValue(this.roundToStep((this.values() as number) + this.step()))) {\n this.values.update((old) => this.roundToStep((old as number) + this.step()));\n }\n } else {\n if (this.checkValue(this.roundToStep((this.values() as number) - this.step()))) {\n this.values.update((old) => this.roundToStep((old as number) - this.step()));\n }\n }\n }\n });\n }\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [\n `ax-${this.color()}-solid`,\n `${this.disabled ? 'ax-state-disabled' : ''}`,\n `${this.readonly ? 'ax-state-readonly' : ''}`,\n ];\n }\n}\n","@if (correctMinMax()) {\n <div class=\"ax-range-slider\" [class]=\"'ax-orientation-' + orientation()\">\n <div class=\"ax-range-slider-bar\" (mousedown)=\"onStartBar($event)\" (touchstart)=\"onStartBar($event)\"></div>\n <div\n class=\"ax-range-slider-highlight\"\n [ngStyle]=\"AXRangeSliderHighlight()\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n ></div>\n\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler1()\"\n name=\"first\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ isDual() ? values()[0] : values() }}</div>\n }\n </div>\n\n @if (isDual()) {\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler2()\"\n name=\"second\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ values()[1] }}</div>\n }\n </div>\n }\n @if (hasSnap()) {\n <div class=\"ax-range-slider-step\" [ngStyle]=\"AXRangeSliderStep()\">\n @for (item of calculateSnapBar(); track $index) {\n <div\n class=\"ax-range-slider-steps\"\n [ngStyle]=\"\n isHorizontal() ? { left: getPercantage(item) + '%' } : { bottom: getPercantage(item) + '%' }\n \"\n >\n @if (hasLable()) {\n <div class=\"ax-range-slider-label\" [ngStyle]=\"AXRangeLabel()\">\n {{ item + min() }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRangeSliderComponent } from './range-slider.component';\n\n@NgModule({\n imports: [CommonModule, AXRangeSliderComponent],\n exports: [AXRangeSliderComponent],\n})\nexport class AXRangeSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-range-slider.mjs","sources":["../../../../packages/components/range-slider/src/lib/range-slider.class.ts","../../../../packages/components/range-slider/src/lib/range-slider.component.ts","../../../../packages/components/range-slider/src/lib/range-slider.component.html","../../../../packages/components/range-slider/src/lib/range-slider.module.ts","../../../../packages/components/range-slider/src/acorex-components-range-slider.ts"],"sourcesContent":["//import { AXRange } from '@acorex/components/common';\n\nimport { AXEvent } from '@acorex/components/common';\n\nexport interface AXRangeStartEvent extends AXEvent {\n data: any;\n}\nexport type AXRangeSliderValue = number | [number, number] | undefined;\nexport type AXRangeSliderMode = 'single' | 'dual';\nexport type AXRangeSliderSnapMode = 'both' | 'start' | 'end';\nexport type AXRangeSliderTooltipMode = 'start' | 'end';\nexport type AXRangeSliderHandler = 'first' | 'second';\n","import { AXOrientation, AXStyleColorType, AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport { isPlatformBrowser, NgStyle } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n forwardRef,\n HostBinding,\n HostListener,\n inject,\n input,\n model,\n NgZone,\n PLATFORM_ID,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport {\n AXRangeSliderMode,\n AXRangeSliderSnapMode,\n AXRangeSliderTooltipMode,\n AXRangeSliderValue,\n} from './range-slider.class';\n\n/**\n * @description\n * A range slider for selecting a range of values, supporting both single and dual modes.\n * The slider offers step, snap, and tooltip configurations.\n *\n * @example\n * <ax-range-slider [min]=\"0\" [max]=\"100\" [step]=\"1\" [mode]=\"'dual'\"></ax-range-slider>\n */\n@Component({\n selector: 'ax-range-slider',\n templateUrl: './range-slider.component.html',\n styleUrls: ['./range-slider.component.scss'],\n inputs: ['disabled', 'readonly'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXValuableComponent, useExisting: AXRangeSliderComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRangeSliderComponent),\n multi: true,\n },\n ],\n imports: [NgStyle],\n})\nexport class AXRangeSliderComponent extends classes(MXValueComponent<AXRangeSliderValue>) {\n private zone = inject(NgZone);\n protected override platformID = inject(PLATFORM_ID);\n\n /**\n * @description\n * The orientation of the slider, either 'horizontal' or 'vertical'.\n * @default 'horizontal'\n */\n orientation = input<AXOrientation>('horizontal');\n\n /**\n * @description\n * Color theme for the slider, affecting highlight, tooltip, and handler.\n * @default 'primary'\n */\n color = input<Exclude<AXStyleColorType, 'default'>>('primary');\n\n /**\n * @description\n * The value(s) of the slider. Can be a single number for single mode or an array of two numbers for dual mode.\n */\n values = model<AXRangeSliderValue>(this.value);\n\n /**\n * @description\n * The mode of the slider, either 'single' or 'dual'.\n * @default 'single'\n */\n mode = input<AXRangeSliderMode>('single');\n\n /**\n * @description\n * The minimum value of the slider.\n * @default 0\n */\n min = input<number>(0);\n\n /**\n * @description\n * The maximum value of the slider.\n * @default 100\n */\n max = input<number>(100);\n\n /**\n * @description\n * The step increment for value changes.\n * @default 1\n */\n step = input<number>(1);\n\n /**\n * @description\n * The snapping increment for the slider.\n * @default 1\n */\n snap = input<number>(1);\n\n /**\n * @description\n * Mode for displaying tooltips, can be at the start, end, or both.\n * @default 'end'\n */\n tooltipMode = input<AXRangeSliderTooltipMode>('end');\n\n /**\n * @description\n * Mode for snapping, can snap at the start, end, or both.\n * @default 'start'\n */\n snapMode = input<AXRangeSliderSnapMode>('start');\n\n /**\n * @description\n * Whether the slider should have steps.\n * @default true\n */\n hasStep = input(true);\n\n /**\n * @description\n * Whether the slider should display snapping.\n * @default false\n */\n hasSnap = input(false);\n\n /**\n * @description\n * Whether the slider should display labels for snapping points.\n * @default Value derived from `hasSnap()`\n */\n hasLable = input(this.hasSnap());\n\n /**\n * @description\n * Whether the slider should display tooltips.\n * @default false\n */\n hasTooltip = input(false);\n\n /**\n * @ignore\n */\n height = 0.25;\n /**\n * @ignore\n */\n newHeight = 'var(--ax-comp-range-slider-size)';\n /**\n * @ignore\n */\n range = computed(() => this.max() - this.min());\n /**\n * @ignore\n */\n isHorizontal = computed(() => this.orientation() === 'horizontal');\n /**\n * @ignore\n */\n isDual = computed(() => this.mode() === 'dual');\n /**\n * @ignore\n */\n correctMinMax = computed(() => this.max() - this.min() > 0);\n /**\n * @ignore\n */\n\n protected calculateSnapBar = computed<number[] | null>(() => {\n if (this.hasSnap()) {\n if (this.snap() <= 0) {\n console.error('Wrong Snap!');\n return null;\n }\n let array = [];\n for (let i = this.min(); i < this.max(); i += this.snap()) {\n array.push(i);\n }\n array = [...array, this.max()];\n if (array[0] < 0) {\n array = array.map((i) => i + -array[0]).sort((a, b) => a - b);\n }\n if (array[0] > 0) {\n array = array.map((i) => i - array[0]).sort((a, b) => a - b);\n }\n return array;\n }\n return null;\n });\n /**\n * @ignore\n */\n protected calculatePos = computed<AXRangeSliderValue>(() => {\n if (this.isDual() && this.values()) {\n return [\n ((this.values()[0] - this.min()) / this.range()) * 100,\n ((this.values()[1] - this.min()) / this.range()) * 100,\n ];\n } else {\n return (((this.values() as number) - this.min()) / this.range()) * 100;\n }\n });\n /**\n * @ignore\n */\n private choosenHandler: 'first' | 'second' | undefined = undefined;\n /**\n * @ignore\n */\n private sliderElement: HTMLElement | null = null;\n /**\n * @ignore\n */\n protected AXRangeSliderHighlight = computed(() =>\n this.isHorizontal()\n ? {\n left: this.isDual() ? this.calculatePos()[0] + '%' : '0%',\n width: this.isDual() ? this.calculatePos()[1] - this.calculatePos()[0] + '%' : this.calculatePos() + '%',\n }\n : {\n height: this.isDual() ? this.calculatePos()[1] - this.calculatePos()[0] + '%' : this.calculatePos() + '%',\n bottom: this.mode() === 'dual' ? this.calculatePos()[0] + '%' : '0%',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderHandler1 = computed(() =>\n this.isHorizontal()\n ? {\n left: this.isDual() ? this.calculatePos()[0] + '%' : (this.calculatePos() as number) + '%',\n }\n : {\n bottom: this.isDual()\n ? 'calc(' + this.calculatePos()[0] + '% - ' + 6 * this.height + 'rem)'\n : 'calc(' + this.calculatePos() + '% - ' + 6 * this.height + 'rem)',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderHandler2 = computed(() =>\n this.isHorizontal()\n ? {\n left: this.calculatePos()[1] + '%',\n }\n : {\n bottom: 'calc(' + this.calculatePos()[1] + '% - ' + 6 * this.height + 'rem)',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderStep = computed(() => {\n if (this.isHorizontal()) {\n switch (this.snapMode()) {\n case 'both':\n return { top: '0', height: 8 * this.height + 'rem' };\n case 'start':\n return { top: 4 * this.height + 'rem', height: 4 * this.height + 'rem' };\n case 'end':\n return { top: -2 * this.height + 'rem', height: 4 * this.height + 'rem' };\n }\n } else {\n switch (this.snapMode()) {\n case 'both':\n return { top: '0', width: 8 * this.height + 'rem' };\n case 'start':\n return { left: 4 * this.height + 'rem', width: 4 * this.height + 'rem' };\n case 'end':\n return { left: -2 * this.height + 'rem', width: 4 * this.height + 'rem' };\n }\n }\n });\n /**\n * @ignore\n */\n protected AXRangeLabel = computed(() => {\n if (this.isHorizontal()) {\n switch (this.snapMode()) {\n case 'both':\n return { top: 6 * this.height + 'rem' };\n case 'start':\n return { top: 4 * this.height + 'rem' };\n case 'end':\n return { top: -6 * this.height + 'rem' };\n }\n } else {\n switch (this.snapMode()) {\n case 'both':\n return { left: 8 * this.height + 'rem' };\n case 'start':\n return { left: 4 * this.height + 'rem' };\n case 'end':\n return { left: -8 * this.height + 'rem' };\n }\n }\n });\n isUserInteraction = false;\n constructor() {\n super();\n effect(() => {\n this.commitValue(this.values(), this.isUserInteraction);\n this.isUserInteraction = false;\n });\n effect(() => {\n if (this.correctMinMax()) {\n this.fixInitializeValues();\n this.fixChangingMode();\n } else {\n console.error(`Min = ${this.min()} And Max = ${this.max()} is not correct inputs.`);\n }\n });\n this.onValueChanged.subscribe((value) => {\n if (value?.value != undefined && value?.value != null && this.values() !== value.value)\n this.values.set(value.value);\n });\n }\n /**\n * @ignore\n */\n protected override ngOnInit(): void {\n super.ngOnInit();\n if (!this.correctMinMax()) {\n console.error(`Min = ${this.min()} And Max = ${this.max()} is not correct inputs.`);\n } else {\n this.initializeValues();\n }\n }\n /**\n * @ignore\n */\n protected override ngOnDestroy(): void {\n super.ngOnDestroy();\n if (isPlatformBrowser(this.platformID)) {\n window.removeEventListener('mousemove', this.moveListener);\n window.removeEventListener('mouseup', this.endListener);\n window.removeEventListener('touchmove', this.moveListener);\n window.removeEventListener('touchend', this.endListener);\n }\n }\n private moveListener;\n private endListener;\n /**\n * @ignore\n */\n protected onStartHandler(event: MouseEvent | TouchEvent, circle: 'first' | 'second'): void {\n this.zone.runOutsideAngular(() => {\n if (this.disabled || this.readonly || !this.correctMinMax()) return;\n event.preventDefault();\n this.sliderElement = (event.target as HTMLElement).closest('.ax-range-slider') as HTMLElement;\n if (this.sliderElement && isPlatformBrowser(this.platformID)) {\n this.choosenHandler = circle;\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.onMove(moveEvent, circle);\n const endListener = () => this.onEnd(moveListener, endListener);\n [this.moveListener, this.endListener] = [moveListener, endListener];\n window.addEventListener('mousemove', moveListener);\n window.addEventListener('mouseup', endListener);\n window.addEventListener('touchmove', moveListener, { passive: true });\n window.addEventListener('touchend', endListener);\n }\n });\n }\n /**\n * @ignore\n */\n protected onStartBar(event: MouseEvent | TouchEvent) {\n this.isUserInteraction = true;\n\n let circle: 'first' | 'second' = 'first';\n this.sliderElement = (event.target as HTMLElement).closest('.ax-range-slider') as HTMLElement;\n this.zone.runOutsideAngular(() => {\n if (!this.sliderElement || this.disabled || this.readonly) return;\n const calculatePercent = this.calculatePercentOnMove(event);\n const exactValue = this.getValueFromPercent(calculatePercent);\n let value = Number.parseFloat(exactValue.toFixed(2));\n if (this.hasStep()) {\n value = this.roundToStep(value);\n }\n if (this.isDual()) {\n if (Math.abs(exactValue - this.values()[0]) > Math.abs(exactValue - this.values()[1])) {\n this.values.set([this.values()[0], value]);\n circle = 'second';\n } else {\n if (this.values()[1] === this.min()) {\n this.values.set([this.values()[0], value]);\n circle = 'second';\n } else {\n this.values.set([value, this.values()[1]]);\n circle = 'first';\n }\n }\n } else {\n this.values.set(value);\n }\n });\n this.onStartHandler(event, circle);\n }\n /**\n * @ignore\n */\n protected onMove(event: MouseEvent | TouchEvent, circle: 'first' | 'second'): void {\n this.isUserInteraction = true;\n\n if (!this.sliderElement) return;\n const calculatePercent = this.calculatePercentOnMove(event);\n let value = this.getValueFromPercent(calculatePercent);\n value = Number.parseFloat(value.toFixed(2));\n if (this.hasStep()) {\n value = this.roundToStep(value);\n }\n if (this.isDual()) {\n if (circle === 'first' && value <= this.values()[1]) {\n if (this.checkValues(value, 'first', this.values()[1]) && this.values()[0] !== value) {\n this.values.set([value, this.values()[1]]);\n }\n } else if (circle === 'second' && value >= this.values()[0] && this.values()[1] !== value) {\n if (this.checkValues(value, 'second', this.values()[0])) {\n this.values.set([this.values()[0], value]);\n }\n }\n } else {\n if (this.checkValue(value) && this.values() !== value) {\n this.values.set(value);\n }\n }\n }\n /**\n * @ignore\n */\n protected onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n window.removeEventListener('mousemove', moveListener);\n window.removeEventListener('mouseup', endListener);\n window.removeEventListener('touchmove', moveListener);\n window.removeEventListener('touchend', endListener);\n this.sliderElement = null;\n }\n /**\n * @ignore\n */\n private initializeValues() {\n this.fixInitializeUndefined();\n this.fixInitializeValues();\n this.fixInitializeStep();\n }\n /**\n * @ignore\n */\n private fixInitializeUndefined() {\n if (typeof this.values() === 'undefined') {\n if (this.isDual()) {\n this.values.set([this.min(), this.max()]);\n } else {\n this.values.set(this.min());\n }\n }\n }\n /**\n * @ignore\n */\n private fixInitializeValues() {\n if (this.isDual() && this.values()[0] > this.values()[1]) {\n this.values.set([this.values()[1], this.values()[0]]);\n }\n if (typeof this.values() === 'number' && !this.checkValue(this.values() as number)) {\n this.values.set(this.min());\n } else if (typeof this.values() !== 'number' && !this.checkValues(this.values()[0], 'first', this.values()[1])) {\n this.values.set([this.min(), this.max()]);\n }\n }\n /**\n * @ignore\n */\n private fixInitializeStep() {\n if (this.step() !== 1) {\n if (this.isDual()) {\n this.values.update((old) => [this.roundToStep(old[0]), this.roundToStep(old[1])]);\n if (this.values()[0] === this.values()[1]) {\n this.values.update((old) => [this.roundToStep(old[0]), this.roundToStep(old[1]) + this.step()]);\n }\n } else {\n this.values.update((old) => this.roundToStep(old as number));\n }\n }\n }\n /**\n * @ignore\n */\n private fixChangingMode() {\n if (typeof this.values() === 'number' && this.isDual()) {\n this.values.set([this.min(), this.max()]);\n } else if (typeof this.values() !== 'number' && !this.isDual()) {\n this.values.set(this.min());\n }\n }\n /**\n * @ignore\n */\n private calculatePercentOnMove(event: MouseEvent | TouchEvent): number {\n const sliderRect = this.sliderElement.getBoundingClientRect();\n let percent: number;\n if (this.isHorizontal()) {\n const clientX = event instanceof MouseEvent ? event.clientX : (event as TouchEvent).touches[0].clientX;\n const x = clientX - sliderRect.left;\n percent = (x / sliderRect.width) * 100;\n } else {\n const clientY = event instanceof MouseEvent ? event.clientY : (event as TouchEvent).touches[0].clientY;\n const y = -(clientY - sliderRect.bottom); //reverce slider from bottom to top\n percent = (y / sliderRect.height) * 100;\n }\n if (percent < 0) {\n percent = 0;\n } else if (percent > 100) {\n percent = 100;\n }\n return percent;\n }\n\n /**\n * @ignore\n */\n private roundToStep(value: number): number {\n const lower = Math.max(this.min(), Math.floor((value - this.min()) / this.step()) * this.step() + this.min());\n const upper = Math.min(this.max(), lower + this.step());\n if (value - lower < upper - value) {\n return lower;\n } else {\n return upper;\n }\n }\n\n /**\n * @ignore\n */\n private checkValue(x: number): boolean {\n if (x >= this.min() && x <= this.max()) return true;\n else return false;\n }\n /**\n * @ignore\n */\n private checkValues(value1: number, y: 'first' | 'second', value2: number): boolean {\n if (value1 >= this.min() && value1 <= this.max()) {\n if (y === 'first') {\n if (value1 <= value2 && value2 <= this.max()) return true;\n else return false;\n } else {\n if (value1 >= value2 && value2 >= this.min()) return true;\n else return false;\n }\n } else return false;\n }\n /**\n * @ignore\n */\n protected getValueFromPercent(value: number) {\n return this.min() + (value * (this.max() - this.min())) / 100;\n }\n /**\n * @ignore\n */\n protected getPercantage(value: number): number {\n return this.range() !== 0 ? (value / this.range()) * 100 : 0;\n }\n /**\n * Increase a step to value if slider in single mode\n * and increase a step the second value if slider in dual mode\n * @method increaseStep\n */\n public increaseStep(): void {\n if (this.isDual()) {\n const newValue = this.roundToStep(this.values()[1] + this.step());\n this.values.set([this.values()[0], newValue]);\n } else {\n const newValue = this.roundToStep((this.values() as number) + this.step());\n this.values.set(newValue);\n }\n }\n /**\n * Decrease a step to value if slider in single mode\n * and decrease a step the second value if slider in dual mode\n * @method decreaseStep\n */\n public decreaseStep() {\n if (this.isDual()) {\n const newValue = this.roundToStep(this.values()[0] - this.step());\n this.values.set([newValue, this.values()[1]]);\n } else {\n const newValue = this.roundToStep((this.values() as number) - this.step());\n this.values.set(newValue);\n }\n }\n /**\n * @ignore\n */\n @HostListener('wheel', ['$event'])\n onWheel(event: WheelEvent) {\n this.isUserInteraction = true;\n\n this.zone.runOutsideAngular(() => {\n event.preventDefault();\n if (!this.choosenHandler || this.readonly || this.disabled || !this.correctMinMax()) return;\n let newValue;\n if (this.isDual()) {\n if (event.deltaY < 0) {\n if (this.choosenHandler === 'first') {\n newValue = this.roundToStep((this.values()[0] as number) + this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[1]) && this.values()[0] !== newValue) {\n this.values.update((old) => [this.roundToStep((old[0] as number) + this.step()), old[1]]);\n }\n } else {\n newValue = this.roundToStep((this.values()[1] as number) + this.step());\n if (newValue <= this.max() && this.values()[1] !== newValue) {\n this.values.update((old) => [old[0], this.roundToStep((old[1] as number) + this.step())]);\n }\n }\n } else {\n if (this.choosenHandler === 'first') {\n newValue = this.roundToStep((this.values()[0] as number) - this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[1]) && this.values() !== newValue) {\n this.values.update((old) => [this.roundToStep((old[0] as number) - this.step()), old[1]]);\n }\n } else {\n newValue = this.roundToStep((this.values()[1] as number) - this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[0]) && this.values()[1] !== newValue) {\n this.values.update((old) => [old[0], this.roundToStep((old[1] as number) - this.step())]);\n }\n }\n }\n } else {\n if (event.deltaY < 0) {\n if (this.checkValue(this.roundToStep((this.values() as number) + this.step()))) {\n this.values.update((old) => this.roundToStep((old as number) + this.step()));\n }\n } else {\n if (this.checkValue(this.roundToStep((this.values() as number) - this.step()))) {\n this.values.update((old) => this.roundToStep((old as number) - this.step()));\n }\n }\n }\n });\n }\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [\n `ax-${this.color()}-solid`,\n `${this.disabled ? 'ax-state-disabled' : ''}`,\n `${this.readonly ? 'ax-state-readonly' : ''}`,\n ];\n }\n}\n","@if (correctMinMax()) {\n <div class=\"ax-range-slider\" [class]=\"'ax-orientation-' + orientation()\">\n <div class=\"ax-range-slider-bar\" (mousedown)=\"onStartBar($event)\" (touchstart)=\"onStartBar($event)\"></div>\n <div\n class=\"ax-range-slider-highlight\"\n [ngStyle]=\"AXRangeSliderHighlight()\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n ></div>\n\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler1()\"\n name=\"first\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ isDual() ? values()[0] : values() }}</div>\n }\n </div>\n\n @if (isDual()) {\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler2()\"\n name=\"second\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ values()[1] }}</div>\n }\n </div>\n }\n @if (hasSnap()) {\n <div class=\"ax-range-slider-step\" [ngStyle]=\"AXRangeSliderStep()\">\n @for (item of calculateSnapBar(); track $index) {\n <div\n class=\"ax-range-slider-steps\"\n [ngStyle]=\"\n isHorizontal() ? { left: getPercantage(item) + '%' } : { bottom: getPercantage(item) + '%' }\n \"\n >\n @if (hasLable()) {\n <div class=\"ax-range-slider-label\" [ngStyle]=\"AXRangeLabel()\">\n {{ item + min() }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRangeSliderComponent } from './range-slider.component';\n\n@NgModule({\n imports: [CommonModule, AXRangeSliderComponent],\n exports: [AXRangeSliderComponent],\n})\nexport class AXRangeSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;AC0BA;;;;;;;AAOG;AAkBG,MAAO,sBAAuB,SAAQ,OAAO,EAAC,gBAAoC,EAAC,CAAA;AAoQvF,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AApQD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;AACV,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAEnD;;;;AAIG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAgB,YAAY,CAAC;AAEhD;;;;AAIG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAuC,SAAS,CAAC;AAE9D;;;AAGG;AACH,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAqB,IAAI,CAAC,KAAK,CAAC;AAE9C;;;;AAIG;AACH,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAoB,QAAQ,CAAC;AAEzC;;;;AAIG;AACH,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAS,CAAC,CAAC;AAEtB;;;;AAIG;AACH,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAS,GAAG,CAAC;AAExB;;;;AAIG;AACH,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC,CAAC;AAEvB;;;;AAIG;AACH,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC,CAAC;AAEvB;;;;AAIG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAA2B,KAAK,CAAC;AAEpD;;;;AAIG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAwB,OAAO,CAAC;AAEhD;;;;AAIG;AACH,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;AAErB;;;;AAIG;AACH,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;AAEtB;;;;AAIG;QACH,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AAEhC;;;;AAIG;AACH,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AAEzB;;AAEG;QACH,IAAM,CAAA,MAAA,GAAG,IAAI;AACb;;AAEG;QACH,IAAS,CAAA,SAAA,GAAG,kCAAkC;AAC9C;;AAEG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC/C;;AAEG;AACH,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC;AAClE;;AAEG;AACH,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;AAC/C;;AAEG;AACH,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3D;;AAEG;AAEO,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAkB,MAAK;AAC1D,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,gBAAA,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;AACpB,oBAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;AAC5B,oBAAA,OAAO,IAAI;;gBAEb,IAAI,KAAK,GAAG,EAAE;gBACd,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AACzD,oBAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;;gBAEf,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AAC9B,gBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AAChB,oBAAA,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;AAE/D,gBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AAChB,oBAAA,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;AAE9D,gBAAA,OAAO,KAAK;;AAEd,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;AACF;;AAEG;AACO,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAqB,MAAK;YACzD,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBAClC,OAAO;oBACL,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG;oBACtD,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG;iBACvD;;iBACI;gBACL,OAAO,CAAC,CAAE,IAAI,CAAC,MAAM,EAAa,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG;;AAE1E,SAAC,CAAC;AACF;;AAEG;QACK,IAAc,CAAA,cAAA,GAAmC,SAAS;AAClE;;AAEG;QACK,IAAa,CAAA,aAAA,GAAuB,IAAI;AAChD;;AAEG;QACO,IAAsB,CAAA,sBAAA,GAAG,QAAQ,CAAC,MAC1C,IAAI,CAAC,YAAY;AACf,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI;AACzD,gBAAA,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG;AACzG;AACH,cAAE;AACE,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG;gBACzG,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI;AACrE,aAAA,CACN;AACD;;AAEG;QACO,IAAqB,CAAA,qBAAA,GAAG,QAAQ,CAAC,MACzC,IAAI,CAAC,YAAY;AACf,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAI,IAAI,CAAC,YAAY,EAAa,GAAG,GAAG;AAC3F;AACH,cAAE;AACE,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM;AACjB,sBAAE,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG;AAChE,sBAAE,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM;AACtE,aAAA,CACN;AACD;;AAEG;QACO,IAAqB,CAAA,qBAAA,GAAG,QAAQ,CAAC,MACzC,IAAI,CAAC,YAAY;AACf,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;AACnC;AACH,cAAE;AACE,gBAAA,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM;AAC7E,aAAA,CACN;AACD;;AAEG;AACO,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;AAC1C,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,gBAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,oBAAA,KAAK,MAAM;AACT,wBAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AACtD,oBAAA,KAAK,OAAO;wBACV,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AAC1E,oBAAA,KAAK,KAAK;wBACR,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;;;iBAExE;AACL,gBAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,oBAAA,KAAK,MAAM;AACT,wBAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AACrD,oBAAA,KAAK,OAAO;wBACV,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AAC1E,oBAAA,KAAK,KAAK;wBACR,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;;;AAGjF,SAAC,CAAC;AACF;;AAEG;AACO,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AACrC,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,gBAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,oBAAA,KAAK,MAAM;wBACT,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AACzC,oBAAA,KAAK,OAAO;wBACV,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AACzC,oBAAA,KAAK,KAAK;AACR,wBAAA,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;;;iBAEvC;AACL,gBAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,oBAAA,KAAK,MAAM;wBACT,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AAC1C,oBAAA,KAAK,OAAO;wBACV,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AAC1C,oBAAA,KAAK,KAAK;AACR,wBAAA,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;;;AAGjD,SAAC,CAAC;QACF,IAAiB,CAAA,iBAAA,GAAG,KAAK;QAGvB,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvD,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAChC,SAAC,CAAC;QACF,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;gBACxB,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAI,CAAC,eAAe,EAAE;;iBACjB;AACL,gBAAA,OAAO,CAAC,KAAK,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,GAAG,EAAE,CAAA,WAAA,EAAc,IAAI,CAAC,GAAG,EAAE,CAAA,uBAAA,CAAyB,CAAC;;AAEvF,SAAC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACtC,YAAA,IAAI,KAAK,EAAE,KAAK,IAAI,SAAS,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,KAAK;gBACpF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;AAChC,SAAC,CAAC;;AAEJ;;AAEG;IACgB,QAAQ,GAAA;QACzB,KAAK,CAAC,QAAQ,EAAE;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;AACzB,YAAA,OAAO,CAAC,KAAK,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,GAAG,EAAE,CAAA,WAAA,EAAc,IAAI,CAAC,GAAG,EAAE,CAAA,uBAAA,CAAyB,CAAC;;aAC9E;YACL,IAAI,CAAC,gBAAgB,EAAE;;;AAG3B;;AAEG;IACgB,WAAW,GAAA;QAC5B,KAAK,CAAC,WAAW,EAAE;AACnB,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;YAC1D,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;YACvD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;YAC1D,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC;;;AAK5D;;AAEG;IACO,cAAc,CAAC,KAA8B,EAAE,MAA0B,EAAA;AACjF,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAAE;YAC7D,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,aAAa,GAAI,KAAK,CAAC,MAAsB,CAAC,OAAO,CAAC,kBAAkB,CAAgB;YAC7F,IAAI,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AAC5D,gBAAA,IAAI,CAAC,cAAc,GAAG,MAAM;AAC5B,gBAAA,MAAM,YAAY,GAAG,CAAC,SAAkC,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;AAC3F,gBAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC;AAC/D,gBAAA,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC;AACnE,gBAAA,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC;AAClD,gBAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;AAC/C,gBAAA,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACrE,gBAAA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC;;AAEpD,SAAC,CAAC;;AAEJ;;AAEG;AACO,IAAA,UAAU,CAAC,KAA8B,EAAA;AACjD,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAE7B,IAAI,MAAM,GAAuB,OAAO;QACxC,IAAI,CAAC,aAAa,GAAI,KAAK,CAAC,MAAsB,CAAC,OAAO,CAAC,kBAAkB,CAAgB;AAC7F,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;YAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;gBAAE;YAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;AAC7D,YAAA,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpD,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,gBAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;;AAEjC,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,gBAAA,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACrF,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC1C,MAAM,GAAG,QAAQ;;qBACZ;AACL,oBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE;AACnC,wBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;wBAC1C,MAAM,GAAG,QAAQ;;yBACZ;AACL,wBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1C,MAAM,GAAG,OAAO;;;;iBAGf;AACL,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;;AAE1B,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;;AAEpC;;AAEG;IACO,MAAM,CAAC,KAA8B,EAAE,MAA0B,EAAA;AACzE,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAE7B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE;QACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;AACtD,QAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3C,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,YAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;;AAEjC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,YAAA,IAAI,MAAM,KAAK,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;gBACnD,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;AACpF,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;;iBAEvC,IAAI,MAAM,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;AACzF,gBAAA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACvD,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;;;;aAGzC;AACL,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE;AACrD,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;;;;AAI5B;;AAEG;IACO,KAAK,CAAC,YAAsD,EAAE,WAAuB,EAAA;AAC7F,QAAA,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC;AACrD,QAAA,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC;AAClD,QAAA,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC;AACrD,QAAA,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC;AACnD,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;;AAE3B;;AAEG;IACK,gBAAgB,GAAA;QACtB,IAAI,CAAC,sBAAsB,EAAE;QAC7B,IAAI,CAAC,mBAAmB,EAAE;QAC1B,IAAI,CAAC,iBAAiB,EAAE;;AAE1B;;AAEG;IACK,sBAAsB,GAAA;QAC5B,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,WAAW,EAAE;AACxC,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;;iBACpC;gBACL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;;;;AAIjC;;AAEG;IACK,mBAAmB,GAAA;QACzB,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;YACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;AAEvD,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAY,CAAC,EAAE;YAClF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;;AACtB,aAAA,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AAC9G,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;;;AAG7C;;AAEG;IACK,iBAAiB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACrB,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;AACzC,oBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;;;iBAE5F;AACL,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,GAAa,CAAC,CAAC;;;;AAIlE;;AAEG;IACK,eAAe,GAAA;AACrB,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACtD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;;AACpC,aAAA,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;;;AAG/B;;AAEG;AACK,IAAA,sBAAsB,CAAC,KAA8B,EAAA;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAC7D,QAAA,IAAI,OAAe;AACnB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,KAAK,YAAY,UAAU,GAAG,KAAK,CAAC,OAAO,GAAI,KAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACtG,YAAA,MAAM,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,IAAI;YACnC,OAAO,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,IAAI,GAAG;;aACjC;YACL,MAAM,OAAO,GAAG,KAAK,YAAY,UAAU,GAAG,KAAK,CAAC,OAAO,GAAI,KAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACtG,YAAA,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,GAAG;;AAEzC,QAAA,IAAI,OAAO,GAAG,CAAC,EAAE;YACf,OAAO,GAAG,CAAC;;AACN,aAAA,IAAI,OAAO,GAAG,GAAG,EAAE;YACxB,OAAO,GAAG,GAAG;;AAEf,QAAA,OAAO,OAAO;;AAGhB;;AAEG;AACK,IAAA,WAAW,CAAC,KAAa,EAAA;AAC/B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC7G,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE;AACjC,YAAA,OAAO,KAAK;;aACP;AACL,YAAA,OAAO,KAAK;;;AAIhB;;AAEG;AACK,IAAA,UAAU,CAAC,CAAS,EAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;AAAE,YAAA,OAAO,IAAI;;AAC9C,YAAA,OAAO,KAAK;;AAEnB;;AAEG;AACK,IAAA,WAAW,CAAC,MAAc,EAAE,CAAqB,EAAE,MAAc,EAAA;AACvE,QAAA,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;AAChD,YAAA,IAAI,CAAC,KAAK,OAAO,EAAE;gBACjB,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE;AAAE,oBAAA,OAAO,IAAI;;AACpD,oBAAA,OAAO,KAAK;;iBACZ;gBACL,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE;AAAE,oBAAA,OAAO,IAAI;;AACpD,oBAAA,OAAO,KAAK;;;;AAEd,YAAA,OAAO,KAAK;;AAErB;;AAEG;AACO,IAAA,mBAAmB,CAAC,KAAa,EAAA;QACzC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG;;AAE/D;;AAEG;AACO,IAAA,aAAa,CAAC,KAAa,EAAA;QACnC,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,GAAG,CAAC;;AAE9D;;;;AAIG;IACI,YAAY,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACjE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;;aACxC;AACL,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1E,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;;;AAG7B;;;;AAIG;IACI,YAAY,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACjE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;aACxC;AACL,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1E,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;;;AAG7B;;AAEG;AAEH,IAAA,OAAO,CAAC,KAAiB,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAE7B,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;YAC/B,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAAE;AACrF,YAAA,IAAI,QAAQ;AACZ,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,gBAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpB,oBAAA,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,EAAE;AACnC,wBAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACvE,wBAAA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AACtG,4BAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;;yBAEtF;AACL,wBAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACvE,wBAAA,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AAC3D,4BAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;;;;qBAGxF;AACL,oBAAA,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,EAAE;AACnC,wBAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBACvE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,EAAE;AACnG,4BAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;;yBAEtF;AACL,wBAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACvE,wBAAA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AACtG,4BAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;;;;;iBAI1F;AACL,gBAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;wBAC9E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAE,GAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;;;qBAEzE;oBACL,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;wBAC9E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAE,GAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;;;;AAIpF,SAAC,CAAC;;AAEJ;;AAEG;AACH,IAAA,IACY,WAAW,GAAA;QACrB,OAAO;AACL,YAAA,CAAA,GAAA,EAAM,IAAI,CAAC,KAAK,EAAE,CAAQ,MAAA,CAAA;YAC1B,CAAG,EAAA,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE,CAAE,CAAA;YAC7C,CAAG,EAAA,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE,CAAE,CAAA;SAC9C;;+GApmBQ,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAVtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,EAAE;AACrE,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EChDH,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qwDAuDA,0lODNY,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAjBlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGnB,MAAA,EAAA,CAAC,UAAU,EAAE,UAAU,CAAC,EAAA,aAAA,EACjB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,wBAAwB,EAAE;AACrE,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACQ,OAAA,EAAA,CAAC,OAAO,CAAC,EAAA,QAAA,EAAA,qwDAAA,EAAA,MAAA,EAAA,CAAA,kiOAAA,CAAA,EAAA;wDA+iBlB,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;gBAmDrB,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO;;;MEzoBT,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAHpB,OAAA,EAAA,CAAA,YAAY,EAAE,sBAAsB,aACpC,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAErB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAHpB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA;;;ACPD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-rate-picker.mjs","sources":["../../../../libs/components/rate-picker/src/lib/calculatePercentage.ts","../../../../libs/components/rate-picker/src/lib/rate-picker.component.ts","../../../../libs/components/rate-picker/src/lib/rate-picker.component.html","../../../../libs/components/rate-picker/src/lib/rate-picker.module.ts","../../../../libs/components/rate-picker/src/acorex-components-rate-picker.ts"],"sourcesContent":["/**\n * Calculates the horizontal position of a pointer event (mouse or touch) as a percentage\n * of the target element's width.\n *\n * @param event - The mouse or touch event to get the pointer position from.\n * @returns The percentage of the event's position relative to the target element's width,\n * or -1 if the event is invalid.\n *\n * @remarks\n * - For `MouseEvent`, it uses the `clientX` property.\n * - For `TouchEvent`, it uses the `clientX` of the first touch point.\n * - Returns `-1` if the event is neither a valid `MouseEvent` nor a `TouchEvent`.\n *\n * @example\n * ```typescript\n * document.addEventListener('click', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Click position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n *\n * document.addEventListener('touchstart', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Touch position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n * ```\n */\nexport function getPointerPercentage(event: MouseEvent | TouchEvent): number {\n let clientX: number;\n\n if (event instanceof MouseEvent) {\n clientX = event.clientX; // Mouse event uses clientX\n } else if (event instanceof TouchEvent && event.touches.length > 0) {\n clientX = event.touches[0].clientX; // Touch event uses the first touch's clientX\n } else {\n return -1; // Return -1 for invalid events\n }\n\n // Use currentTarget to get the bounding box of the element the event listener is attached to\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n const clickX = clientX - rect.left; // Calculate X position relative to the element\n const divWidth = rect.width; // Get the width from the bounding box\n const percentage = (clickX / divWidth) * 100; // Calculate percentage\n\n return percentage;\n}\n","import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n input,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getPointerPercentage } from './calculatePercentage';\n\n/**\n * @description\n * The `AXRatePickerComponent` provides a customizable rating picker.\n * The component allows users to select a rating between 0 and the defined maximum.\n * It supports transitions, dynamic value changes, and hover states.\n *\n * @example\n * <ax-rate-picker [max]=\"5\" [readonly]=\"false\" [disabled]=\"false\"></ax-rate-picker>\n */\n@Component({\n selector: 'ax-rate-picker',\n templateUrl: './rate-picker.component.html',\n styleUrls: ['./rate-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['readonly', 'disabled'],\n providers: [\n { provide: AXValuableComponent, useExisting: AXRatePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRatePickerComponent),\n multi: true,\n },\n ],\n})\nexport class AXRatePickerComponent extends MXValueComponent<number> {\n /**\n * @description\n * The icon to be used for each rating point.\n * @default 'fa-star'\n */\n iconName = input('fa-star');\n\n /**\n * @description\n * Maximum value for the rating.\n * Defines how many rating points are available.\n * @default 5\n */\n max = input(5);\n\n /**\n * @description\n * Defines the step increment between rating values.\n * The rating value will be rounded to the nearest multiple of this step.\n * @default 0.01\n */\n step = input(0.01);\n\n /**\n * @description\n * Whether the rating should have a transition effect when changing values.\n * @default true\n */\n hasTransition = input(true);\n\n /**\n * @description\n * The percentage of the current rating value relative to the maximum rating.\n */\n protected ratePercentage = computed(() => Math.round((this.currentValue() / this.max()) * 10000) / 100);\n\n /**\n * @description\n * The current rating value as a signal.\n */\n private currentValue = signal(this.max());\n\n /**\n * @description\n * State for tracking hover status and previous value.\n */\n private prevState: { ishover: boolean; previousValue?: number } = {\n ishover: false,\n previousValue: undefined,\n };\n\n /**\n * @description\n * Reference to the container element.\n */\n containerEl = viewChild.required<ElementRef>('c');\n\n /**\n * @description\n * Reference to the rating element.\n */\n ratingEl = viewChild.required<ElementRef>('r');\n\n /**\n * @description\n * Renderer for manipulating styles.\n */\n renderer = inject(Renderer2);\n\n /**\n * @description\n * Array of rating values from 1 to `max`.\n */\n protected rates = computed(() =>\n Array(this.max())\n .fill(0)\n .map((_, index) => index + 1),\n );\n\n /**\n * @description\n * Initializes the component and sets up value change subscription.\n */\n constructor() {\n super();\n effect(() => {\n if (!this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n return this.hasTransition();\n });\n this.onValueChanged.subscribe((val: { value }) => {\n if (val.value < 0) {\n this.currentValue.set(0);\n console.warn('ax-rate-picker: value cant be negative!');\n } else if (val.value > this.max()) {\n this.currentValue.set(this.max());\n console.warn('ax-rate-picker: value cant be more than max!');\n } else {\n this.currentValue.set(val.value);\n }\n });\n }\n\n /**\n * @description\n * Calculates and updates the rating based on the mouse or touch event.\n *\n * @param event - The mouse or touch event triggering the rating calculation.\n */\n protected calculateRate(event: MouseEvent | TouchEvent): void {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n event.preventDefault();\n if (!this.readonly && !this.disabled) {\n const pointerPercentage = getPointerPercentage(event);\n if (pointerPercentage === -1) {\n return console.warn('Only support touch and click events.');\n }\n const value = this.roundToStep(pointerPercentage);\n const decimals = this.countDecimals(this.step());\n if (this.prevState.ishover === true) {\n this.currentValue.set(value);\n } else {\n this.commitValue(Number(value.toFixed(decimals)));\n this.mouseEnter();\n }\n }\n }\n\n /**\n * @description\n * Rounds the rating value to the nearest step.\n *\n * @param percentage - The calculated percentage from pointer event.\n * @returns The rounded rating value.\n */\n private roundToStep(percentage: number): number {\n const value = (percentage / 100) * this.max();\n const value2 = Math.round(value / (this.step() || 0.01)) * this.step();\n return value2;\n }\n\n /**\n * @description\n * Handles mouse enter events to start tracking mouse movements for rating.\n */\n protected mouseEnter() {\n this.prevState = {\n ishover: true,\n previousValue: this.value,\n };\n if (this.hasTransition()) {\n this.renderer.setStyle(this.ratingEl().nativeElement, 'opacity', '80%');\n }\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.calculateRate(moveEvent);\n const endListener = () => this.onEnd(moveListener, endListener);\n const container = this.containerEl().nativeElement;\n container.addEventListener('mousemove', moveListener);\n container.addEventListener('mouseup', endListener);\n container.addEventListener('mouseleave', endListener);\n }\n\n /**\n * @description\n * Handles mouse leave events to reset styles.\n */\n mouseLeave() {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n }\n\n /**\n * @description\n * Cleans up event listeners and restores the previous rating value.\n *\n * @param moveListener - The function to remove for mouse move events.\n * @param endListener - The function to remove for mouse end events.\n */\n private onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n if (this.hasTransition()) {\n this.renderer.setStyle(this.ratingEl().nativeElement, 'transition', `width ${this.max() * 50 + 250}ms cubic-bezier(0.29, 0.72, 0.68, 0.85)`);\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n this.currentValue.set(this.prevState.previousValue);\n this.prevState = {\n ishover: false,\n previousValue: undefined,\n };\n const container = this.containerEl().nativeElement;\n container.removeEventListener('mousemove', moveListener);\n container.removeEventListener('mouseup', endListener);\n container.removeEventListener('mouseleave', endListener);\n }\n\n private countDecimals(number: number): number {\n if (Math.floor(number) === number) return 0;\n return number.toString().split('.')[1].length || 0;\n }\n\n /**\n * @description\n * Determines if the component is active (i.e., not readonly or disabled).\n */\n @HostBinding('class.ax-active') get isActive() {\n return !this.readonly && !this.disabled;\n }\n\n /**\n * @description\n * Determines if the component is in readonly mode.\n */\n @HostBinding('class.ax-readonly') get isReadonly() {\n return this.readonly;\n }\n\n /**\n * @description\n * Determines if the component is disabled.\n */\n @HostBinding('class.ax-disable') get isDisabled() {\n return this.disabled;\n }\n}\n","<div\n #c\n class=\"ax-rate-picker-container\"\n (click)=\"calculateRate($event)\"\n (touchstart)=\"calculateRate($event)\"\n (mouseenter)=\"mouseEnter()\"\n (mouseleave)=\"mouseLeave()\"\n>\n <div #r class=\"ax-rate-picker-rating\" [style.width.%]=\"ratePercentage()\">\n <div class=\"ax-rate-picker-icons ax-rp-active\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\" [class.pointer]=\"!this.readonly\"></i>\n }\n </div>\n </div>\n <div class=\"ax-rate-picker-icons ax-rp-inactive\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\"></i>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRatePickerComponent } from './rate-picker.component';\n\n@NgModule({\n imports: [CommonModule, AXRatePickerComponent],\n exports: [AXRatePickerComponent],\n})\nexport class AXRatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-rate-picker.mjs","sources":["../../../../packages/components/rate-picker/src/lib/calculatePercentage.ts","../../../../packages/components/rate-picker/src/lib/rate-picker.component.ts","../../../../packages/components/rate-picker/src/lib/rate-picker.component.html","../../../../packages/components/rate-picker/src/lib/rate-picker.module.ts","../../../../packages/components/rate-picker/src/acorex-components-rate-picker.ts"],"sourcesContent":["/**\n * Calculates the horizontal position of a pointer event (mouse or touch) as a percentage\n * of the target element's width.\n *\n * @param event - The mouse or touch event to get the pointer position from.\n * @returns The percentage of the event's position relative to the target element's width,\n * or -1 if the event is invalid.\n *\n * @remarks\n * - For `MouseEvent`, it uses the `clientX` property.\n * - For `TouchEvent`, it uses the `clientX` of the first touch point.\n * - Returns `-1` if the event is neither a valid `MouseEvent` nor a `TouchEvent`.\n *\n * @example\n * ```typescript\n * document.addEventListener('click', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Click position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n *\n * document.addEventListener('touchstart', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Touch position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n * ```\n */\nexport function getPointerPercentage(event: MouseEvent | TouchEvent): number {\n let clientX: number;\n\n if (event instanceof MouseEvent) {\n clientX = event.clientX; // Mouse event uses clientX\n } else if (event instanceof TouchEvent && event.touches.length > 0) {\n clientX = event.touches[0].clientX; // Touch event uses the first touch's clientX\n } else {\n return -1; // Return -1 for invalid events\n }\n\n // Use currentTarget to get the bounding box of the element the event listener is attached to\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n const clickX = clientX - rect.left; // Calculate X position relative to the element\n const divWidth = rect.width; // Get the width from the bounding box\n const percentage = (clickX / divWidth) * 100; // Calculate percentage\n\n return percentage;\n}\n","import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n input,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getPointerPercentage } from './calculatePercentage';\n\n/**\n * @description\n * The `AXRatePickerComponent` provides a customizable rating picker.\n * The component allows users to select a rating between 0 and the defined maximum.\n * It supports transitions, dynamic value changes, and hover states.\n *\n * @example\n * <ax-rate-picker [max]=\"5\" [readonly]=\"false\" [disabled]=\"false\"></ax-rate-picker>\n */\n@Component({\n selector: 'ax-rate-picker',\n templateUrl: './rate-picker.component.html',\n styleUrls: ['./rate-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['readonly', 'disabled'],\n providers: [\n { provide: AXValuableComponent, useExisting: AXRatePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRatePickerComponent),\n multi: true,\n },\n ],\n})\nexport class AXRatePickerComponent extends MXValueComponent<number> {\n /**\n * @description\n * The icon to be used for each rating point.\n * @default 'fa-star'\n */\n iconName = input('fa-star');\n\n /**\n * @description\n * Maximum value for the rating.\n * Defines how many rating points are available.\n * @default 5\n */\n max = input(5);\n\n /**\n * @description\n * Defines the step increment between rating values.\n * The rating value will be rounded to the nearest multiple of this step.\n * @default 0.01\n */\n step = input(0.01);\n\n /**\n * @description\n * Whether the rating should have a transition effect when changing values.\n * @default true\n */\n hasTransition = input(true);\n\n /**\n * @description\n * The percentage of the current rating value relative to the maximum rating.\n */\n protected ratePercentage = computed(() => Math.round((this.currentValue() / this.max()) * 10000) / 100);\n\n /**\n * @description\n * The current rating value as a signal.\n */\n private currentValue = signal(this.max());\n\n /**\n * @description\n * State for tracking hover status and previous value.\n */\n private prevState: { ishover: boolean; previousValue?: number } = {\n ishover: false,\n previousValue: undefined,\n };\n\n /**\n * @description\n * Reference to the container element.\n */\n containerEl = viewChild.required<ElementRef>('c');\n\n /**\n * @description\n * Reference to the rating element.\n */\n ratingEl = viewChild.required<ElementRef>('r');\n\n /**\n * @description\n * Renderer for manipulating styles.\n */\n renderer = inject(Renderer2);\n\n /**\n * @description\n * Array of rating values from 1 to `max`.\n */\n protected rates = computed(() =>\n Array(this.max())\n .fill(0)\n .map((_, index) => index + 1),\n );\n\n /**\n * @description\n * Initializes the component and sets up value change subscription.\n */\n constructor() {\n super();\n effect(() => {\n if (!this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n return this.hasTransition();\n });\n this.onValueChanged.subscribe((val: { value }) => {\n if (val.value < 0) {\n this.currentValue.set(0);\n console.warn('ax-rate-picker: value cant be negative!');\n } else if (val.value > this.max()) {\n this.currentValue.set(this.max());\n console.warn('ax-rate-picker: value cant be more than max!');\n } else {\n this.currentValue.set(val.value);\n }\n });\n }\n\n /**\n * @description\n * Calculates and updates the rating based on the mouse or touch event.\n *\n * @param event - The mouse or touch event triggering the rating calculation.\n */\n protected calculateRate(event: MouseEvent | TouchEvent): void {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n event.preventDefault();\n if (!this.readonly && !this.disabled) {\n const pointerPercentage = getPointerPercentage(event);\n if (pointerPercentage === -1) {\n return console.warn('Only support touch and click events.');\n }\n const value = this.roundToStep(pointerPercentage);\n const decimals = this.countDecimals(this.step());\n if (this.prevState.ishover === true) {\n this.currentValue.set(value);\n } else {\n this.commitValue(Number(value.toFixed(decimals)));\n this.mouseEnter();\n }\n }\n }\n\n /**\n * @description\n * Rounds the rating value to the nearest step.\n *\n * @param percentage - The calculated percentage from pointer event.\n * @returns The rounded rating value.\n */\n private roundToStep(percentage: number): number {\n const value = (percentage / 100) * this.max();\n const value2 = Math.round(value / (this.step() || 0.01)) * this.step();\n return value2;\n }\n\n /**\n * @description\n * Handles mouse enter events to start tracking mouse movements for rating.\n */\n protected mouseEnter() {\n this.prevState = {\n ishover: true,\n previousValue: this.value,\n };\n if (this.hasTransition()) {\n this.renderer.setStyle(this.ratingEl().nativeElement, 'opacity', '80%');\n }\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.calculateRate(moveEvent);\n const endListener = () => this.onEnd(moveListener, endListener);\n const container = this.containerEl().nativeElement;\n container.addEventListener('mousemove', moveListener);\n container.addEventListener('mouseup', endListener);\n container.addEventListener('mouseleave', endListener);\n }\n\n /**\n * @description\n * Handles mouse leave events to reset styles.\n */\n mouseLeave() {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n }\n\n /**\n * @description\n * Cleans up event listeners and restores the previous rating value.\n *\n * @param moveListener - The function to remove for mouse move events.\n * @param endListener - The function to remove for mouse end events.\n */\n private onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n if (this.hasTransition()) {\n this.renderer.setStyle(\n this.ratingEl().nativeElement,\n 'transition',\n `width ${this.max() * 50 + 250}ms cubic-bezier(0.29, 0.72, 0.68, 0.85)`,\n );\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n this.currentValue.set(this.prevState.previousValue);\n this.prevState = {\n ishover: false,\n previousValue: undefined,\n };\n const container = this.containerEl().nativeElement;\n container.removeEventListener('mousemove', moveListener);\n container.removeEventListener('mouseup', endListener);\n container.removeEventListener('mouseleave', endListener);\n }\n\n private countDecimals(number: number): number {\n if (Math.floor(number) === number) return 0;\n return number.toString().split('.')[1].length || 0;\n }\n\n /**\n * @description\n * Determines if the component is active (i.e., not readonly or disabled).\n */\n @HostBinding('class.ax-active') get isActive() {\n return !this.readonly && !this.disabled;\n }\n\n /**\n * @description\n * Determines if the component is in readonly mode.\n */\n @HostBinding('class.ax-readonly') get isReadonly() {\n return this.readonly;\n }\n\n /**\n * @description\n * Determines if the component is disabled.\n */\n @HostBinding('class.ax-disable') get isDisabled() {\n return this.disabled;\n }\n}\n","<div\n #c\n class=\"ax-rate-picker-container\"\n (click)=\"calculateRate($event)\"\n (touchstart)=\"calculateRate($event)\"\n (mouseenter)=\"mouseEnter()\"\n (mouseleave)=\"mouseLeave()\"\n>\n <div #r class=\"ax-rate-picker-rating\" [style.width.%]=\"ratePercentage()\">\n <div class=\"ax-rate-picker-icons ax-rp-active\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\" [class.pointer]=\"!this.readonly\"></i>\n }\n </div>\n </div>\n <div class=\"ax-rate-picker-icons ax-rp-inactive\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\"></i>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRatePickerComponent } from './rate-picker.component';\n\n@NgModule({\n imports: [CommonModule, AXRatePickerComponent],\n exports: [AXRatePickerComponent],\n})\nexport class AXRatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}