@esri/solutions-components 0.2.2 → 0.2.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 (131) hide show
  1. package/dist/assets/t9n/solution-config-modal/resources.json +22 -0
  2. package/dist/assets/t9n/solution-config-modal/resources_en.json +22 -0
  3. package/dist/cjs/calcite-action-menu_2.cjs.entry.js +18 -401
  4. package/dist/cjs/calcite-action-menu_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/calcite-action_2.cjs.entry.js +423 -71
  6. package/dist/cjs/calcite-action_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/calcite-loader.cjs.entry.js +97 -0
  8. package/dist/cjs/calcite-loader.cjs.entry.js.map +1 -0
  9. package/dist/cjs/{solution-configuration.cjs.entry.js → calcite-modal_2.cjs.entry.js} +451 -13
  10. package/dist/cjs/calcite-modal_2.cjs.entry.js.map +1 -0
  11. package/dist/cjs/{calcite-shell-panel_14.cjs.entry.js → calcite-panel_12.cjs.entry.js} +455 -709
  12. package/dist/cjs/calcite-panel_12.cjs.entry.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/solution-config-modal.cjs.entry.js +131 -0
  15. package/dist/cjs/solution-config-modal.cjs.entry.js.map +1 -0
  16. package/dist/cjs/{solution-contents_3.cjs.entry.js → solution-contents_7.cjs.entry.js} +664 -5
  17. package/dist/cjs/solution-contents_7.cjs.entry.js.map +1 -0
  18. package/dist/cjs/{solution-store-893499a5.js → solution-store-09b3fc53.js} +4 -6
  19. package/dist/cjs/solution-store-09b3fc53.js.map +1 -0
  20. package/dist/cjs/solutions-components.cjs.js +1 -1
  21. package/dist/collection/collection-manifest.json +1 -0
  22. package/dist/collection/components/solution-config-modal/solution-config-modal.css +91 -0
  23. package/dist/collection/components/solution-config-modal/solution-config-modal.js +245 -0
  24. package/dist/collection/components/solution-config-modal/solution-config-modal.js.map +1 -0
  25. package/dist/collection/components/solution-configuration/solution-configuration.js +23 -17
  26. package/dist/collection/components/solution-configuration/solution-configuration.js.map +1 -1
  27. package/dist/collection/components/solution-item/solution-item.js +0 -2
  28. package/dist/collection/components/solution-item/solution-item.js.map +1 -1
  29. package/dist/collection/components/solution-item-details/solution-item-details.js +0 -13
  30. package/dist/collection/components/solution-item-details/solution-item-details.js.map +1 -1
  31. package/dist/collection/utils/solution-store.js +3 -5
  32. package/dist/collection/utils/solution-store.js.map +1 -1
  33. package/dist/collection/utils/solution-store.ts +3 -5
  34. package/dist/esm/buffer-tools_6.entry.js +2 -2
  35. package/dist/esm/calcite-action-bar_6.entry.js +2 -2
  36. package/dist/esm/calcite-action-menu_2.entry.js +20 -403
  37. package/dist/esm/calcite-action-menu_2.entry.js.map +1 -1
  38. package/dist/esm/calcite-action_2.entry.js +424 -72
  39. package/dist/esm/calcite-action_2.entry.js.map +1 -1
  40. package/dist/esm/calcite-combobox_3.entry.js +2 -2
  41. package/dist/esm/calcite-loader.entry.js +93 -0
  42. package/dist/esm/calcite-loader.entry.js.map +1 -0
  43. package/dist/esm/{solution-configuration.entry.js → calcite-modal_2.entry.js} +453 -16
  44. package/dist/esm/calcite-modal_2.entry.js.map +1 -0
  45. package/dist/esm/{calcite-shell-panel_14.entry.js → calcite-panel_12.entry.js} +454 -706
  46. package/dist/esm/calcite-panel_12.entry.js.map +1 -0
  47. package/dist/esm/config-layer-picker.entry.js +2 -2
  48. package/dist/esm/{interfaces-e2a2064d.js → interfaces-1bdfc3a8.js} +2 -2
  49. package/dist/esm/{interfaces-e2a2064d.js.map → interfaces-1bdfc3a8.js.map} +1 -1
  50. package/dist/esm/loader.js +1 -1
  51. package/dist/esm/{mapViewUtils-09f1e7bd.js → mapViewUtils-809947c8.js} +2 -2
  52. package/dist/esm/{mapViewUtils-09f1e7bd.js.map → mapViewUtils-809947c8.js.map} +1 -1
  53. package/dist/esm/public-notification.entry.js +2 -2
  54. package/dist/esm/solution-config-modal.entry.js +127 -0
  55. package/dist/esm/solution-config-modal.entry.js.map +1 -0
  56. package/dist/esm/{solution-contents_3.entry.js → solution-contents_7.entry.js} +661 -6
  57. package/dist/esm/solution-contents_7.entry.js.map +1 -0
  58. package/dist/esm/{solution-store-0c58c852.js → solution-store-d8519c64.js} +5 -7
  59. package/dist/esm/solution-store-d8519c64.js.map +1 -0
  60. package/dist/esm/solutions-components.js +1 -1
  61. package/dist/solutions-components/{p-be1ed982.entry.js → p-11068040.entry.js} +3 -3
  62. package/dist/solutions-components/{p-be1ed982.entry.js.map → p-11068040.entry.js.map} +0 -0
  63. package/dist/solutions-components/{p-659edb14.js → p-2910dd9e.js} +5 -7
  64. package/dist/{cjs/solution-store-893499a5.js.map → solutions-components/p-2910dd9e.js.map} +1 -1
  65. package/dist/solutions-components/{p-291fd295.entry.js → p-30810b45.entry.js} +3 -3
  66. package/dist/solutions-components/{p-291fd295.entry.js.map → p-30810b45.entry.js.map} +0 -0
  67. package/dist/solutions-components/p-38ddadf2.entry.js +342 -0
  68. package/dist/solutions-components/p-38ddadf2.entry.js.map +1 -0
  69. package/dist/solutions-components/{p-77c75f3a.entry.js → p-5b20090f.entry.js} +661 -6
  70. package/dist/solutions-components/p-5b20090f.entry.js.map +1 -0
  71. package/dist/solutions-components/{p-9393631c.entry.js → p-9ef1328a.entry.js} +3 -3
  72. package/dist/solutions-components/{p-9393631c.entry.js.map → p-9ef1328a.entry.js.map} +0 -0
  73. package/dist/solutions-components/{p-984cb687.entry.js → p-a1786d11.entry.js} +454 -706
  74. package/dist/solutions-components/p-a1786d11.entry.js.map +1 -0
  75. package/dist/solutions-components/{p-fe0fdd8b.js → p-c20bd963.js} +2 -2
  76. package/dist/solutions-components/{p-fe0fdd8b.js.map → p-c20bd963.js.map} +1 -1
  77. package/dist/solutions-components/p-c5721b0f.entry.js +127 -0
  78. package/dist/solutions-components/p-c5721b0f.entry.js.map +1 -0
  79. package/dist/solutions-components/{p-24d75151.entry.js → p-c818e661.entry.js} +3 -3
  80. package/dist/solutions-components/{p-24d75151.entry.js.map → p-c818e661.entry.js.map} +0 -0
  81. package/dist/solutions-components/{p-90629c1d.entry.js → p-cf59eb16.entry.js} +453 -16
  82. package/dist/solutions-components/p-cf59eb16.entry.js.map +1 -0
  83. package/dist/solutions-components/p-e405ebe8.entry.js +93 -0
  84. package/dist/solutions-components/p-e405ebe8.entry.js.map +1 -0
  85. package/dist/solutions-components/{p-77e6b03c.entry.js → p-e6fb9cde.entry.js} +3 -3
  86. package/dist/solutions-components/{p-77e6b03c.entry.js.map → p-e6fb9cde.entry.js.map} +0 -0
  87. package/dist/solutions-components/{p-97c4a268.entry.js → p-ef6f9e24.entry.js} +113 -229
  88. package/dist/solutions-components/p-ef6f9e24.entry.js.map +1 -0
  89. package/dist/solutions-components/{p-6b9dc092.js → p-f04fdb9a.js} +2 -2
  90. package/dist/solutions-components/{p-6b9dc092.js.map → p-f04fdb9a.js.map} +1 -1
  91. package/dist/solutions-components/solutions-components.esm.js +1 -1
  92. package/dist/solutions-components/utils/solution-store.ts +3 -5
  93. package/dist/solutions-components_commit.txt +8 -8
  94. package/dist/types/components/solution-config-modal/solution-config-modal.d.ts +69 -0
  95. package/dist/types/components/solution-configuration/solution-configuration.d.ts +4 -2
  96. package/dist/types/components/solution-item-details/solution-item-details.d.ts +0 -1
  97. package/dist/types/components.d.ts +43 -5
  98. package/dist/types/preact.d.ts +4 -0
  99. package/package.json +1 -1
  100. package/dist/cjs/calcite-modal.cjs.entry.js +0 -449
  101. package/dist/cjs/calcite-modal.cjs.entry.js.map +0 -1
  102. package/dist/cjs/calcite-panel_2.cjs.entry.js +0 -439
  103. package/dist/cjs/calcite-panel_2.cjs.entry.js.map +0 -1
  104. package/dist/cjs/calcite-scrim.cjs.entry.js +0 -64
  105. package/dist/cjs/calcite-scrim.cjs.entry.js.map +0 -1
  106. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js.map +0 -1
  107. package/dist/cjs/solution-configuration.cjs.entry.js.map +0 -1
  108. package/dist/cjs/solution-contents_3.cjs.entry.js.map +0 -1
  109. package/dist/esm/calcite-modal.entry.js +0 -445
  110. package/dist/esm/calcite-modal.entry.js.map +0 -1
  111. package/dist/esm/calcite-panel_2.entry.js +0 -434
  112. package/dist/esm/calcite-panel_2.entry.js.map +0 -1
  113. package/dist/esm/calcite-scrim.entry.js +0 -60
  114. package/dist/esm/calcite-scrim.entry.js.map +0 -1
  115. package/dist/esm/calcite-shell-panel_14.entry.js.map +0 -1
  116. package/dist/esm/solution-configuration.entry.js.map +0 -1
  117. package/dist/esm/solution-contents_3.entry.js.map +0 -1
  118. package/dist/esm/solution-store-0c58c852.js.map +0 -1
  119. package/dist/solutions-components/p-0fda7d9e.entry.js +0 -434
  120. package/dist/solutions-components/p-0fda7d9e.entry.js.map +0 -1
  121. package/dist/solutions-components/p-2ff754ce.entry.js +0 -257
  122. package/dist/solutions-components/p-2ff754ce.entry.js.map +0 -1
  123. package/dist/solutions-components/p-30a6199a.entry.js +0 -445
  124. package/dist/solutions-components/p-30a6199a.entry.js.map +0 -1
  125. package/dist/solutions-components/p-659edb14.js.map +0 -1
  126. package/dist/solutions-components/p-77c75f3a.entry.js.map +0 -1
  127. package/dist/solutions-components/p-90629c1d.entry.js.map +0 -1
  128. package/dist/solutions-components/p-97c4a268.entry.js.map +0 -1
  129. package/dist/solutions-components/p-984cb687.entry.js.map +0 -1
  130. package/dist/solutions-components/p-f5268b4f.entry.js +0 -60
  131. package/dist/solutions-components/p-f5268b4f.entry.js.map +0 -1
