@xxmachina/components 20.67.0 → 20.69.4

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 (68) hide show
  1. package/fesm2022/xxmachina-components-extras-flow.mjs +0 -0
  2. package/fesm2022/xxmachina-components-features-command.mjs +16 -16
  3. package/fesm2022/xxmachina-components-features-query.mjs +16 -16
  4. package/fesm2022/xxmachina-components-frames-qtp-v2.mjs +47 -47
  5. package/fesm2022/xxmachina-components-groups-command-form.mjs +5 -5
  6. package/fesm2022/xxmachina-components-groups-query-form.mjs +10 -10
  7. package/fesm2022/xxmachina-components-molecules-app-selector.mjs +3 -3
  8. package/fesm2022/xxmachina-components-molecules-calendar-paginator.mjs +3 -3
  9. package/fesm2022/xxmachina-components-molecules-daily-cell.mjs +12 -12
  10. package/fesm2022/xxmachina-components-molecules-inline-edit-field.mjs +10 -10
  11. package/fesm2022/xxmachina-components-molecules-user-avatar-menu.mjs +8 -8
  12. package/fesm2022/xxmachina-components-molecules-version-selector.mjs +7 -7
  13. package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +5 -5
  14. package/fesm2022/xxmachina-components-molecules-workspace-selector.mjs +8 -8
  15. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +5 -5
  16. package/fesm2022/xxmachina-components-organisms-event-input-section.mjs +6 -6
  17. package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs +11 -11
  18. package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs +11 -11
  19. package/fesm2022/xxmachina-components-organisms-xterm.mjs +16 -16
  20. package/fesm2022/xxmachina-components-pages-command.mjs +25 -25
  21. package/fesm2022/xxmachina-components-pages-query-v2.mjs +23 -23
  22. package/fesm2022/xxmachina-components-pages-query.mjs +51 -51
  23. package/fesm2022/xxmachina-components-pages-thread.mjs +13 -13
  24. package/fesm2022/xxmachina-components-routes-preloading.mjs +3 -3
  25. package/fesm2022/xxmachina-components-routes-queries.mjs +1 -1
  26. package/fesm2022/{xxmachina-components-routes-resources-pages.routes-DEu2qpeu.mjs → xxmachina-components-routes-resources-pages.routes-BHb0I2nz.mjs} +1 -1
  27. package/fesm2022/{xxmachina-components-routes-resources-resource.routes-CWxi2agj.mjs → xxmachina-components-routes-resources-resource.routes-CSp_8C3O.mjs} +1 -1
  28. package/fesm2022/xxmachina-components-routes-resources.mjs +1 -1
  29. package/fesm2022/xxmachina-components-routes-transformer.mjs +6 -6
  30. package/fesm2022/xxmachina-components-routes-transformers.mjs +1 -1
  31. package/fesm2022/xxmachina-components-services-app-bar.mjs +3 -3
  32. package/fesm2022/xxmachina-components-services-app.mjs +3 -3
  33. package/fesm2022/xxmachina-components-services-assistant.mjs +3 -3
  34. package/fesm2022/xxmachina-components-services-command.mjs +4 -4
  35. package/fesm2022/xxmachina-components-services-context.mjs +4 -4
  36. package/fesm2022/xxmachina-components-services-contract.mjs +3 -3
  37. package/fesm2022/xxmachina-components-services-debug.mjs +4 -4
  38. package/fesm2022/xxmachina-components-services-forms-query.mjs +3 -3
  39. package/fesm2022/xxmachina-components-services-forms-schedule.mjs +3 -3
  40. package/fesm2022/xxmachina-components-services-forms-variables.mjs +3 -3
  41. package/fesm2022/xxmachina-components-services-graphql.mjs +3 -3
  42. package/fesm2022/xxmachina-components-services-invoice.mjs +3 -3
  43. package/fesm2022/xxmachina-components-services-json-schema.mjs +3 -3
  44. package/fesm2022/xxmachina-components-services-message.mjs +5 -5
  45. package/fesm2022/xxmachina-components-services-openai.mjs +9 -9
  46. package/fesm2022/xxmachina-components-services-openapi.mjs +3 -3
  47. package/fesm2022/xxmachina-components-services-order.mjs +3 -3
  48. package/fesm2022/xxmachina-components-services-partner.mjs +3 -3
  49. package/fesm2022/xxmachina-components-services-query.mjs +3 -3
  50. package/fesm2022/xxmachina-components-services-recording.mjs +7 -7
  51. package/fesm2022/xxmachina-components-services-thread.mjs +3 -3
  52. package/fesm2022/xxmachina-components-services-transformer.mjs +3 -3
  53. package/fesm2022/xxmachina-components-services-version.mjs +8 -8
  54. package/fesm2022/xxmachina-components-services-youtube.mjs +3 -3
  55. package/fesm2022/xxmachina-components-templates-agent.mjs +11 -11
  56. package/fesm2022/xxmachina-components-templates-background.mjs +20 -20
  57. package/fesm2022/xxmachina-components-templates-env.mjs +26 -26
  58. package/fesm2022/xxmachina-components-templates-flow-nodes-group.mjs +4 -4
  59. package/fesm2022/xxmachina-components-templates-flow-nodes-issue.mjs +3 -3
  60. package/fesm2022/xxmachina-components-templates-flow-nodes-task.mjs +3 -3
  61. package/fesm2022/xxmachina-components-templates-flow.mjs +18 -18
  62. package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs +3 -3
  63. package/fesm2022/xxmachina-components-templates-machina-icon-button-menu.mjs +9 -9
  64. package/fesm2022/xxmachina-components-templates-machina-menu.mjs +7 -7
  65. package/fesm2022/xxmachina-components-templates-scheduler.mjs +3 -3
  66. package/fesm2022/xxmachina-components-templates-video.mjs +14 -14
  67. package/fesm2022/xxmachina-components.mjs +26 -26
  68. package/package.json +1 -1
