@xxmachina/components 19.35.0 → 19.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/fesm2022/xxmachina-components-extras-flow.mjs +6 -6
  2. package/fesm2022/xxmachina-components-extras-flow.mjs.map +1 -1
  3. package/fesm2022/xxmachina-components-features-command.mjs.map +1 -1
  4. package/fesm2022/xxmachina-components-features-query.mjs +3 -3
  5. package/fesm2022/xxmachina-components-features-query.mjs.map +1 -1
  6. package/fesm2022/xxmachina-components-groups-command-form.mjs.map +1 -1
  7. package/fesm2022/xxmachina-components-groups-query-form.mjs.map +1 -1
  8. package/fesm2022/xxmachina-components-molecules-daily-cell.mjs.map +1 -1
  9. package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +2 -2
  10. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +2 -2
  11. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs.map +1 -1
  12. package/fesm2022/xxmachina-components-organisms-event-input-section.mjs.map +1 -1
  13. package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs.map +1 -1
  14. package/fesm2022/xxmachina-components-pages-command.mjs +2 -2
  15. package/fesm2022/xxmachina-components-pages-command.mjs.map +1 -1
  16. package/fesm2022/xxmachina-components-pages-query-v2.mjs.map +1 -1
  17. package/fesm2022/xxmachina-components-pages-query.mjs +3 -3
  18. package/fesm2022/xxmachina-components-pages-query.mjs.map +1 -1
  19. package/fesm2022/xxmachina-components-pages-thread.mjs +2 -2
  20. package/fesm2022/xxmachina-components-routes-commands.mjs.map +1 -1
  21. package/fesm2022/xxmachina-components-routes-pages.mjs.map +1 -1
  22. package/fesm2022/xxmachina-components-routes-queries.mjs.map +1 -1
  23. package/fesm2022/xxmachina-components-routes-query.mjs.map +1 -1
  24. package/fesm2022/xxmachina-components-routes-resources-resource.routes-CkkmqB2_.mjs.map +1 -1
  25. package/fesm2022/xxmachina-components-routes-resources.mjs.map +1 -1
  26. package/fesm2022/xxmachina-components-routes-transformers.mjs +1 -0
  27. package/fesm2022/xxmachina-components-routes-transformers.mjs.map +1 -1
  28. package/fesm2022/xxmachina-components-services-command.mjs +1 -1
  29. package/fesm2022/xxmachina-components-services-command.mjs.map +1 -1
  30. package/fesm2022/xxmachina-components-services-forms-query.mjs +5 -5
  31. package/fesm2022/xxmachina-components-services-forms-query.mjs.map +1 -1
  32. package/fesm2022/xxmachina-components-services-forms-schedule.mjs.map +1 -1
  33. package/fesm2022/xxmachina-components-services-invoice.mjs.map +1 -1
  34. package/fesm2022/xxmachina-components-services-openai.mjs.map +1 -1
  35. package/fesm2022/xxmachina-components-services-openapi.mjs.map +1 -1
  36. package/fesm2022/xxmachina-components-services-query.mjs +1 -1
  37. package/fesm2022/xxmachina-components-services-query.mjs.map +1 -1
  38. package/fesm2022/xxmachina-components-services-recording.mjs.map +1 -1
  39. package/fesm2022/xxmachina-components-services-thread.mjs +6 -6
  40. package/fesm2022/xxmachina-components-services-thread.mjs.map +1 -1
  41. package/fesm2022/xxmachina-components-services-transformer.mjs +1 -1
  42. package/fesm2022/xxmachina-components-services-transformer.mjs.map +1 -1
  43. package/fesm2022/xxmachina-components-templates-agent.mjs +2 -2
  44. package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs.map +1 -1
  45. package/fesm2022/xxmachina-components-templates-scheduler.mjs +2 -2
  46. package/fesm2022/xxmachina-components-templates-scheduler.mjs.map +1 -1
  47. package/fesm2022/xxmachina-components-validators-query.mjs +2 -2
  48. package/fesm2022/xxmachina-components-validators-query.mjs.map +1 -1
  49. package/fesm2022/xxmachina-components.mjs +5 -4
  50. package/fesm2022/xxmachina-components.mjs.map +1 -1
  51. package/package.json +1 -1
  52. package/types/xxmachina-components-extras-flow.d.ts +70 -70
  53. package/types/xxmachina-components-features-command.d.ts +3 -3
  54. package/types/xxmachina-components-features-query.d.ts +32 -32
  55. package/types/xxmachina-components-groups-command-form.d.ts +2 -2
  56. package/types/xxmachina-components-groups-query-form.d.ts +20 -20
  57. package/types/xxmachina-components-organisms-event-input-section.d.ts +3 -3
  58. package/types/xxmachina-components-organisms-terminal-input-section.d.ts +2 -2
  59. package/types/xxmachina-components-organisms-video-trimmer-section.d.ts +3 -3
  60. package/types/xxmachina-components-organisms-xterm.d.ts +6 -6
  61. package/types/xxmachina-components-organisms-xterm.d.ts.map +1 -1
  62. package/types/xxmachina-components-pages-command.d.ts +6 -6
  63. package/types/xxmachina-components-pages-query.d.ts +11 -11
  64. package/types/xxmachina-components-pages-thread.d.ts +6 -6
  65. package/types/xxmachina-components-services-command.d.ts +3 -3
  66. package/types/xxmachina-components-services-forms-query.d.ts +9 -9
  67. package/types/xxmachina-components-services-forms-schedule.d.ts +12 -12
  68. package/types/xxmachina-components-services-link.d.ts +1 -1
  69. package/types/xxmachina-components-services-message.d.ts +1 -1
  70. package/types/xxmachina-components-services-openai.d.ts +2 -2
  71. package/types/xxmachina-components-services-query.d.ts +1 -2
  72. package/types/xxmachina-components-services-query.d.ts.map +1 -1
  73. package/types/xxmachina-components-services-recording.d.ts +3 -3
  74. package/types/xxmachina-components-templates-agent.d.ts +2 -2
  75. package/types/xxmachina-components-templates-flow-nodes-group.d.ts +1 -1
  76. package/types/xxmachina-components-templates-flow.d.ts +2 -2
  77. package/types/xxmachina-components-templates-invoice-iframe.d.ts +1 -1
  78. package/types/xxmachina-components-templates-video.d.ts +9 -9
  79. package/types/xxmachina-components.d.ts +2 -2
  80. package/types/xxmachina-components.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-features-query.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/features/query/actions.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/update/update.feature.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/graphql/variables-form/variables-form.feature.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/resolvers/base/base.resolver.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/resolvers/graphql/graphql.resolver.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/query.feature.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/graphql/schema/schema.feature.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/xxmachina-components-features-query.ts"],"sourcesContent":["export enum ActionId {\n クエリの実行 = 'クエリの実行',\n クエリの生成 = 'クエリの生成',\n クエリの更新 = 'クエリの更新',\n}\n","import { inject, Injectable, Provider } from \"@angular/core\";\nimport { injectEntityStore } from \"@ng-atomic/common/stores/entities\";\nimport { provideEffect } from \"@ng-atomic/core\";\nimport { Query } from \"@xxmachina/common/domain\";\nimport { ActionId } from \"../actions\";\nimport { AppService } from \"@ng-atomic/common/services/app\";\nimport { QueryFeature } from \"../query.feature\";\n\n\n@Injectable()\nexport class QueryUpdateFeature {\n static provideUpdateQueryEffect(): Provider[] {\n return [\n provideEffect(ActionId.クエリの更新, () => {\n const feature = inject(QueryUpdateFeature);\n return () => feature.update();\n }),\n ];\n }\n\n protected readonly queryEntityStore = injectEntityStore(Query);\n protected readonly app = inject(AppService);\n protected readonly feature = inject(QueryFeature);\n\n update() {\n const value = this.feature.form.getRawValue();\n this.app.loading.await(() => {\n return this.queryEntityStore.save({\n ...value,\n projectId: 'default',\n summary: 'deprecated',\n type: 'graphql',\n createdAt: undefined,\n updatedAt: undefined,\n }).then(() => {\n this.app.snackBar.open('クエリを更新しました');\n }).catch((error) => {\n console.error(error);\n this.app.snackBar.open(`ERROR: ${error.message}`);\n });\n });\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { QueryFeature } from \"../../query.feature\";\nimport { combineLatest, filter, map, shareReplay } from \"rxjs\";\nimport { QueryHelper } from \"@xxmachina/common/domain\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { VariablesFromService } from \"@xxmachina/components/services/forms/variables\";\nimport { getRawValue$ } from \"@ng-atomic/common/utils\";\n\n@Injectable()\nexport class QueryGraphqlVariablesFormFeature {\n protected readonly feature = inject(QueryFeature);\n protected readonly variablesFromService = inject(VariablesFromService);\n\n protected readonly queryGraphqlVariables$ = this.feature.query$.pipe(\n map((query) => JSON.parse(query?.graphql?.variablesJson)),\n );\n protected readonly variablesValue$ = this.feature.query$.pipe(\n map((query) => query?.graphql?.variables ?? {}),\n shareReplay(1),\n );\n readonly variablesValue = toSignal(this.variablesValue$, {initialValue: {}});\n\n protected readonly variablesForm$ = this.variablesValue$.pipe(\n map((value) => this.variablesFromService.build(value)),\n shareReplay(1),\n );\n readonly variablesForm = toSignal(this.variablesForm$);\n readonly variablesFormValue$ = this.variablesForm$.pipe(\n map((form) => getRawValue$(form)),\n shareReplay(1),\n );\n\n constructor() {\n combineLatest({\n pre: this.queryGraphqlVariables$,\n current: this.variablesFormValue$,\n }).pipe(\n takeUntilDestroyed(),\n filter(({current}) => !!current),\n map(({current, pre}) => ({ pre, next: QueryHelper.overwrite(current, pre) })),\n filter(({pre, next}) => JSON.stringify(pre) !== JSON.stringify(next)),\n shareReplay(1),\n ).subscribe((mergedVariables) => {\n this.feature.form.get(['graphql', 'variablesJson']).setValue(JSON.stringify(mergedVariables, null, 2));\n });\n }\n}\n","import { InjectionToken, Provider, Type } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Query } from '@xxmachina/common/domain/models';\n\nexport interface QueryResult {\n [key: string]: any[];\n}\n\nexport interface QueryResolver {\n /**\n * このResolverが指定されたクエリを処理できるか判定\n */\n canResolve(query: Query): boolean;\n\n /**\n * データを取得・購読(Resolver内部でquery/subscriptionを判定)\n */\n resolve(query: Query): Observable<QueryResult>;\n}\n\nexport const QUERY_RESOLVERS = new InjectionToken<QueryResolver[]>('QUERY_RESOLVERS');\n\n/**\n * QueryResolverを登録する(multi: trueパターン)\n *\n * @example\n * // app.config.ts\n * providers: [\n * provideQueryResolver(GraphqlResolver),\n * provideQueryResolver(MachinaResolver),\n * provideQueryResolver(HttpResolver),\n * ]\n */\nexport function provideQueryResolver(resolver: Type<QueryResolver>): Provider[] {\n return [\n resolver,\n { provide: QUERY_RESOLVERS, useExisting: resolver, multi: true },\n ];\n}\n","import { Injectable, inject } from '@angular/core';\nimport { QueryService } from '@xxmachina/common/services/query';\nimport { Query } from '@xxmachina/common/domain/models';\nimport { QueryResolver, QueryResult } from '../base';\nimport { Observable } from 'rxjs';\n\n/**\n * GraphQLクエリ文字列がquery型かどうかを判定\n * subscription型以外はquery型として扱う\n */\nexport function isQuery(query: string): boolean {\n const queryString = query || '';\n const isQuery = /^\\s*(query|{)/i.test(queryString.trim());\n return isQuery;\n}\n\n@Injectable()\nexport class GraphqlResolver implements QueryResolver {\n private readonly queryService = inject(QueryService);\n\n canResolve(query: Query): boolean {\n return query?.type === 'graphql' || !!query?.graphql?.query;\n }\n\n resolve(query: Query): Observable<QueryResult> {\n // GraphQL固有のquery/subscription判定はResolver内部で行う\n return isQuery(query.graphql?.query)\n ? this.queryService.query(query)\n : this.queryService.subscribe(query);\n }\n}\n","import { DestroyRef, inject, Injectable, Provider } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { AuthService } from '@xxmachina/common/auth';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { QueryFormService } from '@xxmachina/components/services/forms/query';\nimport { QueryService } from '@xxmachina/common/services/query';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { injectEntityStore } from '@ng-atomic/common/stores/entities';\nimport { getValue$ } from '@ng-atomic/common/utils';\nimport { EditingStateManager, pauseWhenEditing } from '@ng-atomic/common';\nimport { provideEffect } from '@ng-atomic/core';\nimport { isEqual } from 'lodash-es';\nimport { catchError, debounceTime, distinctUntilChanged, filter, map, of, ReplaySubject, shareReplay, switchMap, take } from 'rxjs';\nimport dayjs from 'dayjs';\nimport { QueryUpdateFeature } from './update';\nimport { ActionId } from './actions';\nimport { QueryGraphqlSchemaFeature } from './graphql/schema';\nimport { QueryGraphqlVariablesFormFeature } from './graphql/variables-form';\nimport { QUERY_RESOLVERS, QueryResolver, isQuery } from './resolvers';\n\n@Injectable()\nexport class QueryFeature {\n static readonly ActionId = ActionId;\n\n static provideDefault(): Provider[] {\n return [\n QueryFeature,\n QueryGraphqlSchemaFeature,\n QueryGraphqlVariablesFormFeature,\n QueryUpdateFeature,\n ];\n }\n\n static provideDefaultEffects(): Provider[] {\n return [\n QueryFeature.provideExecuteQueryEffect(),\n QueryFeature.provideGenerateQueryEffect(),\n QueryUpdateFeature.provideUpdateQueryEffect(),\n ]\n }\n\n static provideExecuteQueryEffect() {\n return provideEffect(ActionId.クエリの実行, () => {\n const feature = inject(QueryFeature);\n const app = inject(AppService);\n const entityStore = injectEntityStore(Query);\n return () => {\n const value = feature.form.getRawValue();\n app.loading.await(() => entityStore.create({\n ...value,\n id: undefined,\n type: 'graphql',\n projectId: 'default',\n title: dayjs().toISOString(),\n summary: 'クエリの実行',\n createdAt: null,\n updatedAt: null,\n }), 'progress');\n feature.refresh();\n }\n });\n }\n\n static provideGenerateQueryEffect(): Provider {\n return provideEffect(ActionId.クエリの生成, () => {\n return () => {};\n });\n }\n\n protected readonly app = inject(AppService);\n protected readonly auth = inject(AuthService);\n protected readonly service = inject(QueryService);\n protected readonly editingStateManager = inject(EditingStateManager);\n // multi: trueで登録されたResolver配列(オプショナル)\n protected readonly resolvers = inject(QUERY_RESOLVERS, { optional: true }) ?? [];\n readonly form = inject(QueryFormService).build();\n\n protected readonly refresh$ = new ReplaySubject<void>();\n protected readonly formValue$ = getValue$(this.form).pipe(shareReplay(1));\n readonly formValue = toSignal(this.formValue$);\n\n readonly query$ = this.formValue$.pipe(\n map((query) => QueryFormService.parse(query)),\n shareReplay(1),\n );\n readonly query = toSignal(this.query$);\n\n readonly destroyRef = inject(DestroyRef);\n readonly result$ = this.refresh$.pipe(\n takeUntilDestroyed(),\n // まずqueryを取得\n switchMap(() => this.query$.pipe(\n filter((query) => {\n // Resolverがある場合はResolverのcanResolveで判定\n const resolver = this.resolvers.find(r => r.canResolve(query));\n return resolver ? true : QueryHelper.validate(query);\n }),\n shareReplay(1),\n take(1)\n )),\n // Resolverがない場合のみ認証を待つ\n switchMap((query) => {\n const resolver = this.resolvers.find(r => r.canResolve(query));\n if (resolver) {\n // Resolverがある場合は認証不要(WebRTC等の独自認証)\n return of(query);\n }\n // GraphQL等は認証を待つ\n return this.auth.accessToken$.pipe(\n filter(accessToken => !!accessToken),\n map(() => query),\n );\n }),\n distinctUntilChanged((a, b) => isEqual(a, b)),\n debounceTime(500),\n this.app.loading.switchMap((query) => this.executeQuery(query), 'progress'),\n filter((result) => !!result),\n // Pause data updates when editing\n pauseWhenEditing(this.editingStateManager),\n shareReplay(1),\n );\n readonly result = toSignal<Record<string, any[]> & Record<`${string}Length`, number> & { __meta__?: { title?: string } & any }>(this.result$);\n\n constructor() {\n this.form.get(['graphql', 'variablesJson']).valueChanges.pipe(\n takeUntilDestroyed(),\n debounceTime(300),\n distinctUntilChanged(isEqual),\n ).subscribe(() => this.refresh());\n }\n\n refresh(): void {\n this.refresh$.next();\n }\n\n protected executeQuery(query: Query) {\n const resolver = this.resolvers.find(r => r.canResolve(query));\n const source$ = resolver\n ? resolver.resolve(query)\n : isQuery(query.graphql?.query) ? this.service.query(query) : this.service.subscribe(query);\n\n return source$.pipe(\n takeUntilDestroyed(this.destroyRef),\n catchError(error => {\n this.app.snackBar.openError(error);\n console.error(error);\n return of(null);\n }),\n );\n }\n}\n","import { inject, Injectable, Provider } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { QueryHelper } from \"@xxmachina/common/domain/models\";\nimport { QueryService } from \"@xxmachina/common/services/query\";\nimport { isEqual } from \"lodash-es\";\nimport { catchError, debounceTime, distinctUntilChanged, filter, NEVER, switchMap } from \"rxjs\";\nimport { QueryFeature } from \"../../query.feature\";\n\n\n@Injectable()\nexport class QueryGraphqlSchemaFeature {\n protected readonly feature = inject(QueryFeature);\n protected readonly service = inject(QueryService);\n\n protected readonly graphqlSchema$ = this.feature.query$.pipe(\n debounceTime(300),\n filter(query => QueryHelper.isExecutableGetSchemaGraphql(query)),\n switchMap((query) => this.service.getSchema(query).pipe(\n catchError(error => (console.error('[QueryFeature] error', error), NEVER)),\n )),\n distinctUntilChanged((a, b) => isEqual(a, b)),\n );\n readonly graphqlSchema = toSignal(this.graphqlSchema$);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Query","QueryHelper"],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-features-query.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/features/query/actions.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/update/update.feature.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/graphql/variables-form/variables-form.feature.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/resolvers/base/base.resolver.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/resolvers/graphql/graphql.resolver.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/query.feature.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/graphql/schema/schema.feature.ts","../../../../../packages/@xxmachina/components/src/lib/features/query/xxmachina-components-features-query.ts"],"sourcesContent":["export enum ActionId {\n クエリの実行 = 'クエリの実行',\n クエリの生成 = 'クエリの生成',\n クエリの更新 = 'クエリの更新',\n}\n","import { inject, Injectable, Provider } from \"@angular/core\";\nimport { injectEntityStore } from \"@ng-atomic/common/stores/entities\";\nimport { provideEffect } from \"@ng-atomic/core\";\nimport { Query } from \"@xxmachina/common/domain\";\nimport { ActionId } from \"../actions\";\nimport { AppService } from \"@ng-atomic/common/services/app\";\nimport { QueryFeature } from \"../query.feature\";\n\n\n@Injectable()\nexport class QueryUpdateFeature {\n static provideUpdateQueryEffect(): Provider[] {\n return [\n provideEffect(ActionId.クエリの更新, () => {\n const feature = inject(QueryUpdateFeature);\n return () => feature.update();\n }),\n ];\n }\n\n protected readonly queryEntityStore = injectEntityStore(Query);\n protected readonly app = inject(AppService);\n protected readonly feature = inject(QueryFeature);\n\n update() {\n const value = this.feature.form.getRawValue();\n this.app.loading.await(() => {\n return this.queryEntityStore.save({\n ...value,\n projectId: 'default',\n summary: 'deprecated',\n type: 'graphql',\n createdAt: undefined as never,\n updatedAt: undefined as never,\n } as never).then(() => {\n this.app.snackBar.open('クエリを更新しました');\n }).catch((error) => {\n console.error(error);\n this.app.snackBar.open(`ERROR: ${error.message}`);\n });\n });\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { QueryFeature } from \"../../query.feature\";\nimport { combineLatest, filter, map, shareReplay } from \"rxjs\";\nimport { QueryHelper } from \"@xxmachina/common/domain\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { VariablesFromService } from \"@xxmachina/components/services/forms/variables\";\nimport { getRawValue$ } from \"@ng-atomic/common/utils\";\n\n@Injectable()\nexport class QueryGraphqlVariablesFormFeature {\n protected readonly feature = inject(QueryFeature);\n protected readonly variablesFromService = inject(VariablesFromService);\n\n protected readonly queryGraphqlVariables$ = this.feature.query$.pipe(\n map((query) => JSON.parse(query!.graphql!.variablesJson!)),\n );\n protected readonly variablesValue$ = this.feature.query$.pipe(\n map((query) => query?.graphql?.variables ?? {}),\n shareReplay(1),\n );\n readonly variablesValue = toSignal(this.variablesValue$, {initialValue: {}});\n\n protected readonly variablesForm$ = this.variablesValue$.pipe(\n map((value) => this.variablesFromService.build(value)),\n shareReplay(1),\n );\n readonly variablesForm = toSignal(this.variablesForm$);\n readonly variablesFormValue$ = this.variablesForm$.pipe(\n map((form) => getRawValue$(form)),\n shareReplay(1),\n );\n\n constructor() {\n combineLatest({\n pre: this.queryGraphqlVariables$,\n current: this.variablesFormValue$,\n }).pipe(\n takeUntilDestroyed(),\n filter(({current}) => !!current),\n map(({current, pre}) => ({ pre, next: QueryHelper.overwrite(current, pre) })),\n filter(({pre, next}) => JSON.stringify(pre) !== JSON.stringify(next)),\n shareReplay(1),\n ).subscribe((mergedVariables) => {\n this.feature.form.get(['graphql', 'variablesJson'])!.setValue(JSON.stringify(mergedVariables, null, 2));\n });\n }\n}\n","import { InjectionToken, Provider, Type } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Query } from '@xxmachina/common/domain/models';\n\nexport interface QueryResult {\n [key: string]: any[];\n}\n\nexport interface QueryResolver {\n /**\n * このResolverが指定されたクエリを処理できるか判定\n */\n canResolve(query: Query): boolean;\n\n /**\n * データを取得・購読(Resolver内部でquery/subscriptionを判定)\n */\n resolve(query: Query): Observable<QueryResult>;\n}\n\nexport const QUERY_RESOLVERS = new InjectionToken<QueryResolver[]>('QUERY_RESOLVERS');\n\n/**\n * QueryResolverを登録する(multi: trueパターン)\n *\n * @example\n * // app.config.ts\n * providers: [\n * provideQueryResolver(GraphqlResolver),\n * provideQueryResolver(MachinaResolver),\n * provideQueryResolver(HttpResolver),\n * ]\n */\nexport function provideQueryResolver(resolver: Type<QueryResolver>): Provider[] {\n return [\n resolver,\n { provide: QUERY_RESOLVERS, useExisting: resolver, multi: true },\n ];\n}\n","import { Injectable, inject } from '@angular/core';\nimport { QueryService } from '@xxmachina/common/services/query';\nimport { Query } from '@xxmachina/common/domain/models';\nimport { QueryResolver, QueryResult } from '../base';\nimport { Observable } from 'rxjs';\n\n/**\n * GraphQLクエリ文字列がquery型かどうかを判定\n * subscription型以外はquery型として扱う\n */\nexport function isQuery(query: string): boolean {\n const queryString = query || '';\n const isQuery = /^\\s*(query|{)/i.test(queryString.trim());\n return isQuery;\n}\n\n@Injectable()\nexport class GraphqlResolver implements QueryResolver {\n private readonly queryService = inject(QueryService);\n\n canResolve(query: Query): boolean {\n return query?.type === 'graphql' || !!query?.graphql?.query;\n }\n\n resolve(query: Query): Observable<QueryResult> {\n // GraphQL固有のquery/subscription判定はResolver内部で行う\n return isQuery(query.graphql!.query!)\n ? this.queryService.query(query)\n : this.queryService.subscribe(query);\n }\n}\n","import { DestroyRef, inject, Injectable, Provider } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { AuthService } from '@xxmachina/common/auth';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { QueryFormService } from '@xxmachina/components/services/forms/query';\nimport { QueryService } from '@xxmachina/common/services/query';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { injectEntityStore } from '@ng-atomic/common/stores/entities';\nimport { getValue$ } from '@ng-atomic/common/utils';\nimport { EditingStateManager, pauseWhenEditing } from '@ng-atomic/common';\nimport { provideEffect } from '@ng-atomic/core';\nimport { isEqual } from 'lodash-es';\nimport { catchError, debounceTime, distinctUntilChanged, filter, map, of, ReplaySubject, shareReplay, switchMap, take } from 'rxjs';\nimport dayjs from 'dayjs';\nimport { QueryUpdateFeature } from './update';\nimport { ActionId } from './actions';\nimport { QueryGraphqlSchemaFeature } from './graphql/schema';\nimport { QueryGraphqlVariablesFormFeature } from './graphql/variables-form';\nimport { QUERY_RESOLVERS, QueryResolver, isQuery } from './resolvers';\n\n@Injectable()\nexport class QueryFeature {\n static readonly ActionId = ActionId;\n\n static provideDefault(): Provider[] {\n return [\n QueryFeature,\n QueryGraphqlSchemaFeature,\n QueryGraphqlVariablesFormFeature,\n QueryUpdateFeature,\n ];\n }\n\n static provideDefaultEffects(): Provider[] {\n return [\n QueryFeature.provideExecuteQueryEffect(),\n QueryFeature.provideGenerateQueryEffect(),\n QueryUpdateFeature.provideUpdateQueryEffect(),\n ]\n }\n\n static provideExecuteQueryEffect() {\n return provideEffect(ActionId.クエリの実行, () => {\n const feature = inject(QueryFeature);\n const app = inject(AppService);\n const entityStore = injectEntityStore(Query);\n return () => {\n const value = feature.form.getRawValue();\n app.loading.await(() => entityStore.create({\n ...value,\n id: undefined as unknown as string,\n type: 'graphql',\n projectId: 'default',\n title: dayjs().toISOString(),\n summary: 'クエリの実行',\n createdAt: null as unknown as dayjs.Dayjs,\n updatedAt: null as unknown as dayjs.Dayjs,\n } as never), 'progress');\n feature.refresh();\n }\n });\n }\n\n static provideGenerateQueryEffect(): Provider {\n return provideEffect(ActionId.クエリの生成, () => {\n return () => {};\n });\n }\n\n protected readonly app = inject(AppService);\n protected readonly auth = inject(AuthService);\n protected readonly service = inject(QueryService);\n protected readonly editingStateManager = inject(EditingStateManager);\n // multi: trueで登録されたResolver配列(オプショナル)\n protected readonly resolvers = inject(QUERY_RESOLVERS, { optional: true }) ?? [];\n readonly form = inject(QueryFormService).build();\n\n protected readonly refresh$ = new ReplaySubject<void>();\n protected readonly formValue$ = getValue$(this.form).pipe(shareReplay(1));\n readonly formValue = toSignal(this.formValue$);\n\n readonly query$ = this.formValue$.pipe(\n map((query) => QueryFormService.parse(query as never)),\n shareReplay(1),\n );\n readonly query = toSignal(this.query$);\n\n readonly destroyRef = inject(DestroyRef);\n readonly result$ = this.refresh$.pipe(\n takeUntilDestroyed(),\n // まずqueryを取得\n switchMap(() => this.query$.pipe(\n filter((query) => {\n // Resolverがある場合はResolverのcanResolveで判定\n const resolver = this.resolvers.find(r => r.canResolve(query));\n return resolver ? true : QueryHelper.validate(query);\n }),\n shareReplay(1),\n take(1)\n )),\n // Resolverがない場合のみ認証を待つ\n switchMap((query) => {\n const resolver = this.resolvers.find(r => r.canResolve(query));\n if (resolver) {\n // Resolverがある場合は認証不要(WebRTC等の独自認証)\n return of(query);\n }\n // GraphQL等は認証を待つ\n return this.auth.accessToken$.pipe(\n filter(accessToken => !!accessToken),\n map(() => query),\n );\n }),\n distinctUntilChanged((a, b) => isEqual(a, b)),\n debounceTime(500),\n this.app.loading.switchMap((query) => this.executeQuery(query), 'progress'),\n filter((result) => !!result),\n // Pause data updates when editing\n pauseWhenEditing(this.editingStateManager),\n shareReplay(1),\n );\n readonly result = toSignal<Record<string, any[]> & Record<`${string}Length`, number> & { __meta__?: { title?: string } & any }>(this.result$);\n\n constructor() {\n this.form.get(['graphql', 'variablesJson'])!.valueChanges.pipe(\n takeUntilDestroyed(),\n debounceTime(300),\n distinctUntilChanged(isEqual),\n ).subscribe(() => this.refresh());\n }\n\n refresh(): void {\n this.refresh$.next();\n }\n\n protected executeQuery(query: Query) {\n const resolver = this.resolvers.find(r => r.canResolve(query));\n const source$ = resolver\n ? resolver.resolve(query)\n : isQuery(query.graphql!.query!) ? this.service.query(query) : this.service.subscribe(query);\n\n return source$.pipe(\n takeUntilDestroyed(this.destroyRef),\n catchError(error => {\n this.app.snackBar.openError(error);\n console.error(error);\n return of(null);\n }),\n );\n }\n}\n","import { inject, Injectable, Provider } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { QueryHelper } from \"@xxmachina/common/domain/models\";\nimport { QueryService } from \"@xxmachina/common/services/query\";\nimport { isEqual } from \"lodash-es\";\nimport { catchError, debounceTime, distinctUntilChanged, filter, NEVER, switchMap } from \"rxjs\";\nimport { QueryFeature } from \"../../query.feature\";\n\n\n@Injectable()\nexport class QueryGraphqlSchemaFeature {\n protected readonly feature = inject(QueryFeature);\n protected readonly service = inject(QueryService);\n\n protected readonly graphqlSchema$ = this.feature.query$.pipe(\n debounceTime(300),\n filter(query => QueryHelper.isExecutableGetSchemaGraphql(query)),\n switchMap((query) => this.service.getSchema(query).pipe(\n catchError(error => (console.error('[QueryFeature] error', error), NEVER)),\n )),\n distinctUntilChanged((a, b) => isEqual(a, b)),\n );\n readonly graphqlSchema = toSignal(this.graphqlSchema$);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Query","QueryHelper"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-groups-command-form.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/groups/command-form/command-form.group.ts","../../../../../packages/@xxmachina/components/src/lib/groups/command-form/xxmachina-components-groups-command-form.ts"],"sourcesContent":["import { JsonPipe } from \"@angular/common\";\nimport { Component, computed, inject, input } from \"@angular/core\";\nimport { SelectInputSectionOrganism } from \"@ng-atomic/components/organisms/select-input-section\";\nimport { TextInputSectionOrganism } from \"@ng-atomic/components/organisms/text-input-section\";\nimport { NgAtomicComponent } from \"@ng-atomic/core\";\nimport { CommandFeature } from \"@xxmachina/components/features/command\";\n\n@Component({\n selector: 'groups-command-form',\n imports: [\n TextInputSectionOrganism,\n SelectInputSectionOrganism,\n JsonPipe,\n ],\n template: `\n <organisms-text-input-section\n [control]=\"feature.commandForm().get(['webApiRequest', 'apiJsonUrl'])\"\n [autoComplete]=\"apiJsonUrlAutoCompleteOptions()\"\n [label]=\"'Base URL'\"\n />\n <organisms-text-input-section\n [control]=\"feature.commandForm().get(['webApiRequest', 'path'])\"\n [label]=\"'Endpoint'\"\n [autoComplete]=\"feature.endpointAutoCompleteOptions()\"\n />\n <organisms-select-input-section\n [control]=\"feature.commandForm().get(['webApiRequest', 'method'])\"\n [label]=\"'Method'\"\n [options]=\"feature.methodOptions()\"\n />\n <div>\n {{ feature.requestBodySchema() | json }}\n </div>\n `,\n styles: `\n :host {\n display: flex;\n flex-direction: column;\n padding-top: 24px;\n box-sizing: border-box;\n height: 100%;\n }\n `\n})\nexport class CommandFormGroup extends NgAtomicComponent {\n protected feature = inject(CommandFeature);\n readonly apiJsonUrls = input([]);\n readonly apiJsonUrlAutoCompleteOptions = computed(() => {\n return this.apiJsonUrls().filter((url) => url.includes(this.feature.apiJsonUrl()));\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA4CM,MAAO,gBAAiB,SAAQ,iBAAiB,CAAA;AAC3C,IAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AACjC,IAAA,WAAW,GAAG,KAAK,CAAC,EAAE,uDAAC;AACvB,IAAA,6BAA6B,GAAG,QAAQ,CAAC,MAAK;QACrD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;AACpF,IAAA,CAAC,yEAAC;uGALS,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,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,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA9Bf;;;;;;;;;;;;;;;;;;;AAmBX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAvBK,wBAAwB,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,0BAA0B,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAC1B,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA;;2FAgCH,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBArC5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,OAAA,EACtB;wBACL,wBAAwB;wBACxB,0BAA0B;wBAC1B,QAAQ;qBACX,EAAA,QAAA,EACS;;;;;;;;;;;;;;;;;;;AAmBX,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,gGAAA,CAAA,EAAA;;;ACjCH;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-groups-command-form.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/groups/command-form/command-form.group.ts","../../../../../packages/@xxmachina/components/src/lib/groups/command-form/xxmachina-components-groups-command-form.ts"],"sourcesContent":["import { JsonPipe } from \"@angular/common\";\nimport { Component, computed, inject, input } from \"@angular/core\";\nimport { SelectInputSectionOrganism } from \"@ng-atomic/components/organisms/select-input-section\";\nimport { TextInputSectionOrganism } from \"@ng-atomic/components/organisms/text-input-section\";\nimport { NgAtomicComponent } from \"@ng-atomic/core\";\nimport { CommandFeature } from \"@xxmachina/components/features/command\";\n\n@Component({\n selector: 'groups-command-form',\n imports: [\n TextInputSectionOrganism,\n SelectInputSectionOrganism,\n JsonPipe,\n ],\n template: `\n <organisms-text-input-section\n [control]=\"feature.commandForm().get(['webApiRequest', 'apiJsonUrl'])\"\n [autoComplete]=\"apiJsonUrlAutoCompleteOptions()\"\n [label]=\"'Base URL'\"\n />\n <organisms-text-input-section\n [control]=\"feature.commandForm().get(['webApiRequest', 'path'])\"\n [label]=\"'Endpoint'\"\n [autoComplete]=\"feature.endpointAutoCompleteOptions()\"\n />\n <organisms-select-input-section\n [control]=\"feature.commandForm().get(['webApiRequest', 'method'])\"\n [label]=\"'Method'\"\n [options]=\"feature.methodOptions()\"\n />\n <div>\n {{ feature.requestBodySchema() | json }}\n </div>\n `,\n styles: `\n :host {\n display: flex;\n flex-direction: column;\n padding-top: 24px;\n box-sizing: border-box;\n height: 100%;\n }\n `\n})\nexport class CommandFormGroup extends NgAtomicComponent {\n protected feature = inject(CommandFeature);\n readonly apiJsonUrls = input<string[]>([]);\n readonly apiJsonUrlAutoCompleteOptions = computed(() => {\n return this.apiJsonUrls().filter((url: string) => url.includes(this.feature.apiJsonUrl()!));\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA4CM,MAAO,gBAAiB,SAAQ,iBAAiB,CAAA;AAC3C,IAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AACjC,IAAA,WAAW,GAAG,KAAK,CAAW,EAAE,uDAAC;AACjC,IAAA,6BAA6B,GAAG,QAAQ,CAAC,MAAK;QACrD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,GAAW,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAG,CAAC,CAAC;AAC7F,IAAA,CAAC,yEAAC;uGALS,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,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,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA9Bf;;;;;;;;;;;;;;;;;;;AAmBX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAvBK,wBAAwB,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,0BAA0B,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAC1B,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA;;2FAgCH,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBArC5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,OAAA,EACtB;wBACL,wBAAwB;wBACxB,0BAA0B;wBAC1B,QAAQ;qBACX,EAAA,QAAA,EACS;;;;;;;;;;;;;;;;;;;AAmBX,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,gGAAA,CAAA,EAAA;;;ACjCH;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-groups-query-form.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/groups/query-form/query-form.group.ts","../../../../../packages/@xxmachina/components/src/lib/groups/query-form/xxmachina-components-groups-query-form.ts"],"sourcesContent":["import { Component, inject, computed, input, ChangeDetectionStrategy } from '@angular/core';\nimport { Extension } from '@codemirror/state';\nimport { buildClientSchema } from 'graphql';\nimport { EditorComponent } from \"@ng-atomic/components/extras/editor\";\nimport { _computed, NgAtomicComponent } from '@ng-atomic/core';\nimport { TextInputSectionOrganism } from '@ng-atomic/components/organisms/text-input-section';\nimport { TabsFrame } from '@ng-atomic/components/frames/tabs';\nimport { json } from '@codemirror/lang-json';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { Resource } from '@xxmachina/common/domain/models';\nimport { graphql } from 'cm6-graphql';\nimport { QueryFeature, QueryGraphqlSchemaFeature } from '@xxmachina/components/features/query';\nimport { injectAll } from '@ng-atomic/common/stores/entities';\nimport { HttpClient } from '@angular/common/http';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { getValue$ } from '@ng-atomic/common/utils';\n\n@Component({\n selector: 'groups-query-form',\n imports: [\n EditorComponent,\n TextInputSectionOrganism,\n TabsFrame,\n ],\n template: `\n <organisms-text-input-section\n [label]=\"'GraphQL Endpoint'\"\n [control]=\"form().get(['graphql', 'endpoint'])\"\n [placeholder]=\"'http://localhost:4200/api/graphql'\"\n [autoComplete]=\"endpointAutoCompleteOptions()\"\n [hint]=\"'スキーマ取得完了'\"\n />\n <frames-tabs [labels]=\"['Query(GQL)', 'Variables(JSON)', 'Headers(JSON)', 'Transformer(TS)']\">\n <ng-template #tab>\n <extras-editor\n [content]=\"form().get(['graphql', 'query']).value\"\n (contentChange)=\"form().get(['graphql', 'query']).setValue($event)\"\n [extensions]=\"queryExtensions()\"\n [keyActions]=\"keyActions()\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n <ng-template #tab>\n <extras-editor\n [content]=\"form().get(['graphql', 'variablesJson']).value\"\n (contentChange)=\"form().get(['graphql', 'variablesJson']).setValue($event)\"\n [extensions]=\"variablesExtensions()\"\n [keyActions]=\"keyActions()\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n <ng-template #tab>\n <extras-editor\n [content]=\"form().get(['graphql', 'headersJson']).value\"\n (contentChange)=\"form().get(['graphql', 'headersJson']).setValue($event)\"\n [extensions]=\"headersExtensions()\"\n [keyActions]=\"keyActions()\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n <ng-template #tab>\n <extras-editor\n [content]=\"form().get(['graphql', 'transformerTs']).value\"\n (contentChange)=\"form().get(['graphql', 'transformerTs']).setValue($event)\"\n [extensions]=\"transformerExtensions()\"\n [keyActions]=\"keyActions()\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n </frames-tabs>\n `,\n styles: `\n :host {\n display: flex;\n flex-direction: column;\n padding-top: 24px;\n box-sizing: border-box;\n height: 100%;\n\n frames-tabs {\n height: 100%;\n\n extras-editor {\n height: 100%;\n }\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class QueryFormGroup extends NgAtomicComponent {\n readonly #feature = inject(QueryFeature);\n readonly form = input(this.#feature.form);\n readonly formValue = derivedAsync(() => getValue$(this.form()));\n protected readonly graphqlSchemaFeature = inject(QueryGraphqlSchemaFeature);\n protected readonly keyActions = input([\n { key: 'Ctrl-Enter', actionId: QueryFeature.ActionId.クエリの実行 },\n { key: 'Cmd-Enter', actionId: QueryFeature.ActionId.クエリの実行 },\n { key: 'Cmd-s', actionId: QueryFeature.ActionId.クエリの更新 },\n ]);\n protected readonly resources = injectAll(Resource);\n\n readonly endpointAutoCompleteOptions = computed(() => {\n const query = this.formValue();\n return this.resources()\n .filter(resource => resource.type === 'graphql')\n .map(resource => resource.graphql.url)\n .filter(url => url.startsWith(query.graphql.endpoint));\n });\n readonly queryExtensions = computed<Extension[]>(() => {\n const schema = this.graphqlSchemaFeature.graphqlSchema();\n return schema ? [graphql(buildClientSchema(schema))] : [];\n });\n readonly variablesExtensions = computed<Extension[]>(() => [json()]);\n readonly headersExtensions = computed<Extension[]>(() => [json()]);\n\n readonly http = inject(HttpClient);\n readonly libFile = toSignal(\n this.http.get('https://unpkg.com/typescript@latest/lib/lib.es5.d.ts', { responseType: 'text' })\n );\n \n // readonly tsLinter = () => {\n // return linter(view => {\n // const diagnostics: Diagnostic[] = [];\n \n // if (!this.libFile()) return diagnostics;\n \n // const code = view.state.doc.toString();\n // const fileName = 'file.ts';\n // const libFileName = 'lib.es5.d.ts';\n \n // const compilerOptions: ts.CompilerOptions = {\n // noEmit: true,\n // lib: ['lib.es5.d.ts'],\n // strict: true,\n // };\n \n // const host: ts.CompilerHost = {\n // getSourceFile: (name) => {\n // console.debug('[QueryFormGroup] getSourceFile:', name);\n // if (name === fileName) {\n // return ts.createSourceFile(name, code, ts.ScriptTarget.Latest, true);\n // }\n // if (name === libFileName) {\n // console.debug('[QueryFormGroup] libSourceFile:', this.libFile());\n // return ts.createSourceFile(name, this.libFile(), ts.ScriptTarget.Latest, true);\n // }\n // return undefined;\n // },\n // writeFile: () => {},\n // getDefaultLibFileName: () => libFileName,\n // getCurrentDirectory: () => '',\n // getCanonicalFileName: filename => filename,\n // useCaseSensitiveFileNames: () => true,\n // fileExists: name => name === fileName || name === libFileName,\n // readFile: () => '',\n // getNewLine: () => '\\n',\n // };\n \n // const program = ts.createProgram([fileName], compilerOptions, host);\n // const tsDiagnostics = ts.getPreEmitDiagnostics(program);\n \n // tsDiagnostics.forEach(diag => {\n // if (\n // diag.file &&\n // diag.file.fileName === fileName && // ← これを追加\n // diag.start !== undefined &&\n // diag.length !== undefined\n // ) {\n // diagnostics.push({\n // from: diag.start,\n // to: diag.start + diag.length,\n // message: ts.flattenDiagnosticMessageText(diag.messageText, '\\n'),\n // severity: 'error',\n // });\n // }\n // });\n \n // return diagnostics;\n // });\n // };\n\n readonly transformerExtensions = computed<Extension[]>(() => [\n // this.tsLinter(),\n javascript({typescript: true})\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-groups-query-form.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/groups/query-form/query-form.group.ts","../../../../../packages/@xxmachina/components/src/lib/groups/query-form/xxmachina-components-groups-query-form.ts"],"sourcesContent":["import { Component, inject, computed, input, ChangeDetectionStrategy } from '@angular/core';\nimport { Extension } from '@codemirror/state';\nimport { buildClientSchema } from 'graphql';\nimport { EditorComponent } from \"@ng-atomic/components/extras/editor\";\nimport { _computed, NgAtomicComponent } from '@ng-atomic/core';\nimport { TextInputSectionOrganism } from '@ng-atomic/components/organisms/text-input-section';\nimport { TabsFrame } from '@ng-atomic/components/frames/tabs';\nimport { json } from '@codemirror/lang-json';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { Resource } from '@xxmachina/common/domain/models';\nimport { graphql } from 'cm6-graphql';\nimport { QueryFeature, QueryGraphqlSchemaFeature } from '@xxmachina/components/features/query';\nimport { injectAll } from '@ng-atomic/common/stores/entities';\nimport { HttpClient } from '@angular/common/http';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { getValue$ } from '@ng-atomic/common/utils';\n\n@Component({\n selector: 'groups-query-form',\n imports: [\n EditorComponent,\n TextInputSectionOrganism,\n TabsFrame,\n ],\n template: `\n <organisms-text-input-section\n [label]=\"'GraphQL Endpoint'\"\n [control]=\"form().get(['graphql', 'endpoint'])\"\n [placeholder]=\"'http://localhost:4200/api/graphql'\"\n [autoComplete]=\"endpointAutoCompleteOptions()\"\n [hint]=\"'スキーマ取得完了'\"\n />\n <frames-tabs [labels]=\"['Query(GQL)', 'Variables(JSON)', 'Headers(JSON)', 'Transformer(TS)']\">\n <ng-template #tab>\n <extras-editor\n [content]=\"form().get(['graphql', 'query']).value\"\n (contentChange)=\"form().get(['graphql', 'query']).setValue($event)\"\n [extensions]=\"queryExtensions()\"\n [keyActions]=\"keyActions()\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n <ng-template #tab>\n <extras-editor\n [content]=\"form().get(['graphql', 'variablesJson']).value\"\n (contentChange)=\"form().get(['graphql', 'variablesJson']).setValue($event)\"\n [extensions]=\"variablesExtensions()\"\n [keyActions]=\"keyActions()\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n <ng-template #tab>\n <extras-editor\n [content]=\"form().get(['graphql', 'headersJson']).value\"\n (contentChange)=\"form().get(['graphql', 'headersJson']).setValue($event)\"\n [extensions]=\"headersExtensions()\"\n [keyActions]=\"keyActions()\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n <ng-template #tab>\n <extras-editor\n [content]=\"form().get(['graphql', 'transformerTs']).value\"\n (contentChange)=\"form().get(['graphql', 'transformerTs']).setValue($event)\"\n [extensions]=\"transformerExtensions()\"\n [keyActions]=\"keyActions()\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n </frames-tabs>\n `,\n styles: `\n :host {\n display: flex;\n flex-direction: column;\n padding-top: 24px;\n box-sizing: border-box;\n height: 100%;\n\n frames-tabs {\n height: 100%;\n\n extras-editor {\n height: 100%;\n }\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class QueryFormGroup extends NgAtomicComponent {\n readonly #feature = inject(QueryFeature);\n readonly form = input(this.#feature.form);\n readonly formValue = derivedAsync(() => getValue$(this.form()));\n protected readonly graphqlSchemaFeature = inject(QueryGraphqlSchemaFeature);\n protected readonly keyActions = input([\n { key: 'Ctrl-Enter', actionId: QueryFeature.ActionId.クエリの実行 },\n { key: 'Cmd-Enter', actionId: QueryFeature.ActionId.クエリの実行 },\n { key: 'Cmd-s', actionId: QueryFeature.ActionId.クエリの更新 },\n ]);\n protected readonly resources = injectAll(Resource);\n\n readonly endpointAutoCompleteOptions = computed(() => {\n const query = this.formValue();\n return this.resources()\n .filter(resource => resource.type === 'graphql')\n .map(resource => resource.graphql!.url)\n .filter(url => url.startsWith(query!.graphql!.endpoint!));\n });\n readonly queryExtensions = computed<Extension[]>(() => {\n const schema = this.graphqlSchemaFeature.graphqlSchema();\n return schema ? [graphql(buildClientSchema(schema))] : [];\n });\n readonly variablesExtensions = computed<Extension[]>(() => [json()]);\n readonly headersExtensions = computed<Extension[]>(() => [json()]);\n\n readonly http = inject(HttpClient);\n readonly libFile = toSignal(\n this.http.get('https://unpkg.com/typescript@latest/lib/lib.es5.d.ts', { responseType: 'text' })\n );\n \n // readonly tsLinter = () => {\n // return linter(view => {\n // const diagnostics: Diagnostic[] = [];\n \n // if (!this.libFile()) return diagnostics;\n \n // const code = view.state.doc.toString();\n // const fileName = 'file.ts';\n // const libFileName = 'lib.es5.d.ts';\n \n // const compilerOptions: ts.CompilerOptions = {\n // noEmit: true,\n // lib: ['lib.es5.d.ts'],\n // strict: true,\n // };\n \n // const host: ts.CompilerHost = {\n // getSourceFile: (name) => {\n // console.debug('[QueryFormGroup] getSourceFile:', name);\n // if (name === fileName) {\n // return ts.createSourceFile(name, code, ts.ScriptTarget.Latest, true);\n // }\n // if (name === libFileName) {\n // console.debug('[QueryFormGroup] libSourceFile:', this.libFile());\n // return ts.createSourceFile(name, this.libFile(), ts.ScriptTarget.Latest, true);\n // }\n // return undefined;\n // },\n // writeFile: () => {},\n // getDefaultLibFileName: () => libFileName,\n // getCurrentDirectory: () => '',\n // getCanonicalFileName: filename => filename,\n // useCaseSensitiveFileNames: () => true,\n // fileExists: name => name === fileName || name === libFileName,\n // readFile: () => '',\n // getNewLine: () => '\\n',\n // };\n \n // const program = ts.createProgram([fileName], compilerOptions, host);\n // const tsDiagnostics = ts.getPreEmitDiagnostics(program);\n \n // tsDiagnostics.forEach(diag => {\n // if (\n // diag.file &&\n // diag.file.fileName === fileName && // ← これを追加\n // diag.start !== undefined &&\n // diag.length !== undefined\n // ) {\n // diagnostics.push({\n // from: diag.start,\n // to: diag.start + diag.length,\n // message: ts.flattenDiagnosticMessageText(diag.messageText, '\\n'),\n // severity: 'error',\n // });\n // }\n // });\n \n // return diagnostics;\n // });\n // };\n\n readonly transformerExtensions = computed<Extension[]>(() => [\n // this.tsLinter(),\n javascript({typescript: true})\n ]);\n}\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":"xxmachina-components-molecules-daily-cell.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/molecules/daily-cell/daily-cell.molecule.ts","../../../../../packages/@xxmachina/components/src/lib/molecules/daily-cell/xxmachina-components-molecules-daily-cell.ts"],"sourcesContent":["import { Component, Input, Pipe, PipeTransform } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { Schedule, isConflict } from '@xxmachina/common/domain/models';\nimport dayjs from 'dayjs';\n\n@Pipe({standalone: true, name: 'percentage'})\nexport class PercentagePipe implements PipeTransform {\n transform(date: dayjs.Dayjs, base: dayjs.Dayjs) {\n if (date.date() > base.date()) return 100;\n const day = 60 * 60 * 24;\n return (date.hour() * 60 * 60 + date.minute() * 60 + date.second()) / day * 100;\n }\n}\n\n@Pipe({standalone: true, name: 'filterByDate', pure: true})\nexport class FilterByDatePipe implements PipeTransform {\n transform(schedules: Schedule[], date: dayjs.Dayjs = dayjs()) {\n const dateSchedule = Schedule.from({\n id: null,\n startAt: date?.clone()?.startOf('day'),\n endAt: date?.clone()?.endOf('day'),\n });\n const filtered = schedules.filter(schedule => {\n return isConflict(schedule, dateSchedule)\n });\n return filtered;\n }\n}\n\n@Pipe({standalone: true, name: 'tooltipText', pure: true})\nexport class ScheduleToolTipTextPipe implements PipeTransform {\n transform(schedule: Schedule): string {\n return `${schedule.startAt.format('HH:mm')} ~ ${schedule.endAt.format('HH:mm')} ${schedule.name} `;\n }\n}\n\n@Component({\n standalone: true,\n selector: 'molecules-daily-cell',\n imports: [\n CommonModule,\n MatTooltipModule,\n PercentagePipe,\n FilterByDatePipe,\n ScheduleToolTipTextPipe,\n ],\n template: `\n <div class=\"background\">\n @for (schedule of schedules | filterByDate:date; track schedule) {\n <div\n class=\"schedule-band\"\n [matTooltip]=\"schedule | tooltipText\"\n matTooltipPosition=\"above\"\n [style.background-color]=\"schedule?.color ?? '#F2E7FE'\"\n [style.left.%]=\"schedule.startAt | percentage:date\"\n [style.width.%]=\"(schedule.endAt | percentage:date) - (schedule.startAt | percentage:date)\"\n ></div>\n }\n </div>\n \n <div class=\"date box\" [ngStyle]=\"{\n 'background-color': marked && markingColor,\n 'color': marked && 'white'\n }\">\n @if (displayDate) {\n <span class=\"date\">{{ date | date: 'd' }}</span>\n }\n </div>\n \n <!-- <div class=\"schedules-container\">\n <span *ngFor=\"let schedule of schedules | filterByDate:date;\">\n {{ getScheduleText(schedule) }}\n </span>\n <span *ngIf=\"!schedules?.length\">{{ noSchedulesText }}</span>\n </div> -->\n `,\n styleUrls: ['./daily-cell.molecule.scss']\n})\nexport class DailyCellMolecule {\n\n @Input() date: dayjs.Dayjs;\n @Input() schedules: Schedule[];\n @Input() displayDate = true;\n @Input() noSchedulesText = 'noSchedulesText'\n @Input() toolTipText = 'toolTipText';\n @Input() marked = 'transparent';\n @Input() markingColor = 'red';\n\n getScheduleText(schedule: Schedule) {\n return `${getTimeText(schedule.startAt)} ~ ${getTimeText(schedule.endAt, schedule.startAt)}`;\n }\n\n getToolTipText(schedules: Schedule[]): string {\n return schedules.map(s => this.getScheduleText(s)).join(' ');\n }\n\n}\n\nfunction getTimeText(time: dayjs.Dayjs, base: dayjs.Dayjs = time) {\n return (base.isBefore(time) && time.format('HH:mm') === '00:00')\n ? '24:00'\n : time.format('HH:mm');\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-molecules-daily-cell.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/molecules/daily-cell/daily-cell.molecule.ts","../../../../../packages/@xxmachina/components/src/lib/molecules/daily-cell/xxmachina-components-molecules-daily-cell.ts"],"sourcesContent":["import { Component, Input, Pipe, PipeTransform } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { Schedule, isConflict } from '@xxmachina/common/domain/models';\nimport dayjs from 'dayjs';\n\n@Pipe({standalone: true, name: 'percentage'})\nexport class PercentagePipe implements PipeTransform {\n transform(date: dayjs.Dayjs, base: dayjs.Dayjs) {\n if (date.date() > base.date()) return 100;\n const day = 60 * 60 * 24;\n return (date.hour() * 60 * 60 + date.minute() * 60 + date.second()) / day * 100;\n }\n}\n\n@Pipe({standalone: true, name: 'filterByDate', pure: true})\nexport class FilterByDatePipe implements PipeTransform {\n transform(schedules: Schedule[], date: dayjs.Dayjs = dayjs()) {\n const dateSchedule = Schedule.from({\n id: null as unknown as string,\n startAt: date?.clone()?.startOf('day'),\n endAt: date?.clone()?.endOf('day'),\n });\n const filtered = schedules.filter(schedule => {\n return isConflict(schedule, dateSchedule)\n });\n return filtered;\n }\n}\n\n@Pipe({standalone: true, name: 'tooltipText', pure: true})\nexport class ScheduleToolTipTextPipe implements PipeTransform {\n transform(schedule: Schedule): string {\n return `${schedule.startAt.format('HH:mm')} ~ ${schedule.endAt.format('HH:mm')} ${schedule.name} `;\n }\n}\n\n@Component({\n standalone: true,\n selector: 'molecules-daily-cell',\n imports: [\n CommonModule,\n MatTooltipModule,\n PercentagePipe,\n FilterByDatePipe,\n ScheduleToolTipTextPipe,\n ],\n template: `\n <div class=\"background\">\n @for (schedule of schedules | filterByDate:date; track schedule) {\n <div\n class=\"schedule-band\"\n [matTooltip]=\"schedule | tooltipText\"\n matTooltipPosition=\"above\"\n [style.background-color]=\"schedule?.color ?? '#F2E7FE'\"\n [style.left.%]=\"schedule.startAt | percentage:date\"\n [style.width.%]=\"(schedule.endAt | percentage:date) - (schedule.startAt | percentage:date)\"\n ></div>\n }\n </div>\n \n <div class=\"date box\" [ngStyle]=\"{\n 'background-color': marked && markingColor,\n 'color': marked && 'white'\n }\">\n @if (displayDate) {\n <span class=\"date\">{{ date | date: 'd' }}</span>\n }\n </div>\n \n <!-- <div class=\"schedules-container\">\n <span *ngFor=\"let schedule of schedules | filterByDate:date;\">\n {{ getScheduleText(schedule) }}\n </span>\n <span *ngIf=\"!schedules?.length\">{{ noSchedulesText }}</span>\n </div> -->\n `,\n styleUrls: ['./daily-cell.molecule.scss']\n})\nexport class DailyCellMolecule {\n\n @Input() date!: dayjs.Dayjs;\n @Input() schedules!: Schedule[];\n @Input() displayDate = true;\n @Input() noSchedulesText = 'noSchedulesText'\n @Input() toolTipText = 'toolTipText';\n @Input() marked = 'transparent';\n @Input() markingColor = 'red';\n\n getScheduleText(schedule: Schedule) {\n return `${getTimeText(schedule.startAt)} ~ ${getTimeText(schedule.endAt, schedule.startAt)}`;\n }\n\n getToolTipText(schedules: Schedule[]): string {\n return schedules.map(s => this.getScheduleText(s)).join(' ');\n }\n\n}\n\nfunction getTimeText(time: dayjs.Dayjs, base: dayjs.Dayjs = time) {\n return (base.isBefore(time) && time.format('HH:mm') === '00:00')\n ? '24:00'\n : time.format('HH:mm');\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ class WeeklyHeaderMolecule {
12
12
  <span>{{ day }}</span>
13
13
  </div>
14
14
  }