@@ -3,26 +3,441 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import { r as registerInstance, c as createEvent, h, f as forceUpdate, g as getElement, H as Host, F as Fragment } from './p-58c69df2.js';
7
- import { b as getElementDir, i as isPrimaryPointerButton, a as getSlotted, n as nodeListToArray, l as filterDirectChildren, g as getElementProp, t as toAriaBoolean } from './p-32a67cb2.js';
8
- import { c as clamp } from './p-63f6e8f1.js';
6
+ import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement, f as forceUpdate, H as Host } from './p-58c69df2.js';
7
+ import { S as SLOTS$4, C as CSS$3, I as ICONS$1, T as TEXT$1, H as HEADING_LEVEL } from './p-b359dc78.js';
8
+ import { b as getElementDir, t as toAriaBoolean, a as getSlotted, i as isPrimaryPointerButton, n as nodeListToArray, l as filterDirectChildren, g as getElementProp } from './p-32a67cb2.js';
9
+ import { H as Heading } from './p-eeb0321d.js';
10
+ import { S as SLOTS$5 } from './p-6e0da576.js';
11
+ import { u as updateHostInteraction } from './p-7daea1df.js';
12
+ import { c as createObserver } from './p-9a9955db.js';
9
13
  import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './p-5cf33602.js';
14
+ import { c as clamp } from './p-63f6e8f1.js';
10
15
  import { g as guid } from './p-a80b3880.js';
11
- import { c as createObserver } from './p-9a9955db.js';
12
- import { u as updateHostInteraction } from './p-7daea1df.js';
13
16
  import { S as Sortable } from './p-77182c3a.js';
14
17
  import { o as getItemIndex, m as mutationObserverCallback, d as deselectRemovedItems, a as deselectSiblingItems, s as selectSiblings, h as handleFilter, g as getItemData, k as keyDownHandler, p as moveItemIndex, i as initialize, b as initializeObserver, c as cleanUpObserver, j as calciteListFocusOutHandler, r as removeItem, e as calciteListItemChangeHandler, f as calciteInternalListItemValueChangeHandler, l as setUpItems, n as setFocus, L as List } from './p-13b37f05.js';
15
18
  import { I as ICON_TYPES$1 } from './p-b978636e.js';
16
- import { C as CSS$2, S as SLOTS$3 } from './p-de5416e8.js';
19
+ import { C as CSS$4, S as SLOTS$6 } from './p-de5416e8.js';
17
20
  import { g as getLocaleComponentStrings } from './p-20bdf42f.js';
18
- import { s as state, E as EFileType } from './p-659edb14.js';
19
- import { c as EUpdateType } from './p-6b9dc092.js';
20
21
  import './p-729708a3.js';
21
22
  import './p-e947d3b0.js';
22
23
  import './p-ae1fd76b.js';
23
24
  import './p-4e32bf8c.js';
24
25
  import './p-3b010ce1.js';
