aril 0.0.8 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/esm2022/http/src/serviceBase.mjs +2 -3
  2. package/esm2022/i18n/aril-i18n.mjs +5 -0
  3. package/esm2022/i18n/index.mjs +6 -0
  4. package/esm2022/i18n/src/file-url-token.mjs +3 -0
  5. package/esm2022/i18n/src/i18n.module.mjs +17 -0
  6. package/esm2022/i18n/src/loader.mjs +20 -0
  7. package/esm2022/i18n/src/provideI18n.mjs +16 -0
  8. package/esm2022/i18n/src/provideScope.mjs +18 -0
  9. package/esm2022/ui/badge/src/badge.component.mjs +11 -17
  10. package/esm2022/ui/button/src/button.component.mjs +19 -34
  11. package/esm2022/ui/button/src/split-button.component.mjs +3 -3
  12. package/esm2022/ui/calendar/src/calendar.component.mjs +35 -56
  13. package/esm2022/ui/checkbox/src/check-box.component.mjs +7 -4
  14. package/esm2022/ui/checkbox/src/tri-state-checkbox.component.mjs +7 -4
  15. package/esm2022/ui/dxField/src/dx-field.component.mjs +9 -21
  16. package/esm2022/ui/field/src/field.component.mjs +19 -32
  17. package/esm2022/ui/fileUpload/src/file-upload.component.mjs +28 -57
  18. package/esm2022/ui/form/src/form-submit-button.component.mjs +22 -27
  19. package/esm2022/ui/form/src/form.component.mjs +7 -11
  20. package/esm2022/ui/lib/src/form/form-error-message.component.mjs +1 -5
  21. package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +8 -12
  22. package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +1 -5
  23. package/esm2022/ui/mask/src/mask.component.mjs +7 -4
  24. package/esm2022/ui/number/src/number.component.mjs +19 -40
  25. package/esm2022/ui/password/src/password.component.mjs +11 -16
  26. package/esm2022/ui/radioButton/src/radio-button.component.mjs +14 -21
  27. package/esm2022/ui/selectBox/src/select-box.component.mjs +12 -24
  28. package/esm2022/ui/switch/src/switch.component.mjs +6 -6
  29. package/esm2022/ui/table/src/table.component.mjs +2 -1
  30. package/esm2022/ui/tagBox/src/tag-box.component.mjs +12 -21
  31. package/esm2022/ui/text/src/text.component.mjs +24 -35
  32. package/esm2022/ui/textArea/src/text-area.component.mjs +11 -16
  33. package/esm2022/ui/tree/src/tree.component.mjs +3 -3
  34. package/esm2022/ui/value/src/value.component.mjs +26 -42
  35. package/esm2022/util/lib/index.mjs +2 -1
  36. package/esm2022/util/lib/src/module-router.mjs +16 -0
  37. package/fesm2022/aril-http.mjs +1 -2
  38. package/fesm2022/aril-http.mjs.map +1 -1
  39. package/fesm2022/aril-i18n.mjs +72 -0
  40. package/fesm2022/aril-i18n.mjs.map +1 -0
  41. package/fesm2022/aril-ui-badge.mjs +10 -16
  42. package/fesm2022/aril-ui-badge.mjs.map +1 -1
  43. package/fesm2022/aril-ui-button.mjs +21 -36
  44. package/fesm2022/aril-ui-button.mjs.map +1 -1
  45. package/fesm2022/aril-ui-calendar.mjs +34 -55
  46. package/fesm2022/aril-ui-calendar.mjs.map +1 -1
  47. package/fesm2022/aril-ui-checkbox.mjs +11 -5
  48. package/fesm2022/aril-ui-checkbox.mjs.map +1 -1
  49. package/fesm2022/aril-ui-dxField.mjs +8 -20
  50. package/fesm2022/aril-ui-dxField.mjs.map +1 -1
  51. package/fesm2022/aril-ui-field.mjs +18 -31
  52. package/fesm2022/aril-ui-field.mjs.map +1 -1
  53. package/fesm2022/aril-ui-fileUpload.mjs +27 -56
  54. package/fesm2022/aril-ui-fileUpload.mjs.map +1 -1
  55. package/fesm2022/aril-ui-form.mjs +26 -36
  56. package/fesm2022/aril-ui-form.mjs.map +1 -1
  57. package/fesm2022/aril-ui-lib.mjs +7 -19
  58. package/fesm2022/aril-ui-lib.mjs.map +1 -1
  59. package/fesm2022/aril-ui-mask.mjs +6 -3
  60. package/fesm2022/aril-ui-mask.mjs.map +1 -1
  61. package/fesm2022/aril-ui-number.mjs +18 -39
  62. package/fesm2022/aril-ui-number.mjs.map +1 -1
  63. package/fesm2022/aril-ui-password.mjs +10 -15
  64. package/fesm2022/aril-ui-password.mjs.map +1 -1
  65. package/fesm2022/aril-ui-radioButton.mjs +13 -20
  66. package/fesm2022/aril-ui-radioButton.mjs.map +1 -1
  67. package/fesm2022/aril-ui-selectBox.mjs +11 -23
  68. package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
  69. package/fesm2022/aril-ui-switch.mjs +5 -5
  70. package/fesm2022/aril-ui-switch.mjs.map +1 -1
  71. package/fesm2022/aril-ui-table.mjs +1 -0
  72. package/fesm2022/aril-ui-table.mjs.map +1 -1
  73. package/fesm2022/aril-ui-tagBox.mjs +11 -20
  74. package/fesm2022/aril-ui-tagBox.mjs.map +1 -1
  75. package/fesm2022/aril-ui-text.mjs +23 -34
  76. package/fesm2022/aril-ui-text.mjs.map +1 -1
  77. package/fesm2022/aril-ui-textArea.mjs +10 -15
  78. package/fesm2022/aril-ui-textArea.mjs.map +1 -1
  79. package/fesm2022/aril-ui-tree.mjs +2 -2
  80. package/fesm2022/aril-ui-tree.mjs.map +1 -1
  81. package/fesm2022/aril-ui-value.mjs +25 -41
  82. package/fesm2022/aril-ui-value.mjs.map +1 -1
  83. package/fesm2022/aril-util-lib.mjs +19 -0
  84. package/fesm2022/aril-util-lib.mjs.map +1 -1
  85. package/i18n/index.d.ts +5 -0
  86. package/i18n/src/file-url-token.d.ts +2 -0
  87. package/i18n/src/i18n.module.d.ts +7 -0
  88. package/i18n/src/loader.d.ts +9 -0
  89. package/i18n/src/provideI18n.d.ts +2 -0
  90. package/i18n/src/provideScope.d.ts +9 -0
  91. package/package.json +13 -7
  92. package/ui/badge/src/badge.component.d.ts +5 -5
  93. package/ui/button/src/button.component.d.ts +16 -19
  94. package/ui/calendar/src/calendar.component.d.ts +17 -20
  95. package/ui/dxField/src/dx-field.component.d.ts +5 -7
  96. package/ui/field/src/field.component.d.ts +9 -10
  97. package/ui/fileUpload/src/file-upload.component.d.ts +20 -19
  98. package/ui/form/src/form-submit-button.component.d.ts +5 -5
  99. package/ui/form/src/form.component.d.ts +2 -2
  100. package/ui/lib/src/form/form-error-message.directive.d.ts +2 -2
  101. package/ui/number/src/number.component.d.ts +19 -16
  102. package/ui/password/src/password.component.d.ts +5 -5
  103. package/ui/radioButton/src/radio-button.component.d.ts +8 -6
  104. package/ui/selectBox/src/select-box.component.d.ts +8 -8
  105. package/ui/tagBox/src/tag-box.component.d.ts +6 -6
  106. package/ui/text/src/text.component.d.ts +9 -9
  107. package/ui/textArea/src/text-area.component.d.ts +5 -5
  108. package/ui/value/src/value.component.d.ts +7 -9
  109. package/util/lib/index.d.ts +1 -0
  110. package/util/lib/src/module-router.d.ts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"aril-http.mjs","sources":["../../projects/aril/http/lib/enums.ts","../../projects/aril/http/lib/interfaces.ts","../../projects/aril/http/src/httpClient.ts","../../projects/aril/http/src/serviceStateMethods.ts","../../projects/aril/http/src/serviceBase.ts","../../projects/aril/http/index.ts","../../projects/aril/http/aril-http.ts"],"sourcesContent":["export enum HTTPMethods {\n\tGET = 'GET',\n\tPOST = 'POST',\n\tPUT = 'PUT',\n\tDELETE = 'DELETE'\n}\n\nexport enum APIs {\n\tCRM = 'crm',\n\tWMD = 'wdm',\n\tBILLING = 'billing',\n\tPAYMENT = 'payment',\n\tYEAP = 'yeap'\n}\n\nexport enum ProxyTypes {\n\tNative,\n\tServerSide,\n\tClientSide\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\n\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { ProxyTypes } from './enums';\n\nexport interface ServiceCallStates {\n\tserviceCalled: boolean;\n\twaitingForResponse: boolean;\n\tresponseIsRecieved: boolean;\n\tserviceCallFailed: boolean;\n}\n\nexport type ServiceCallStateMap<T> = {\n\t[K in keyof T]?: T[K] extends Function ? ServiceCallStates : never;\n};\n\nexport class ErrorResponse {\n\terror: HttpErrorResponse | undefined;\n\n\tconstructor(err: HttpErrorResponse | undefined) {\n\t\tthis.error = err;\n\t}\n}\n\nexport class ServiceResponse<T> extends ErrorResponse {\n\trequest: any;\n\tresponse: T;\n\tproxy: ProxyTypes;\n\n\tconstructor(request: any, response: T, proxy: ProxyTypes) {\n\t\tsuper(undefined);\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.proxy = proxy;\n\t}\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { HttpClient } from '@angular/common/http';\nimport { InjectionToken, Injector, inject } from '@angular/core';\n\nimport { APIs } from '../lib/enums';\nimport { ServiceCallStateMap } from '../lib/interfaces';\n\nexport const API_TOKEN = new InjectionToken<APIs>('API');\n\nexport abstract class RestClient {\n\tprivate readonly httpClient = inject(HttpClient);\n\tprivate readonly baseAPI = inject(API_TOKEN);\n\tprivate readonly injector = inject(Injector);\n\n\tabstract states: ServiceCallStateMap<any>;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { ServiceCallStateMap } from '../lib/interfaces';\n\nexport const callState = (states: ServiceCallStateMap<any>, serviceName: any): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: true,\n\t\tresponseIsRecieved: false,\n\t\tserviceCallFailed: false\n\t};\n};\nexport const successState = (states: ServiceCallStateMap<any>, serviceName: any): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: false,\n\t\tresponseIsRecieved: true,\n\t\tserviceCallFailed: false\n\t};\n};\nexport const errorState = (states: ServiceCallStateMap<any>, serviceName: any): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: false,\n\t\tresponseIsRecieved: true,\n\t\tserviceCallFailed: true\n\t};\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/** TODO: ADD INTERCEPTOR */\n/** TODO: SET REQUEST & RESPONSE ACCORDING TO PROXY */\n\nimport { inject, runInInjectionContext } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { HttpErrorResponse, HttpClient, HttpParams } from '@angular/common/http';\n\nimport { MessageService } from 'primeng/api';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\n\nimport { Interfaces } from 'aril/util/lib';\n\nimport { callState, successState, errorState } from './serviceStateMethods';\nimport { APIs, HTTPMethods, ProxyTypes } from '../lib/enums';\nimport { ErrorResponse, ServiceCallStateMap, ServiceResponse } from '../lib/interfaces';\n\nexport function ServiceCall(\n\thttpMethod: HTTPMethods,\n\tproxy: ProxyTypes,\n\tserviceURL: string,\n\tremoteAPI?: APIs\n): MethodDecorator {\n\treturn function (serviceClass: object, serviceName: string | symbol, descriptor: PropertyDescriptor) {\n\t\tconst originalFunction = descriptor.value;\n\n\t\tdescriptor.value = function (...args: any[]) {\n\t\t\treturn runInInjectionContext((<any>this).injector, () => {\n\t\t\t\tconst httpClient: HttpClient = (<any>this).httpClient;\n\t\t\t\tconst api: APIs = remoteAPI ?? (<any>this).baseAPI;\n\t\t\t\tconst endPoint: string = api + '/' + serviceURL;\n\t\t\t\tconst request = getRequest(httpMethod, originalFunction, args);\n\t\t\t\tconst states: ServiceCallStateMap<any> = (<any>this).states;\n\t\t\t\tconst messageService = inject(MessageService);\n\n\t\t\t\tcallState(states, serviceName);\n\n\t\t\t\tlet observable: Observable<any> = new Observable<any>();\n\n\t\t\t\tswitch (httpMethod) {\n\t\t\t\t\tcase HTTPMethods.GET:\n\t\t\t\t\t\tobservable = httpClient.get<any>(endPoint, { params: request as HttpParams, responseType: 'json' });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase HTTPMethods.POST:\n\t\t\t\t\t\tobservable = httpClient.post<any>(endPoint, request, { responseType: 'json' });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase HTTPMethods.PUT:\n\t\t\t\t\t\tobservable = httpClient.put<any>(endPoint + '/' + args[0], request, { responseType: 'json' });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase HTTPMethods.DELETE:\n\t\t\t\t\t\tobservable = httpClient.delete<any>(endPoint + '/' + args[0], { responseType: 'json' });\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tobservable = observable.pipe(\n\t\t\t\t\tmap((response) => new ServiceResponse(request, response, proxy)),\n\t\t\t\t\ttap(() => successState(states, serviceName)),\n\t\t\t\t\tcatchError((error: HttpErrorResponse) => {\n\t\t\t\t\t\terrorState(states, serviceName);\n\t\t\t\t\t\tconsole.error(error);\n\t\t\t\t\t\tmessageService.add({ key: 'toast-root', severity: 'error', summary: 'Error', detail: error.error });\n\t\t\t\t\t\treturn of(new ErrorResponse(error));\n\t\t\t\t\t}),\n\t\t\t\t\ttakeUntilDestroyed()\n\t\t\t\t);\n\n\t\t\t\treturn observable;\n\t\t\t});\n\t\t};\n\t};\n}\n\nexport function ServiceCallMock(httpMethod: HTTPMethods, proxy: ProxyTypes, serviceURL: string, mockAPI: string) {\n\treturn ServiceCall(httpMethod, proxy, serviceURL, <APIs>mockAPI);\n}\n\nfunction getRequest(\n\thttpMethod: HTTPMethods,\n\tfn: () => any,\n\targs: any[]\n): HttpParams | Interfaces.MapStringString | undefined {\n\tif (args.length) {\n\t\tconst source = fn.toString();\n\t\tconst match = source.match(/\\((.*?)\\)/);\n\t\tconst paramNames = match ? match[1].split(',').map((param) => param.trim()) : [];\n\n\t\tif (httpMethod === HTTPMethods.GET) {\n\t\t\tlet queryParams = new HttpParams();\n\n\t\t\tparamNames.forEach((paramName, index) => {\n\t\t\t\tqueryParams = queryParams.append(paramName, args[index]);\n\t\t\t});\n\t\t\treturn queryParams;\n\t\t} else {\n\t\t\tconst params: Interfaces.MapStringString = {};\n\n\t\t\targs.forEach((arg, index) => {\n\t\t\t\tparams[paramNames[index]] = arg;\n\t\t\t});\n\n\t\t\treturn params;\n\t\t}\n\t} else return undefined;\n}\n","/* lib */\nexport * from './lib/enums';\nexport * from './lib/interfaces';\n\n/* src */\nexport * from './src/httpClient';\nexport * from './src/serviceBase';\nexport * from './src/serviceStateMethods';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aril-http.mjs","sources":["../../projects/aril/http/lib/enums.ts","../../projects/aril/http/lib/interfaces.ts","../../projects/aril/http/src/httpClient.ts","../../projects/aril/http/src/serviceStateMethods.ts","../../projects/aril/http/src/serviceBase.ts","../../projects/aril/http/index.ts","../../projects/aril/http/aril-http.ts"],"sourcesContent":["export enum HTTPMethods {\n\tGET = 'GET',\n\tPOST = 'POST',\n\tPUT = 'PUT',\n\tDELETE = 'DELETE'\n}\n\nexport enum APIs {\n\tCRM = 'crm',\n\tWMD = 'wdm',\n\tBILLING = 'billing',\n\tPAYMENT = 'payment',\n\tYEAP = 'yeap'\n}\n\nexport enum ProxyTypes {\n\tNative,\n\tServerSide,\n\tClientSide\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\n\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { ProxyTypes } from './enums';\n\nexport interface ServiceCallStates {\n\tserviceCalled: boolean;\n\twaitingForResponse: boolean;\n\tresponseIsRecieved: boolean;\n\tserviceCallFailed: boolean;\n}\n\nexport type ServiceCallStateMap<T> = {\n\t[K in keyof T]?: T[K] extends Function ? ServiceCallStates : never;\n};\n\nexport class ErrorResponse {\n\terror: HttpErrorResponse | undefined;\n\n\tconstructor(err: HttpErrorResponse | undefined) {\n\t\tthis.error = err;\n\t}\n}\n\nexport class ServiceResponse<T> extends ErrorResponse {\n\trequest: any;\n\tresponse: T;\n\tproxy: ProxyTypes;\n\n\tconstructor(request: any, response: T, proxy: ProxyTypes) {\n\t\tsuper(undefined);\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.proxy = proxy;\n\t}\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { HttpClient } from '@angular/common/http';\nimport { InjectionToken, Injector, inject } from '@angular/core';\n\nimport { APIs } from '../lib/enums';\nimport { ServiceCallStateMap } from '../lib/interfaces';\n\nexport const API_TOKEN = new InjectionToken<APIs>('API');\n\nexport abstract class RestClient {\n\tprivate readonly httpClient = inject(HttpClient);\n\tprivate readonly baseAPI = inject(API_TOKEN);\n\tprivate readonly injector = inject(Injector);\n\n\tabstract states: ServiceCallStateMap<any>;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { ServiceCallStateMap } from '../lib/interfaces';\n\nexport const callState = (states: ServiceCallStateMap<any>, serviceName: any): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: true,\n\t\tresponseIsRecieved: false,\n\t\tserviceCallFailed: false\n\t};\n};\nexport const successState = (states: ServiceCallStateMap<any>, serviceName: any): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: false,\n\t\tresponseIsRecieved: true,\n\t\tserviceCallFailed: false\n\t};\n};\nexport const errorState = (states: ServiceCallStateMap<any>, serviceName: any): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: false,\n\t\tresponseIsRecieved: true,\n\t\tserviceCallFailed: true\n\t};\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\n\r\n/** TODO: ADD INTERCEPTOR */\r\n\r\nimport { inject, runInInjectionContext } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { HttpErrorResponse, HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { MessageService } from 'primeng/api';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\n\r\nimport { Interfaces } from 'aril/util/lib';\r\n\r\nimport { callState, successState, errorState } from './serviceStateMethods';\r\nimport { APIs, HTTPMethods, ProxyTypes } from '../lib/enums';\r\nimport { ErrorResponse, ServiceCallStateMap, ServiceResponse } from '../lib/interfaces';\r\n\r\nexport function ServiceCall(\r\n\thttpMethod: HTTPMethods,\r\n\tproxy: ProxyTypes,\r\n\tserviceURL: string,\r\n\tremoteAPI?: APIs\r\n): MethodDecorator {\r\n\treturn function (serviceClass: object, serviceName: string | symbol, descriptor: PropertyDescriptor) {\r\n\t\tconst originalFunction = descriptor.value;\r\n\r\n\t\tdescriptor.value = function (...args: any[]) {\r\n\t\t\treturn runInInjectionContext((<any>this).injector, () => {\r\n\t\t\t\tconst httpClient: HttpClient = (<any>this).httpClient;\r\n\t\t\t\tconst api: APIs = remoteAPI ?? (<any>this).baseAPI;\r\n\t\t\t\tconst endPoint: string = api + '/' + serviceURL;\r\n\t\t\t\tconst request = getRequest(httpMethod, originalFunction, args);\r\n\t\t\t\tconst states: ServiceCallStateMap<any> = (<any>this).states;\r\n\t\t\t\tconst messageService = inject(MessageService);\r\n\r\n\t\t\t\tcallState(states, serviceName);\r\n\r\n\t\t\t\tlet observable: Observable<any> = new Observable<any>();\r\n\r\n\t\t\t\tswitch (httpMethod) {\r\n\t\t\t\t\tcase HTTPMethods.GET:\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(endPoint, { params: request as HttpParams, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.POST:\r\n\t\t\t\t\t\tobservable = httpClient.post<any>(endPoint, args[0], { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.PUT:\r\n\t\t\t\t\t\tobservable = httpClient.put<any>(endPoint + '/' + args[0], request, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETE:\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(endPoint + '/' + args[0], { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tobservable = observable.pipe(\r\n\t\t\t\t\tmap((response) => new ServiceResponse(request, response, proxy)),\r\n\t\t\t\t\ttap(() => successState(states, serviceName)),\r\n\t\t\t\t\tcatchError((error: HttpErrorResponse) => {\r\n\t\t\t\t\t\terrorState(states, serviceName);\r\n\t\t\t\t\t\tconsole.error(error);\r\n\t\t\t\t\t\tmessageService.add({ key: 'toast-root', severity: 'error', summary: 'Error', detail: error.error });\r\n\t\t\t\t\t\treturn of(new ErrorResponse(error));\r\n\t\t\t\t\t}),\r\n\t\t\t\t\ttakeUntilDestroyed()\r\n\t\t\t\t);\r\n\r\n\t\t\t\treturn observable;\r\n\t\t\t});\r\n\t\t};\r\n\t};\r\n}\r\n\r\nexport function ServiceCallMock(httpMethod: HTTPMethods, proxy: ProxyTypes, serviceURL: string, mockAPI: string) {\r\n\treturn ServiceCall(httpMethod, proxy, serviceURL, <APIs>mockAPI);\r\n}\r\n\r\nfunction getRequest(\r\n\thttpMethod: HTTPMethods,\r\n\tfn: () => any,\r\n\targs: any[]\r\n): HttpParams | Interfaces.MapStringString | undefined {\r\n\tif (args.length) {\r\n\t\tconst source = fn.toString();\r\n\t\tconst match = source.match(/\\((.*?)\\)/);\r\n\t\tconst paramNames = match ? match[1].split(',').map((param) => param.trim()) : [];\r\n\r\n\t\tif (httpMethod === HTTPMethods.GET) {\r\n\t\t\tlet queryParams = new HttpParams();\r\n\r\n\t\t\tparamNames.forEach((paramName, index) => {\r\n\t\t\t\tqueryParams = queryParams.append(paramName, args[index]);\r\n\t\t\t});\r\n\t\t\treturn queryParams;\r\n\t\t} else {\r\n\t\t\tconst params: Interfaces.MapStringString = {};\r\n\r\n\t\t\targs.forEach((arg, index) => {\r\n\t\t\t\tparams[paramNames[index]] = arg;\r\n\t\t\t});\r\n\r\n\t\t\treturn params;\r\n\t\t}\r\n\t} else return undefined;\r\n}\r\n","/* lib */\nexport * from './lib/enums';\nexport * from './lib/interfaces';\n\n/* src */\nexport * from './src/httpClient';\nexport * from './src/serviceBase';\nexport * from './src/serviceStateMethods';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, isDevMode, NgModule } from '@angular/core';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { provideTransloco, provideTranslocoScope, TranslocoModule } from '@ngneat/transloco';
5
+
6
+ const i18nRootFileUrl = new InjectionToken('BaseUrl');
7
+
8
+ class TranslocoHttpLoader {
9
+ constructor() {
10
+ this.http = inject(HttpClient);
11
+ this.folderUrl = inject(i18nRootFileUrl);
12
+ }
13
+ getTranslation(lang) {
14
+ return this.http.get(`./assets/${this.folderUrl}/i18n/${lang}.json`);
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TranslocoHttpLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TranslocoHttpLoader, providedIn: 'root' }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TranslocoHttpLoader, decorators: [{
20
+ type: Injectable,
21
+ args: [{ providedIn: 'root' }]
22
+ }] });
23
+
24
+ const i18nProvider = () => {
25
+ return provideTransloco({
26
+ config: {
27
+ availableLangs: ['tr', 'en'],
28
+ defaultLang: 'tr',
29
+ fallbackLang: 'tr',
30
+ reRenderOnLangChange: true,
31
+ prodMode: !isDevMode()
32
+ },
33
+ loader: TranslocoHttpLoader
34
+ });
35
+ };
36
+
37
+ const languages = ['tr', 'en'];
38
+ /**
39
+ * @param loader `(lang: string) => import(`./i18n/${lang}.json`)` to create a relative import to the correct dir
40
+ */
41
+ function i18nLoaderFactory(loader) {
42
+ return languages.reduce((acc, lang) => {
43
+ acc[lang] = () => loader(lang);
44
+ return acc;
45
+ }, {});
46
+ }
47
+ const providei18nScope = (scopeName, loader) => {
48
+ return provideTranslocoScope({
49
+ scope: scopeName,
50
+ loader: i18nLoaderFactory(loader)
51
+ });
52
+ };
53
+
54
+ class i18nModule {
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: i18nModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
56
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: i18nModule, exports: [TranslocoModule] }); }
57
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: i18nModule, providers: [i18nProvider()], imports: [TranslocoModule] }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: i18nModule, decorators: [{
60
+ type: NgModule,
61
+ args: [{
62
+ exports: [TranslocoModule],
63
+ providers: [i18nProvider()]
64
+ }]
65
+ }] });
66
+
67
+ /**
68
+ * Generated bundle index. Do not edit.
69
+ */
70
+
71
+ export { TranslocoHttpLoader, i18nLoaderFactory, i18nModule, i18nProvider, i18nRootFileUrl, providei18nScope };
72
+ //# sourceMappingURL=aril-i18n.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aril-i18n.mjs","sources":["../../projects/aril/i18n/src/file-url-token.ts","../../projects/aril/i18n/src/loader.ts","../../projects/aril/i18n/src/provideI18n.ts","../../projects/aril/i18n/src/provideScope.ts","../../projects/aril/i18n/src/i18n.module.ts","../../projects/aril/i18n/aril-i18n.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport const i18nRootFileUrl = new InjectionToken<string>('BaseUrl');\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Translation, TranslocoLoader } from '@ngneat/transloco';\r\nimport { i18nRootFileUrl } from './file-url-token';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TranslocoHttpLoader implements TranslocoLoader {\r\n\tprivate http = inject(HttpClient);\r\n\tprivate folderUrl = inject(i18nRootFileUrl);\r\n\r\n\tgetTranslation(lang: string) {\r\n\t\treturn this.http.get<Translation>(`./assets/${this.folderUrl}/i18n/${lang}.json`);\r\n\t}\r\n}\r\n","import { EnvironmentProviders, isDevMode } from '@angular/core';\r\nimport { provideTransloco } from '@ngneat/transloco';\r\n\r\nimport { TranslocoHttpLoader } from './loader';\r\n\r\nexport const i18nProvider = (): EnvironmentProviders[] => {\r\n\treturn provideTransloco({\r\n\t\tconfig: {\r\n\t\t\tavailableLangs: ['tr', 'en'],\r\n\t\t\tdefaultLang: 'tr',\r\n\t\t\tfallbackLang: 'tr',\r\n\t\t\treRenderOnLangChange: true,\r\n\t\t\tprodMode: !isDevMode()\r\n\t\t},\r\n\t\tloader: TranslocoHttpLoader\r\n\t});\r\n};\r\n","import { provideTranslocoScope } from '@ngneat/transloco';\r\n\r\nconst languages = ['tr', 'en'];\r\n\r\n/**\r\n * @param loader `(lang: string) => import(`./i18n/${lang}.json`)` to create a relative import to the correct dir\r\n */\r\nexport function i18nLoaderFactory(loader: (lang: string) => Promise<any>) {\r\n\treturn languages.reduce((acc: any, lang) => {\r\n\t\tacc[lang] = () => loader(lang);\r\n\t\treturn acc;\r\n\t}, {});\r\n}\r\n\r\nexport const providei18nScope = (scopeName: string, loader: (lang: string) => Promise<any>) => {\r\n\treturn provideTranslocoScope({\r\n\t\tscope: scopeName,\r\n\t\tloader: i18nLoaderFactory(loader)\r\n\t});\r\n};\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\n\r\nimport { i18nProvider } from './provideI18n';\r\n\r\n@NgModule({\r\n\texports: [TranslocoModule],\r\n\tproviders: [i18nProvider()]\r\n})\r\nexport class i18nModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,28 +1,22 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
+ import { input, Component, ChangeDetectionStrategy } from '@angular/core';
3
3
  import * as i1 from 'primeng/tag';