@@ -14,10 +14,10 @@ class PercentagePipe {
14
14
  const day = 60 * 60 * 24;
15
15
  return (date.hour() * 60 * 60 + date.minute() * 60 + date.second()) / day * 100;
16
16
  }
17
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: PercentagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.6", ngImport: i0, type: PercentagePipe, isStandalone: true, name: "percentage" });
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: PercentagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: PercentagePipe, isStandalone: true, name: "percentage" });
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: PercentagePipe, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: PercentagePipe, decorators: [{
21
21
  type: Pipe,
22
22
  args: [{ standalone: true, name: 'percentage' }]
23
23
  }] });
@@ -33,10 +33,10 @@ class FilterByDatePipe {
33
33
  });
34
34
  return filtered;
35
35
  }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: FilterByDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
37
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.6", ngImport: i0, type: FilterByDatePipe, isStandalone: true, name: "filterByDate" });
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FilterByDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
37
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: FilterByDatePipe, isStandalone: true, name: "filterByDate" });
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: FilterByDatePipe, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FilterByDatePipe, decorators: [{
40
40
  type: Pipe,
41
41
  args: [{ standalone: true, name: 'filterByDate', pure: true }]
42
42
  }] });
@@ -44,10 +44,10 @@ class ScheduleToolTipTextPipe {
44
44
  transform(schedule) {
45
45
  return `${schedule.startAt.format('HH:mm')} ~ ${schedule.endAt.format('HH:mm')} ${schedule.name} `;
46
46
  }
47
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ScheduleToolTipTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
48
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.6", ngImport: i0, type: ScheduleToolTipTextPipe, isStandalone: true, name: "tooltipText" });
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ScheduleToolTipTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
48
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ScheduleToolTipTextPipe, isStandalone: true, name: "tooltipText" });
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ScheduleToolTipTextPipe, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ScheduleToolTipTextPipe, decorators: [{
51
51
  type: Pipe,
52
52
  args: [{ standalone: true, name: 'tooltipText', pure: true }]
53
53
  }] });