15
- `, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-KmPS5kJL: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-KmPS5kJL: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-KmPS5kJL)}:host .day-container{display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;width:calc(hvar(--width) / 7)}\n"] });
15
+ `, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-4TTrvyry: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-4TTrvyry: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-4TTrvyry)}:host .day-container{display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;width:calc(hvar(--width) / 7)}\n"] });
16
16
  }
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: WeeklyHeaderMolecule, decorators: [{
18
18
  type: Component,
@@ -22,7 +22,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
22
22
  <span>{{ day }}</span>
23
23
  </div>
24
24
  }
25
- `, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-KmPS5kJL: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-KmPS5kJL: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-KmPS5kJL)}:host .day-container{display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;width:calc(hvar(--width) / 7)}\n"] }]
25
+ `, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-4TTrvyry: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-4TTrvyry: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-4TTrvyry)}:host .day-container{display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;width:calc(hvar(--width) / 7)}\n"] }]
26
26
  }], ctorParameters: () => [] });
27
27
 
28
28
  /**
@@ -56,7 +56,7 @@ class CalendarSectionOrganism {
56
56
  }
57
57
  }
58
58
  </div>
59
- `, isInline: true, styles: [":host{display:block;--row: 80px;--row-SCOPED-IN-Gu8OJe40: var(--row);--row-num: 0;--row-num-SCOPED-IN-Gu8OJe40: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-Gu8OJe40: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-Gu8OJe40: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-Gu8OJe40: var(--secondary-color)}:host{width:100%;height:auto}:host .calendar.header molecules-weekly-header{--height: 32px}:host .calendar.contents{display:grid;width:var(--width);border:1px solid var(--border-color-SCOPED-IN-Gu8OJe40);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-Gu8OJe40),var(--row-SCOPED-IN-Gu8OJe40));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-Gu8OJe40)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-Gu8OJe40);background-color:#fff}:host .calendar.description{display:flex;justify-content:flex-end;width:var(--width);height:32px;padding-right:16px}:host .calendar.description .description.container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px}:host .calendar.description .description.container .circle{display:flex;width:20px;height:20px;justify-content:center;align-items:center;border-radius:50%;color:#fff;background:#00f}:host .calendar.description .description.container label{padding-left:4px;padding-right:8px}\n"], dependencies: [{ kind: "component", type: DailyCellMolecule, selector: "molecules-daily-cell", inputs: ["date", "schedules", "displayDate", "noSchedulesText", "toolTipText", "marked", "markingColor"] }, { kind: "component", type: WeeklyHeaderMolecule, selector: "molecules-weekly-header" }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ `, isInline: true, styles: [":host{display:block;--row: 80px;--row-SCOPED-IN-TJYXZt4o: var(--row);--row-num: 0;--row-num-SCOPED-IN-TJYXZt4o: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-TJYXZt4o: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-TJYXZt4o: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-TJYXZt4o: var(--secondary-color)}:host{width:100%;height:auto}:host .calendar.header molecules-weekly-header{--height: 32px}:host .calendar.contents{display:grid;width:var(--width);border:1px solid var(--border-color-SCOPED-IN-TJYXZt4o);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-TJYXZt4o),var(--row-SCOPED-IN-TJYXZt4o));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-TJYXZt4o)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-TJYXZt4o);background-color:#fff}:host .calendar.description{display:flex;justify-content:flex-end;width:var(--width);height:32px;padding-right:16px}:host .calendar.description .description.container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px}:host .calendar.description .description.container .circle{display:flex;width:20px;height:20px;justify-content:center;align-items:center;border-radius:50%;color:#fff;background:#00f}:host .calendar.description .description.container label{padding-left:4px;padding-right:8px}\n"], dependencies: [{ kind: "component", type: DailyCellMolecule, selector: "molecules-daily-cell", inputs: ["date", "schedules", "displayDate", "noSchedulesText", "toolTipText", "marked", "markingColor"] }, { kind: "component", type: WeeklyHeaderMolecule, selector: "molecules-weekly-header" }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
60
  }
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CalendarSectionOrganism, decorators: [{
62
62
  type: Component,
@@ -90,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
90
90
  }
91
91
  }
92
92
  </div>
93
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--row: 80px;--row-SCOPED-IN-Gu8OJe40: var(--row);--row-num: 0;--row-num-SCOPED-IN-Gu8OJe40: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-Gu8OJe40: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-Gu8OJe40: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-Gu8OJe40: var(--secondary-color)}:host{width:100%;height:auto}:host .calendar.header molecules-weekly-header{--height: 32px}:host .calendar.contents{display:grid;width:var(--width);border:1px solid var(--border-color-SCOPED-IN-Gu8OJe40);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-Gu8OJe40),var(--row-SCOPED-IN-Gu8OJe40));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-Gu8OJe40)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-Gu8OJe40);background-color:#fff}:host .calendar.description{display:flex;justify-content:flex-end;width:var(--width);height:32px;padding-right:16px}:host .calendar.description .description.container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px}:host .calendar.description .description.container .circle{display:flex;width:20px;height:20px;justify-content:center;align-items:center;border-radius:50%;color:#fff;background:#00f}:host .calendar.description .description.container label{padding-left:4px;padding-right:8px}\n"] }]
93
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--row: 80px;--row-SCOPED-IN-TJYXZt4o: var(--row);--row-num: 0;--row-num-SCOPED-IN-TJYXZt4o: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-TJYXZt4o: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-TJYXZt4o: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-TJYXZt4o: var(--secondary-color)}:host{width:100%;height:auto}:host .calendar.header molecules-weekly-header{--height: 32px}:host .calendar.contents{display:grid;width:var(--width);border:1px solid var(--border-color-SCOPED-IN-TJYXZt4o);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-TJYXZt4o),var(--row-SCOPED-IN-TJYXZt4o));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-TJYXZt4o)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-TJYXZt4o);background-color:#fff}:host .calendar.description{display:flex;justify-content:flex-end;width:var(--width);height:32px;padding-right:16px}:host .calendar.description .description.container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px}:host .calendar.description .description.container .circle{display:flex;width:20px;height:20px;justify-content:center;align-items:center;border-radius:50%;color:#fff;background:#00f}:host .calendar.description .description.container label{padding-left:4px;padding-right:8px}\n"] }]
94
94
  }], propDecorators: { label: [{
95
95
  type: Input
96
96
  }], displayDays: [{
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-organisms-calendar-section.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/organisms/calendar-section/calendar-section.organism.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/calendar-section/xxmachina-components-organisms-calendar-section.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, SimpleChanges, inject, OnChanges } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\n\nimport { CalendarDate, Schedule } from '@xxmachina/common/domain/models';\nimport { DailyCellMolecule } from '@xxmachina/components/molecules/daily-cell';\nimport { CalendarPaginatorMolecule } from '@xxmachina/components/molecules/calendar-paginator';\nimport { WeeklyHeaderMolecule } from '@xxmachina/components/molecules/weekly-header';\nimport dayjs from 'dayjs';\n\n@Component({\n standalone: true,\n imports: [\n CalendarPaginatorMolecule,\n DailyCellMolecule,\n WeeklyHeaderMolecule,\n MatRippleModule\n],\n selector: 'organisms-calendar-section',\n template: `\n <!-- <molecules-calendar-paginator\n *ngIf=\"displayPaginator\"\n [date]=\"date\"\n (dateChange)=\"dateChange.emit($event)\"\n /> -->\n <div class=\"calendar header\">\n <molecules-weekly-header/>\n </div>\n <div class=\"calendar contents\">\n @for (week of calendar; track week) {\n @for (date of week; track date) {\n <molecules-daily-cell\n [date]=\"date.date\"\n [schedules]=\"schedules\"\n [displayDate]=\"displayDays\"\n [marked]=\"isToday(date) || isEndDay(date)\"\n [markingColor]=\"isToday(date) ? '#6200EE' : isEndDay(date) ? '#B00020' : 'transparent'\"\n noSchedulesText=\"予定なし\"\n matRipple\n (click)=\"onDateClick.emit(date)\"\n ></molecules-daily-cell>\n }\n }\n </div>\n `,\n styleUrls: ['./calendar-section.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarSectionOrganism implements OnChanges {\n private el = inject(ElementRef);\n @Input() label = 'label';\n @Input() displayDays = true;\n @Input() readonly calendar: CalendarDate[][];\n @Input() schedules: Schedule[] = [];\n @Input() date = dayjs()\n @Input() today = dayjs();\n @Input() displayPaginator = true;\n @Input() displayDescription = true;\n @Output() onDateClick = new EventEmitter();\n @Output() dateChange = new EventEmitter();\n\n\n isToday(date: CalendarDate): boolean {\n return !!date.date.isSame(dayjs(), 'day');\n }\n\n isEndDay(date: CalendarDate): boolean {\n return !!date.date.isSame(dayjs().add(10, 'days'), 'day');\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.calendar) {\n this.el.nativeElement.style.setProperty('--row-num', this.calendar?.length || 0);\n }\n }\n\n // getToolTipText(date: CalendarDate): string {\n // return date.schedules.map(s => {\n // return `${s.startAt.format('HH:mm')}~${s.endAt.format('HH:mm')}`\n // }).join(' ');\n // }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MA+Ca,uBAAuB,CAAA;AAC1B,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;IACtB,KAAK,GAAG,OAAO;IACf,WAAW,GAAG,IAAI;AACT,IAAA,QAAQ;IACjB,SAAS,GAAe,EAAE;IAC1B,IAAI,GAAG,KAAK,EAAE;IACd,KAAK,GAAG,KAAK,EAAE;IACf,gBAAgB,GAAG,IAAI;IACvB,kBAAkB,GAAG,IAAI;AACxB,IAAA,WAAW,GAAG,IAAI,YAAY,EAAE;AAChC,IAAA,UAAU,GAAG,IAAI,YAAY,EAAE;AAGzC,IAAA,OAAO,CAAC,IAAkB,EAAA;AACxB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC;IAC3C;AAEA,IAAA,QAAQ,CAAC,IAAkB,EAAA;QACzB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;IAC3D;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,QAAQ,EAAE;AACpB,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;QAClF;IACF;uGA1BW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA7BxB;;;;;;;;;;;;;;;;;;;;;;;;;AAyBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,08CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EA9BC,iBAAiB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,oBAAoB,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAgCN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAtCnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EAAA,OAAA,EACP;wBACP,yBAAyB;wBACzB,iBAAiB;wBACjB,oBAAoB;wBACpB;AACH,qBAAA,EAAA,QAAA,EACW,4BAA4B,EAAA,QAAA,EAC5B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBT,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,08CAAA,CAAA,EAAA;;sBAI9C;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;AC1DH;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-organisms-calendar-section.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/organisms/calendar-section/calendar-section.organism.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/calendar-section/xxmachina-components-organisms-calendar-section.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, SimpleChanges, inject, OnChanges } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\n\nimport { CalendarDate, Schedule } from '@xxmachina/common/domain/models';\nimport { DailyCellMolecule } from '@xxmachina/components/molecules/daily-cell';\nimport { CalendarPaginatorMolecule } from '@xxmachina/components/molecules/calendar-paginator';\nimport { WeeklyHeaderMolecule } from '@xxmachina/components/molecules/weekly-header';\nimport dayjs from 'dayjs';\n\n@Component({\n standalone: true,\n imports: [\n CalendarPaginatorMolecule,\n DailyCellMolecule,\n WeeklyHeaderMolecule,\n MatRippleModule\n],\n selector: 'organisms-calendar-section',\n template: `\n <!-- <molecules-calendar-paginator\n *ngIf=\"displayPaginator\"\n [date]=\"date\"\n (dateChange)=\"dateChange.emit($event)\"\n /> -->\n <div class=\"calendar header\">\n <molecules-weekly-header/>\n </div>\n <div class=\"calendar contents\">\n @for (week of calendar; track week) {\n @for (date of week; track date) {\n <molecules-daily-cell\n [date]=\"date.date\"\n [schedules]=\"schedules\"\n [displayDate]=\"displayDays\"\n [marked]=\"isToday(date) || isEndDay(date)\"\n [markingColor]=\"isToday(date) ? '#6200EE' : isEndDay(date) ? '#B00020' : 'transparent'\"\n noSchedulesText=\"予定なし\"\n matRipple\n (click)=\"onDateClick.emit(date)\"\n ></molecules-daily-cell>\n }\n }\n </div>\n `,\n styleUrls: ['./calendar-section.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarSectionOrganism implements OnChanges {\n private el = inject(ElementRef);\n @Input() label = 'label';\n @Input() displayDays = true;\n @Input() readonly calendar!: CalendarDate[][];\n @Input() schedules: Schedule[] = [];\n @Input() date = dayjs()\n @Input() today = dayjs();\n @Input() displayPaginator = true;\n @Input() displayDescription = true;\n @Output() onDateClick = new EventEmitter();\n @Output() dateChange = new EventEmitter();\n\n\n isToday(date: CalendarDate): boolean {\n return !!date.date.isSame(dayjs(), 'day');\n }\n\n isEndDay(date: CalendarDate): boolean {\n return !!date.date.isSame(dayjs().add(10, 'days'), 'day');\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.calendar) {\n this.el.nativeElement.style.setProperty('--row-num', this.calendar?.length || 0);\n }\n }\n\n // getToolTipText(date: CalendarDate): string {\n // return date.schedules.map(s => {\n // return `${s.startAt.format('HH:mm')}~${s.endAt.format('HH:mm')}`\n // }).join(' ');\n // }\n}\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":"xxmachina-components-organisms-event-input-section.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/organisms/event-input-section/event-input-section.organism.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/event-input-section/xxmachina-components-organisms-event-input-section.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, computed, inject, signal, OnInit } from '@angular/core';\n\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { DateInputFieldMolecule } from '@ng-atomic/components/molecules/date-input-field';\nimport { TextInputFieldMolecule } from '@ng-atomic/components/molecules/text-input-field';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgAtomicComponent } from '@ng-atomic/core';\nimport { DayjsDateModule, getValue$ } from '@ng-atomic/common/utils';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SmartMenuButtonAtom } from '@ng-atomic/components/atoms/menu-button';\nimport { SelectInputFieldMolecule } from '@ng-atomic/components/molecules/select-input-field';\nimport dayjs from 'dayjs';\n\nenum ActionId {\n FIX_BUTTON_CLICK = '[@xxmachina/scheduler] Fix Button Click',\n DELETE_BUTTON_CLICK = '[@xxmachina/scheduler] Delete Button Click',\n}\n\nconst MAT_DAYJS_DATE_FORMATS = {\n parse: {\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n}\n\n@Component({\n selector: 'organisms-event-input-section',\n standalone: true,\n imports: [\n DateInputFieldMolecule,\n TextInputFieldMolecule,\n SelectInputFieldMolecule,\n MatButtonModule,\n MatIconModule,\n DayjsDateModule,\n SmartMenuButtonAtom\n],\n template: `\n <div>\n <molecules-date-input-field\n [label]=\"'候補日'\"\n [control]=\"form.get(['date'])\"\n [toggle]=\"false\"\n />\n <molecules-select-input-field\n [label]=\"'開始時間'\"\n [control]=\"form.get(['startAt'])\"\n [options]=\"options()\"\n />\n <molecules-select-input-field\n [label]=\"'終了時間'\"\n [control]=\"form.get(['endAt'])\"\n [options]=\"options()\"\n />\n </div>\n <atoms-menu-button [actions]=\"fixActions\" (action)=\"dispatch($event)\"/>\n <atoms-menu-button [actions]=\"actions\" (action)=\"dispatch($event)\"/>\n\n `,\n styleUrls: ['./event-input-section.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS }],\n\n})\nexport class EventInputSectionOrganism extends NgAtomicComponent implements OnInit {\n static readonly ActionId = ActionId;\n protected form = inject(FormBuilder).group({\n date: [dayjs(), Validators.required],\n startAt: ['00:00'],\n endAt: ['01:00'],\n });\n\n fixActions = [\n { id: ActionId.FIX_BUTTON_CLICK, name: '決定', icon: 'check' },\n ];\n\n actions = [\n { id: ActionId.DELETE_BUTTON_CLICK, name: '削除', icon: 'delete' },\n ];\n\n @Input() label = '';\n\n @Input()\n control = new FormGroup<{startAt: FormControl<dayjs.Dayjs>, endAt: FormControl<dayjs.Dayjs>}>({\n startAt: new FormControl(dayjs(), Validators.required),\n endAt: new FormControl(dayjs(), Validators.required),\n });\n\n readonly startValue = toSignal(getValue$(this.control.get(['startAt'])));\n\n // 時間を15分刻みでHH:mmの配列にする\n protected startAutoComplete = signal([...Array(24 * 4).keys()].map((i) => {\n const hour = Math.floor(i / 4);\n const minute = (i % 4) * 15;\n return `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;\n }));\n\n protected options = computed(() => {\n return this.startAutoComplete().map((value) => ({value, name: value}));\n });\n\n protected endAutoComplete = signal([...Array(24 * 4).keys()].map((i) => {\n const hour = Math.floor(i / 4);\n const minute = (i % 4) * 15;\n return `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;\n }));\n\n ngOnInit(): void {\n this.form.patchValue({\n date: this.control.get(['startAt']).value,\n startAt: this.control.get(['startAt']).value.format('HH:mm'),\n endAt: this.control.get(['endAt']).value.format('HH:mm'),\n })\n this.form.valueChanges.subscribe(({date, startAt, endAt}) => {\n this.control.patchValue({\n startAt: dayjs(`${date.format('YYYY-MM-DD')}T${startAt}:00`),\n endAt: dayjs(`${date.format('YYYY-MM-DD')}T${endAt}:00`),\n });\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-organisms-event-input-section.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/organisms/event-input-section/event-input-section.organism.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/event-input-section/xxmachina-components-organisms-event-input-section.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, computed, inject, signal, OnInit } from '@angular/core';\n\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { DateInputFieldMolecule } from '@ng-atomic/components/molecules/date-input-field';\nimport { TextInputFieldMolecule } from '@ng-atomic/components/molecules/text-input-field';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgAtomicComponent } from '@ng-atomic/core';\nimport { DayjsDateModule, getValue$ } from '@ng-atomic/common/utils';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SmartMenuButtonAtom } from '@ng-atomic/components/atoms/menu-button';\nimport { SelectInputFieldMolecule } from '@ng-atomic/components/molecules/select-input-field';\nimport dayjs from 'dayjs';\n\nenum ActionId {\n FIX_BUTTON_CLICK = '[@xxmachina/scheduler] Fix Button Click',\n DELETE_BUTTON_CLICK = '[@xxmachina/scheduler] Delete Button Click',\n}\n\nconst MAT_DAYJS_DATE_FORMATS = {\n parse: {\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n}\n\n@Component({\n selector: 'organisms-event-input-section',\n standalone: true,\n imports: [\n DateInputFieldMolecule,\n TextInputFieldMolecule,\n SelectInputFieldMolecule,\n MatButtonModule,\n MatIconModule,\n DayjsDateModule,\n SmartMenuButtonAtom\n],\n template: `\n <div>\n <molecules-date-input-field\n [label]=\"'候補日'\"\n [control]=\"form.get(['date'])\"\n [toggle]=\"false\"\n />\n <molecules-select-input-field\n [label]=\"'開始時間'\"\n [control]=\"form.get(['startAt'])\"\n [options]=\"options()\"\n />\n <molecules-select-input-field\n [label]=\"'終了時間'\"\n [control]=\"form.get(['endAt'])\"\n [options]=\"options()\"\n />\n </div>\n <atoms-menu-button [actions]=\"fixActions\" (action)=\"dispatch($event)\"/>\n <atoms-menu-button [actions]=\"actions\" (action)=\"dispatch($event)\"/>\n\n `,\n styleUrls: ['./event-input-section.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS }],\n\n})\nexport class EventInputSectionOrganism extends NgAtomicComponent implements OnInit {\n static readonly ActionId = ActionId;\n protected form = inject(FormBuilder).group({\n date: [dayjs(), Validators.required],\n startAt: ['00:00'],\n endAt: ['01:00'],\n });\n\n fixActions = [\n { id: ActionId.FIX_BUTTON_CLICK, name: '決定', icon: 'check' },\n ];\n\n actions = [\n { id: ActionId.DELETE_BUTTON_CLICK, name: '削除', icon: 'delete' },\n ];\n\n @Input() label = '';\n\n @Input()\n control = new FormGroup<{startAt: FormControl<dayjs.Dayjs>, endAt: FormControl<dayjs.Dayjs>}>({\n startAt: new FormControl(dayjs(), Validators.required) as FormControl<dayjs.Dayjs>,\n endAt: new FormControl(dayjs(), Validators.required) as FormControl<dayjs.Dayjs>,\n });\n\n readonly startValue = toSignal(getValue$(this.control.get(['startAt'])!));\n\n // 時間を15分刻みでHH:mmの配列にする\n protected startAutoComplete = signal([...Array(24 * 4).keys()].map((i) => {\n const hour = Math.floor(i / 4);\n const minute = (i % 4) * 15;\n return `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;\n }));\n\n protected options = computed(() => {\n return this.startAutoComplete().map((value) => ({value, name: value}));\n });\n\n protected endAutoComplete = signal([...Array(24 * 4).keys()].map((i) => {\n const hour = Math.floor(i / 4);\n const minute = (i % 4) * 15;\n return `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;\n }));\n\n ngOnInit(): void {\n this.form.patchValue({\n date: this.control.get(['startAt'])!.value,\n startAt: this.control.get(['startAt'])!.value.format('HH:mm'),\n endAt: this.control.get(['endAt'])!.value.format('HH:mm'),\n })\n this.form.valueChanges.subscribe(({date, startAt, endAt}) => {\n this.control.patchValue({\n startAt: dayjs(`${date!.format('YYYY-MM-DD')}T${startAt}:00`),\n endAt: dayjs(`${date!.format('YYYY-MM-DD')}T${endAt}:00`),\n });\n });\n }\n}\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":"xxmachina-components-organisms-video-trimmer-section.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/organisms/video-trimmer-section/video-trimmer-section.organism.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/video-trimmer-section/xxmachina-components-organisms-video-trimmer-section.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, ElementRef, computed, inject, input } from '@angular/core';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { FormBuilder, ReactiveFormsModule } from '@angular/forms';\nimport { formatSeconds } from '@ng-atomic/common/utils';\nimport { NgAtomicComponent } from '@ng-atomic/core';\nimport { fromEvent, map, startWith } from 'rxjs';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\n@Directive({ standalone: true })\nexport class VideoTrimmerSectionOrganismStore {\n readonly images = input<Blob[]>([]);\n // blobをcomputedでimageのsrcに変換する\n readonly imageSrcList = computed(() => (this.images() ?? []).map(blob => URL.createObjectURL(blob)));\n\n readonly control = input(inject(FormBuilder).group({\n duration: [0],\n start: [0],\n end: [100],\n }));\n\n readonly el = inject(ElementRef);\n readonly width$ = fromEvent(window, 'resize').pipe(\n startWith(null),\n map(() => this.el.nativeElement.clientWidth),\n );\n readonly width = toSignal(this.width$);\n\n readonly frameSize = computed(() => Math.round(this.width() / 100));\n\n readonly frames = computed(() => {\n // frameSizeの数だけimageSrcListを分割する\n const frameSize = this.frameSize();\n const images = this.imageSrcList().map(src => [...Array(this.frameSize())].map(() => src)).flat();\n console.debug('images:', images.length);\n // imagesを均等な感覚で12枚に絞る\n const interval = Math.floor(images.length / this.frameSize());\n return images.filter((_, i) => i % interval === 0);\n });\n}\n\n@Component({\n selector: 'organisms-video-trimmer-section',\n standalone: true,\n imports: [\n MatSliderModule,\n ReactiveFormsModule,\n ],\n template: `\n <div class=\"frames\">\n @for (image of store.frames(); track image) {\n <img [style.width] [src]=\"image\" />\n }\n </div>\n <mat-slider min=\"0\" max=\"100\" discrete [displayWith]=\"formatLabel\">\n <input [formControl]=\"store.control().get(['start'])\" matSliderStartThumb>\n <input [formControl]=\"store.control().get(['end'])\" matSliderEndThumb>\n </mat-slider>\n `,\n styleUrls: ['./video-trimmer-section.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: VideoTrimmerSectionOrganismStore,\n inputs: ['images', 'control'],\n }\n ]\n})\nexport class VideoTrimmerSectionOrganism extends NgAtomicComponent {\n protected store = inject(VideoTrimmerSectionOrganismStore);\n\n formatLabel = (value: number): string => {\n const seconds = Math.round(value / 100 * this.store.control().value.duration);\n return formatSeconds(seconds);\n }\n}\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MASa,gCAAgC,CAAA;AAClC,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,kDAAC;;AAE1B,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,wDAAC;IAE3F,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;QACjD,QAAQ,EAAE,CAAC,CAAC,CAAC;QACb,KAAK,EAAE,CAAC,CAAC,CAAC;QACV,GAAG,EAAE,CAAC,GAAG,CAAC;AACX,KAAA,CAAC,mDAAC;AAEM,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,IAAA,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAChD,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAC7C;AACQ,IAAA,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAE7B,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,qDAAC;AAE1D,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;;AAE9B,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;QACjG,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;;AAEvC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAC7D,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC;AACpD,IAAA,CAAC,kDAAC;uGA5BS,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,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,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,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAD5C,SAAS;mBAAC,EAAE,UAAU,EAAE,IAAI,EAAE;;AA2DzB,MAAO,2BAA4B,SAAQ,iBAAiB,CAAA;AACtD,IAAA,KAAK,GAAG,MAAM,CAAC,gCAAgC,CAAC;AAE1D,IAAA,WAAW,GAAG,CAAC,KAAa,KAAY;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC7E,QAAA,OAAO,aAAa,CAAC,OAAO,CAAC;AAC/B,IAAA,CAAC;uGANU,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EA1D3B,gCAAgC,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAsCjC;;;;;;;;;;GAUT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,yRAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAbC,eAAe,sYACf,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAsBV,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBA3BvC,SAAS;+BACE,iCAAiC,EAAA,UAAA,EAC/B,IAAI,EAAA,OAAA,EACP;wBACP,eAAe;wBACf,mBAAmB;qBACpB,EAAA,QAAA,EACS;;;;;;;;;;GAUT,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,EAAA,cAAA,EAC/B;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,gCAAgC;AAC3C,4BAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC9B;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,yRAAA,CAAA,EAAA;;;ACjEH;;AAEG;;;;"}
1
+ {"version":3,"file":"xxmachina-components-organisms-video-trimmer-section.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/organisms/video-trimmer-section/video-trimmer-section.organism.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/video-trimmer-section/xxmachina-components-organisms-video-trimmer-section.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, ElementRef, computed, inject, input } from '@angular/core';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { FormBuilder, ReactiveFormsModule } from '@angular/forms';\nimport { formatSeconds } from '@ng-atomic/common/utils';\nimport { NgAtomicComponent } from '@ng-atomic/core';\nimport { fromEvent, map, startWith } from 'rxjs';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\n@Directive({ standalone: true })\nexport class VideoTrimmerSectionOrganismStore {\n readonly images = input<Blob[]>([]);\n // blobをcomputedでimageのsrcに変換する\n readonly imageSrcList = computed(() => (this.images() ?? []).map(blob => URL.createObjectURL(blob)));\n\n readonly control = input(inject(FormBuilder).group({\n duration: [0],\n start: [0],\n end: [100],\n }));\n\n readonly el = inject(ElementRef);\n readonly width$ = fromEvent(window, 'resize').pipe(\n startWith(null),\n map(() => this.el.nativeElement.clientWidth),\n );\n readonly width = toSignal(this.width$);\n\n readonly frameSize = computed(() => Math.round(this.width() / 100));\n\n readonly frames = computed(() => {\n // frameSizeの数だけimageSrcListを分割する\n const frameSize = this.frameSize();\n const images = this.imageSrcList().map(src => [...Array(this.frameSize())].map(() => src)).flat();\n console.debug('images:', images.length);\n // imagesを均等な感覚で12枚に絞る\n const interval = Math.floor(images.length / this.frameSize());\n return images.filter((_, i) => i % interval === 0);\n });\n}\n\n@Component({\n selector: 'organisms-video-trimmer-section',\n standalone: true,\n imports: [\n MatSliderModule,\n ReactiveFormsModule,\n ],\n template: `\n <div class=\"frames\">\n @for (image of store.frames(); track image) {\n <img [style.width] [src]=\"image\" />\n }\n </div>\n <mat-slider min=\"0\" max=\"100\" discrete [displayWith]=\"formatLabel\">\n <input [formControl]=\"store.control().get(['start'])\" matSliderStartThumb>\n <input [formControl]=\"store.control().get(['end'])\" matSliderEndThumb>\n </mat-slider>\n `,\n styleUrls: ['./video-trimmer-section.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: VideoTrimmerSectionOrganismStore,\n inputs: ['images', 'control'],\n }\n ]\n})\nexport class VideoTrimmerSectionOrganism extends NgAtomicComponent {\n protected store = inject(VideoTrimmerSectionOrganismStore);\n\n formatLabel = (value: number): string => {\n const seconds = Math.round(value / 100 * this.store.control().value.duration!);\n return formatSeconds(seconds);\n }\n}\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -428,7 +428,7 @@ class CommandPage extends NgAtomicComponent {
428
428
  </frames-tabs>
429
429
  </templates-form>
430
430
  </frames-router-outlet>
431
- `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-PL3N: var(--page-width-lv1);--primary-color-SCOPED-IN-command-PL3N: var(--primary-color);--on-primary-color-SCOPED-IN-command-PL3N: var(--on-primary-color);--background-color-SCOPED-IN-command-PL3N: var(--background-color);--on-background-color-SCOPED-IN-command-PL3N: var(--on-background-color)}:host templates-form{padding-left:0;box-sizing:border-box;transition:padding-left .3s}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-PL3N)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-PL3N);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-PL3N);--background-color: var(--background-color-SCOPED-IN-command-PL3N);--on-background-color: var(--on-background-color-SCOPED-IN-command-PL3N)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: FormTemplate, selector: "templates-form" }, { kind: "component", type: TabsFrame, selector: "frames-tabs", inputs: ["labels"], outputs: ["selectedTabIndexChange"] }, { kind: "component", type: CommandFormGroup, selector: "groups-command-form", inputs: ["apiJsonUrls"] }, { kind: "component", type: QueryFormGroup, selector: "groups-query-form", inputs: ["form", "keyActions"] }] });
431
+ `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-ULqt: var(--page-width-lv1);--primary-color-SCOPED-IN-command-ULqt: var(--primary-color);--on-primary-color-SCOPED-IN-command-ULqt: var(--on-primary-color);--background-color-SCOPED-IN-command-ULqt: var(--background-color);--on-background-color-SCOPED-IN-command-ULqt: var(--on-background-color)}:host templates-form{padding-left:0;box-sizing:border-box;transition:padding-left .3s}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-ULqt)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-ULqt);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-ULqt);--background-color: var(--background-color-SCOPED-IN-command-ULqt);--on-background-color: var(--on-background-color-SCOPED-IN-command-ULqt)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: FormTemplate, selector: "templates-form" }, { kind: "component", type: TabsFrame, selector: "frames-tabs", inputs: ["labels"], outputs: ["selectedTabIndexChange"] }, { kind: "component", type: CommandFormGroup, selector: "groups-command-form", inputs: ["apiJsonUrls"] }, { kind: "component", type: QueryFormGroup, selector: "groups-query-form", inputs: ["form", "keyActions"] }] });
432
432
  }
433
433
  __decorate([
434
434
  Effect(FormTemplateStore.ActionId.FILE_SELECTED),
@@ -491,7 +491,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
491
491
  'actions',
492
492
  ]
493
493
  },
494
- ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-PL3N: var(--page-width-lv1);--primary-color-SCOPED-IN-command-PL3N: var(--primary-color);--on-primary-color-SCOPED-IN-command-PL3N: var(--on-primary-color);--background-color-SCOPED-IN-command-PL3N: var(--background-color);--on-background-color-SCOPED-IN-command-PL3N: var(--on-background-color)}:host templates-form{padding-left:0;box-sizing:border-box;transition:padding-left .3s}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-PL3N)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-PL3N);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-PL3N);--background-color: var(--background-color-SCOPED-IN-command-PL3N);--on-background-color: var(--on-background-color-SCOPED-IN-command-PL3N)}\n"] }]
494
+ ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-ULqt: var(--page-width-lv1);--primary-color-SCOPED-IN-command-ULqt: var(--primary-color);--on-primary-color-SCOPED-IN-command-ULqt: var(--on-primary-color);--background-color-SCOPED-IN-command-ULqt: var(--background-color);--on-background-color-SCOPED-IN-command-ULqt: var(--on-background-color)}:host templates-form{padding-left:0;box-sizing:border-box;transition:padding-left .3s}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-ULqt)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-ULqt);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-ULqt);--background-color: var(--background-color-SCOPED-IN-command-ULqt);--on-background-color: var(--on-background-color-SCOPED-IN-command-ULqt)}\n"] }]
495
495
  }], propDecorators: { onFileSelected: [] } });
496
496
 
497
497
  /**