4
4
  import { TagModule } from 'primeng/tag';
5
5
 
6
- /* TODO :
7
- 1. InputSignal
8
- */
9
6
  class BadgeComponent {
7
+ constructor() {
8
+ this.icon = input();
9
+ this.value = input();
10
+ this.severity = input.required();
11
+ this.rounded = input();
12
+ }
10
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: BadgeComponent, isStandalone: true, selector: "aril-badge", inputs: { icon: "icon", value: "value", severity: "severity", rounded: "rounded" }, ngImport: i0, template: "<p-tag [icon]=\"icon\" [value]=\"value\" [severity]=\"severity\" [rounded]=\"rounded\">\n\t<ng-content></ng-content>\n</p-tag>\n", dependencies: [{ kind: "ngmodule", type: TagModule }, { kind: "component", type: i1.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: BadgeComponent, isStandalone: true, selector: "aril-badge", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: true, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<p-tag [icon]=\"icon()\" [value]=\"value()\" [severity]=\"severity()\" [rounded]=\"rounded()\">\n\t<ng-content></ng-content>\n</p-tag>\n", dependencies: [{ kind: "ngmodule", type: TagModule }, { kind: "component", type: i1.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
15
  }
13
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BadgeComponent, decorators: [{
14
17
  type: Component,
15
- args: [{ standalone: true, selector: 'aril-badge', imports: [TagModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-tag [icon]=\"icon\" [value]=\"value\" [severity]=\"severity\" [rounded]=\"rounded\">\n\t<ng-content></ng-content>\n</p-tag>\n" }]
16
- }], propDecorators: { icon: [{
17
- type: Input
18
- }], value: [{
19
- type: Input
20
- }], severity: [{
21
- type: Input,
22
- args: [{ required: true }]
23
- }], rounded: [{
24
- type: Input
25
- }] } });
18
+ args: [{ standalone: true, selector: 'aril-badge', imports: [TagModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-tag [icon]=\"icon()\" [value]=\"value()\" [severity]=\"severity()\" [rounded]=\"rounded()\">\n\t<ng-content></ng-content>\n</p-tag>\n" }]
19
+ }] });
26
20
 