@@ -65,8 +65,8 @@ class DailyCellMolecule {
65
65
  getToolTipText(schedules) {
66
66
  return schedules.map(s => this.getScheduleText(s)).join(' ');
67
67
  }
68
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: DailyCellMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
69
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: DailyCellMolecule, isStandalone: true, selector: "molecules-daily-cell", inputs: { date: "date", schedules: "schedules", displayDate: "displayDate", noSchedulesText: "noSchedulesText", toolTipText: "toolTipText", marked: "marked", markingColor: "markingColor" }, ngImport: i0, template: `
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: DailyCellMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: DailyCellMolecule, isStandalone: true, selector: "molecules-daily-cell", inputs: { date: "date", schedules: "schedules", displayDate: "displayDate", noSchedulesText: "noSchedulesText", toolTipText: "toolTipText", marked: "marked", markingColor: "markingColor" }, ngImport: i0, template: `
70
70
  <div class="background">
71
71
  @for (schedule of schedules | filterByDate:date; track schedule) {
72
72
  <div
@@ -97,7 +97,7 @@ class DailyCellMolecule {
97
97
  </div> -->
98
98
  `, isInline: true, styles: [":host{display:block}:host{position:relative;display:flex;justify-content:center;align-items:center;font-size:12px;color:#666;cursor:pointer}:host .background{position:absolute;z-index:0;width:100%;height:100%}:host .background .schedule-band{position:absolute;height:100%;opacity:.5;background-color:#f2e7fe}:host .date.box{position:absolute;z-index:10;top:8px;left:8px;display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;color:#212121}:host .schedules-container{position:relative;z-index:20;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#666}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: PercentagePipe, name: "percentage" }, { kind: "pipe", type: FilterByDatePipe, name: "filterByDate" }, { kind: "pipe", type: ScheduleToolTipTextPipe, name: "tooltipText" }] });
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: DailyCellMolecule, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: DailyCellMolecule, decorators: [{
101
101
  type: Component,
102
102
  args: [{ standalone: true, selector: 'molecules-daily-cell', imports: [
103
103
  CommonModule,
@@ -11,24 +11,24 @@ var ActionId;
11
11
  })(ActionId || (ActionId = {}));
12
12
  let InlineEditFieldMoleculeStore = class InlineEditFieldMoleculeStore extends InjectableComponent {
13
13
  static ActionId = ActionId;
14
- control = input.required(...(ngDevMode ? [{ debugName: "control" }] : []));
15
- displayValue = input.required(...(ngDevMode ? [{ debugName: "displayValue" }] : []));
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: InlineEditFieldMoleculeStore, deps: null, target: i0.ɵɵFactoryTarget.Directive });
17
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.6", type: InlineEditFieldMoleculeStore, isStandalone: true, selector: "molecules-inline-edit-field", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null }, displayValue: { classPropertyName: "displayValue", publicName: "displayValue", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
14
+ control = input.required(...(ngDevMode ? [{ debugName: "control" }] : /* istanbul ignore next */ []));
15
+ displayValue = input.required(...(ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []));
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: InlineEditFieldMoleculeStore, deps: null, target: i0.ɵɵFactoryTarget.Directive });
17
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.25", type: InlineEditFieldMoleculeStore, isStandalone: true, selector: "molecules-inline-edit-field", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null }, displayValue: { classPropertyName: "displayValue", publicName: "displayValue", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
18
18
  };
19
19
  InlineEditFieldMoleculeStore = __decorate([
20
20
  TokenizedType()
21
21
  ], InlineEditFieldMoleculeStore);
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: InlineEditFieldMoleculeStore, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: InlineEditFieldMoleculeStore, decorators: [{
23
23
  type: Directive,
24
24
  args: [{ standalone: true, selector: 'molecules-inline-edit-field' }]
25
25
  }], propDecorators: { control: [{ type: i0.Input, args: [{ isSignal: true, alias: "control", required: true }] }], displayValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayValue", required: true }] }] } });
26
26
  class InlineEditFieldMolecule extends NgAtomicComponent {
27
27
  static ActionId = ActionId;
28
28
  store = inject(InlineEditFieldMoleculeStore);
29
- isEditing = signal(false, ...(ngDevMode ? [{ debugName: "isEditing" }] : []));
29
+ isEditing = signal(false, ...(ngDevMode ? [{ debugName: "isEditing" }] : /* istanbul ignore next */ []));
30
30
  originalValue = '';
31
- inputEl = viewChild('inputEl', ...(ngDevMode ? [{ debugName: "inputEl" }] : []));
31
+ inputEl = viewChild('inputEl', ...(ngDevMode ? [{ debugName: "inputEl" }] : /* istanbul ignore next */ []));
32
32
  constructor() {
33
33
  super();
34
34
  effect(() => {
@@ -65,8 +65,8 @@ class InlineEditFieldMolecule extends NgAtomicComponent {
65
65
  });
66
66
  }
67
67
  }
68
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: InlineEditFieldMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
69
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: InlineEditFieldMolecule, isStandalone: true, selector: "molecules-inline-edit-field", viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: InlineEditFieldMoleculeStore, inputs: ["control", "control", "displayValue", "displayValue"] }], ngImport: i0, template: `
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: InlineEditFieldMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: InlineEditFieldMolecule, isStandalone: true, selector: "molecules-inline-edit-field", viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: InlineEditFieldMoleculeStore, inputs: ["control", "control", "displayValue", "displayValue"] }], ngImport: i0, template: `
70
70
  @if (isEditing()) {
71
71
  <input
72
72
  class="edit-input"
@@ -85,7 +85,7 @@ class InlineEditFieldMolecule extends NgAtomicComponent {
85
85
  }
86
86
  `, isInline: true, styles: [":host{display:inline-block}.display-value{cursor:pointer;padding:2px 4px;border-radius:4px;transition:background-color .2s}.display-value:hover{background-color:#ffffff1a}.edit-input{font:inherit;color:inherit;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:2px 4px;outline:none;min-width:200px}.edit-input:focus{border-color:#fff9}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
87
  }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: InlineEditFieldMolecule, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: InlineEditFieldMolecule, decorators: [{
89
89
  type: Component,
90
90
  args: [{ selector: 'molecules-inline-edit-field', standalone: true, imports: [ReactiveFormsModule], template: `
91
91
  @if (isEditing()) {
@@ -17,22 +17,22 @@ import { WorkspaceSwitcherService } from '@xxmachina/components/services/workspa
17
17
  class UserAvatarMenuMolecule extends NgAtomicComponent {
18
18
  auth = inject(AuthService);
19
19
  switcher = inject(WorkspaceSwitcherService, { optional: true });
20
- signOutAction = input.required(...(ngDevMode ? [{ debugName: "signOutAction" }] : []));
20
+ signOutAction = input.required(...(ngDevMode ? [{ debugName: "signOutAction" }] : /* istanbul ignore next */ []));
21
21
  workspaceSwitch = output();
22
- imgError = signal(false, ...(ngDevMode ? [{ debugName: "imgError" }] : []));
22
+ imgError = signal(false, ...(ngDevMode ? [{ debugName: "imgError" }] : /* istanbul ignore next */ []));
23
23
  switchTo(workspaceId) {
24
24
  this.switcher?.switchTo(workspaceId);
25
25
  this.workspaceSwitch.emit(workspaceId);
26
26
  }
27
- photoURL = computed(() => this.imgError() ? null : this.auth.auth()?.photoURL ?? null, ...(ngDevMode ? [{ debugName: "photoURL" }] : []));
28
- email = computed(() => this.auth.auth()?.email ?? null, ...(ngDevMode ? [{ debugName: "email" }] : []));
27
+ photoURL = computed(() => this.imgError() ? null : this.auth.auth()?.photoURL ?? null, ...(ngDevMode ? [{ debugName: "photoURL" }] : /* istanbul ignore next */ []));
28
+ email = computed(() => this.auth.auth()?.email ?? null, ...(ngDevMode ? [{ debugName: "email" }] : /* istanbul ignore next */ []));
29
29
  initial = computed(() => {
30
30
  const user = this.auth.auth();
31
31
  const source = user?.displayName || user?.email || '?';
32
32
  return source.charAt(0).toUpperCase();
33
- }, ...(ngDevMode ? [{ debugName: "initial" }] : []));
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: UserAvatarMenuMolecule, deps: null, target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: UserAvatarMenuMolecule, isStandalone: true, selector: "molecules-user-avatar-menu", inputs: { signOutAction: { classPropertyName: "signOutAction", publicName: "signOutAction", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { workspaceSwitch: "workspaceSwitch" }, usesInheritance: true, ngImport: i0, template: `
33
+ }, ...(ngDevMode ? [{ debugName: "initial" }] : /* istanbul ignore next */ []));
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: UserAvatarMenuMolecule, deps: null, target: i0.ɵɵFactoryTarget.Component });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: UserAvatarMenuMolecule, isStandalone: true, selector: "molecules-user-avatar-menu", inputs: { signOutAction: { classPropertyName: "signOutAction", publicName: "signOutAction", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { workspaceSwitch: "workspaceSwitch" }, usesInheritance: true, ngImport: i0, template: `
36
36
  <button mat-icon-button class="avatar-button" [matMenuTriggerFor]="menu" [matTooltip]="email() ?? ''">
37
37
  @if (photoURL(); as url) {
38
38
  <!-- crossorigin="anonymous": app は COEP: require-corp で cross-origin isolation しており、
@@ -61,7 +61,7 @@ class UserAvatarMenuMolecule extends NgAtomicComponent {
61
61
  </mat-menu>
62
62
  `, isInline: true, styles: [":host{display:inline-flex}.avatar-button{display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.avatar-image{width:28px;height:28px;border-radius:50%;object-fit:cover}.avatar-initial{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background-color:var(--primary-color, #404040);color:var(--on-primary-color, #f0f0f0);font-size:14px;font-weight:500}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: UserAvatarMenuMolecule, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: UserAvatarMenuMolecule, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: 'molecules-user-avatar-menu', standalone: true, imports: [MatButtonModule, MatDividerModule, MatIconModule, MatMenuModule, MatTooltipModule], template: `
67
67
  <button mat-icon-button class="avatar-button" [matMenuTriggerFor]="menu" [matTooltip]="email() ?? ''">
@@ -43,9 +43,9 @@ function provideVersionSelectorStateFromService() {
43
43
  class VersionSelectorMolecule {
44
44
  state = inject(VERSION_SELECTOR_STATE, { optional: true }) ?? signal(null);
45
45
  versionControl = new FormControl('');
46
- searchText = signal('', ...(ngDevMode ? [{ debugName: "searchText" }] : []));
47
- isEditing = signal(false, ...(ngDevMode ? [{ debugName: "isEditing" }] : []));
48
- versionInput = viewChild('versionInput', ...(ngDevMode ? [{ debugName: "versionInput" }] : []));
46
+ searchText = signal('', ...(ngDevMode ? [{ debugName: "searchText" }] : /* istanbul ignore next */ []));
47
+ isEditing = signal(false, ...(ngDevMode ? [{ debugName: "isEditing" }] : /* istanbul ignore next */ []));
48
+ versionInput = viewChild('versionInput', ...(ngDevMode ? [{ debugName: "versionInput" }] : /* istanbul ignore next */ []));
49
49
  filteredVersions = computed(() => {
50
50
  const search = this.searchText().toLowerCase();
51
51
  const versions = this.state()?.versions ?? [];
@@ -54,7 +54,7 @@ class VersionSelectorMolecule {
54
54
  return versions.filter((v) => v.key.toLowerCase().includes(search) ||
55
55
  v.label.toLowerCase().includes(search) ||
56
56
  (v.tag?.toLowerCase().includes(search) ?? false));
57
- }, ...(ngDevMode ? [{ debugName: "filteredVersions" }] : []));
57
+ }, ...(ngDevMode ? [{ debugName: "filteredVersions" }] : /* istanbul ignore next */ []));
58
58
  constructor() {
59
59
  effect(() => {
60
60
  const current = this.state()?.current;
@@ -88,8 +88,8 @@ class VersionSelectorMolecule {
88
88
  this.state()?.select(value);
89
89
  }
90
90
  }
91
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: VersionSelectorMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: VersionSelectorMolecule, isStandalone: true, selector: "molecules-version-selector", viewQueries: [{ propertyName: "versionInput", first: true, predicate: ["versionInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VersionSelectorMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: VersionSelectorMolecule, isStandalone: true, selector: "molecules-version-selector", viewQueries: [{ propertyName: "versionInput", first: true, predicate: ["versionInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
93
93
  @if (state(); as version) {
94
94
  @if (isEditing()) {
95
95
  <div class="version-autocomplete-wrapper">
@@ -128,7 +128,7 @@ class VersionSelectorMolecule {
128
128
  }
129
129
  `, isInline: true, styles: [":host{display:inline-flex;align-items:center}.version-display{color:var(--on-primary-color, inherit);text-decoration:none;padding:0 8px;min-height:var(--navbar-button-height, 36px);line-height:var(--navbar-button-height, 36px);font-size:var(--navbar-font-size, 14px);transition:background-color .2s ease-in-out}.version-display:hover{color:var(--on-primary-color, inherit);background-color:#ffffff1a}.version-channel{opacity:.65;font-size:.85em;margin-left:.3em}.version-autocomplete-wrapper{display:inline-flex;align-items:center}.version-autocomplete-wrapper .version-autocomplete-input{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.3);color:var(--on-primary-color, inherit);font-size:var(--navbar-font-size, 14px);padding:4px 8px;width:120px;outline:none;transition:border-bottom-color .2s ease-in-out}.version-autocomplete-wrapper .version-autocomplete-input:focus{border-bottom-color:var(--on-primary-color, inherit)}.version-autocomplete-wrapper .version-autocomplete-input::placeholder{color:#ffffff80}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: VersionSelectorMolecule, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VersionSelectorMolecule, decorators: [{
132
132
  type: Component,
133
133
  args: [{ selector: 'molecules-version-selector', standalone: true, imports: [ReactiveFormsModule, MatAutocompleteModule, MatButtonModule, MatIconModule], template: `
134
134
  @if (state(); as version) {
@@ -5,16 +5,16 @@ class WeeklyHeaderMolecule {
5
5
  constructor() { }
6
6
  ngOnInit() {
7
7
  }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: WeeklyHeaderMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: WeeklyHeaderMolecule, isStandalone: true, selector: "molecules-weekly-header", ngImport: i0, template: `
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: WeeklyHeaderMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: WeeklyHeaderMolecule, isStandalone: true, selector: "molecules-weekly-header", ngImport: i0, template: `
10
10
  @for (day of ['日', '月', '火', '水', '木', '金', '土']; track day) {
11
11
  <div class="day-container">
12
12
  <span>{{ day }}</span>
13
13
  </div>
14
14
  }
15
- `, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-XdJ7h2h9: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-XdJ7h2h9: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-XdJ7h2h9)}: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-GXPWKc1m: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-GXPWKc1m: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-GXPWKc1m)}: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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: WeeklyHeaderMolecule, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: WeeklyHeaderMolecule, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'molecules-weekly-header', standalone: true, imports: [], template: `
20
20
  @for (day of ['日', '月', '火', '水', '木', '金', '土']; track day) {
@@ -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-XdJ7h2h9: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-XdJ7h2h9: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-XdJ7h2h9)}: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-GXPWKc1m: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-GXPWKc1m: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-GXPWKc1m)}: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
  /**
@@ -13,17 +13,17 @@ import { WorkspaceSwitcherService } from '@xxmachina/components/services/workspa
13
13
  class WorkspaceSelectorMolecule {
14
14
  switcher = inject(WorkspaceSwitcherService, { optional: true });
15
15
  control = new FormControl('');
16
- searchText = signal('', ...(ngDevMode ? [{ debugName: "searchText" }] : []));
17
- isEditing = signal(false, ...(ngDevMode ? [{ debugName: "isEditing" }] : []));
18
- workspaceInput = viewChild('workspaceInput', ...(ngDevMode ? [{ debugName: "workspaceInput" }] : []));
19
- visible = computed(() => !!this.switcher && !!this.switcher.currentWorkspaceId(), ...(ngDevMode ? [{ debugName: "visible" }] : []));
16
+ searchText = signal('', ...(ngDevMode ? [{ debugName: "searchText" }] : /* istanbul ignore next */ []));
17
+ isEditing = signal(false, ...(ngDevMode ? [{ debugName: "isEditing" }] : /* istanbul ignore next */ []));
18
+ workspaceInput = viewChild('workspaceInput', ...(ngDevMode ? [{ debugName: "workspaceInput" }] : /* istanbul ignore next */ []));
19
+ visible = computed(() => !!this.switcher && !!this.switcher.currentWorkspaceId(), ...(ngDevMode ? [{ debugName: "visible" }] : /* istanbul ignore next */ []));
20
20
  filtered = computed(() => {
21
21
  const search = this.searchText().toLowerCase();
22
22
  const workspaces = this.switcher?.workspaces() ?? [];
23
23
  if (!search)
24
24
  return workspaces;
25
25
  return workspaces.filter((w) => w.name.toLowerCase().includes(search));
26
- }, ...(ngDevMode ? [{ debugName: "filtered" }] : []));
26
+ }, ...(ngDevMode ? [{ debugName: "filtered" }] : /* istanbul ignore next */ []));
27
27
  constructor() {
28
28
  this.control.valueChanges.subscribe((value) => this.searchText.set(value ?? ''));
29
29
  }
@@ -43,8 +43,8 @@ class WorkspaceSelectorMolecule {
43
43
  this.switcher?.switchTo(event.option.value);
44
44
  this.isEditing.set(false);
45
45
  }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: WorkspaceSelectorMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: WorkspaceSelectorMolecule, isStandalone: true, selector: "molecules-workspace-selector", viewQueries: [{ propertyName: "workspaceInput", first: true, predicate: ["workspaceInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: WorkspaceSelectorMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: WorkspaceSelectorMolecule, isStandalone: true, selector: "molecules-workspace-selector", viewQueries: [{ propertyName: "workspaceInput", first: true, predicate: ["workspaceInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
48
48
  @if (visible()) {
49
49
  <span class="breadcrumb-separator">/</span>
50
50
  @if (isEditing()) {
@@ -78,7 +78,7 @@ class WorkspaceSelectorMolecule {
78
78
  }
79
79
  `, isInline: true, styles: [":host{display:inline-flex;align-items:center}.breadcrumb-separator{color:var(--on-primary-color);padding:0 4px;font-size:var(--navbar-font-size, 14px)}.breadcrumb-link.workspace-display{color:var(--on-primary-color);text-decoration:none;padding:0 8px;min-height:var(--navbar-button-height, 36px);line-height:var(--navbar-button-height, 36px);font-size:var(--navbar-font-size, 14px);transition:background-color .2s ease-in-out}.breadcrumb-link.workspace-display:hover{color:var(--on-primary-color);background-color:#ffffff1a}.breadcrumb-link.workspace-display mat-icon{margin-right:4px;font-size:var(--navbar-icon-size, 18px);width:var(--navbar-icon-size, 18px);height:var(--navbar-icon-size, 18px);vertical-align:middle}.workspace-autocomplete-wrapper{display:inline-flex;align-items:center}.workspace-autocomplete-wrapper .workspace-autocomplete-input{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.3);color:var(--on-primary-color);font-size:var(--navbar-font-size, 14px);padding:4px 8px;width:120px;outline:none;transition:border-bottom-color .2s ease-in-out}.workspace-autocomplete-wrapper .workspace-autocomplete-input:focus{border-bottom-color:var(--on-primary-color)}.workspace-autocomplete-wrapper .workspace-autocomplete-input::placeholder{color:#ffffff80}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: WorkspaceSelectorMolecule, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: WorkspaceSelectorMolecule, decorators: [{
82
82
  type: Component,
83
83
  args: [{ selector: 'molecules-workspace-selector', standalone: true, imports: [ReactiveFormsModule, MatAutocompleteModule, MatButtonModule, MatIconModule], template: `
84
84
  @if (visible()) {
@@ -30,8 +30,8 @@ class CalendarSectionOrganism {
30
30
  this.el.nativeElement.style.setProperty('--row-num', this.calendar?.length || 0);
31
31
  }
32
32
  }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CalendarSectionOrganism, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: CalendarSectionOrganism, isStandalone: true, selector: "organisms-calendar-section", inputs: { label: "label", displayDays: "displayDays", calendar: "calendar", schedules: "schedules", date: "date", today: "today", displayPaginator: "displayPaginator", displayDescription: "displayDescription" }, outputs: { onDateClick: "onDateClick", dateChange: "dateChange" }, usesOnChanges: true, ngImport: i0, template: `
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: CalendarSectionOrganism, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: CalendarSectionOrganism, isStandalone: true, selector: "organisms-calendar-section", inputs: { label: "label", displayDays: "displayDays", calendar: "calendar", schedules: "schedules", date: "date", today: "today", displayPaginator: "displayPaginator", displayDescription: "displayDescription" }, outputs: { onDateClick: "onDateClick", dateChange: "dateChange" }, usesOnChanges: true, ngImport: i0, template: `
35
35
  <!-- <molecules-calendar-paginator
36
36
  *ngIf="displayPaginator"
37
37
  [date]="date"
@@ -56,9 +56,9 @@ class CalendarSectionOrganism {
56
56
  }
57
57
  }
58
58
  </div>
59
- `, isInline: true, styles: [":host{display:block;--row: 80px;--row-SCOPED-IN-7qTJGyAm: var(--row);--row-num: 0;--row-num-SCOPED-IN-7qTJGyAm: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-7qTJGyAm: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-7qTJGyAm: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-7qTJGyAm: 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-7qTJGyAm);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-7qTJGyAm),var(--row-SCOPED-IN-7qTJGyAm));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-7qTJGyAm)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-7qTJGyAm);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-lZi1824x: var(--row);--row-num: 0;--row-num-SCOPED-IN-lZi1824x: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-lZi1824x: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-lZi1824x: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-lZi1824x: 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-lZi1824x);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-lZi1824x),var(--row-SCOPED-IN-lZi1824x));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-lZi1824x)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-lZi1824x);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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CalendarSectionOrganism, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: CalendarSectionOrganism, decorators: [{
62
62
  type: Component,
63
63
  args: [{ standalone: true, imports: [
64
64
  CalendarPaginatorMolecule,
@@ -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-7qTJGyAm: var(--row);--row-num: 0;--row-num-SCOPED-IN-7qTJGyAm: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-7qTJGyAm: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-7qTJGyAm: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-7qTJGyAm: 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-7qTJGyAm);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-7qTJGyAm),var(--row-SCOPED-IN-7qTJGyAm));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-7qTJGyAm)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-7qTJGyAm);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-lZi1824x: var(--row);--row-num: 0;--row-num-SCOPED-IN-lZi1824x: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-lZi1824x: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-lZi1824x: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-lZi1824x: 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-lZi1824x);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-lZi1824x),var(--row-SCOPED-IN-lZi1824x));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-lZi1824x)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-lZi1824x);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: [{
@@ -52,15 +52,15 @@ class EventInputSectionOrganism extends NgAtomicComponent {
52
52
  const hour = Math.floor(i / 4);
53
53
  const minute = (i % 4) * 15;
54
54
  return `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;
55
- }), ...(ngDevMode ? [{ debugName: "startAutoComplete" }] : []));
55
+ }), ...(ngDevMode ? [{ debugName: "startAutoComplete" }] : /* istanbul ignore next */ []));
56
56
  options = computed(() => {
57
57
  return this.startAutoComplete().map((value) => ({ value, name: value }));
58
- }, ...(ngDevMode ? [{ debugName: "options" }] : []));
58
+ }, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
59
59
  endAutoComplete = signal([...Array(24 * 4).keys()].map((i) => {
60
60
  const hour = Math.floor(i / 4);
61
61
  const minute = (i % 4) * 15;
62
62
  return `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;
63
- }), ...(ngDevMode ? [{ debugName: "endAutoComplete" }] : []));
63
+ }), ...(ngDevMode ? [{ debugName: "endAutoComplete" }] : /* istanbul ignore next */ []));
64
64
  ngOnInit() {
65
65
  this.form.patchValue({
66
66
  date: this.control.get(['startAt']).value,
@@ -74,8 +74,8 @@ class EventInputSectionOrganism extends NgAtomicComponent {
74
74
  });
75
75
  });
76
76
  }
77
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: EventInputSectionOrganism, deps: null, target: i0.ɵɵFactoryTarget.Component });
78
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.6", type: EventInputSectionOrganism, isStandalone: true, selector: "organisms-event-input-section", inputs: { label: "label", control: "control" }, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS }], usesInheritance: true, ngImport: i0, template: `
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: EventInputSectionOrganism, deps: null, target: i0.ɵɵFactoryTarget.Component });
78
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: EventInputSectionOrganism, isStandalone: true, selector: "organisms-event-input-section", inputs: { label: "label", control: "control" }, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS }], usesInheritance: true, ngImport: i0, template: `
79
79
  <div>
80
80
  <molecules-date-input-field
81
81
  [label]="'候補日'"
@@ -98,7 +98,7 @@ class EventInputSectionOrganism extends NgAtomicComponent {
98
98
 
99
99
  `, isInline: true, styles: [":host{display:block}:host{display:flex;flex-direction:row;justify-content:space-between;padding-left:16px;width:100%;box-sizing:border-box}:host div{display:flex;justify-content:space-between;width:100%;gap:8px}:host div molecules-date-input-field{width:120px;flex:content}:host div molecules-select-input-field{width:120px}:host atoms-smart-menu-button{margin-top:4px}\n"], dependencies: [{ kind: "component", type: DateInputFieldMolecule, selector: "molecules-date-input-field" }, { kind: "component", type: SelectInputFieldMolecule, selector: "molecules-select-input-field" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: DayjsDateModule }, { kind: "component", type: SmartMenuButtonAtom, selector: "atoms-menu-button, atoms-menu-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
100
100
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: EventInputSectionOrganism, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: EventInputSectionOrganism, decorators: [{
102
102
  type: Component,
103
103
  args: [{ selector: 'organisms-event-input-section', standalone: true, imports: [
104
104
  DateInputFieldMolecule,
@@ -17,17 +17,17 @@ var ActionId;
17
17
  class TerminalInputSectionOrganism {
18
18
  static ActionId = ActionId;
19
19
  speechService = inject(SpeechService);
20
- control = input(new FormControl('', { nonNullable: true }), ...(ngDevMode ? [{ debugName: "control" }] : []));
21
- placeholder = input('Enter command...', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
22
- prefix = input('>', ...(ngDevMode ? [{ debugName: "prefix" }] : []));
23
- clearOnSend = input(true, ...(ngDevMode ? [{ debugName: "clearOnSend" }] : []));
24
- enableVoiceInput = input(false, ...(ngDevMode ? [{ debugName: "enableVoiceInput" }] : []));
25
- sessionId = input(undefined, ...(ngDevMode ? [{ debugName: "sessionId" }] : []));
20
+ control = input(new FormControl('', { nonNullable: true }), ...(ngDevMode ? [{ debugName: "control" }] : /* istanbul ignore next */ []));
21
+ placeholder = input('Enter command...', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
22
+ prefix = input('>', ...(ngDevMode ? [{ debugName: "prefix" }] : /* istanbul ignore next */ []));
23
+ clearOnSend = input(true, ...(ngDevMode ? [{ debugName: "clearOnSend" }] : /* istanbul ignore next */ []));
24
+ enableVoiceInput = input(false, ...(ngDevMode ? [{ debugName: "enableVoiceInput" }] : /* istanbul ignore next */ []));
25
+ sessionId = input(undefined, ...(ngDevMode ? [{ debugName: "sessionId" }] : /* istanbul ignore next */ []));
26
26
  action = output();
27
- inputField = viewChild('inputField', ...(ngDevMode ? [{ debugName: "inputField" }] : []));
27
+ inputField = viewChild('inputField', ...(ngDevMode ? [{ debugName: "inputField" }] : /* istanbul ignore next */ []));
28
28
  componentId = this.speechService.generateComponentId();
29
29
  isRecording = computed(() => this.speechService.isListening() &&
30
- this.speechService.isActiveComponent(this.componentId), ...(ngDevMode ? [{ debugName: "isRecording" }] : []));
30
+ this.speechService.isActiveComponent(this.componentId), ...(ngDevMode ? [{ debugName: "isRecording" }] : /* istanbul ignore next */ []));
31
31
  isComposing = false;
32
32
  enterPressedDuringComposition = false;
33
33
  constructor() {
@@ -111,10 +111,10 @@ class TerminalInputSectionOrganism {
111
111
  toggleVoiceInput() {
112
112
  this.speechService.toggle(this.componentId);
113
113
  }
114
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TerminalInputSectionOrganism, deps: [], target: i0.ɵɵFactoryTarget.Component });
115
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: TerminalInputSectionOrganism, isStandalone: true, selector: "organisms-terminal-input-section", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, clearOnSend: { classPropertyName: "clearOnSend", publicName: "clearOnSend", isSignal: true, isRequired: false, transformFunction: null }, enableVoiceInput: { classPropertyName: "enableVoiceInput", publicName: "enableVoiceInput", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: "action" }, host: { classAttribute: "organism terminal-input section" }, viewQueries: [{ propertyName: "inputField", first: true, predicate: ["inputField"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"input-line\">\n <span class=\"input-prefix\">{{ prefix() }}</span>\n <div class=\"input-container\">\n <textarea\n #inputField\n class=\"terminal-input\"\n [formControl]=\"control()\"\n [placeholder]=\"placeholder()\"\n (keydown)=\"handleKeydown($event)\"\n (input)=\"onInput()\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n rows=\"1\"\n ></textarea>\n </div>\n @if (enableVoiceInput() && speechService.isSupported) {\n <button\n mat-icon-button\n (click)=\"toggleVoiceInput()\"\n [matTooltip]=\"isRecording() ? '\u97F3\u58F0\u5165\u529B\u505C\u6B62' : '\u97F3\u58F0\u5165\u529B'\"\n [class.recording]=\"isRecording()\">\n <mat-icon>{{ isRecording() ? 'mic' : 'mic_none' }}</mat-icon>\n </button>\n }\n <button mat-icon-button (click)=\"send()\" matTooltip=\"\u9001\u4FE1\">\n <mat-icon>send</mat-icon>\n </button>\n</div>\n", styles: [":host{display:block;display:flex;background:#0000004d;border-top:1px solid rgba(255,255,255,.1)}.input-line{display:flex;align-items:center;width:100%;gap:8px;padding:8px 12px}.input-prefix{color:#3f3;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;flex-shrink:0}.input-container{flex:1;display:flex}.input-container .terminal-input{width:100%;max-height:200px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#e0e0e0;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;line-height:20px;padding:8px 12px;resize:none;outline:none;overflow-y:auto;display:block;box-sizing:border-box}.input-container .terminal-input:focus{border-color:#33ff3380;box-shadow:0 0 0 2px #3f33}.input-container .terminal-input::placeholder{color:#ffffff4d}button{color:#3f3}button:hover{background:#33ff331a}button.recording{color:#f44336;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
114
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: TerminalInputSectionOrganism, deps: [], target: i0.ɵɵFactoryTarget.Component });
115
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: TerminalInputSectionOrganism, isStandalone: true, selector: "organisms-terminal-input-section", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, clearOnSend: { classPropertyName: "clearOnSend", publicName: "clearOnSend", isSignal: true, isRequired: false, transformFunction: null }, enableVoiceInput: { classPropertyName: "enableVoiceInput", publicName: "enableVoiceInput", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: "sessionId", publicName: "sessionId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: "action" }, host: { classAttribute: "organism terminal-input section" }, viewQueries: [{ propertyName: "inputField", first: true, predicate: ["inputField"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"input-line\">\n <span class=\"input-prefix\">{{ prefix() }}</span>\n <div class=\"input-container\">\n <textarea\n #inputField\n class=\"terminal-input\"\n [formControl]=\"control()\"\n [placeholder]=\"placeholder()\"\n (keydown)=\"handleKeydown($event)\"\n (input)=\"onInput()\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n rows=\"1\"\n ></textarea>\n </div>\n @if (enableVoiceInput() && speechService.isSupported) {\n <button\n mat-icon-button\n (click)=\"toggleVoiceInput()\"\n [matTooltip]=\"isRecording() ? '\u97F3\u58F0\u5165\u529B\u505C\u6B62' : '\u97F3\u58F0\u5165\u529B'\"\n [class.recording]=\"isRecording()\">\n <mat-icon>{{ isRecording() ? 'mic' : 'mic_none' }}</mat-icon>\n </button>\n }\n <button mat-icon-button (click)=\"send()\" matTooltip=\"\u9001\u4FE1\">\n <mat-icon>send</mat-icon>\n </button>\n</div>\n", styles: [":host{display:block;display:flex;background:#0000004d;border-top:1px solid rgba(255,255,255,.1)}.input-line{display:flex;align-items:center;width:100%;gap:8px;padding:8px 12px}.input-prefix{color:#3f3;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;flex-shrink:0}.input-container{flex:1;display:flex}.input-container .terminal-input{width:100%;max-height:200px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#e0e0e0;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;line-height:20px;padding:8px 12px;resize:none;outline:none;overflow-y:auto;display:block;box-sizing:border-box}.input-container .terminal-input:focus{border-color:#33ff3380;box-shadow:0 0 0 2px #3f33}.input-container .terminal-input::placeholder{color:#ffffff4d}button{color:#3f3}button:hover{background:#33ff331a}button.recording{color:#f44336;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
116
116
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TerminalInputSectionOrganism, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: TerminalInputSectionOrganism, decorators: [{
118
118
  type: Component,
119
119
  args: [{ selector: 'organisms-terminal-input-section', standalone: true, imports: [
120
120
  ReactiveFormsModule,
@@ -10,28 +10,28 @@ import { fromEvent, startWith, map } from 'rxjs';
10
10
  import { toSignal } from '@angular/core/rxjs-interop';
11
11
 
12
12
  class VideoTrimmerSectionOrganismStore {
13
- images = input([], ...(ngDevMode ? [{ debugName: "images" }] : []));
14
- imageSrcList = computed(() => (this.images() ?? []).map(blob => URL.createObjectURL(blob)), ...(ngDevMode ? [{ debugName: "imageSrcList" }] : []));
13
+ images = input([], ...(ngDevMode ? [{ debugName: "images" }] : /* istanbul ignore next */ []));
14
+ imageSrcList = computed(() => (this.images() ?? []).map(blob => URL.createObjectURL(blob)), ...(ngDevMode ? [{ debugName: "imageSrcList" }] : /* istanbul ignore next */ []));
15
15
  control = input(inject(FormBuilder).group({
16
16
  duration: [0],
17
17
  start: [0],
18
18
  end: [100],
19
- }), ...(ngDevMode ? [{ debugName: "control" }] : []));
19
+ }), ...(ngDevMode ? [{ debugName: "control" }] : /* istanbul ignore next */ []));
20
20
  el = inject(ElementRef);
21
21
  width$ = fromEvent(window, 'resize').pipe(startWith(null), map(() => this.el.nativeElement.clientWidth));
22
22
  width = toSignal(this.width$);
23
- frameSize = computed(() => Math.round(this.width() / 100), ...(ngDevMode ? [{ debugName: "frameSize" }] : []));
23
+ frameSize = computed(() => Math.round(this.width() / 100), ...(ngDevMode ? [{ debugName: "frameSize" }] : /* istanbul ignore next */ []));
24
24
  frames = computed(() => {
25
25
  const frameSize = this.frameSize();
26
26
  const images = this.imageSrcList().map(src => [...Array(this.frameSize())].map(() => src)).flat();
27
27
  console.debug('images:', images.length);
28
28
  const interval = Math.floor(images.length / this.frameSize());
29
29
  return images.filter((_, i) => i % interval === 0);
30
- }, ...(ngDevMode ? [{ debugName: "frames" }] : []));
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: VideoTrimmerSectionOrganismStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.6", type: VideoTrimmerSectionOrganismStore, isStandalone: true, inputs: { images: { classPropertyName: "images", publicName: "images", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
30
+ }, ...(ngDevMode ? [{ debugName: "frames" }] : /* istanbul ignore next */ []));
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VideoTrimmerSectionOrganismStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.25", type: VideoTrimmerSectionOrganismStore, isStandalone: true, inputs: { images: { classPropertyName: "images", publicName: "images", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: VideoTrimmerSectionOrganismStore, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VideoTrimmerSectionOrganismStore, decorators: [{
35
35
  type: Directive,
36
36
  args: [{ standalone: true }]
37
37
  }], propDecorators: { images: [{ type: i0.Input, args: [{ isSignal: true, alias: "images", required: false }] }], control: [{ type: i0.Input, args: [{ isSignal: true, alias: "control", required: false }] }] } });
@@ -41,8 +41,8 @@ class VideoTrimmerSectionOrganism extends NgAtomicComponent {
41
41
  const seconds = Math.round(value / 100 * this.store.control().value.duration);
42
42
  return formatSeconds(seconds);
43
43
  };
44
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: VideoTrimmerSectionOrganism, deps: null, target: i0.ɵɵFactoryTarget.Component });
45
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: VideoTrimmerSectionOrganism, isStandalone: true, selector: "organisms-video-trimmer-section", usesInheritance: true, hostDirectives: [{ directive: VideoTrimmerSectionOrganismStore, inputs: ["images", "images", "control", "control"] }], ngImport: i0, template: `
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VideoTrimmerSectionOrganism, deps: null, target: i0.ɵɵFactoryTarget.Component });
45
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: VideoTrimmerSectionOrganism, isStandalone: true, selector: "organisms-video-trimmer-section", usesInheritance: true, hostDirectives: [{ directive: VideoTrimmerSectionOrganismStore, inputs: ["images", "images", "control", "control"] }], ngImport: i0, template: `
46
46
  <div class="frames">
47
47
  @for (image of store.frames(); track image) {
48
48
  <img [style.width] [src]="image" />
@@ -54,7 +54,7 @@ class VideoTrimmerSectionOrganism extends NgAtomicComponent {
54
54
  </mat-slider>
55
55
  `, isInline: true, styles: [":host{display:block}:host{position:relative;display:grid;width:100%;height:80px}:host .frames{grid-template-columns:repeat(auto-fill,100px);overflow:hidden;overflow-x:auto;white-space:nowrap}:host .frames img{width:100px}:host mat-slider{top:-16px;position:absolute;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i1.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i1.MatSliderRangeThumb, selector: "input[matSliderStartThumb], input[matSliderEndThumb]", exportAs: ["matSliderRangeThumb"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: VideoTrimmerSectionOrganism, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VideoTrimmerSectionOrganism, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'organisms-video-trimmer-section', standalone: true, imports: [
60
60
  MatSliderModule,