@cratis/scene.blueprint.hr 4.50.0 → 4.56.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 (48) hide show
  1. package/README.md +67 -0
  2. package/blueprintCatalog.json +16 -0
  3. package/dist/cjs/hrParts.js.map +1 -1
  4. package/dist/cjs/hrQueries.js +3 -0
  5. package/dist/cjs/hrQueries.js.map +1 -1
  6. package/dist/cjs/hrScreenSet.js +7 -0
  7. package/dist/cjs/hrScreenSet.js.map +1 -1
  8. package/dist/cjs/index.js +2 -0
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/navigation.js +9 -1
  11. package/dist/cjs/navigation.js.map +1 -1
  12. package/dist/cjs/templates/index.js +3 -0
  13. package/dist/cjs/templates/index.js.map +1 -1
  14. package/dist/cjs/templates/teamCalendarTemplate.js +99 -0
  15. package/dist/cjs/templates/teamCalendarTemplate.js.map +1 -0
  16. package/dist/esm/hrParts.d.ts +1 -1
  17. package/dist/esm/hrParts.d.ts.map +1 -1
  18. package/dist/esm/hrParts.js.map +1 -1
  19. package/dist/esm/hrQueries.d.ts +3 -0
  20. package/dist/esm/hrQueries.d.ts.map +1 -1
  21. package/dist/esm/hrQueries.js +3 -0
  22. package/dist/esm/hrQueries.js.map +1 -1
  23. package/dist/esm/hrScreenSet.d.ts.map +1 -1
  24. package/dist/esm/hrScreenSet.js +7 -0
  25. package/dist/esm/hrScreenSet.js.map +1 -1
  26. package/dist/esm/index.js +1 -0
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/esm/navigation.d.ts.map +1 -1
  29. package/dist/esm/navigation.js +9 -1
  30. package/dist/esm/navigation.js.map +1 -1
  31. package/dist/esm/templates/index.d.ts +1 -0
  32. package/dist/esm/templates/index.d.ts.map +1 -1
  33. package/dist/esm/templates/index.js +3 -1
  34. package/dist/esm/templates/index.js.map +1 -1
  35. package/dist/esm/templates/teamCalendarTemplate.d.ts +3 -0
  36. package/dist/esm/templates/teamCalendarTemplate.d.ts.map +1 -0
  37. package/dist/esm/templates/teamCalendarTemplate.js +97 -0
  38. package/dist/esm/templates/teamCalendarTemplate.js.map +1 -0
  39. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  40. package/hrParts.ts +1 -1
  41. package/hrQueries.ts +3 -0
  42. package/hrScreenSet.ts +1 -0
  43. package/navigation.ts +2 -1
  44. package/package.json +9 -9
  45. package/sampleData/hr-nordic.json +150 -1
  46. package/templates/index.ts +3 -1
  47. package/templates/teamCalendarTemplate.ts +33 -0
  48. package/thumbnails/HrTeamCalendar.svg +16 -0
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../navigation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAA8C,MAAM,qBAAqB,CAAC;AAIxH,eAAO,MAAM,QAAQ,OAAO,CAAC;AAM7B,eAAO,MAAM,WAAW,EAAE,oBAgBtB,CAAC;AAML,eAAO,MAAM,YAAY,EAAE,eAuB1B,CAAC"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../navigation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAA8C,MAAM,qBAAqB,CAAC;AAIxH,eAAO,MAAM,QAAQ,OAAO,CAAC;AAM7B,eAAO,MAAM,WAAW,EAAE,oBAgBtB,CAAC;AAML,eAAO,MAAM,YAAY,EAAE,eAwB1B,CAAC"}
@@ -40,7 +40,7 @@ import { hrScreenDefinitions } from './hrScreenSet.js';
40
40
  })();