27
21
  /**
28
22
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"aril-ui-badge.mjs","sources":["../../projects/aril/ui/badge/src/badge.component.ts","../../projects/aril/ui/badge/src/badge.component.html","../../projects/aril/ui/badge/aril-ui-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { TagModule } from 'primeng/tag';\n\ntype Severity = 'primary' | 'success' | 'info' | 'warning' | 'danger';\n\n/* TODO : \n 1. InputSignal\n*/\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-badge',\n\ttemplateUrl: './badge.component.html',\n\timports: [TagModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BadgeComponent {\n\t@Input() icon!: string;\n\t@Input() value!: string;\n\t@Input({ required: true }) severity!: Severity;\n\t@Input() rounded!: boolean;\n}\n","<p-tag [icon]=\"icon\" [value]=\"value\" [severity]=\"severity\" [rounded]=\"rounded\">\n\t<ng-content></ng-content>\n</p-tag>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMA;;AAEE;MASW,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB3B,kIAGA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDWW,SAAS,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,GAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;iCACG,IAAI,EAAA,QAAA,EACN,YAAY,EAEb,OAAA,EAAA,CAAC,SAAS,CAAC,EAAA,eAAA,EACH,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kIAAA,EAAA,CAAA;8BAGtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACqB,QAAQ,EAAA,CAAA;sBAAlC,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAChB,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AErBP;;AAEG;;;;"}
1
+ {"version":3,"file":"aril-ui-badge.mjs","sources":["../../projects/aril/ui/badge/src/badge.component.ts","../../projects/aril/ui/badge/src/badge.component.html","../../projects/aril/ui/badge/aril-ui-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { TagModule } from 'primeng/tag';\n\ntype Severity = 'primary' | 'success' | 'info' | 'warning' | 'danger';\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-badge',\n\ttemplateUrl: './badge.component.html',\n\timports: [TagModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BadgeComponent {\n\ticon = input<string>();\n\tvalue = input<string>();\n\tseverity = input.required<Severity>();\n\trounded = input<boolean>();\n}\n","<p-tag [icon]=\"icon()\" [value]=\"value()\" [severity]=\"severity()\" [rounded]=\"rounded()\">\n\t<ng-content></ng-content>\n</p-tag>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAaa,cAAc,CAAA;AAP3B,IAAA,WAAA,GAAA;QAQC,IAAI,CAAA,IAAA,GAAG,KAAK,EAAU,CAAC;QACvB,IAAK,CAAA,KAAA,GAAG,KAAK,EAAU,CAAC;AACxB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAY,CAAC;QACtC,IAAO,CAAA,OAAA,GAAG,KAAK,EAAW,CAAC;AAC3B,KAAA;8GALY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,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,IAAA,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,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb3B,0IAGA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDOW,SAAS,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,GAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;iCACG,IAAI,EAAA,QAAA,EACN,YAAY,EAEb,OAAA,EAAA,CAAC,SAAS,CAAC,EAAA,eAAA,EACH,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0IAAA,EAAA,CAAA;;;AEXhD;;AAEG;;;;"}
@@ -1,51 +1,36 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, input } from '@angular/core';
2
+ import { input, EventEmitter, computed, Component, ChangeDetectionStrategy, Output } from '@angular/core';
3
3
  import * as i1 from 'primeng/button';