25
- import './p-f759a6e7.js';
26
+
27
+ const panelCss = "@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0.01}}:host{box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{box-sizing:border-box}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host{position:relative;display:flex;inline-size:100%;flex:1 1 auto;overflow:hidden;--calcite-min-header-height:calc(var(--calcite-icon-size) * 3);--calcite-panel-max-height:unset;--calcite-panel-width:100%;--calcite-panel-min-width:unset;--calcite-panel-max-width:unset}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.header{margin:0px;display:flex;align-content:space-between;align-items:center;fill:var(--calcite-ui-text-2);color:var(--calcite-ui-text-2)}.heading{margin:0px;padding:0px;font-weight:var(--calcite-font-weight-medium)}.header .heading{flex:1 1 auto;padding:0.5rem}.container{margin:0px;display:flex;inline-size:100%;flex:1 1 auto;flex-direction:column;align-items:stretch;background-color:var(--calcite-ui-background);padding:0px;max-block-size:var(--calcite-panel-max-height);inline-size:var(--calcite-panel-width);max-inline-size:var(--calcite-panel-max-width);min-inline-size:var(--calcite-panel-min-width);transition:max-block-size var(--calcite-animation-timing), inline-size var(--calcite-animation-timing)}:host([height-scale=s]){--calcite-panel-max-height:40vh}:host([height-scale=m]){--calcite-panel-max-height:60vh}:host([height-scale=l]){--calcite-panel-max-height:80vh}:host([width-scale=s]){--calcite-panel-width:calc(var(--calcite-panel-width-multiplier) * 12vw);--calcite-panel-max-width:calc(var(--calcite-panel-width-multiplier) * 300px);--calcite-panel-min-width:calc(var(--calcite-panel-width-multiplier) * 150px)}:host([width-scale=m]){--calcite-panel-width:calc(var(--calcite-panel-width-multiplier) * 20vw);--calcite-panel-max-width:calc(var(--calcite-panel-width-multiplier) * 420px);--calcite-panel-min-width:calc(var(--calcite-panel-width-multiplier) * 240px)}:host([width-scale=l]){--calcite-panel-width:calc(var(--calcite-panel-width-multiplier) * 45vw);--calcite-panel-max-width:calc(var(--calcite-panel-width-multiplier) * 680px);--calcite-panel-min-width:calc(var(--calcite-panel-width-multiplier) * 340px)}.container[hidden]{display:none}.header{-webkit-border-after:1px solid;border-block-end:1px solid;position:sticky;inset-block-start:0px;z-index:400;inline-size:100%;align-items:stretch;justify-content:flex-start;background-color:var(--calcite-ui-foreground-1);border-block-end-color:var(--calcite-ui-border-3);flex:0 0 auto}.header-content{display:flex;flex-direction:column;overflow:hidden;padding-inline:0.75rem;padding-block:0.875rem;-webkit-margin-end:auto;margin-inline-end:auto}.header-content .heading,.header-content .description{display:block;overflow-wrap:break-word;padding:0px}.header-content .heading{margin-inline:0px;margin-block:0px 0.25rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;font-weight:var(--calcite-font-weight-medium)}.header-content .heading:only-child{-webkit-margin-after:0px;margin-block-end:0px}.header-content .description{font-size:var(--calcite-font-size--1);line-height:1rem;color:var(--calcite-ui-text-2)}.back-button{border-width:0px;border-style:solid;border-color:var(--calcite-ui-border-3);border-inline-end-width:1px}.header-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch}.header-actions--end{-webkit-margin-start:auto;margin-inline-start:auto}.content-wrapper{overflow:auto}.content-height{block-size:100%}.content-container{display:flex;flex:1 1 auto;flex-direction:column;flex-wrap:nowrap;align-items:stretch;background-color:var(--calcite-ui-background)}.footer{-webkit-border-before:1px solid;border-block-start:1px solid;position:sticky;inset-block-end:0px;display:flex;inline-size:100%;justify-content:space-evenly;background-color:var(--calcite-ui-foreground-1);border-block-start-color:var(--calcite-ui-border-3);flex:0 0 auto;min-block-size:3rem;padding:0.5rem}.fab-container{position:sticky;inset-block-end:0px;z-index:300;margin-block:0px;margin-inline:auto;display:block;padding:0.5rem;inset-inline:0;inline-size:-moz-fit-content;inline-size:fit-content}[hidden]{display:none}";
28
+
29
+ const Panel = class {
30
+ constructor(hostRef) {
31
+ registerInstance(this, hostRef);
32
+ this.calcitePanelClose = createEvent(this, "calcitePanelClose", 6);
33
+ this.calcitePanelDismiss = createEvent(this, "calcitePanelDismiss", 6);
34
+ this.calcitePanelDismissedChange = createEvent(this, "calcitePanelDismissedChange", 6);
35
+ this.calcitePanelScroll = createEvent(this, "calcitePanelScroll", 6);
36
+ this.calcitePanelBackClick = createEvent(this, "calcitePanelBackClick", 6);
37
+ // --------------------------------------------------------------------------
38
+ //
39
+ // Properties
40
+ //
41
+ // --------------------------------------------------------------------------
42
+ /**
43
+ * When `true`, hides the component.
44
+ *
45
+ * @deprecated use `closed` instead.
46
+ */
47
+ this.dismissed = false;
48
+ /** When `true`, the component will be hidden. */
49
+ this.closed = false;
50
+ /**
51
+ * When `true`, interaction is prevented and the component is displayed with lower opacity.
52
+ */
53
+ this.disabled = false;
54
+ /**
55
+ * When `true`, a close button is added to the component.
56
+ *
57
+ * @deprecated use `closable` instead
58
+ */
59
+ this.dismissible = false;
60
+ /** When `true`, displays a close button in the trailing side of the header. */
61
+ this.closable = false;
62
+ /**
63
+ * When `true`, displays a back button in the header.
64
+ *
65
+ * @deprecated use `calcite-flow-item` instead.
66
+ */
67
+ this.showBackButton = false;
68
+ /**
69
+ * When `true`, a busy indicator is displayed.
70
+ */
71
+ this.loading = false;
72
+ /**
73
+ * When `true`, the action menu items in the `header-menu-actions` slot are open.
74
+ */
75
+ this.menuOpen = false;
76
+ this.resizeObserver = createObserver("resize", () => this.resizeHandler());
77
+ this.hasStartActions = false;
78
+ this.hasEndActions = false;
79
+ this.hasMenuItems = false;
80
+ this.hasHeaderContent = false;
81
+ this.hasFooterContent = false;
82
+ this.hasFooterActions = false;
83
+ this.hasFab = false;
84
+ // --------------------------------------------------------------------------
85
+ //
86
+ // Private Methods
87
+ //
88
+ // --------------------------------------------------------------------------
89
+ this.resizeHandler = () => {
90
+ const { panelScrollEl } = this;
91
+ if (!panelScrollEl ||
92
+ typeof panelScrollEl.scrollHeight !== "number" ||
93
+ typeof panelScrollEl.offsetHeight !== "number") {
94
+ return;
95
+ }
96
+ panelScrollEl.tabIndex = panelScrollEl.scrollHeight > panelScrollEl.offsetHeight ? 0 : -1;
97
+ };
98
+ this.setContainerRef = (node) => {
99
+ this.containerEl = node;
100
+ };
101
+ this.setCloseRef = (node) => {
102
+ this.closeButtonEl = node;
103
+ };
104
+ this.setBackRef = (node) => {
105
+ this.backButtonEl = node;
106
+ };
107
+ this.panelKeyDownHandler = (event) => {
108
+ if (this.closable && event.key === "Escape" && !event.defaultPrevented) {
109
+ this.close();
110
+ event.preventDefault();
111
+ }
112
+ };
113
+ this.close = () => {
114
+ this.closed = true;
115
+ this.calcitePanelDismiss.emit();
116
+ this.calcitePanelClose.emit();
117
+ };
118
+ this.panelScrollHandler = () => {
119
+ this.calcitePanelScroll.emit();
120
+ };
121
+ this.backButtonClick = () => {
122
+ this.calcitePanelBackClick.emit();
123
+ };
124
+ this.handleHeaderActionsStartSlotChange = (event) => {
125
+ const elements = event.target.assignedElements({
126
+ flatten: true
127
+ });
128
+ this.hasStartActions = !!elements.length;
129
+ };
130
+ this.handleHeaderActionsEndSlotChange = (event) => {
131
+ const elements = event.target.assignedElements({
132
+ flatten: true
133
+ });
134
+ this.hasEndActions = !!elements.length;
135
+ };
136
+ this.handleHeaderMenuActionsSlotChange = (event) => {
137
+ const elements = event.target.assignedElements({
138
+ flatten: true
139
+ });
140
+ this.hasMenuItems = !!elements.length;
141
+ };
142
+ this.handleHeaderContentSlotChange = (event) => {
143
+ const elements = event.target.assignedElements({
144
+ flatten: true
145
+ });
146
+ this.hasHeaderContent = !!elements.length;
147
+ };
148
+ this.handleFooterSlotChange = (event) => {
149
+ const elements = event.target.assignedElements({
150
+ flatten: true
151
+ });
152
+ this.hasFooterContent = !!elements.length;
153
+ };
154
+ this.handleFooterActionsSlotChange = (event) => {
155
+ const elements = event.target.assignedElements({
156
+ flatten: true
157
+ });
158
+ this.hasFooterActions = !!elements.length;
159
+ };
160
+ this.handleFabSlotChange = (event) => {
161
+ const elements = event.target.assignedElements({
162
+ flatten: true
163
+ });
164
+ this.hasFab = !!elements.length;
165
+ };
166
+ this.setPanelScrollEl = (el) => {
167
+ var _a, _b;
168
+ this.panelScrollEl = el;
169
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
170
+ if (el) {
171
+ (_b = this.resizeObserver) === null || _b === void 0 ? void 0 : _b.observe(el);
172
+ this.resizeHandler();
173
+ }
174
+ };
175
+ }
176
+ dismissedHandler(value) {
177
+ this.closed = value;
178
+ this.calcitePanelDismissedChange.emit();
179
+ }
180
+ closedHandler(value) {
181
+ this.dismissed = value;
182
+ }
183
+ dismissibleHandler(value) {
184
+ this.closable = value;
185
+ }
186
+ closableHandler(value) {
187
+ this.dismissible = value;
188
+ }
189
+ //--------------------------------------------------------------------------
190
+ //
191
+ // Lifecycle
192
+ //
193
+ //--------------------------------------------------------------------------
194
+ componentDidRender() {
195
+ updateHostInteraction(this);
196
+ }
197
+ // --------------------------------------------------------------------------
198
+ //
199
+ // Lifecycle
200
+ //
201
+ // --------------------------------------------------------------------------
202
+ connectedCallback() {
203
+ const isClosed = this.dismissed || this.closed;
204
+ const isClosable = this.dismissible || this.closable;
205
+ if (isClosed) {
206
+ this.dismissedHandler(isClosed);
207
+ this.closedHandler(isClosed);
208
+ }
209
+ if (isClosable) {
210
+ this.dismissibleHandler(isClosable);
211
+ this.closableHandler(isClosable);
212
+ }
213
+ }
214
+ disconnectedCallback() {
215
+ var _a;
216
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
217
+ }
218
+ // --------------------------------------------------------------------------
219
+ //
220
+ // Methods
221
+ //
222
+ // --------------------------------------------------------------------------
223
+ /**
224
+ * Sets focus on the component.
225
+ *
226
+ * @param focusId
227
+ */
228
+ async setFocus(focusId) {
229
+ const { backButtonEl, closeButtonEl, containerEl } = this;
230
+ if (focusId === "back-button") {
231
+ backButtonEl === null || backButtonEl === void 0 ? void 0 : backButtonEl.setFocus();
232
+ return;
233
+ }
234
+ if (focusId === "dismiss-button") {
235
+ closeButtonEl === null || closeButtonEl === void 0 ? void 0 : closeButtonEl.setFocus();
236
+ return;
237
+ }
238
+ if (backButtonEl) {
239
+ backButtonEl.setFocus();
240
+ return;
241
+ }
242
+ if (closeButtonEl) {
243
+ closeButtonEl.setFocus();
244
+ return;
245
+ }
246
+ containerEl === null || containerEl === void 0 ? void 0 : containerEl.focus();
247
+ }
248
+ /**
249
+ * Scrolls the component's content to a specified set of coordinates.
250
+ *
251
+ * @example
252
+ * myCalciteFlowItem.scrollContentTo({
253
+ * left: 0, // Specifies the number of pixels along the X axis to scroll the window or element.
254
+ * top: 0, // Specifies the number of pixels along the Y axis to scroll the window or element
255
+ * behavior: "auto" // Specifies whether the scrolling should animate smoothly (smooth), or happen instantly in a single jump (auto, the default value).
256
+ * });
257
+ * @param options
258
+ */
259
+ async scrollContentTo(options) {
260
+ var _a;
261
+ (_a = this.panelScrollEl) === null || _a === void 0 ? void 0 : _a.scrollTo(options);
262
+ }
263
+ // --------------------------------------------------------------------------
264
+ //
265
+ // Render Methods
266
+ //
267
+ // --------------------------------------------------------------------------
268
+ renderBackButton() {
269
+ const { el } = this;
270
+ const rtl = getElementDir(el) === "rtl";
271
+ const { showBackButton, intlBack, backButtonClick } = this;
272
+ const label = intlBack || TEXT$1.back;
273
+ const icon = rtl ? ICONS$1.backRight : ICONS$1.backLeft;
274
+ return showBackButton ? (h("calcite-action", { "aria-label": label, class: CSS$3.backButton, icon: icon, key: "back-button", onClick: backButtonClick, ref: this.setBackRef, scale: "s", slot: SLOTS$4.headerActionsStart, text: label })) : null;
275
+ }
276
+ renderHeaderContent() {
277
+ const { heading, headingLevel, summary, description, hasHeaderContent } = this;
278
+ const headingNode = heading ? (h(Heading, { class: CSS$3.heading, level: headingLevel || HEADING_LEVEL }, heading)) : null;
279
+ const descriptionNode = description || summary ? h("span", { class: CSS$3.description }, description || summary) : null;
280
+ return !hasHeaderContent && (headingNode || descriptionNode) ? (h("div", { class: CSS$3.headerContent, key: "header-content" }, headingNode, descriptionNode)) : null;
281
+ }
282
+ /**
283
+ * Allows user to override the entire header-content node.
284
+ */
285
+ renderHeaderSlottedContent() {
286
+ return (h("div", { class: CSS$3.headerContent, hidden: !this.hasHeaderContent, key: "slotted-header-content" }, h("slot", { name: SLOTS$4.headerContent, onSlotchange: this.handleHeaderContentSlotChange })));
287
+ }
288
+ renderHeaderStartActions() {
289
+ const { hasStartActions } = this;
290
+ return (h("div", { class: { [CSS$3.headerActionsStart]: true, [CSS$3.headerActions]: true }, hidden: !hasStartActions, key: "header-actions-start" }, h("slot", { name: SLOTS$4.headerActionsStart, onSlotchange: this.handleHeaderActionsStartSlotChange })));
291
+ }
292
+ renderHeaderActionsEnd() {
293
+ const { close, hasEndActions, intlClose, closable } = this;
294
+ const text = intlClose || TEXT$1.close;
295
+ const closableNode = closable ? (h("calcite-action", { "aria-label": text, icon: ICONS$1.close, onClick: close, ref: this.setCloseRef, text: text })) : null;
296
+ const slotNode = (h("slot", { name: SLOTS$4.headerActionsEnd, onSlotchange: this.handleHeaderActionsEndSlotChange }));
297
+ const showContainer = hasEndActions || closableNode;
298
+ return (h("div", { class: { [CSS$3.headerActionsEnd]: true, [CSS$3.headerActions]: true }, hidden: !showContainer, key: "header-actions-end" }, slotNode, closableNode));
299
+ }
300
+ renderMenu() {
301
+ const { hasMenuItems, intlOptions, menuOpen } = this;
302
+ return (h("calcite-action-menu", { flipPlacements: ["top", "bottom"], hidden: !hasMenuItems, key: "menu", label: intlOptions || TEXT$1.options, open: menuOpen, placement: "bottom-end" }, h("calcite-action", { icon: ICONS$1.menu, slot: SLOTS$5.trigger, text: intlOptions || TEXT$1.options }), h("slot", { name: SLOTS$4.headerMenuActions, onSlotchange: this.handleHeaderMenuActionsSlotChange })));
303
+ }
304
+ renderHeaderNode() {
305
+ const { showBackButton, hasHeaderContent, hasStartActions, hasEndActions, closable, hasMenuItems } = this;
306
+ const headerContentNode = this.renderHeaderContent();
307
+ const showHeader = showBackButton ||
308
+ hasHeaderContent ||
309
+ headerContentNode ||
310
+ hasStartActions ||
311
+ hasEndActions ||
312
+ closable ||
313
+ hasMenuItems;
314
+ return (h("header", { class: CSS$3.header, hidden: !showHeader }, this.renderBackButton(), this.renderHeaderStartActions(), this.renderHeaderSlottedContent(), headerContentNode, this.renderHeaderActionsEnd(), this.renderMenu()));
315
+ }
316
+ renderFooterNode() {
317
+ const { hasFooterContent, hasFooterActions } = this;
318
+ const showFooter = hasFooterContent || hasFooterActions;
319
+ return (h("footer", { class: CSS$3.footer, hidden: !showFooter }, h("slot", { key: "footer-slot", name: SLOTS$4.footer, onSlotchange: this.handleFooterSlotChange }), h("slot", { key: "footer-actions-slot", name: SLOTS$4.footerActions, onSlotchange: this.handleFooterActionsSlotChange })));
320
+ }
321
+ renderContent() {
322
+ const { hasFab } = this;
323
+ const defaultSlotNode = h("slot", { key: "default-slot" });
324
+ const containerNode = hasFab ? (h("section", { class: CSS$3.contentContainer }, defaultSlotNode)) : (defaultSlotNode);
325
+ return (h("div", { class: {
326
+ [CSS$3.contentWrapper]: true,
327
+ [CSS$3.contentContainer]: !hasFab,
328
+ [CSS$3.contentHeight]: hasFab
329
+ }, onScroll: this.panelScrollHandler, ref: this.setPanelScrollEl }, containerNode, this.renderFab()));
330
+ }
331
+ renderFab() {
332
+ return (h("div", { class: CSS$3.fabContainer, hidden: !this.hasFab }, h("slot", { name: SLOTS$4.fab, onSlotchange: this.handleFabSlotChange })));
333
+ }
334
+ render() {
335
+ const { loading, panelKeyDownHandler, closed, closable } = this;
336
+ const panelNode = (h("article", { "aria-busy": toAriaBoolean(loading), class: CSS$3.container, hidden: closed, onKeyDown: panelKeyDownHandler, ref: this.setContainerRef, tabIndex: closable ? 0 : -1 }, this.renderHeaderNode(), this.renderContent(), this.renderFooterNode()));
337
+ return (h(Fragment, null, loading ? h("calcite-scrim", { loading: loading }) : null, panelNode));
338
+ }
339
+ get el() { return getElement(this); }
340
+ static get watchers() { return {
341
+ "dismissed": ["dismissedHandler"],
342
+ "closed": ["closedHandler"],
343
+ "dismissible": ["dismissibleHandler"],
344
+ "closable": ["closableHandler"]
345
+ }; }
346
+ };
347
+ Panel.style = panelCss;
348
+
349
+ /*!
350
+ * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
351
+ * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
352
+ * v1.0.0-beta.97
353
+ */
354
+ const CSS$2 = {
355
+ main: "main",
356
+ mainReversed: "main--reversed",
357
+ content: "content",
358
+ contentBehind: "content--behind",
359
+ footer: "footer"
360
+ };
361
+ const SLOTS$3 = {
362
+ centerRow: "center-row",
363
+ primaryPanel: "primary-panel",
364
+ contextualPanel: "contextual-panel",
365
+ panelStart: "panel-start",
366
+ panelEnd: "panel-end",
367
+ header: "header",
368
+ footer: "footer"
369
+ };
370
+
371
+ const shellCss = "@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0.01}}:host{box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{box-sizing:border-box}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{position:absolute;inset:0px;display:flex;block-size:100%;inline-size:100%;flex-direction:column;overflow:hidden;--calcite-shell-tip-spacing:26vw}.main{position:relative;display:flex;block-size:100%;inline-size:100%;flex:1 1 auto;flex-direction:row;justify-content:space-between;overflow:hidden}.main--reversed{flex-direction:row-reverse}.content{display:flex;block-size:100%;inline-size:100%;flex-direction:column;flex-wrap:nowrap;overflow:auto}.content ::slotted(calcite-shell-center-row),.content ::slotted(calcite-panel),.content ::slotted(calcite-flow){flex:1 1 auto;align-self:stretch;max-block-size:unset}.content--behind{position:absolute;inset:0px;border-width:0px;z-index:calc(1 - 1);display:initial}::slotted(calcite-shell-center-row){inline-size:unset}::slotted(.header .heading){font-size:var(--calcite-font-size--2);line-height:1.375;font-weight:var(--calcite-font-weight-normal)}slot[name=panel-end]::slotted(calcite-shell-panel){-webkit-margin-start:auto;margin-inline-start:auto}::slotted(calcite-shell-panel),::slotted(calcite-shell-center-row){position:relative;z-index:1}::slotted(calcite-panel),::slotted(calcite-flow){border-width:1px;border-inline-start-width:0px;border-inline-end-width:0px;border-style:solid;border-color:var(--calcite-ui-border-3)}slot[name=center-row]::slotted(calcite-shell-center-row:not([detached])){border-inline-start-width:1px;border-inline-end-width:1px;border-color:var(--calcite-ui-border-3)}::slotted(calcite-tip-manager){position:absolute;z-index:500;box-sizing:border-box}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}::slotted(calcite-tip-manager){animation:in-up var(--calcite-internal-animation-timing-slow) ease-in-out;border-radius:0.25rem;--tw-shadow:0 6px 20px -4px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.08);--tw-shadow-colored:0 6px 20px -4px var(--tw-shadow-color), 0 4px 12px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);inset-block-end:0.5rem;inset-inline:var(--calcite-shell-tip-spacing)}";
372
+
373
+ const Shell = class {
374
+ constructor(hostRef) {
375
+ registerInstance(this, hostRef);
376
+ // --------------------------------------------------------------------------
377
+ //
378
+ // Properties
379
+ //
380
+ // --------------------------------------------------------------------------
381
+ /**
382
+ * Positions the center content behind any `calcite-shell-panel`s.
383
+ */
384
+ this.contentBehind = false;
385
+ }
386
+ // --------------------------------------------------------------------------
387
+ //
388
+ // Lifecycle
389
+ //
390
+ // --------------------------------------------------------------------------
391
+ connectedCallback() {
392
+ connectConditionalSlotComponent(this);
393
+ }
394
+ disconnectedCallback() {
395
+ disconnectConditionalSlotComponent(this);
396
+ }
397
+ // --------------------------------------------------------------------------
398
+ //
399
+ // Render Methods
400
+ //
401
+ // --------------------------------------------------------------------------
402
+ renderHeader() {
403
+ const hasHeader = !!getSlotted(this.el, SLOTS$3.header);
404
+ return hasHeader ? h("slot", { key: "header", name: SLOTS$3.header }) : null;
405
+ }
406
+ renderContent() {
407
+ const defaultSlotNode = h("slot", { key: "default-slot" });
408
+ const centerRowSlotNode = h("slot", { key: "center-row-slot", name: SLOTS$3.centerRow });
409
+ const contentContainerKey = "content-container";
410
+ const content = !!this.contentBehind
411
+ ? [
412
+ h("div", { class: {
413
+ [CSS$2.content]: true,
414
+ [CSS$2.contentBehind]: true
415
+ }, key: contentContainerKey }, defaultSlotNode),
416
+ centerRowSlotNode
417
+ ]
418
+ : [
419
+ h("div", { class: CSS$2.content, key: contentContainerKey }, defaultSlotNode, centerRowSlotNode)
420
+ ];
421
+ return content;
422
+ }
423
+ renderFooter() {
424
+ const hasFooter = !!getSlotted(this.el, SLOTS$3.footer);
425
+ return hasFooter ? (h("div", { class: CSS$2.footer, key: "footer" }, h("slot", { name: SLOTS$3.footer }))) : null;
426
+ }
427
+ renderMain() {
428
+ const primaryPanel = getSlotted(this.el, SLOTS$3.primaryPanel);
429
+ const mainClasses = {
430
+ [CSS$2.main]: true,
431
+ [CSS$2.mainReversed]: (primaryPanel === null || primaryPanel === void 0 ? void 0 : primaryPanel.position) === "end"
432
+ };
433
+ return (h("div", { class: mainClasses }, h("slot", { name: SLOTS$3.primaryPanel }), h("slot", { name: SLOTS$3.panelStart }), this.renderContent(), h("slot", { name: SLOTS$3.panelEnd }), h("slot", { name: SLOTS$3.contextualPanel })));
434
+ }
435
+ render() {
436
+ return (h(Fragment, null, this.renderHeader(), this.renderMain(), this.renderFooter()));
437
+ }
438
+ get el() { return getElement(this); }
439
+ };
440
+ Shell.style = shellCss;
26
441
 