41
41
  /**
42
42
  * The navigation of the application the blueprint is: the topbar names the module, and the module's sidebar - which overrides the application's - lists
43
- * the four places an HR team goes: Directory, Org chart, Time off (with its requests and its balances beneath it) and Onboarding.
43
+ * the four places an HR team goes: Directory, Org chart, Time off (with its requests, the team calendar and its balances beneath it) and Onboarding.
44
44
  */ const hrNavigation = {
45
45
  application: {
46
46
  logo: {
@@ -102,6 +102,14 @@ import { hrScreenDefinitions } from './hrScreenSet.js';
102
102
  feature: 'timeoff'
103
103
  }
104
104
  },
105
+ {
106
+ id: 'calendar',
107
+ title: 'Team calendar',
108
+ target: {
109
+ module: hrModule,
110
+ feature: 'timeoff.calendar'
111
+ }
112
+ },
105
113
  {
106
114
  id: 'balances',
107
115
  title: 'Balances',
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sources":["../../navigation.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ApplicationStructure, NavigationModel, NavigationRegionKind, NavigationRegionMode } from '@cratis/scene.model';\nimport { hrScreenDefinitions } from './hrScreenSet';\n\n/** The module the blueprint's screens live in, and so the first segment of every screen's qualified name. */\nexport const hrModule = 'hr';\n\n/**\n * The application structure the screen set implies: one module, `hr`, a feature for each screen and the sub-features beneath it (`hr.directory.record` is the\n * `record` feature of `directory`). Derived from the screen names, so a screen added to the set is part of the structure without a second edit.\n */\nexport const hrStructure: ApplicationStructure = (() => {\n interface Node { id: string; name: string; features: Node[]; slices: never[] }\n const root: Node = { id: hrModule, name: 'HR', features: [], slices: [] };\n for (const screen of hrScreenDefinitions) {\n let parent = root;\n for (const id of screen.name.split('.').slice(1)) {\n let node = parent.features.find(candidate => candidate.id === id);\n if (!node) {\n node = { id, name: screen.title, features: [], slices: [] };\n parent.features.push(node);\n }\n parent = node;\n }\n }\n\n return { modules: [{ id: root.id, name: root.name, features: root.features }] } as unknown as ApplicationStructure;\n})();\n\n/**\n * The navigation of the application the blueprint is: the topbar names the module, and the module's sidebar - which overrides the application's - lists\n * the four places an HR team goes: Directory, Org chart, Time off (with its requests and its balances beneath it) and Onboarding.\n */\nexport const hrNavigation: NavigationModel = {\n application: {\n logo: { image: '', title: 'HR' },\n regions: [{ region: NavigationRegionKind.Topbar, items: [{ id: 'hr', title: 'HR', target: { module: hrModule } }] }],\n },\n modules: [{\n module: hrModule,\n regions: [{\n region: NavigationRegionKind.Sidebar,\n mode: NavigationRegionMode.Override,\n items: [\n { id: 'directory', title: 'Directory', target: { module: hrModule, feature: 'directory' } },\n { id: 'org', title: 'Org chart', target: { module: hrModule, feature: 'org' } },\n {\n id: 'timeoff', title: 'Time off', target: { module: hrModule, feature: 'timeoff' }, children: [\n { id: 'requests', title: 'Requests', target: { module: hrModule, feature: 'timeoff' } },\n { id: 'balances', title: 'Balances', target: { module: hrModule, feature: 'timeoff.balances' } },\n ],\n },\n { id: 'onboarding', title: 'Onboarding', target: { module: hrModule, feature: 'onboarding' } },\n ],\n }],\n }],\n};\n"],"names":["hrModule","hrStructure","root","id","name","features","screen","hrScreenDefinitions","parent","split","slice","node","find","candidate","title","slices","push","modules","hrNavigation","application","logo","image","regions","region","NavigationRegionKind","Topbar","items","target","module","Sidebar","mode","NavigationRegionMode","Override","feature","children"],"mappings":"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"}
1
+ {"version":3,"file":"navigation.js","sources":["../../navigation.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ApplicationStructure, NavigationModel, NavigationRegionKind, NavigationRegionMode } from '@cratis/scene.model';\nimport { hrScreenDefinitions } from './hrScreenSet';\n\n/** The module the blueprint's screens live in, and so the first segment of every screen's qualified name. */\nexport const hrModule = 'hr';\n\n/**\n * The application structure the screen set implies: one module, `hr`, a feature for each screen and the sub-features beneath it (`hr.directory.record` is the\n * `record` feature of `directory`). Derived from the screen names, so a screen added to the set is part of the structure without a second edit.\n */\nexport const hrStructure: ApplicationStructure = (() => {\n interface Node { id: string; name: string; features: Node[]; slices: never[] }\n const root: Node = { id: hrModule, name: 'HR', features: [], slices: [] };\n for (const screen of hrScreenDefinitions) {\n let parent = root;\n for (const id of screen.name.split('.').slice(1)) {\n let node = parent.features.find(candidate => candidate.id === id);\n if (!node) {\n node = { id, name: screen.title, features: [], slices: [] };\n parent.features.push(node);\n }\n parent = node;\n }\n }\n\n return { modules: [{ id: root.id, name: root.name, features: root.features }] } as unknown as ApplicationStructure;\n})();\n\n/**\n * The navigation of the application the blueprint is: the topbar names the module, and the module's sidebar - which overrides the application's - lists\n * the four places an HR team goes: Directory, Org chart, Time off (with its requests, the team calendar and its balances beneath it) and Onboarding.\n */\nexport const hrNavigation: NavigationModel = {\n application: {\n logo: { image: '', title: 'HR' },\n regions: [{ region: NavigationRegionKind.Topbar, items: [{ id: 'hr', title: 'HR', target: { module: hrModule } }] }],\n },\n modules: [{\n module: hrModule,\n regions: [{\n region: NavigationRegionKind.Sidebar,\n mode: NavigationRegionMode.Override,\n items: [\n { id: 'directory', title: 'Directory', target: { module: hrModule, feature: 'directory' } },\n { id: 'org', title: 'Org chart', target: { module: hrModule, feature: 'org' } },\n {\n id: 'timeoff', title: 'Time off', target: { module: hrModule, feature: 'timeoff' }, children: [\n { id: 'requests', title: 'Requests', target: { module: hrModule, feature: 'timeoff' } },\n { id: 'calendar', title: 'Team calendar', target: { module: hrModule, feature: 'timeoff.calendar' } },\n { id: 'balances', title: 'Balances', target: { module: hrModule, feature: 'timeoff.balances' } },\n ],\n },\n { id: 'onboarding', title: 'Onboarding', target: { module: hrModule, feature: 'onboarding' } },\n ],\n }],\n }],\n};\n"],"names":["hrModule","hrStructure","root","id","name","features","screen","hrScreenDefinitions","parent","split","slice","node","find","candidate","title","slices","push","modules","hrNavigation","application","logo","image","regions","region","NavigationRegionKind","Topbar","items","target","module","Sidebar","mode","NavigationRegionMode","Override","feature","children"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export * from './listTemplates';
2
2
  export * from './recordTemplates';
3
3
  export * from './orgChartTemplate';
4
+ export * from './teamCalendarTemplate';
4
5
  export * from './formTemplates';
5
6
  export declare const hrScreenTemplates: import("@cratis/scene.model/screens").ScreenTemplate[];
6
7
  export { hrQuickCreateDialogs as hrDialogTemplates } from './formTemplates';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../templates/index.ts"],"names":[],"mappings":"AAOA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAGhC,eAAO,MAAM,iBAAiB,wDAK7B,CAAC;AAEF,OAAO,EAAE,oBAAoB,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../templates/index.ts"],"names":[],"mappings":"AAQA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAGhC,eAAO,MAAM,iBAAiB,wDAK7B,CAAC;AAEF,OAAO,EAAE,oBAAoB,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { hrEmployeeDirectoryTemplate, hrTimeOffListTemplate, hrTimeOffBalanceListTemplate, hrOnboardingListTemplate } from './listTemplates.js';
2
2
  import { hrOrgChartTemplate } from './orgChartTemplate.js';
3
+ import { hrTeamCalendarTemplate } from './teamCalendarTemplate.js';
3
4
  import { hrEmployeePageTemplate, hrOnboardingChecklistTemplate } from './recordTemplates.js';
4
5
  export { hrQuickCreateDialogs as hrDialogTemplates, hrQuickCreateDialogs } from './formTemplates.js';
5
6
 
@@ -11,9 +12,10 @@ export { hrQuickCreateDialogs as hrDialogTemplates, hrQuickCreateDialogs } from
11
12
  hrOrgChartTemplate,
12
13
  hrTimeOffListTemplate,
13
14
  hrTimeOffBalanceListTemplate,
15
+ hrTeamCalendarTemplate,
14
16
  hrOnboardingListTemplate,
15
17
  hrOnboardingChecklistTemplate
16
18
  ];
17
19
 
18
- export { hrEmployeeDirectoryTemplate, hrEmployeePageTemplate, hrOnboardingChecklistTemplate, hrOnboardingListTemplate, hrOrgChartTemplate, hrScreenTemplates, hrTimeOffBalanceListTemplate, hrTimeOffListTemplate };
20
+ export { hrEmployeeDirectoryTemplate, hrEmployeePageTemplate, hrOnboardingChecklistTemplate, hrOnboardingListTemplate, hrOrgChartTemplate, hrScreenTemplates, hrTeamCalendarTemplate, hrTimeOffBalanceListTemplate, hrTimeOffListTemplate };
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../templates/index.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { hrEmployeeDirectoryTemplate, hrOnboardingListTemplate, hrTimeOffBalanceListTemplate, hrTimeOffListTemplate } from './listTemplates';\nimport { hrOrgChartTemplate } from './orgChartTemplate';\nimport { hrEmployeePageTemplate, hrOnboardingChecklistTemplate } from './recordTemplates';\n\nexport * from './listTemplates';\nexport * from './recordTemplates';\nexport * from './orgChartTemplate';\nexport * from './formTemplates';\n\n/** Every screen template this blueprint provides, in the order the manifest lists them. */\nexport const hrScreenTemplates = [\n hrEmployeeDirectoryTemplate, hrEmployeePageTemplate,\n hrOrgChartTemplate,\n hrTimeOffListTemplate, hrTimeOffBalanceListTemplate,\n hrOnboardingListTemplate, hrOnboardingChecklistTemplate,\n];\n\nexport { hrQuickCreateDialogs as hrDialogTemplates } from './formTemplates';\n"],"names":["hrScreenTemplates","hrEmployeeDirectoryTemplate","hrEmployeePageTemplate","hrOrgChartTemplate","hrTimeOffListTemplate","hrTimeOffBalanceListTemplate","hrOnboardingListTemplate","hrOnboardingChecklistTemplate"],"mappings":";;;;;AAAA;AACA;AAWA,4FACO,MAAMA,iBAAAA,GAAoB;AAC7BC,IAAAA,2BAAAA;AAA6BC,IAAAA,sBAAAA;AAC7BC,IAAAA,kBAAAA;AACAC,IAAAA,qBAAAA;AAAuBC,IAAAA,4BAAAA;AACvBC,IAAAA,wBAAAA;AAA0BC,IAAAA;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../templates/index.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { hrEmployeeDirectoryTemplate, hrOnboardingListTemplate, hrTimeOffBalanceListTemplate, hrTimeOffListTemplate } from './listTemplates';\nimport { hrOrgChartTemplate } from './orgChartTemplate';\nimport { hrTeamCalendarTemplate } from './teamCalendarTemplate';\nimport { hrEmployeePageTemplate, hrOnboardingChecklistTemplate } from './recordTemplates';\n\nexport * from './listTemplates';\nexport * from './recordTemplates';\nexport * from './orgChartTemplate';\nexport * from './teamCalendarTemplate';\nexport * from './formTemplates';\n\n/** Every screen template this blueprint provides, in the order the manifest lists them. */\nexport const hrScreenTemplates = [\n hrEmployeeDirectoryTemplate, hrEmployeePageTemplate,\n hrOrgChartTemplate,\n hrTimeOffListTemplate, hrTimeOffBalanceListTemplate, hrTeamCalendarTemplate,\n hrOnboardingListTemplate, hrOnboardingChecklistTemplate,\n];\n\nexport { hrQuickCreateDialogs as hrDialogTemplates } from './formTemplates';\n"],"names":["hrScreenTemplates","hrEmployeeDirectoryTemplate","hrEmployeePageTemplate","hrOrgChartTemplate","hrTimeOffListTemplate","hrTimeOffBalanceListTemplate","hrTeamCalendarTemplate","hrOnboardingListTemplate","hrOnboardingChecklistTemplate"],"mappings":";;;;;;AAAA;AACA;AAaA,4FACO,MAAMA,iBAAAA,GAAoB;AAC7BC,IAAAA,2BAAAA;AAA6BC,IAAAA,sBAAAA;AAC7BC,IAAAA,kBAAAA;AACAC,IAAAA,qBAAAA;AAAuBC,IAAAA,4BAAAA;AAA8BC,IAAAA,sBAAAA;AACrDC,IAAAA,wBAAAA;AAA0BC,IAAAA;;;"}
@@ -0,0 +1,3 @@
1
+ import { ScreenTemplate } from '@cratis/scene.model';
2
+ export declare const hrTeamCalendarTemplate: ScreenTemplate;
3
+ //# sourceMappingURL=teamCalendarTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teamCalendarTemplate.d.ts","sourceRoot":"","sources":["../../../templates/teamCalendarTemplate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAiC,MAAM,qBAAqB,CAAC;AAUpF,eAAO,MAAM,sBAAsB,EAAE,cAmBpC,CAAC"}
@@ -0,0 +1,97 @@
1
+ import { TemplateScope, WidthSizeClass } from '@cratis/scene.model';
2
+ import { component, column, slotLeaf, grid } from '@cratis/scene.blueprint.default';
3
+ import { localeOfData, fromQuery, HrQuery } from '../hrQueries.js';
4
+ import { hrMetadata, withBehaviors, opensDialog, actionButton } from '../hrParts.js';
5
+
6
+ // Copyright (c) Cratis. All rights reserved.
7
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
8
+ /**
9
+ * The team calendar: who is away and when, on a month, a week or as an agenda (the foundation's `calendarGrid`). A request spans the days it asks for, the kind of
10
+ * leave is told in words as well as by color, and the day and view are kept in the address, so a link shares the calendar as it is. A filter narrows it to a person
11
+ * or a kind of leave, and the list beside it names everyone away in the period.
12
+ */ const hrTeamCalendarTemplate = {
13
+ name: 'HrTeamCalendar',
14
+ fitsSlot: 'content',
15
+ slots: [
16
+ {
17
+ name: 'header'
18
+ },
19
+ {
20
+ name: 'filters'
21
+ },
22
+ {
23
+ name: 'calendar'
24
+ },
25
+ {
26
+ name: 'away'
27
+ }
28
+ ],
29
+ arrangement: {
30
+ root: column([
31
+ slotLeaf('header'),
32
+ slotLeaf('filters'),
33
+ grid([
34
+ slotLeaf('calendar', {
35
+ span: 2
36
+ }),
37
+ slotLeaf('away')
38
+ ], 3, 16)
39
+ ], 16),
40
+ overrides: [
41
+ {
42
+ width: WidthSizeClass.Compact,
43
+ root: column([
44
+ slotLeaf('header'),
45
+ slotLeaf('filters'),
46
+ slotLeaf('calendar'),
47
+ slotLeaf('away')
48
+ ], 16)
49
+ }
50
+ ]
51
+ },
52
+ content: {
53
+ header: [
54
+ component('HrTeamCalendar-header', 'pageHeader', {
55
+ title: 'Team calendar',
56
+ subtitle: 'Who is away and when'
57
+ }, {
58
+ actions: [
59
+ withBehaviors(actionButton('HrTeamCalendar-request', 'Request time off', 'primary'), opensDialog('HrRequestTimeOff'))
60
+ ]
61
+ })
62
+ ],
63
+ filters: [
64
+ component('HrTeamCalendar-filter', 'filterBuilder', {
65
+ fields: fromQuery(HrQuery.TeamCalendarFilterFields)
66
+ })
67
+ ],
68
+ calendar: [
69
+ component('HrTeamCalendar-grid', 'calendarGrid', {
70
+ label: 'Team calendar',
71
+ events: fromQuery(HrQuery.TeamCalendarEvents),
72
+ date: fromQuery(HrQuery.Settings, '0.calendarDay'),
73
+ urlKey: 'day',
74
+ ...localeOfData
75
+ })
76
+ ],
77
+ away: [
78
+ component('HrTeamCalendar-away', 'dataList', {
79
+ label: 'Away in this period',
80
+ rows: fromQuery(HrQuery.TeamCalendarEvents),
81
+ columns: fromQuery(HrQuery.TeamCalendarColumns),
82
+ titleField: 'person',
83
+ pageSize: 6,
84
+ ...localeOfData
85
+ })
86
+ ]
87
+ },
88
+ displayName: 'HR team calendar',
89
+ description: 'Who is away and when, on a month, a week or as an agenda, with the kind of leave told in words.',
90
+ metadata: hrMetadata('HrTeamCalendar', 'Calendar', [
91
+ TemplateScope.Module,
92
+ TemplateScope.Feature
93
+ ])
94
+ };
95
+
96
+ export { hrTeamCalendarTemplate };
97
+ //# sourceMappingURL=teamCalendarTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teamCalendarTemplate.js","sources":["../../../templates/teamCalendarTemplate.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ScreenTemplate, TemplateScope, WidthSizeClass } from '@cratis/scene.model';\nimport { column, grid, slotLeaf } from '@cratis/scene.blueprint.default';\nimport { HrQuery, fromQuery, localeOfData } from '../hrQueries';\nimport { actionButton, component, hrMetadata, opensDialog, withBehaviors } from '../hrParts';\n\n/**\n * The team calendar: who is away and when, on a month, a week or as an agenda (the foundation's `calendarGrid`). A request spans the days it asks for, the kind of\n * leave is told in words as well as by color, and the day and view are kept in the address, so a link shares the calendar as it is. A filter narrows it to a person\n * or a kind of leave, and the list beside it names everyone away in the period.\n */\nexport const hrTeamCalendarTemplate: ScreenTemplate = {\n name: 'HrTeamCalendar',\n fitsSlot: 'content',\n slots: [{ name: 'header' }, { name: 'filters' }, { name: 'calendar' }, { name: 'away' }],\n arrangement: {\n root: column([slotLeaf('header'), slotLeaf('filters'), grid([slotLeaf('calendar', { span: 2 }), slotLeaf('away')], 3, 16)], 16),\n overrides: [{ width: WidthSizeClass.Compact, root: column([slotLeaf('header'), slotLeaf('filters'), slotLeaf('calendar'), slotLeaf('away')], 16) }],\n },\n content: {\n header: [component('HrTeamCalendar-header', 'pageHeader', { title: 'Team calendar', subtitle: 'Who is away and when' }, {\n actions: [withBehaviors(actionButton('HrTeamCalendar-request', 'Request time off', 'primary'), opensDialog('HrRequestTimeOff'))],\n })],\n filters: [component('HrTeamCalendar-filter', 'filterBuilder', { fields: fromQuery(HrQuery.TeamCalendarFilterFields) })],\n calendar: [component('HrTeamCalendar-grid', 'calendarGrid', { label: 'Team calendar', events: fromQuery(HrQuery.TeamCalendarEvents), date: fromQuery(HrQuery.Settings, '0.calendarDay'), urlKey: 'day', ...localeOfData })],\n away: [component('HrTeamCalendar-away', 'dataList', { label: 'Away in this period', rows: fromQuery(HrQuery.TeamCalendarEvents), columns: fromQuery(HrQuery.TeamCalendarColumns), titleField: 'person', pageSize: 6, ...localeOfData })],\n },\n displayName: 'HR team calendar',\n description: 'Who is away and when, on a month, a week or as an agenda, with the kind of leave told in words.',\n metadata: hrMetadata('HrTeamCalendar', 'Calendar', [TemplateScope.Module, TemplateScope.Feature]),\n};\n"],"names":["hrTeamCalendarTemplate","name","fitsSlot","slots","arrangement","root","column","slotLeaf","grid","span","overrides","width","WidthSizeClass","Compact","content","header","component","title","subtitle","actions","withBehaviors","actionButton","opensDialog","filters","fields","fromQuery","HrQuery","TeamCalendarFilterFields","calendar","label","events","TeamCalendarEvents","date","Settings","urlKey","localeOfData","away","rows","columns","TeamCalendarColumns","titleField","pageSize","displayName","description","metadata","hrMetadata","TemplateScope","Module","Feature"],"mappings":";;;;;AAAA;AACA;AAOA;;;;UAKaA,sBAAAA,GAAyC;IAClDC,IAAAA,EAAM,gBAAA;IACNC,QAAAA,EAAU,SAAA;IACVC,KAAAA,EAAO;AAAC,QAAA;YAAEF,IAAAA,EAAM;AAAS,SAAA;AAAG,QAAA;YAAEA,IAAAA,EAAM;AAAU,SAAA;AAAG,QAAA;YAAEA,IAAAA,EAAM;AAAW,SAAA;AAAG,QAAA;YAAEA,IAAAA,EAAM;AAAO;AAAE,KAAA;IACxFG,WAAAA,EAAa;AACTC,QAAAA,IAAAA,EAAMC,MAAAA,CAAO;YAACC,QAAAA,CAAS,QAAA,CAAA;YAAWA,QAAAA,CAAS,SAAA,CAAA;YAAYC,IAAAA,CAAK;AAACD,gBAAAA,QAAAA,CAAS,UAAA,EAAY;oBAAEE,IAAAA,EAAM;AAAE,iBAAA,CAAA;gBAAIF,QAAAA,CAAS,MAAA;AAAQ,aAAA,EAAE,CAAA,EAAG,EAAA;SAAI,EAAE,EAAA,CAAA;QAC5HG,SAAAA,EAAW;AAAC,YAAA;AAAEC,gBAAAA,KAAAA,EAAOC,eAAeC,OAAO;AAAER,gBAAAA,IAAAA,EAAMC,MAAAA,CAAO;oBAACC,QAAAA,CAAS,QAAA,CAAA;oBAAWA,QAAAA,CAAS,SAAA,CAAA;oBAAYA,QAAAA,CAAS,UAAA,CAAA;oBAAaA,QAAAA,CAAS,MAAA;iBAAQ,EAAE,EAAA;AAAI;AAAE;AACvJ,KAAA;IACAO,OAAAA,EAAS;QACLC,MAAAA,EAAQ;AAACC,YAAAA,SAAAA,CAAU,yBAAyB,YAAA,EAAc;gBAAEC,KAAAA,EAAO,eAAA;gBAAiBC,QAAAA,EAAU;aAAuB,EAAG;gBACpHC,OAAAA,EAAS;AAACC,oBAAAA,aAAAA,CAAcC,YAAAA,CAAa,wBAAA,EAA0B,kBAAA,EAAoB,SAAA,CAAA,EAAYC,WAAAA,CAAY,kBAAA,CAAA;AAAqB;AACpI,aAAA;AAAG,SAAA;QACHC,OAAAA,EAAS;AAACP,YAAAA,SAAAA,CAAU,yBAAyB,eAAA,EAAiB;gBAAEQ,MAAAA,EAAQC,SAAAA,CAAUC,QAAQC,wBAAwB;AAAE,aAAA;AAAG,SAAA;QACvHC,QAAAA,EAAU;AAACZ,YAAAA,SAAAA,CAAU,uBAAuB,cAAA,EAAgB;gBAAEa,KAAAA,EAAO,eAAA;gBAAiBC,MAAAA,EAAQL,SAAAA,CAAUC,QAAQK,kBAAkB,CAAA;gBAAGC,IAAAA,EAAMP,SAAAA,CAAUC,OAAAA,CAAQO,QAAQ,EAAE,eAAA,CAAA;gBAAkBC,MAAAA,EAAQ,KAAA;AAAO,gBAAA,GAAGC;AAAa,aAAA;AAAG,SAAA;QAC3NC,IAAAA,EAAM;AAACpB,YAAAA,SAAAA,CAAU,uBAAuB,UAAA,EAAY;gBAAEa,KAAAA,EAAO,qBAAA;gBAAuBQ,IAAAA,EAAMZ,SAAAA,CAAUC,QAAQK,kBAAkB,CAAA;gBAAGO,OAAAA,EAASb,SAAAA,CAAUC,QAAQa,mBAAmB,CAAA;gBAAGC,UAAAA,EAAY,QAAA;gBAAUC,QAAAA,EAAU,CAAA;AAAG,gBAAA,GAAGN;AAAa,aAAA;AAAG;AAC5O,KAAA;IACAO,WAAAA,EAAa,kBAAA;IACbC,WAAAA,EAAa,iGAAA;IACbC,QAAAA,EAAUC,UAAAA,CAAW,kBAAkB,UAAA,EAAY;AAACC,QAAAA,aAAAA,CAAcC,MAAM;AAAED,QAAAA,aAAAA,CAAcE;AAAQ,KAAA;AACpG;;"}