4
4
  import { ButtonModule } from 'primeng/button';
5
5
  import { iconTransform } from 'aril/ui/lib';
6
6
  import * as i1$1 from 'primeng/splitbutton';
7
7
  import { SplitButtonModule } from 'primeng/splitbutton';
8
8
 
9
- function colorTransform(color) {
10
- return `p-button-${color}`;
11
- }
12
9
  class ButtonComponent {
13
10
  constructor() {
14
- this.raised = true;
15
- this.size = 'md';
11
+ this.label = input();
12
+ this.loading = input(false);
13
+ this.disabled = input(false);
14
+ this.raised = input(true);
15
+ this.outlined = input(false);
16
+ this.badge = input();
17
+ this.size = input('md');
18
+ this.icon = input();
19
+ this.color = input.required();
16
20
  this.clickEvent = new EventEmitter();
17
- this.styleClass = '';
18
- }
19
- ngOnInit() {
20
- this.styleClass = `${this.raised ? `p-button-raised` : ''} ${this.outlined ? `p-button-outlined` : ''} ${this.size ? `p-button-${this.size}` : ''} ${this.color}`;
21
+ this._icon = computed(() => iconTransform(this.icon()));
22
+ this._color = computed(() => `p-button-${this.color()}`);
23
+ this._styleClass = computed(() => {
24
+ return `${this.raised() ? `p-button-raised` : ''} ${this.outlined() ? `p-button-outlined` : ''} ${this.size() ? `p-button-${this.size()}` : ''} ${this._color()}`;
25
+ });
21
26
  }
22
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.2", type: ButtonComponent, isStandalone: true, selector: "aril-button:not([click])", inputs: { label: "label", loading: "loading", disabled: "disabled", raised: "raised", outlined: "outlined", badge: "badge", size: "size", icon: ["icon", "icon", iconTransform], color: ["color", "color", colorTransform] }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<p-button\n\t[label]=\"label\"\n\t[badge]=\"badge\"\n\t[icon]=\"icon\"\n\ticonPos=\"left\"\n\t[disabled]=\"disabled\"\n\t[styleClass]=\"styleClass\"\n\t[loading]=\"loading\"\n\t(onClick)=\"clickEvent.emit($event)\">\n</p-button>\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "size", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: ButtonComponent, isStandalone: true, selector: "aril-button:not([click])", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<p-button\n\t[label]=\"label()\"\n\t[badge]=\"badge()\"\n\t[icon]=\"_icon()\"\n\ticonPos=\"left\"\n\t[disabled]=\"disabled()\"\n\t[styleClass]=\"_styleClass()\"\n\t[loading]=\"loading()\"\n\t(onClick)=\"clickEvent.emit()\">\n</p-button>\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "size", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
29
  }