27
442
  /*!
28
443
  * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
@@ -1377,19 +1792,19 @@ const ValueListItem = class {
1377
1792
  renderActionsEnd() {
1378
1793
  const { el } = this;
1379
1794
  const hasActionsEnd = getSlotted(el, SLOTS.actionsEnd);
1380
- return hasActionsEnd ? (h("slot", { name: SLOTS.actionsEnd, slot: SLOTS$3.actionsEnd })) : null;
1795
+ return hasActionsEnd ? (h("slot", { name: SLOTS.actionsEnd, slot: SLOTS$6.actionsEnd })) : null;
1381
1796
  }
1382
1797
  renderActionsStart() {
1383
1798
  const { el } = this;
1384
1799
  const hasActionsStart = getSlotted(el, SLOTS.actionsStart);
1385
- return hasActionsStart ? (h("slot", { name: SLOTS.actionsStart, slot: SLOTS$3.actionsStart })) : null;
1800
+ return hasActionsStart ? (h("slot", { name: SLOTS.actionsStart, slot: SLOTS$6.actionsStart })) : null;
1386
1801
  }
1387
1802
  renderHandle() {
1388
1803
  const { icon } = this;
1389
1804
  if (icon === ICON_TYPES$1.grip) {
1390
1805
  return (h("span", { class: {
1391
- [CSS$2.handle]: true,
1392
- [CSS$2.handleActivated]: this.handleActivated
1806
+ [CSS$4.handle]: true,
1807
+ [CSS$4.handleActivated]: this.handleActivated
1393
1808
  }, "data-js-handle": true, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, role: "button", tabindex: "0" }, h("calcite-icon", { icon: ICONS.drag, scale: "s" })));
1394
1809
  }
1395
1810
  }
@@ -1790,27 +2205,18 @@ const JsonEditor = class {
1790
2205
  };
1791
2206
  JsonEditor.style = jsonEditorCss;
1792
2207
 
1793
- const solutionItemDetailsCss = ".inputBottomSeparation{margin-left:0px;margin-right:0px;margin-top:0px;margin-bottom:1.5rem}.icon-inline--on-left,.icon-inline--on-right{display:inline;vertical-align:middle;-webkit-margin-end:0.375rem;margin-inline-end:0.375rem;fill:#0079c1}.scale-down{-o-object-fit:scale-down;object-fit:scale-down}.img-container{display:inline;-webkit-margin-end:1rem;margin-inline-end:1rem;max-width:363px}.summary-count-container{display:inline;flex-grow:1;-webkit-margin-start:0.75rem;margin-inline-start:0.75rem}.snippet-count-container{width:calc(100vw - 363px)}.parent-container{max-width:100%;padding:1rem}label{position:relative;margin-left:0px;margin-right:0px;margin-top:0px;margin-bottom:1.5rem;display:block;min-width:-moz-min-content;min-width:min-content;box-sizing:border-box;margin-left:0.75rem;margin-right:0.75rem;min-width:0;flex-grow:0;flex-shrink:1}label-group-1-up>.block{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}label-group-2-up>.block{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}label-group-3-up>.block{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}label-group-4-up>.block{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}label-group-5-up>.block{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}label-group-6-up>.block{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}label-group-7-up>.block{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}label-group-8-up>.block{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.tablet-block-group-1-up>label{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.tablet-block-group-2-up>label{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.tablet-block-group-3-up>label{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.tablet-block-group-4-up>label{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.tablet-block-group-5-up>label{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.tablet-block-group-6-up>label{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.tablet-block-group-7-up>label{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.tablet-block-group-8-up>label{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.phone-block-group-1-up>label{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.phone-block-group-2-up>label{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.phone-block-group-3-up>label{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.phone-block-group-4-up>label{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.phone-block-group-5-up>label{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.phone-block-group-6-up>label{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.phone-block-group-7-up>label{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.phone-block-group-8-up>label{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.code-face label{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:normal}.code-face label b,.code-face label strong{font-weight:400}.code-italic label{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:italic}.code-italic label b,.code-italic label strong{font-weight:400}";
2208
+ const solutionOrganizationVariablesCss = ":host{display:block;box-sizing:border-box;margin-left:0.75rem;margin-right:0.75rem;min-width:0;flex-grow:0;flex-shrink:1}:host-group-1-up>.block{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}:host-group-2-up>.block{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}:host-group-3-up>.block{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}:host-group-4-up>.block{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}:host-group-5-up>.block{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}:host-group-6-up>.block{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}:host-group-7-up>.block{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}:host-group-8-up>.block{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.tablet-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.tablet-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.tablet-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.tablet-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.tablet-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.tablet-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.tablet-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.tablet-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.phone-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.phone-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.phone-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.phone-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.phone-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.phone-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.phone-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.phone-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.code-face :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:normal}.code-face :host b,.code-face :host strong{font-weight:400}.code-italic :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:italic}.code-italic :host b,.code-italic :host strong{font-weight:400}.container-border{overflow-y:auto}.org-var-header{margin-left:0px;margin-right:0px;margin-top:0px;margin-bottom:1rem}";
1794
2209
 
1795
- const SolutionItemDetails = class {
2210
+ const SolutionOrganizationVariables = class {
1796
2211
  constructor(hostRef) {
1797
2212
  registerInstance(this, hostRef);
1798
- this.itemId = "";
1799
- this.itemDetails = {
1800
- accessInformation: "",
1801
- description: "",
1802
- licenseInfo: "",
1803
- snippet: "",
1804
- tags: [],
1805
- title: ""
1806
- };
1807
- this.itemEdit = undefined;
2213
+ this.organizationVariableSelected = createEvent(this, "organizationVariableSelected", 7);
2214
+ this.value = "";
2215
+ this._organizationVariables = [];
1808
2216
  this._translations = undefined;
1809
- this.thumbnail = undefined;
1810
- this.thumbnailContainer = undefined;
1811
2217
  }
1812
- itemIdWatchHandler() {
1813
- console.log("update item details; id " + this.itemId); //???
2218
+ valueWatchHandler() {
2219
+ this._organizationVariables = JSON.parse(this.value);
1814
2220
  }
1815
2221
  //--------------------------------------------------------------------------
1816
2222
  //
@@ -1823,74 +2229,14 @@ const SolutionItemDetails = class {
1823
2229
  async componentWillLoad() {
1824
2230
  return this._getTranslations();
1825
2231
  }
1826
- async componentWillRender() {
1827
- console.log("update item details " + this.itemId); //???
1828
- this.itemEdit = state.getItemInfo(this.itemId);
1829
- if (this.itemEdit) {
1830
- this.itemDetails = this.itemEdit.item;
1831
- this.itemType = this.itemDetails.type;
1832
- }
1833
- return Promise.resolve();
1834
- }
1835
2232
  /**
1836
2233
  * Renders the component.
1837
2234
  */