25
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ButtonComponent, decorators: [{
26
31
  type: Component,
27
- args: [{ standalone: true, selector: 'aril-button:not([click])', imports: [ButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-button\n\t[label]=\"label\"\n\t[badge]=\"badge\"\n\t[icon]=\"icon\"\n\ticonPos=\"left\"\n\t[disabled]=\"disabled\"\n\t[styleClass]=\"styleClass\"\n\t[loading]=\"loading\"\n\t(onClick)=\"clickEvent.emit($event)\">\n</p-button>\n" }]
28
- }], propDecorators: { label: [{
29
- type: Input
30
- }], loading: [{
31
- type: Input
32
- }], disabled: [{
33
- type: Input
34
- }], raised: [{
35
- type: Input
36
- }], outlined: [{
37
- type: Input
38
- }], badge: [{
39
- type: Input
40
- }], size: [{
41
- type: Input
42
- }], icon: [{
43
- type: Input,
44
- args: [{ transform: iconTransform }]
45
- }], color: [{
46
- type: Input,
47
- args: [{ required: true, transform: colorTransform }]
48
- }], clickEvent: [{
32
+ args: [{ standalone: true, selector: 'aril-button:not([click])', imports: [ButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-button\n\t[label]=\"label()\"\n\t[badge]=\"badge()\"\n\t[icon]=\"_icon()\"\n\ticonPos=\"left\"\n\t[disabled]=\"disabled()\"\n\t[styleClass]=\"_styleClass()\"\n\t[loading]=\"loading()\"\n\t(onClick)=\"clickEvent.emit()\">\n</p-button>\n" }]
33
+ }], propDecorators: { clickEvent: [{
49
34
  type: Output
50
35
  }] } });
51
36
 
@@ -55,16 +40,16 @@ class SplitButtonComponent extends ButtonComponent {
55
40
  this.menu = input.required();
56
41
  }
57
42
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SplitButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: SplitButtonComponent, isStandalone: true, selector: "aril-split-button", inputs: { menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<p-splitButton [label]=\"label\" [icon]=\"icon\" [styleClass]=\"styleClass\" [model]=\"menu()\" [disabled]=\"disabled\">\n</p-splitButton>\n", dependencies: [{ kind: "ngmodule", type: SplitButtonModule }, { kind: "component", type: i1$1.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions", "buttonProps", "menuButtonProps"], outputs: ["onClick", "onDropdownClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: SplitButtonComponent, isStandalone: true, selector: "aril-split-button", inputs: { menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<p-splitButton [label]=\"label()\" [icon]=\"_icon()\" [styleClass]=\"_styleClass()\" [model]=\"menu()\" [disabled]=\"disabled()\">\n</p-splitButton>\n", dependencies: [{ kind: "ngmodule", type: SplitButtonModule }, { kind: "component", type: i1$1.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions", "buttonProps", "menuButtonProps"], outputs: ["onClick", "onDropdownClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
44
  }
60
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SplitButtonComponent, decorators: [{
61
46
  type: Component,
62
- args: [{ standalone: true, selector: 'aril-split-button', imports: [SplitButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-splitButton [label]=\"label\" [icon]=\"icon\" [styleClass]=\"styleClass\" [model]=\"menu()\" [disabled]=\"disabled\">\n</p-splitButton>\n" }]
47
+ args: [{ standalone: true, selector: 'aril-split-button', imports: [SplitButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-splitButton [label]=\"label()\" [icon]=\"_icon()\" [styleClass]=\"_styleClass()\" [model]=\"menu()\" [disabled]=\"disabled()\">\n</p-splitButton>\n" }]
63
48
  }] });
64
49
 
65
50
  /**
66
51
  * Generated bundle index. Do not edit.
67
52
  */
68
53
 
69
- export { ButtonComponent, SplitButtonComponent, colorTransform };
54
+ export { ButtonComponent, SplitButtonComponent };
70
55
  //# sourceMappingURL=aril-ui-button.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"aril-ui-button.mjs","sources":["../../projects/aril/ui/button/src/button.component.ts","../../projects/aril/ui/button/src/button.component.html","../../projects/aril/ui/button/src/split-button.component.ts","../../projects/aril/ui/button/src/split-button.component.html","../../projects/aril/ui/button/aril-ui-button.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nimport { ButtonModule } from 'primeng/button';\n\nimport { PrimeIcon, iconTransform } from 'aril/ui/lib';\n\n/* TODO : \n 1. InputSignal\n*/\n\ntype Size = 'sm' | 'md' | 'lg';\nexport type Colors = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'help' | 'danger';\n\nexport function colorTransform(color: Colors): string {\n\treturn `p-button-${color}`;\n}\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-button:not([click])',\n\ttemplateUrl: './button.component.html',\n\timports: [ButtonModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent implements OnInit {\n\t@Input() label!: string;\n\t@Input() loading!: boolean;\n\t@Input() disabled!: boolean;\n\t@Input() raised = true;\n\t@Input() outlined!: boolean;\n\t@Input() badge!: string;\n\t@Input() size: Size = 'md';\n\t@Input({ transform: iconTransform }) icon!: PrimeIcon;\n\t@Input({ required: true, transform: colorTransform }) color!: Colors;\n\n\t@Output() clickEvent: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n\tstyleClass = '';\n\n\tngOnInit() {\n\t\tthis.styleClass = `${this.raised ? `p-button-raised` : ''} ${this.outlined ? `p-button-outlined` : ''} ${this.size ? `p-button-${this.size}` : ''} ${this.color}`;\n\t}\n}\n","<p-button\n\t[label]=\"label\"\n\t[badge]=\"badge\"\n\t[icon]=\"icon\"\n\ticonPos=\"left\"\n\t[disabled]=\"disabled\"\n\t[styleClass]=\"styleClass\"\n\t[loading]=\"loading\"\n\t(onClick)=\"clickEvent.emit($event)\">\n</p-button>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { MenuItem } from 'primeng/api';\nimport { SplitButtonModule } from 'primeng/splitbutton';\n\nimport { ButtonComponent } from './button.component';\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-split-button',\n\ttemplateUrl: './split-button.component.html',\n\timports: [SplitButtonModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SplitButtonComponent extends ButtonComponent {\n\tmenu = input.required<MenuItem[]>();\n}\n","<p-splitButton [label]=\"label\" [icon]=\"icon\" [styleClass]=\"styleClass\" [model]=\"menu()\" [disabled]=\"disabled\">\n</p-splitButton>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"aril-ui-button.mjs","sources":["../../projects/aril/ui/button/src/button.component.ts","../../projects/aril/ui/button/src/button.component.html","../../projects/aril/ui/button/src/split-button.component.ts","../../projects/aril/ui/button/src/split-button.component.html","../../projects/aril/ui/button/aril-ui-button.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, EventEmitter, input, Output } from '@angular/core';\n\nimport { ButtonModule } from 'primeng/button';\n\nimport { PrimeIcon, iconTransform } from 'aril/ui/lib';\n\ntype Size = 'sm' | 'md' | 'lg';\nexport type Colors = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'help' | 'danger';\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-button:not([click])',\n\ttemplateUrl: './button.component.html',\n\timports: [ButtonModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n\tlabel = input<string>();\n\tloading = input<boolean>(false);\n\tdisabled = input<boolean>(false);\n\traised = input<boolean>(true);\n\toutlined = input<boolean>(false);\n\tbadge = input<string>();\n\tsize = input<Size>('md');\n\ticon = input<PrimeIcon>();\n\tcolor = input.required<Colors>();\n\n\t@Output() clickEvent: EventEmitter<never> = new EventEmitter<never>();\n\n\t_icon = computed(() => iconTransform(this.icon()!));\n\n\t_color = computed(() => `p-button-${this.color()}`);\n\n\t_styleClass = computed(() => {\n\t\treturn `${this.raised() ? `p-button-raised` : ''} ${this.outlined() ? `p-button-outlined` : ''} ${this.size() ? `p-button-${this.size()}` : ''} ${this._color()}`;\n\t});\n}\n","<p-button\n\t[label]=\"label()\"\n\t[badge]=\"badge()\"\n\t[icon]=\"_icon()\"\n\ticonPos=\"left\"\n\t[disabled]=\"disabled()\"\n\t[styleClass]=\"_styleClass()\"\n\t[loading]=\"loading()\"\n\t(onClick)=\"clickEvent.emit()\">\n</p-button>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { MenuItem } from 'primeng/api';\nimport { SplitButtonModule } from 'primeng/splitbutton';\n\nimport { ButtonComponent } from './button.component';\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-split-button',\n\ttemplateUrl: './split-button.component.html',\n\timports: [SplitButtonModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SplitButtonComponent extends ButtonComponent {\n\tmenu = input.required<MenuItem[]>();\n}\n","<p-splitButton [label]=\"label()\" [icon]=\"_icon()\" [styleClass]=\"_styleClass()\" [model]=\"menu()\" [disabled]=\"disabled()\">\n</p-splitButton>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
+ import { input, computed, Component } from '@angular/core';
3
3
  import * as i3 from '@angular/forms';
4
4
  import { ReactiveFormsModule } from '@angular/forms';
5
5
  import * as i4 from 'primeng/calendar';
@@ -12,44 +12,45 @@ import 'aril/util/primitive-extensions';
12
12
  import * as i1 from 'primeng/api';
13
13
 
14
14
  /* eslint-disable @typescript-eslint/no-explicit-any */
15
- /* TODOS
16
- 1. InputSignal
17
- 2. Adjust different color or background for weekends
15
+ /* TODO
16
+ 1. Adjust different color or background for weekends
17
+ 2. HostAttributeToken
18
18
  */
19
19
  class CalendarComponent extends BaseInputComponent {
20
20
  constructor(primeNgConfig) {
21
21
  super();
22
22
  this.primeNgConfig = primeNgConfig;
23
- this.disabledDates = [];
24
- this.view = 'date';
25
- this.selectionMode = 'single';
26
- this.dateFormat = 'dd/MM/yy';
27
- this.selectedDisabledDates = [];
28
- this.setLocale();
29
- }
30
- ngOnChanges(changes) {
31
- if (changes.minDate) {
32
- this.minJSDate = this.minDate.longToDate();
33
- }
34
- if (changes.maxDate) {
35
- this.maxJSDate = this.minDate.longToDate();
36
- }
37
- if (changes.disabledDates?.currentValue.length) {
38
- this.selectedDisabledDates = this.disabledDates.map((value) => value.longToDate());
39
- }
40
- if (changes.view) {
41
- switch (this.view) {
23
+ this.minDate = input();
24
+ this.maxDate = input();
25
+ this.inline = input(false);
26
+ this.showIcon = input(false);
27
+ this.showTime = input(false);
28
+ this.showWeek = input(false);
29
+ this.showSeconds = input(false);
30
+ this.disabledDates = input([]);
31
+ this.view = input('date');
32
+ this.selectionMode = input('single');
33
+ this.tabindex = input();
34
+ this._minJSDate = computed(() => {
35
+ return this.minDate()?.longToDate();
36
+ });
37
+ this._maxJSDate = computed(() => {
38
+ return this.maxDate()?.longToDate();
39
+ });
40
+ this._selectedDisabledDates = computed(() => {
41
+ return this.disabledDates()?.map((value) => value.longToDate());
42
+ });
43
+ this._dateFormat = computed(() => {
44
+ switch (this.view()) {
42
45
  case 'month':
43
- this.dateFormat = 'MM/yy';
44
- break;
46
+ return 'MM/yy';
45
47
  case 'year':
46
- this.dateFormat = 'yy';
47
- break;
48
+ return 'yy';
48
49
  default:
49
- this.dateFormat = 'dd/MM/yy';
50
- break;
50
+ return 'dd/MM/yy';
51
51
  }
52
- }
52
+ });
53
+ this.setLocale();
53
54
  }
54
55
  // isWeekend(date: any): boolean {
55
56
  // if (!date) {
@@ -88,34 +89,12 @@ class CalendarComponent extends BaseInputComponent {
88
89
  });
89
90
  }
90
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CalendarComponent, deps: [{ token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component }); }
91
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: CalendarComponent, isStandalone: true, selector: "aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]", inputs: { minDate: "minDate", maxDate: "maxDate", inline: "inline", showIcon: "showIcon", showTime: "showTime", showWeek: "showWeek", showSeconds: "showSeconds", disabledDates: "disabledDates", view: "view", selectionMode: "selectionMode", tabindex: "tabindex" }, usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<p-calendar\n\t[showIcon]=\"true\"\n\t[dateFormat]=\"dateFormat\"\n\t[showButtonBar]=\"true\"\n\t[minDate]=\"minJSDate\"\n\t[maxDate]=\"maxJSDate\"\n\t[tabindex]=\"tabindex\"\n\t[disabledDates]=\"selectedDisabledDates\"\n\t[selectionMode]=\"selectionMode\"\n\t[readonlyInput]=\"true\"\n\t[showTime]=\"showTime\"\n\t[showSeconds]=\"showSeconds\"\n\t[inline]=\"inline\"\n\t[showWeek]=\"showWeek\"\n\t[pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\n\t[tooltipOptions]=\"tooltipOptions\"\n\t[formControl]=\"ngControl.control\"\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\n\t<ng-template pTemplate=\"header\">\n\t\t<ng-content select=\"[calendarHeader]\"></ng-content>\n\t</ng-template>\n\t<ng-template pTemplate=\"footer\">\n\t\t<ng-content select=\"[calendarFooter]\"></ng-content>\n\t</ng-template>\n</p-calendar>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "pipe", type: InputErrorMessagePipe, name: "inputErrorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: CalendarComponent, isStandalone: true, selector: "aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]", inputs: { minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, showTime: { classPropertyName: "showTime", publicName: "showTime", isSignal: true, isRequired: false, transformFunction: null }, showWeek: { classPropertyName: "showWeek", publicName: "showWeek", isSignal: true, isRequired: false, transformFunction: null }, showSeconds: { classPropertyName: "showSeconds", publicName: "showSeconds", isSignal: true, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: true, isRequired: false, transformFunction: null }, view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<p-calendar\n\t[showIcon]=\"true\"\n\t[dateFormat]=\"_dateFormat()\"\n\t[showButtonBar]=\"true\"\n\t[minDate]=\"_minJSDate()\"\n\t[maxDate]=\"_maxJSDate()\"\n\t[tabindex]=\"tabindex()\"\n\t[disabledDates]=\"_selectedDisabledDates()\"\n\t[selectionMode]=\"selectionMode()\"\n\t[readonlyInput]=\"true\"\n\t[showTime]=\"showTime()\"\n\t[showSeconds]=\"showSeconds()\"\n\t[inline]=\"inline()\"\n\t[showWeek]=\"showWeek()\"\n\t[pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\n\t[tooltipOptions]=\"tooltipOptions\"\n\t[formControl]=\"ngControl.control\"\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\n\t<ng-template pTemplate=\"header\">\n\t\t<ng-content select=\"[calendarHeader]\"></ng-content>\n\t</ng-template>\n\t<ng-template pTemplate=\"footer\">\n\t\t<ng-content select=\"[calendarFooter]\"></ng-content>\n\t</ng-template>\n</p-calendar>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "pipe", type: InputErrorMessagePipe, name: "inputErrorMessage" }] }); }
92
93
  }
93
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CalendarComponent, decorators: [{
94
95
  type: Component,
95
- args: [{ standalone: true, selector: 'aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]', imports: [ReactiveFormsModule, CalendarModule, TooltipModule, InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-calendar\n\t[showIcon]=\"true\"\n\t[dateFormat]=\"dateFormat\"\n\t[showButtonBar]=\"true\"\n\t[minDate]=\"minJSDate\"\n\t[maxDate]=\"maxJSDate\"\n\t[tabindex]=\"tabindex\"\n\t[disabledDates]=\"selectedDisabledDates\"\n\t[selectionMode]=\"selectionMode\"\n\t[readonlyInput]=\"true\"\n\t[showTime]=\"showTime\"\n\t[showSeconds]=\"showSeconds\"\n\t[inline]=\"inline\"\n\t[showWeek]=\"showWeek\"\n\t[pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\n\t[tooltipOptions]=\"tooltipOptions\"\n\t[formControl]=\"ngControl.control\"\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\n\t<ng-template pTemplate=\"header\">\n\t\t<ng-content select=\"[calendarHeader]\"></ng-content>\n\t</ng-template>\n\t<ng-template pTemplate=\"footer\">\n\t\t<ng-content select=\"[calendarFooter]\"></ng-content>\n\t</ng-template>\n</p-calendar>\n" }]
96
- }], ctorParameters: () => [{ type: i1.PrimeNGConfig }], propDecorators: { minDate: [{
97
- type: Input
98
- }], maxDate: [{
99
- type: Input
100
- }], inline: [{
101
- type: Input
102
- }], showIcon: [{
103
- type: Input
104
- }], showTime: [{
105
- type: Input
106
- }], showWeek: [{
107
- type: Input
108
- }], showSeconds: [{
109
- type: Input
110
- }], disabledDates: [{
111
- type: Input
112
- }], view: [{
113
- type: Input
114
- }], selectionMode: [{
115
- type: Input
116
- }], tabindex: [{
117
- type: Input
118
- }] } });
96
+ args: [{ standalone: true, selector: 'aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]', imports: [ReactiveFormsModule, CalendarModule, TooltipModule, InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "<p-calendar\n\t[showIcon]=\"true\"\n\t[dateFormat]=\"_dateFormat()\"\n\t[showButtonBar]=\"true\"\n\t[minDate]=\"_minJSDate()\"\n\t[maxDate]=\"_maxJSDate()\"\n\t[tabindex]=\"tabindex()\"\n\t[disabledDates]=\"_selectedDisabledDates()\"\n\t[selectionMode]=\"selectionMode()\"\n\t[readonlyInput]=\"true\"\n\t[showTime]=\"showTime()\"\n\t[showSeconds]=\"showSeconds()\"\n\t[inline]=\"inline()\"\n\t[showWeek]=\"showWeek()\"\n\t[pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\n\t[tooltipOptions]=\"tooltipOptions\"\n\t[formControl]=\"ngControl.control\"\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\n\t<ng-template pTemplate=\"header\">\n\t\t<ng-content select=\"[calendarHeader]\"></ng-content>\n\t</ng-template>\n\t<ng-template pTemplate=\"footer\">\n\t\t<ng-content select=\"[calendarFooter]\"></ng-content>\n\t</ng-template>\n</p-calendar>\n" }]
97
+ }], ctorParameters: () => [{ type: i1.PrimeNGConfig }] });
119
98
 
120
99
  /**
121
100
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"aril-ui-calendar.mjs","sources":["../../projects/aril/ui/calendar/src/calendar.component.ts","../../projects/aril/ui/calendar/src/calendar.component.html","../../projects/aril/ui/calendar/aril-ui-calendar.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/* TODOS \n 1. InputSignal\n 2. Adjust different color or background for weekends\n*/\n\nimport { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { CalendarModule } from 'primeng/calendar';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { PrimeNGConfig } from 'primeng/api';\n\nimport { Types } from 'aril/util/lib';\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\nimport 'aril/util/primitive-extensions';\n\ntype View = 'date' | 'month' | 'year';\ntype SelectionMode = 'single' | 'multiple' | 'range';\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]',\n\ttemplateUrl: './calendar.component.html',\n\timports: [ReactiveFormsModule, CalendarModule, TooltipModule, InputErrorMessagePipe],\n\thostDirectives: [ValueAccessorDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CalendarComponent extends BaseInputComponent implements OnChanges {\n\tconstructor(private primeNgConfig: PrimeNGConfig) {\n\t\tsuper();\n\t\tthis.setLocale();\n\t}\n\n\t@Input() minDate!: number;\n\t@Input() maxDate!: number;\n\t@Input() inline!: boolean;\n\t@Input() showIcon!: boolean;\n\t@Input() showTime!: boolean;\n\t@Input() showWeek!: boolean;\n\t@Input() showSeconds!: boolean;\n\t@Input() disabledDates: number[] = [];\n\t@Input() view: View = 'date';\n\t@Input() selectionMode: SelectionMode = 'single';\n\t@Input() tabindex!: number;\n\n\tminJSDate!: Date;\n\tmaxJSDate!: Date;\n\tdateFormat = 'dd/MM/yy';\n\tselectedDisabledDates: Date[] = [];\n\n\tngOnChanges(changes: Types.NgChanges<CalendarComponent>): void {\n\t\tif (changes.minDate) {\n\t\t\tthis.minJSDate = this.minDate.longToDate() as Date;\n\t\t}\n\t\tif (changes.maxDate) {\n\t\t\tthis.maxJSDate = this.minDate.longToDate() as Date;\n\t\t}\n\t\tif (changes.disabledDates?.currentValue.length) {\n\t\t\tthis.selectedDisabledDates = this.disabledDates.map((value: number) => value.longToDate() as Date);\n\t\t}\n\t\tif (changes.view) {\n\t\t\tswitch (this.view) {\n\t\t\t\tcase 'month':\n\t\t\t\t\tthis.dateFormat = 'MM/yy';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'year':\n\t\t\t\t\tthis.dateFormat = 'yy';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.dateFormat = 'dd/MM/yy';\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// isWeekend(date: any): boolean {\n\t// if (!date) {\n\t// return false;\n\t// }\n\n\t// if (this.view == 'date') {\n\t// const dayOfWeek = date.getDay();\n\t// return dayOfWeek === 5 || dayOfWeek === 6;\n\t// }\n\t// }\n\n\tsetLocale() {\n\t\tthis.primeNgConfig.setTranslation({\n\t\t\tfirstDayOfWeek: 0,\n\t\t\tdayNames: ['Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi', 'Pazar'],\n\t\t\tdayNamesMin: ['Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt', 'Pzr'],\n\t\t\tdayNamesShort: ['Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt', 'Pzr'],\n\t\t\tmonthNames: [\n\t\t\t\t'Ocak',\n\t\t\t\t'Şubat',\n\t\t\t\t'Mart',\n\t\t\t\t'Nisan',\n\t\t\t\t'Mayıs',\n\t\t\t\t'Haziran',\n\t\t\t\t'Temmuz',\n\t\t\t\t'Ağustos',\n\t\t\t\t'Eylül',\n\t\t\t\t'Ekim',\n\t\t\t\t'Kasım',\n\t\t\t\t'Aralık'\n\t\t\t],\n\t\t\tmonthNamesShort: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],\n\t\t\ttoday: 'Bugün',\n\t\t\tclear: 'Temizle',\n\t\t\tdateFormat: 'dd/mm/yy',\n\t\t\tweekHeader: 'Hafta'\n\t\t});\n\t}\n}\n","<p-calendar\n\t[showIcon]=\"true\"\n\t[dateFormat]=\"dateFormat\"\n\t[showButtonBar]=\"true\"\n\t[minDate]=\"minJSDate\"\n\t[maxDate]=\"maxJSDate\"\n\t[tabindex]=\"tabindex\"\n\t[disabledDates]=\"selectedDisabledDates\"\n\t[selectionMode]=\"selectionMode\"\n\t[readonlyInput]=\"true\"\n\t[showTime]=\"showTime\"\n\t[showSeconds]=\"showSeconds\"\n\t[inline]=\"inline\"\n\t[showWeek]=\"showWeek\"\n\t[pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\n\t[tooltipOptions]=\"tooltipOptions\"\n\t[formControl]=\"ngControl.control\"\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\n\t<ng-template pTemplate=\"header\">\n\t\t<ng-content select=\"[calendarHeader]\"></ng-content>\n\t</ng-template>\n\t<ng-template pTemplate=\"footer\">\n\t\t<ng-content select=\"[calendarFooter]\"></ng-content>\n\t</ng-template>\n</p-calendar>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aril-ui-calendar.mjs","sources":["../../projects/aril/ui/calendar/src/calendar.component.ts","../../projects/aril/ui/calendar/src/calendar.component.html","../../projects/aril/ui/calendar/aril-ui-calendar.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/* TODO\n 1. Adjust different color or background for weekends\n\t\t2. HostAttributeToken\n*/\n\nimport { Component, computed, input } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { CalendarModule } from 'primeng/calendar';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { PrimeNGConfig } from 'primeng/api';\n\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\nimport 'aril/util/primitive-extensions';\n\ntype View = 'date' | 'month' | 'year';\ntype SelectionMode = 'single' | 'multiple' | 'range';\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]',\n\ttemplateUrl: './calendar.component.html',\n\timports: [ReactiveFormsModule, CalendarModule, TooltipModule, InputErrorMessagePipe],\n\thostDirectives: [ValueAccessorDirective]\n})\nexport class CalendarComponent extends BaseInputComponent {\n\tconstructor(private primeNgConfig: PrimeNGConfig) {\n\t\tsuper();\n\t\tthis.setLocale();\n\t}\n\n\tminDate = input<number>();\n\tmaxDate = input<number>();\n\tinline = input<boolean>(false);\n\tshowIcon = input<boolean>(false);\n\tshowTime = input<boolean>(false);\n\tshowWeek = input<boolean>(false);\n\tshowSeconds = input<boolean>(false);\n\tdisabledDates = input<number[]>([]);\n\tview = input<View>('date');\n\tselectionMode = input<SelectionMode>('single');\n\ttabindex = input<number>();\n\n\t_minJSDate = computed(() => {\n\t\treturn this.minDate()?.longToDate() as Date;\n\t});\n\n\t_maxJSDate = computed(() => {\n\t\treturn this.maxDate()?.longToDate() as Date;\n\t});\n\n\t_selectedDisabledDates = computed(() => {\n\t\treturn this.disabledDates()?.map((value: number) => value.longToDate() as Date);\n\t});\n\n\t_dateFormat = computed(() => {\n\t\tswitch (this.view()) {\n\t\t\tcase 'month':\n\t\t\t\treturn 'MM/yy';\n\t\t\tcase 'year':\n\t\t\t\treturn 'yy';\n\t\t\tdefault:\n\t\t\t\treturn 'dd/MM/yy';\n\t\t}\n\t});\n\n\t// isWeekend(date: any): boolean {\n\t// if (!date) {\n\t// return false;\n\t// }\n\n\t// if (this.view == 'date') {\n\t// const dayOfWeek = date.getDay();\n\t// return dayOfWeek === 5 || dayOfWeek === 6;\n\t// }\n\t// }\n\n\tsetLocale() {\n\t\tthis.primeNgConfig.setTranslation({\n\t\t\tfirstDayOfWeek: 0,\n\t\t\tdayNames: ['Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi', 'Pazar'],\n\t\t\tdayNamesMin: ['Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt', 'Pzr'],\n\t\t\tdayNamesShort: ['Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt', 'Pzr'],\n\t\t\tmonthNames: [\n\t\t\t\t'Ocak',\n\t\t\t\t'Şubat',\n\t\t\t\t'Mart',\n\t\t\t\t'Nisan',\n\t\t\t\t'Mayıs',\n\t\t\t\t'Haziran',\n\t\t\t\t'Temmuz',\n\t\t\t\t'Ağustos',\n\t\t\t\t'Eylül',\n\t\t\t\t'Ekim',\n\t\t\t\t'Kasım',\n\t\t\t\t'Aralık'\n\t\t\t],\n\t\t\tmonthNamesShort: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],\n\t\t\ttoday: 'Bugün',\n\t\t\tclear: 'Temizle',\n\t\t\tdateFormat: 'dd/mm/yy',\n\t\t\tweekHeader: 'Hafta'\n\t\t});\n\t}\n}\n","<p-calendar\n\t[showIcon]=\"true\"\n\t[dateFormat]=\"_dateFormat()\"\n\t[showButtonBar]=\"true\"\n\t[minDate]=\"_minJSDate()\"\n\t[maxDate]=\"_maxJSDate()\"\n\t[tabindex]=\"tabindex()\"\n\t[disabledDates]=\"_selectedDisabledDates()\"\n\t[selectionMode]=\"selectionMode()\"\n\t[readonlyInput]=\"true\"\n\t[showTime]=\"showTime()\"\n\t[showSeconds]=\"showSeconds()\"\n\t[inline]=\"inline()\"\n\t[showWeek]=\"showWeek()\"\n\t[pTooltip]=\"ngControl.invalid ? (ngControl.control.value | inputErrorMessage: ngControl) : ''\"\n\t[tooltipOptions]=\"tooltipOptions\"\n\t[formControl]=\"ngControl.control\"\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\n\t<ng-template pTemplate=\"header\">\n\t\t<ng-content select=\"[calendarHeader]\"></ng-content>\n\t</ng-template>\n\t<ng-template pTemplate=\"footer\">\n\t\t<ng-content select=\"[calendarFooter]\"></ng-content>\n\t</ng-template>\n</p-calendar>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}