1838
2235
  render() {
1839
- console.log("render item details " + this.itemId); //???
1840
- console.log(" title " + this.itemDetails.title); //???
1841
- console.log(" snippet " + this.itemDetails.snippet); //???
1842
- return (h(Host, null, h("div", { class: "parent-container" }, h("div", { class: "inputBottomSeparation" }, h("calcite-input", { id: "item-title", value: this.itemDetails.title })), h("div", { class: "inputBottomSeparation" }, h("input", { accept: ".jpg,.gif,.png,image/jpg,image/gif,image/png", class: "display-none", onChange: (event) => (this._updateThumbnail(event)), ref: (el) => (this.browseForThumbnail = el), type: "file" }), h("button", { class: "font-size--3 btn-link inline-block trailer-quarter", onClick: () => this._getThumbnail() }, h("svg", { class: "icon-inline icon-inline--on-left", height: "16", viewBox: "0 0 16 16", width: "16" }, h("path", { d: "M14.792 2.666l-1.414-1.413a.965.965 0 0 0-1.385-.03l-1.444 1.444-8.763 8.72L.03 15.481a.371.371 0 0 0 .488.488l4.096-1.756 8.763-8.72-.001-.001.002.002 1.443-1.444a.965.965 0 0 0-.03-1.385zM1.569 14.431l.554-1.293.74.739zm2.338-.924l-1.414-1.414 7.963-7.92 1.414 1.415zm8.67-8.626l-1.413-1.414 1.29-1.29a.306.306 0 0 1 .433 0l.981.98a.306.306 0 0 1 0 .433z" })), this._translations.editThumbnail), h("div", { class: "flex" }, h("div", { class: "img-container", ref: (el) => (this.thumbnailContainer = el) }, h("img", { class: "scale-down", height: "133", id: "item-thumbnail", ref: (el) => (this.thumbnail = el), width: "200" })), h("div", { class: "snippet-count-container" }, h("calcite-input", { id: "item-snippet", maxlength: 250, type: "textarea", value: this.itemDetails.snippet }), h("label", { class: "font-size--3", id: "item-snippet-count", ref: (el) => (this.itemSnippetCount = el) })))), h("calcite-label", null, this._translations.description, h("label", { id: "item-description-label" }, h("calcite-input", { id: "item-description", type: "textarea", value: this.itemDetails.description }))), h("calcite-label", null, this._translations.tags, h("label", { id: "item-tags-label" }, h("calcite-input", { id: "item-tags", value: (this.itemDetails.tags && Array.isArray(this.itemDetails.tags) ? this.itemDetails.tags : [this.itemDetails.tags]).join(",") }))), this.itemType !== "Group" ? h("calcite-label", null, this._translations.credits, h("label", { id: "item-credits-label" }, h("calcite-input", { id: "item-credits", value: this.itemDetails.accessInformation }))) : null, this.itemType !== "Group" ? h("calcite-label", null, h("label", { id: "item-terms-label" }, this._translations.termsOfUse, h("calcite-input", { id: "item-terms", type: "textarea", value: this.itemDetails.licenseInfo }))) : null)));
1843
- }
1844
- componentDidRender() {
1845
- this._loadThumb();
1846
- }
1847
- //--------------------------------------------------------------------------
1848
- //
1849
- // Event Listeners
1850
- //
1851
- //--------------------------------------------------------------------------
1852
- /**
1853
- * Updates the component's value with changes to the input fields.
1854
- */
1855
- inputReceivedHandler(event) {
1856
- switch (event.target.id) {
1857
- case "item-title":
1858
- this.itemDetails.title = event.target.value;
1859
- this._updateStore();
1860
- break;
1861
- case "item-snippet":
1862
- if (event.target.value.length > 250) {
1863
- event.target.value = event.target.value.substring(0, 250);
1864
- }
1865
- this.itemDetails.snippet = event.target.value;
1866
- this._updateLengthLabel(this.itemDetails.snippet);
1867
- this._updateStore();
1868
- break;
1869
- case "item-description":
1870
- this.itemDetails.description = event.target.value;
1871
- this._updateStore();
1872
- break;
1873
- case "item-tags":
1874
- this.itemDetails.tags = event.target.value;
1875
- this._updateStore();
1876
- break;
1877
- case "item-credits":
1878
- this.itemDetails.accessInformation = event.target.value;
1879
- this._updateStore();
1880
- break;
1881
- case "item-terms":
1882
- this.itemDetails.licenseInfo = event.target.value;
1883
- this._updateStore();
1884
- break;
1885
- }
2236
+ return (h(Host, null, h("div", null, h("h4", { class: "org-var-header" }, this._translations.orgVariables)), h("div", { class: "container-border" }, h("calcite-tree", { id: "variable-label" }, this._renderHierarchy(this._organizationVariables)))));
1886
2237
  }
1887
2238
  //--------------------------------------------------------------------------
1888
2239
  //
1889
- // Events
1890
- //
1891
- //--------------------------------------------------------------------------
1892
- //--------------------------------------------------------------------------
1893
- //
1894
2240
  // Public Methods (async)
1895
2241
  //
1896
2242
  //--------------------------------------------------------------------------
@@ -1900,67 +2246,27 @@ const SolutionItemDetails = class {
1900
2246
  //
1901
2247
  //--------------------------------------------------------------------------
1902
2248
  /**
1903
- * Opens image file browse dialog.
1904
- *
1905
- */
1906
- _getThumbnail() {
1907
- this.browseForThumbnail.click();
1908
- }
1909
- /**
1910
- * Load the templates thumbnail
1911
- *
1912
- */
1913
- _loadThumb() {
1914
- var _a;
1915
- if (this.thumbnail && ((_a = this.itemEdit) === null || _a === void 0 ? void 0 : _a.thumbnail)) {
1916
- // Show the thumbnail
1917
- this.thumbnail.src = URL.createObjectURL(this.itemEdit.thumbnail);
1918
- this.thumbnailContainer.classList.remove("empty-box");
1919
- this.thumbnail.classList.remove("display-none");
1920
- }
1921
- else {
1922
- // Replace the thumbnail with an empty box
1923
- this.thumbnailContainer.classList.add("empty-box");
1924
- this.thumbnail.classList.add("display-none");
1925
- }
1926
- }
1927
- /**
1928
- * Updates the length label to reflect the current number of characters
1929
- * relative to the max number of characters supported.
2249
+ * Renders the organization based variable items the user can insert at runtime
1930
2250
  *
1931
- * @param phrase the current phrase from the control
1932
- */
1933
- _updateLengthLabel(phrase) {
1934
- this.itemSnippetCount.innerText =
1935
- this._translations.snippetCountPattern.replace("{{n}}", phrase.length.toString());
1936
- }
1937
- /**
1938
- * Add or remove the value from the store
2251
+ * @param objs a list of organization variables to render
1939
2252
  */
1940
- _updateStore() {
1941
- this.itemEdit = state.getItemInfo(this.itemId);
1942
- this.itemEdit.item = this.itemDetails;
1943
- state.setItemInfo(this.itemEdit);
2253
+ _renderHierarchy(objs) {
2254
+ const hierarchy = objs.map(obj => {
2255
+ return (h("calcite-tree-item", { onClick: () => this._treeItemSelected(obj.id, obj.value) }, obj.title));
2256
+ });
2257
+ return hierarchy;
1944
2258
  }
1945
2259
  /**
1946
- * Gets and displays image result from browse and updates the item in the store.
2260
+ * Publishes the `organizationVariableSelected` event containing `itemId`, the id of the selected variable and the value of the variable.
1947
2261
  *
1948
- * @param event The input controls event that contains the new file
1949
- * @param updateStore boolean that controls if the new value is written to the store
1950
- * should be false on the initial load but true the rest of the time
2262
+ * @param itemId Item id as reported by click event
2263
+ * @param value Variable id as reported by click event
1951
2264
  */
1952
- _updateThumbnail(event) {
1953
- const files = event.target.files;
1954
- if (files && files[0]) {
1955
- if (this.thumbnail) {
1956
- // Update UI
1957
- this.thumbnail.src = URL.createObjectURL(files[0]);
1958
- // Update info in store
1959
- this.itemEdit = state.getItemInfo(this.itemId);
1960
- this.itemEdit.thumbnail = files[0];
1961
- state.replaceItemThumbnail(this.itemEdit);
1962
- }
1963
- }
2265
+ _treeItemSelected(itemId, value) {
2266
+ this.organizationVariableSelected.emit({
2267
+ itemId,
2268
+ value
2269
+ });
1964
2270
  }
1965
2271
  /**
1966
2272
  * Fetches the component's translations
@@ -1973,569 +2279,11 @@ const SolutionItemDetails = class {
1973
2279
  }
1974
2280
  get el() { return getElement(this); }
1975
2281
  static get watchers() { return {
1976
- "itemId": ["itemIdWatchHandler"]
1977
- }; }
1978
- };
1979
- SolutionItemDetails.style = solutionItemDetailsCss;
1980
-
1981
- const solutionItemSharingCss = ":host{display:block;box-sizing:border-box;margin-left:0.75rem;margin-right:0.75rem;min-width:0;flex-grow:0;flex-shrink:1}:host-group-1-up>.block{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}:host-group-2-up>.block{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}:host-group-3-up>.block{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}:host-group-4-up>.block{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}:host-group-5-up>.block{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}:host-group-6-up>.block{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}:host-group-7-up>.block{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}:host-group-8-up>.block{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.tablet-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.tablet-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.tablet-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.tablet-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.tablet-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.tablet-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.tablet-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.tablet-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.phone-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.phone-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.phone-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.phone-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.phone-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.phone-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.phone-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.phone-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.code-face :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:normal}.code-face :host b,.code-face :host strong{font-weight:400}.code-italic :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:italic}.code-italic :host b,.code-italic :host strong{font-weight:400}.container-border{padding:1rem}.icon-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}";
1982
-
1983
- const SolutionItemSharing = class {
1984
- constructor(hostRef) {
1985
- registerInstance(this, hostRef);
1986
- this.groupId = "";
1987
- this._translations = undefined;
1988
- this.sharing = [];
1989
- }
1990
- itemIdWatchHandler() {
1991
- const itemEdit = state.getItemInfo(this.groupId);
1992
- this.sharing = itemEdit.groupDetails;
1993
- }
1994
- //--------------------------------------------------------------------------
1995
- //
1996
- // Lifecycle
1997
- //
1998
- //--------------------------------------------------------------------------
1999
- /**
2000
- * StencilJS: Called once just after the component is first connected to the DOM.
2001
- */
2002
- async componentWillLoad() {
2003
- return this._getTranslations();
2004
- }
2005
- /**
2006
- * Renders the component.
2007
- */
2008
- render() {
2009
- return (h(Host, null, h("div", { class: "container-border" }, h("calcite-label", null, this._translations.groupInfo), this._renderItems(this.sharing))));
2010
- }
2011
- //--------------------------------------------------------------------------
2012
- //
2013
- // Event Listeners
2014
- //
2015
- //--------------------------------------------------------------------------
2016
- //--------------------------------------------------------------------------
2017
- //
2018
- // Events
2019
- //
2020
- //--------------------------------------------------------------------------
2021
- //--------------------------------------------------------------------------
2022
- //
2023
- // Public Methods (async)
2024
- //
2025
- //--------------------------------------------------------------------------
2026
- async getShareInfo() {
2027
- return this.sharing;
2028
- }
2029
- //--------------------------------------------------------------------------
2030
- //
2031
- // Private Methods
2032
- //
2033
- //--------------------------------------------------------------------------
2034
- /**
2035
- * Render share options based on the list of share details
2036
- *
2037
- * @param objs list of IItemShare objects that are used to expose and store share info for the solutions items
2038
- */
2039
- _renderItems(objs) {
2040
- return objs && objs.length > 0
2041
- ? objs.map(item => {
2042
- return (h("calcite-label", { layout: "inline" }, h("calcite-switch", { id: item.id, name: "setting", onCalciteSwitchChange: (event) => this._updateItem(event), scale: "m", switched: item.shareItem, value: "enabled" }), h("solution-item-icon", { type: item.type, typeKeywords: item.typeKeywords }), h("span", { class: "icon-text", title: item.title }, item.title)));
2043
- })
2044
- : null;
2045
- }
2046
- /**
2047
- * Update the items share prop based on the switch state
2048
- *
2049
- * @param event onCalciteSwitchChange event
2050
- */
2051
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
2052
- _updateItem(event) {
2053
- const id = event.target.id;
2054
- this.sharing = this.sharing.map((itemShare) => {
2055
- if (itemShare.id === id) {
2056
- // update the item
2057
- itemShare.shareItem = event.detail.switched;
2058
- // update the item in the store
2059
- const itemEdit = state.getItemInfo(id);
2060
- if (itemShare.shareItem) {
2061
- // Add the group to the item if it's not already there
2062
- if (!itemEdit.groups) {
2063
- itemEdit.groups = [this.groupId];
2064
- }
2065
- else if (itemEdit.groups.indexOf(this.groupId) < 0) {
2066
- itemEdit.groups.push(this.groupId);
2067
- }
2068
- }
2069
- else {
2070
- // Remove the group from the item if it's there
2071
- if (itemEdit.groups) {
2072
- const i = itemEdit.groups.indexOf(this.groupId);
2073
- if (i > -1) {
2074
- itemEdit.groups.splice(i, 1);
2075
- }
2076
- }
2077
- }
2078
- state.setItemInfo(itemEdit);
2079
- }
2080
- return itemShare;
2081
- });
2082
- }
2083
- /**
2084
- * Fetches the component's translations
2085
- *
2086
- * @protected
2087
- */
2088
- async _getTranslations() {
2089
- const translations = await getLocaleComponentStrings(this.el);
2090
- this._translations = translations[0];
2091
- }
2092
- get el() { return getElement(this); }
2093
- static get watchers() { return {
2094
- "groupId": ["itemIdWatchHandler"]
2095
- }; }
2096
- };
2097
- SolutionItemSharing.style = solutionItemSharingCss;
2098
-
2099
- const solutionOrganizationVariablesCss = ":host{display:block;box-sizing:border-box;margin-left:0.75rem;margin-right:0.75rem;min-width:0;flex-grow:0;flex-shrink:1}:host-group-1-up>.block{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}:host-group-2-up>.block{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}:host-group-3-up>.block{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}:host-group-4-up>.block{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}:host-group-5-up>.block{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}:host-group-6-up>.block{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}:host-group-7-up>.block{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}:host-group-8-up>.block{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.tablet-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.tablet-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.tablet-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.tablet-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.tablet-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.tablet-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.tablet-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.tablet-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.phone-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.phone-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.phone-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.phone-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.phone-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.phone-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.phone-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.phone-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.code-face :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:normal}.code-face :host b,.code-face :host strong{font-weight:400}.code-italic :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:italic}.code-italic :host b,.code-italic :host strong{font-weight:400}.container-border{overflow-y:auto}.org-var-header{margin-left:0px;margin-right:0px;margin-top:0px;margin-bottom:1rem}";
2100
-
2101
- const SolutionOrganizationVariables = class {
2102
- constructor(hostRef) {
2103
- registerInstance(this, hostRef);
2104
- this.organizationVariableSelected = createEvent(this, "organizationVariableSelected", 7);
2105
- this.value = "";
2106
- this._organizationVariables = [];
2107
- this._translations = undefined;
2108
- }
2109
- valueWatchHandler() {
2110
- this._organizationVariables = JSON.parse(this.value);
2111
- }
2112
- //--------------------------------------------------------------------------
2113
- //
2114
- // Lifecycle
2115
- //
2116
- //--------------------------------------------------------------------------
2117
- /**
2118
- * StencilJS: Called once just after the component is first connected to the DOM.
2119
- */
2120
- async componentWillLoad() {
2121
- return this._getTranslations();
2122
- }
2123
- /**
2124
- * Renders the component.
2125
- */
2126
- render() {
2127
- return (h(Host, null, h("div", null, h("h4", { class: "org-var-header" }, this._translations.orgVariables)), h("div", { class: "container-border" }, h("calcite-tree", { id: "variable-label" }, this._renderHierarchy(this._organizationVariables)))));
2128
- }
2129
- //--------------------------------------------------------------------------
2130
- //
2131
- // Public Methods (async)
2132
- //
2133
- //--------------------------------------------------------------------------
2134
- //--------------------------------------------------------------------------
2135
- //
2136
- // Private Methods
2137
- //
2138
- //--------------------------------------------------------------------------
2139
- /**
2140
- * Renders the organization based variable items the user can insert at runtime
2141
- *
2142
- * @param objs a list of organization variables to render
2143
- */
2144
- _renderHierarchy(objs) {
2145
- const hierarchy = objs.map(obj => {
2146
- return (h("calcite-tree-item", { onClick: () => this._treeItemSelected(obj.id, obj.value) }, obj.title));
2147
- });
2148
- return hierarchy;
2149
- }
2150
- /**
2151
- * Publishes the `organizationVariableSelected` event containing `itemId`, the id of the selected variable and the value of the variable.
2152
- *
2153
- * @param itemId Item id as reported by click event
2154
- * @param value Variable id as reported by click event
2155
- */
2156
- _treeItemSelected(itemId, value) {
2157
- this.organizationVariableSelected.emit({
2158
- itemId,
2159
- value
2160
- });
2161
- }
2162
- /**
2163
- * Fetches the component's translations
2164
- *
2165
- * @protected
2166
- */
2167
- async _getTranslations() {
2168
- const translations = await getLocaleComponentStrings(this.el);
2169
- this._translations = translations[0];
2170
- }
2171
- get el() { return getElement(this); }
2172
- static get watchers() { return {
2173
- "value": ["valueWatchHandler"]
2282
+ "value": ["valueWatchHandler"]
2174
2283
  }; }
2175
2284
  };
2176
2285
  SolutionOrganizationVariables.style = solutionOrganizationVariablesCss;
2177
2286
 
2178
- const solutionResourceItemCss = ":host{display:block;box-sizing:border-box;margin-left:0.75rem;margin-right:0.75rem;min-width:0;flex-grow:0;flex-shrink:1}:host-group-1-up>.block{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}:host-group-2-up>.block{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}:host-group-3-up>.block{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}:host-group-4-up>.block{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}:host-group-5-up>.block{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}:host-group-6-up>.block{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}:host-group-7-up>.block{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}:host-group-8-up>.block{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.tablet-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.tablet-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.tablet-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.tablet-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.tablet-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.tablet-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.tablet-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.tablet-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.phone-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.phone-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.phone-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.phone-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.phone-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.phone-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.phone-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.phone-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.code-face :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:normal}.code-face :host b,.code-face :host strong{font-weight:400}.code-italic :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:italic}.code-italic :host b,.code-italic :host strong{font-weight:400}.resource-item{padding:1rem}.resource-button{-webkit-margin-end:1rem;margin-inline-end:1rem}.resource-progress{padding-top:1rem}.resources-container{border:1px #808080 solid}.margin-bottom-1{margin-bottom:1rem}";
2179
-
2180
- const SolutionResourceItem = class {
2181
- constructor(hostRef) {
2182
- registerInstance(this, hostRef);
2183
- this._removedResources = {};
2184
- this.authentication = undefined;
2185
- this.itemId = "";
2186
- this.resourceFilePaths = [];
2187
- this.resources = [];
2188
- this._translations = undefined;
2189
- }
2190
- itemIdWatchHandler() {
2191
- const item = state.getItemInfo(this.itemId);
2192
- this.resourceFilePaths = item.resourceFilePaths;
2193
- this.resources = item.resources.map(
2194
- // False linting error
2195
- // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
2196
- (path) => path.substring(path.lastIndexOf("/") + 1));
2197
- }
2198
- //--------------------------------------------------------------------------
2199
- //
2200
- // Lifecycle
2201
- //
2202
- //--------------------------------------------------------------------------
2203
- /**
2204
- * StencilJS: Called once just after the component is first connected to the DOM.
2205
- */
2206
- componentWillLoad() {
2207
- return this._getTranslations();
2208
- }
2209
- /**
2210
- * Renders the component.
2211
- */
2212
- render() {
2213
- const hasValidResources = this._hasValidResources();
2214
- return (h(Host, null, h("div", { class: "resource-item" }, h("div", { class: "margin-bottom-1" }, h("calcite-button", { appearance: "solid", class: "resource-button", color: "blue", onClick: () => this._addNewResource() }, this._translations.addResource), h("calcite-button", { appearance: "solid", color: "blue", disabled: !hasValidResources, onClick: () => this._downloadAll() }, this._translations.downloadAll)), h("div", { class: "resources-container", style: { display: hasValidResources ? "inherit" : "none" } }, this._renderResourceList()))));
2215
- }
2216
- //--------------------------------------------------------------------------
2217
- //
2218
- // Event Listeners
2219
- //
2220
- //--------------------------------------------------------------------------
2221
- //--------------------------------------------------------------------------
2222
- //
2223
- // Events
2224
- //
2225
- //--------------------------------------------------------------------------
2226
- //--------------------------------------------------------------------------
2227
- //
2228
- // Public Methods (async)
2229
- //
2230
- //--------------------------------------------------------------------------
2231
- //--------------------------------------------------------------------------
2232
- //
2233
- // Private Methods
2234
- //
2235
- //--------------------------------------------------------------------------
2236
- /**
2237
- * Render resources while avoiding thumbnail resoures that are managed by solution-item
2238
- *
2239
- */
2240
- _renderResourceList() {
2241
- return (h("calcite-value-list", { multiple: true }, this.resourceFilePaths.reduce((prev, cur) => {
2242
- if (cur.type !== EFileType.Thumbnail) {
2243
- prev.push(this._renderResource(cur));
2244
- }
2245
- return prev;
2246
- }, [])));
2247
- }
2248
- /**
2249
- * Render the resource and supporting actions for download/update/delete/(reset..if deleted)
2250
- *
2251
- * @param resource the filename and url used to interact with the resource
2252
- */
2253
- _renderResource(resource) {
2254
- const resettable = resource.updateType === EUpdateType.Remove;
2255
- const fullname = resource.folder ? resource.folder + "/" + resource.filename : resource.filename;
2256
- return (h("calcite-value-list-item", { class: resettable ? "disabled" : "", label: fullname, nonInteractive: true, value: resource.url }, h("calcite-action-group", { "expand-disabled": "true", layout: "horizontal", slot: "actions-end" }, h("calcite-action", { disabled: resettable, icon: "download", label: this._translations.download, onClick: () => this._download(resource.url, resource.filename), scale: "m", text: this._translations.download, title: this._translations.download }), h("calcite-action", { disabled: resettable, icon: "upload-to", label: this._translations.update, onClick: () => this._upload(resource), scale: "m", text: this._translations.update, title: this._translations.update }), h("calcite-action", { disabled: resettable, icon: "trash", label: this._translations.delete, onClick: () => this._delete(resource), scale: "m", text: this._translations.delete, title: this._translations.delete }), resettable ? h("calcite-action", { icon: "reset", label: this._translations.reset, onClick: () => this._reset(resource.filename), scale: "m", text: this._translations.reset, title: this._translations.reset }) : h("div", { class: "display-none" }))));
2257
- }
2258
- /**
2259
- * Adds the name to the deleted array so it will be skipped while rendering
2260
- * but still exist if the user chooses to reset
2261
- *
2262
- * @param resource the resource to be updated
2263
- */
2264
- _delete(resource) {
2265
- resource.updateType = EUpdateType.Remove;
2266
- this.resourceFilePaths = [...this.resourceFilePaths]; // to trigger refresh
2267
- this._updateStore();
2268
- }
2269
- /**
2270
- * Remove the name from the deleted array so it will again be rendered
2271
- *
2272
- * @param name the name to be added to the deleted array
2273
- */
2274
- _reset(name) {
2275
- // need to make sure I know if this reset is from the source or a new one
2276
- // Because the item's `resources` array is not updated until (and if) the solution is saved,
2277
- // we can use it for the reset info
2278
- this.resources.some(resourceName => resourceName === name) ?
2279
- // Undo removing an existing resource
2280
- this.resourceFilePaths = this.resourceFilePaths.map(p => {
2281
- if (p.filename === name) {
2282
- p.updateType = EUpdateType.None;
2283
- }
2284
- return p;
2285
- }) :
2286
- // Undo cancelling the adding of a resource
2287
- this.resourceFilePaths = this.resourceFilePaths.map(p => {
2288
- if (p.filename === name) {
2289
- p.updateType = EUpdateType.Add;
2290
- }
2291
- return p;
2292
- });
2293
- this._updateStore();
2294
- }
2295
- /**
2296
- * Download all of the templates resources
2297
- *
2298
- */
2299
- _downloadAll() {
2300
- this.resourceFilePaths.forEach((resource) => {
2301
- this._download(resource.url, resource.filename);
2302
- });
2303
- }
2304
- /**
2305
- * Download the current resource
2306
- *
2307
- * @param url the resource url
2308
- * @param name the resource name
2309
- */
2310
- _download(url, name) {
2311
- // files that have been added manually do not need to be requested from the item
2312
- if (url.startsWith("blob")) {
2313
- this.downloadFile(url, name);
2314
- }
2315
- else {
2316
- const _url = `${url}?token=${this.authentication.token}`;
2317
- void this.fetchAndDownload(_url, name);
2318
- }
2319
- }
2320
- /**
2321
- * Dynamically creates an anchor and downloads the file
2322
- *
2323
- * @param url the url of the resource
2324
- * @param name the name of the resource
2325
- */
2326
- downloadFile(url, name) {
2327
- const link = document.createElement("a");
2328
- link.href = url;
2329
- link.download = name;
2330
- link.target = "_blank";
2331
- link.click();
2332
- }
2333
- /**
2334
- * Check if the template resources have any non-thumbnail resources
2335
- *
2336
- * @returns true if we have data resources and false if only thumbnail
2337
- */
2338
- _hasValidResources() {
2339
- return this.resourceFilePaths.some(r => r.url.indexOf("_info_thumbnail") < 0);
2340
- }
2341
- /**
2342
- * Fetches and downloads the resource from the solution
2343
- *
2344
- * @param url the url of the resource
2345
- * @param name the name of the resource
2346
- */
2347
- async fetchAndDownload(url, name) {
2348
- const image = await fetch(url);
2349
- const b = await image.blob();
2350
- const bURL = URL.createObjectURL(b);
2351
- this.downloadFile(bURL, name);
2352
- }
2353
- /**
2354
- * Create an input element to support the uploading of the resource and upload the resource
2355
- *
2356
- * @param resource the resource to be updated
2357
- */
2358
- _upload(resource) {
2359
- const _input = document.createElement("input");
2360
- _input.classList.add("display-none");
2361
- _input.onchange = this._updateResource.bind(this, resource);
2362
- _input.type = "file";
2363
- _input.click();
2364
- }
2365
- /**
2366
- * Create an input element to support the uploading of a resource and add the new resource
2367
- *
2368
- */
2369
- _addNewResource() {
2370
- const _input = document.createElement("input");
2371
- _input.classList.add("display-none");
2372
- _input.onchange = this._add.bind(this);
2373
- _input.type = "file";
2374
- _input.click();
2375
- }
2376
- /**
2377
- * Replace the resource file path when update action is used
2378
- *
2379
- * @param resourcePath the resource to be updated
2380
- * @param event the input event that contains the file
2381
- */
2382
- _updateResource(resourcePath, event) {
2383
- const files = event.target.files;
2384
- if (files && files[0]) {
2385
- resourcePath.blob = files[0];
2386
- resourcePath.updateType = EUpdateType.Update;
2387
- this._updateStore();
2388
- }
2389
- }
2390
- /**
2391
- * Add the new resource to the resource file paths
2392
- *
2393
- * @param event the inputs event that contains the new file
2394
- */
2395
- _add(event) {
2396
- const files = event.target.files;
2397
- if (files && files[0]) {
2398
- const url = URL.createObjectURL(files[0]);
2399
- const filename = files[0].name;
2400
- // Add the item if it's not already in the resource file paths list
2401
- if (!this.resourceFilePaths.some(r => r.filename === filename && r.url === url)) {
2402
- this.resourceFilePaths = [
2403
- ...this.resourceFilePaths,
2404
- {
2405
- url,
2406
- type: EFileType.Data,
2407
- folder: undefined,
2408
- filename,
2409
- blob: files[0],
2410
- updateType: EUpdateType.Add
2411
- }
2412
- ];
2413
- this._updateStore();
2414
- }
2415
- }
2416
- }
2417
- /**
2418
- * Add or remove the value from the store
2419
- */
2420
- _updateStore() {
2421
- const item = state.getItemInfo(this.itemId);
2422
- item.resourceFilePaths = this.resourceFilePaths;
2423
- state.setItemInfo(item);
2424
- }
2425
- /**
2426
- * Fetches the component's translations
2427
- *
2428
- * @protected
2429
- */
2430
- async _getTranslations() {
2431
- const translations = await getLocaleComponentStrings(this.el);
2432
- this._translations = translations[0];
2433
- }
2434
- get el() { return getElement(this); }
2435
- static get watchers() { return {
2436
- "itemId": ["itemIdWatchHandler"]
2437
- }; }
2438
- };
2439
- SolutionResourceItem.style = solutionResourceItemCss;
2440
-
2441
- const solutionTemplateDataCss = ":host{display:flexbox}.solution-data-container{position:absolute;height:-moz-available;height:calc(100% - 48px);height:-webkit-fill-available;height:stretch;width:-moz-available;width:100%;width:-webkit-fill-available;width:stretch}.solution-data-child-container{display:flex;height:100%;width:100%;flex-direction:column;overflow-y:auto}.solution-data-editor-container{height:100%}.solution-data-child-container-collapsed{display:flex;height:100%;flex-direction:column;overflow:auto;width:50px}.inputBottomSeparation{margin-left:0px;margin-right:0px;margin-top:0px;margin-bottom:1.5rem}.json-editor{margin:1rem;width:auto;width:-webkit-fill-available -moz-available}.collapse-btn{padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:0px}.org-vars{padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:0px}.sol-vars{padding-top:0px;padding-bottom:0px;padding-left:1rem;padding-right:1rem;min-height:45%}.padding-1{padding:1rem}.light{background-color:#F4F4F4}";
2442
-
2443
- const SolutionTemplateData = class {
2444
- //--------------------------------------------------------------------------
2445
- //
2446
- // Lifecycle
2447
- //
2448
- //--------------------------------------------------------------------------
2449
- constructor(hostRef) {
2450
- registerInstance(this, hostRef);
2451
- this._initializing = false;
2452
- this.instanceid = "";
2453
- this.itemId = "";
2454
- this.organizationVariables = "";
2455
- this.solutionVariables = "";
2456
- this.varsOpen = true;
2457
- this._translations = undefined;
2458
- this.value = "";
2459
- window.addEventListener("solutionEditorContentChanged", (evt) => {
2460
- if (this.itemId) {
2461
- const { id, contents } = evt.detail;
2462
- const [itemId, instanceId] = id.split("|");
2463
- if (itemId == this.itemId && instanceId === this.instanceid) {
2464
- if (!this._initializing && contents.length > 0) {
2465
- const itemEdit = state.getItemInfo(itemId);
2466
- if (instanceId === "data") {
2467
- itemEdit.data = JSON.parse(contents);
2468
- }
2469
- else {
2470
- itemEdit.properties = JSON.parse(contents);
2471
- }
2472
- state.setItemInfo(itemEdit);
2473
- }
2474
- this._initializing = false;
2475
- }
2476
- }
2477
- });
2478
- }
2479
- itemIdWatchHandler() {
2480
- this._initializing = true;
2481
- this.value = JSON.stringify(this.instanceid === "data"
2482
- ? state.getItemInfo(this.itemId).data
2483
- : state.getItemInfo(this.itemId).properties, null, 2);
2484
- }
2485
- /**
2486
- * StencilJS: Called once just after the component is first connected to the DOM.
2487
- */
2488
- componentWillLoad() {
2489
- return this._getTranslations();
2490
- }
2491
- /**
2492
- * Renders the component.
2493
- */
2494
- render() {
2495
- return (h(Host, null, h("div", { class: "solution-data-container" }, h("calcite-shell", { class: "light var-container", dir: "ltr" }, h("calcite-panel", { class: "json-editor" }, h("div", { class: "solution-data-child-container calcite-match-height" }, h("json-editor", { class: "solution-data-editor-container", instanceid: this.itemId + "|" + this.instanceid, value: this.value }))), h("calcite-shell-panel", { "height-scale": "l", position: "end", slot: "contextual-panel", "width-scale": "xs" }, h("div", { class: this.varsOpen ? "solution-data-child-container" : "solution-data-child-container-collapsed" }, h("calcite-button", { appearance: "transparent", class: "collapse-btn", "icon-start": this.varsOpen ? "chevrons-right" : "chevrons-left", id: "collapse-vars", onClick: () => this._toggleVars(), scale: "s", title: this.varsOpen ? this._translations.collapse : this._translations.expand }), h("div", { class: this.varsOpen ? "org-vars" : "org-vars display-none", id: "orgVars" }, h("solution-organization-variables", { value: this.organizationVariables })), h("div", { class: this.varsOpen ? "sol-vars" : "sol-vars display-none", id: "solVars" }, h("solution-variables", { value: this.solutionVariables }))))))));
2496
- }
2497
- //--------------------------------------------------------------------------
2498
- //
2499
- // Event Listeners
2500
- //
2501
- //--------------------------------------------------------------------------
2502
- //--------------------------------------------------------------------------
2503
- //
2504
- // Events
2505
- //
2506
- //--------------------------------------------------------------------------
2507
- //--------------------------------------------------------------------------
2508
- //
2509
- // Public Methods (async)
2510
- //
2511
- //--------------------------------------------------------------------------
2512
- //--------------------------------------------------------------------------
2513
- //
2514
- // Private Methods
2515
- //
2516
- //--------------------------------------------------------------------------
2517
- /**
2518
- * Toggle varsOpen prop to show/hide variable containers
2519
- */
2520
- _toggleVars() {
2521
- this.varsOpen = !this.varsOpen;
2522
- }
2523
- /**
2524
- * Fetches the component's translations
2525
- *
2526
- * @protected
2527
- */
2528
- async _getTranslations() {
2529
- const translations = await getLocaleComponentStrings(this.el);
2530
- this._translations = translations[0];
2531
- }
2532
- get el() { return getElement(this); }
2533
- static get watchers() { return {
2534
- "itemId": ["itemIdWatchHandler"]
2535
- }; }
2536
- };
2537
- SolutionTemplateData.style = solutionTemplateDataCss;
2538
-
2539
2287
  const solutionVariablesCss = ":host{display:block;box-sizing:border-box;margin-left:0.75rem;margin-right:0.75rem;min-width:0;flex-grow:0;flex-shrink:1}:host-group-1-up>.block{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}:host-group-2-up>.block{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}:host-group-3-up>.block{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}:host-group-4-up>.block{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}:host-group-5-up>.block{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}:host-group-6-up>.block{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}:host-group-7-up>.block{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}:host-group-8-up>.block{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.tablet-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.tablet-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.tablet-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.tablet-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.tablet-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.tablet-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.tablet-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.tablet-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.phone-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.phone-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.phone-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.phone-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.phone-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.phone-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.phone-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.phone-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.code-face :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:normal}.code-face :host b,.code-face :host strong{font-weight:400}.code-italic :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:italic}.code-italic :host b,.code-italic :host strong{font-weight:400}.container-border{overflow-y:hidden}.org-var-header{margin-top:1rem;margin-bottom:1rem;margin-left:0px;margin-right:0px}.icon-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}";
2540
2288
 
2541
2289
  const SolutionVariables = class {
@@ -2627,6 +2375,6 @@ const SolutionVariables = class {
2627
2375
  };
2628
2376
  SolutionVariables.style = solutionVariablesCss;
2629
2377
 
2630
- export { ShellPanel as calcite_shell_panel, Tab as calcite_tab, TabNav as calcite_tab_nav, TabTitle as calcite_tab_title, Tabs as calcite_tabs, ValueList as calcite_value_list, ValueListItem as calcite_value_list_item, JsonEditor as json_editor, SolutionItemDetails as solution_item_details, SolutionItemSharing as solution_item_sharing, SolutionOrganizationVariables as solution_organization_variables, SolutionResourceItem as solution_resource_item, SolutionTemplateData as solution_template_data, SolutionVariables as solution_variables };
2378
+ export { Panel as calcite_panel, Shell as calcite_shell, ShellPanel as calcite_shell_panel, Tab as calcite_tab, TabNav as calcite_tab_nav, TabTitle as calcite_tab_title, Tabs as calcite_tabs, ValueList as calcite_value_list, ValueListItem as calcite_value_list_item, JsonEditor as json_editor, SolutionOrganizationVariables as solution_organization_variables, SolutionVariables as solution_variables };
2631
2379
 
2632
- //# sourceMappingURL=p-984cb687.entry.js.map
2380
+ //# sourceMappingURL=p-a1786d11.entry.js.map