@esri/solutions-components 0.2.6 → 0.2.7
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.
- package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
- package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
- package/dist/cjs/{pciUtils-6a806ba4.js → pciUtils-423cfc68.js} +25 -7
- package/dist/collection/demos/deduct-calculator.html +2 -5
- package/dist/collection/demos/new-public-notification.html +6 -4
- package/dist/collection/utils/pciUtils.js +25 -7
- package/dist/collection/utils/pciUtils.ts +30 -7
- package/dist/components/ExpandToggle.js +110 -0
- package/dist/components/Heading.js +22 -0
- package/dist/components/_commonjsHelpers.js +22 -0
- package/dist/components/action-bar.js +276 -0
- package/dist/components/action-group.js +149 -0
- package/dist/components/action-menu.js +356 -0
- package/dist/components/action.js +214 -0
- package/dist/components/add-record-modal.d.ts +11 -0
- package/dist/components/add-record-modal.js +171 -0
- package/dist/components/array.js +15 -0
- package/dist/components/block.js +272 -0
- package/dist/components/buffer-tools.d.ts +11 -0
- package/dist/components/buffer-tools.js +11 -0
- package/dist/components/buffer-tools2.js +262 -0
- package/dist/components/button.js +263 -0
- package/dist/components/calcite-accordion-item.js +244 -0
- package/dist/components/calcite-accordion.js +180 -0
- package/dist/components/calcite-action-bar.js +11 -0
- package/dist/components/calcite-action-group.js +11 -0
- package/dist/components/calcite-action-menu.js +11 -0
- package/dist/components/calcite-action-pad.js +197 -0
- package/dist/components/calcite-action.js +11 -0
- package/dist/components/calcite-alert.js +297 -0
- package/dist/components/calcite-avatar.js +182 -0
- package/dist/components/calcite-block-section.js +155 -0
- package/dist/components/calcite-block.js +11 -0
- package/dist/components/calcite-button.js +11 -0
- package/dist/components/calcite-card.js +187 -0
- package/dist/components/calcite-checkbox.js +11 -0
- package/dist/components/calcite-chip.js +11 -0
- package/dist/components/calcite-color-picker-hex-input.js +11 -0
- package/dist/components/calcite-color-picker-swatch.js +11 -0
- package/dist/components/calcite-color-picker.js +1036 -0
- package/dist/components/calcite-combobox-item-group.js +75 -0
- package/dist/components/calcite-combobox-item.js +11 -0
- package/dist/components/calcite-combobox.js +11 -0
- package/dist/components/calcite-date-picker-day.js +11 -0
- package/dist/components/calcite-date-picker-month-header.js +11 -0
- package/dist/components/calcite-date-picker-month.js +11 -0
- package/dist/components/calcite-date-picker.js +11 -0
- package/dist/components/calcite-dropdown-group.js +11 -0
- package/dist/components/calcite-dropdown-item.js +11 -0
- package/dist/components/calcite-dropdown.js +11 -0
- package/dist/components/calcite-fab.js +144 -0
- package/dist/components/calcite-filter.js +195 -0
- package/dist/components/calcite-flow-item.js +243 -0
- package/dist/components/calcite-flow.js +147 -0
- package/dist/components/calcite-graph.js +11 -0
- package/dist/components/calcite-handle.js +11 -0
- package/dist/components/calcite-icon.js +11 -0
- package/dist/components/calcite-inline-editable.js +294 -0
- package/dist/components/calcite-input-date-picker.js +713 -0
- package/dist/components/calcite-input-message.js +11 -0
- package/dist/components/calcite-input-number.js +637 -0
- package/dist/components/calcite-input-text.js +400 -0
- package/dist/components/calcite-input-time-picker.js +434 -0
- package/dist/components/calcite-input.js +11 -0
- package/dist/components/calcite-label.js +11 -0
- package/dist/components/calcite-link.js +11 -0
- package/dist/components/calcite-list-item-group.js +65 -0
- package/dist/components/calcite-list-item.js +11 -0
- package/dist/components/calcite-list.js +11 -0
- package/dist/components/calcite-loader.js +11 -0
- package/dist/components/calcite-modal.js +11 -0
- package/dist/components/calcite-notice.js +11 -0
- package/dist/components/calcite-option-group.js +64 -0
- package/dist/components/calcite-option.js +11 -0
- package/dist/components/calcite-pagination.js +258 -0
- package/dist/components/calcite-panel.js +11 -0
- package/dist/components/calcite-pick-list-group.js +74 -0
- package/dist/components/calcite-pick-list-item.js +11 -0
- package/dist/components/calcite-pick-list.js +11 -0
- package/dist/components/calcite-popover-manager.js +94 -0
- package/dist/components/calcite-popover.js +11 -0
- package/dist/components/calcite-progress.js +11 -0
- package/dist/components/calcite-radio-button-group.js +132 -0
- package/dist/components/calcite-radio-button.js +310 -0
- package/dist/components/calcite-radio-group-item.js +11 -0
- package/dist/components/calcite-radio-group.js +11 -0
- package/dist/components/calcite-rating.js +201 -0
- package/dist/components/calcite-scrim.js +11 -0
- package/dist/components/calcite-select.js +11 -0
- package/dist/components/calcite-shell-center-row.js +100 -0
- package/dist/components/calcite-shell-panel.js +11 -0
- package/dist/components/calcite-shell.js +11 -0
- package/dist/components/calcite-slider.js +11 -0
- package/dist/components/calcite-sortable-list.js +202 -0
- package/dist/components/calcite-split-button.js +11 -0
- package/dist/components/calcite-stepper-item.js +271 -0
- package/dist/components/calcite-stepper.js +256 -0
- package/dist/components/calcite-switch.js +11 -0
- package/dist/components/calcite-tab-nav.js +11 -0
- package/dist/components/calcite-tab-title.js +11 -0
- package/dist/components/calcite-tab.js +11 -0
- package/dist/components/calcite-tabs.js +11 -0
- package/dist/components/calcite-tile-select-group.js +65 -0
- package/dist/components/calcite-tile-select.js +266 -0
- package/dist/components/calcite-tile.js +11 -0
- package/dist/components/calcite-time-picker.js +11 -0
- package/dist/components/calcite-tip-group.js +41 -0
- package/dist/components/calcite-tip-manager.js +223 -0
- package/dist/components/calcite-tip.js +162 -0
- package/dist/components/calcite-tooltip-manager.js +57 -0
- package/dist/components/calcite-tooltip.js +11 -0
- package/dist/components/calcite-tree-item.js +11 -0
- package/dist/components/calcite-tree.js +11 -0
- package/dist/components/calcite-value-list-item.js +11 -0
- package/dist/components/calcite-value-list.js +11 -0
- package/dist/components/card-manager.d.ts +11 -0
- package/dist/components/card-manager.js +143 -0
- package/dist/components/check-list.d.ts +11 -0
- package/dist/components/check-list.js +11 -0
- package/dist/components/check-list2.js +131 -0
- package/dist/components/checkbox.js +165 -0
- package/dist/components/chip.js +170 -0
- package/dist/components/color-picker-hex-input.js +363 -0
- package/dist/components/color-picker-swatch.js +2034 -0
- package/dist/components/combobox-item.js +182 -0
- package/dist/components/combobox.js +912 -0
- package/dist/components/comment-card.d.ts +11 -0
- package/dist/components/comment-card.js +90 -0
- package/dist/components/conditionalSlot.js +50 -0
- package/dist/components/config-buffer-tools.d.ts +11 -0
- package/dist/components/config-buffer-tools.js +187 -0
- package/dist/components/config-draw-tools.d.ts +11 -0
- package/dist/components/config-draw-tools.js +121 -0
- package/dist/components/config-layer-picker.d.ts +11 -0
- package/dist/components/config-layer-picker.js +163 -0
- package/dist/components/config-pdf-download.d.ts +11 -0
- package/dist/components/config-pdf-download.js +154 -0
- package/dist/components/crowdsource-manager.d.ts +11 -0
- package/dist/components/crowdsource-manager.js +90 -0
- package/dist/components/crowdsource-reporter.d.ts +11 -0
- package/dist/components/crowdsource-reporter.js +90 -0
- package/dist/components/csvUtils.js +74 -0
- package/dist/components/date-picker-day.js +111 -0
- package/dist/components/date-picker-month-header.js +224 -0
- package/dist/components/date-picker-month.js +344 -0
- package/dist/components/date-picker.js +575 -0
- package/dist/components/date.js +180 -0
- package/dist/components/debounce.js +487 -0
- package/dist/components/deduct-calculator.d.ts +11 -0
- package/dist/components/deduct-calculator.js +11 -0
- package/dist/components/deduct-calculator2.js +1002 -0
- package/dist/components/dom.js +231 -0
- package/dist/components/dropdown-group.js +96 -0
- package/dist/components/dropdown-item.js +232 -0
- package/dist/components/dropdown.js +505 -0
- package/dist/components/edit-record-modal.d.ts +11 -0
- package/dist/components/edit-record-modal.js +11 -0
- package/dist/components/edit-record-modal2.js +161 -0
- package/dist/components/filter.js +763 -0
- package/dist/components/floating-ui.js +1768 -0
- package/dist/components/form.js +228 -0
- package/dist/components/graph.js +254 -0
- package/dist/components/guid.js +24 -0
- package/dist/components/handle.js +119 -0
- package/dist/components/icon.js +202 -0
- package/dist/components/index.d.ts +61 -0
- package/dist/components/index.js +196 -0
- package/dist/components/index2.js +199 -0
- package/dist/components/info-card.d.ts +11 -0
- package/dist/components/info-card.js +11 -0
- package/dist/components/info-card2.js +97 -0
- package/dist/components/input-message.js +101 -0
- package/dist/components/input.js +740 -0
- package/dist/components/interactive.js +51 -0
- package/dist/components/interfaces.js +19 -0
- package/dist/components/interfaces2.js +21 -0
- package/dist/components/interfaces3.js +80 -0
- package/dist/components/json-editor.d.ts +11 -0
- package/dist/components/json-editor.js +11 -0
- package/dist/components/json-editor2.js +441 -0
- package/dist/components/key.js +16 -0
- package/dist/components/label.js +106 -0
- package/dist/components/label2.js +131 -0
- package/dist/components/labelFormats.js +210 -0
- package/dist/components/layer-table.d.ts +11 -0
- package/dist/components/layer-table.js +453 -0
- package/dist/components/link.js +123 -0
- package/dist/components/list-item.d.ts +11 -0
- package/dist/components/list-item.js +90 -0
- package/dist/components/list-item2.js +149 -0
- package/dist/components/list.js +83 -0
- package/dist/components/loadModules.js +28 -0
- package/dist/components/loader.js +116 -0
- package/dist/components/locale.js +412 -0
- package/dist/components/locale2.js +413 -0
- package/dist/components/map-card.d.ts +11 -0
- package/dist/components/map-card.js +354 -0
- package/dist/components/map-draw-tools.d.ts +11 -0
- package/dist/components/map-draw-tools.js +11 -0
- package/dist/components/map-draw-tools2.js +228 -0
- package/dist/components/map-layer-picker.d.ts +11 -0
- package/dist/components/map-layer-picker.js +11 -0
- package/dist/components/map-layer-picker2.js +188 -0
- package/dist/components/map-search.d.ts +11 -0
- package/dist/components/map-search.js +155 -0
- package/dist/components/map-select-tools.d.ts +11 -0
- package/dist/components/map-select-tools.js +11 -0
- package/dist/components/map-select-tools2.js +588 -0
- package/dist/components/mapViewUtils.js +129 -0
- package/dist/components/math.js +24 -0
- package/dist/components/media-card.d.ts +11 -0
- package/dist/components/media-card.js +11 -0
- package/dist/components/media-card2.js +177 -0
- package/dist/components/modal.js +495 -0
- package/dist/components/nonChromiumPlatformUtils.js +503 -0
- package/dist/components/notice.js +192 -0
- package/dist/components/observers.js +56 -0
- package/dist/components/openCloseComponent.js +56 -0
- package/dist/components/option.js +109 -0
- package/dist/components/panel.js +459 -0
- package/dist/components/pci-calculator.d.ts +11 -0
- package/dist/components/pci-calculator.js +193 -0
- package/dist/components/pdf-download.d.ts +11 -0
- package/dist/components/pdf-download.js +11 -0
- package/dist/components/pdf-download2.js +189 -0
- package/dist/components/pick-list-item.js +255 -0
- package/dist/components/pick-list.js +170 -0
- package/dist/components/popover.js +500 -0
- package/dist/components/progress.js +60 -0
- package/dist/components/public-notification.d.ts +11 -0
- package/dist/components/public-notification.js +825 -0
- package/dist/components/publicNotificationStore.js +38 -0
- package/dist/components/queryUtils.js +187 -0
- package/dist/components/radio-group-item.js +101 -0
- package/dist/components/radio-group.js +235 -0
- package/dist/components/refine-selection-tools.d.ts +11 -0
- package/dist/components/refine-selection-tools.js +11 -0
- package/dist/components/refine-selection-tools2.js +492 -0
- package/dist/components/refine-selection.d.ts +11 -0
- package/dist/components/refine-selection.js +11 -0
- package/dist/components/refine-selection2.js +376 -0
- package/dist/components/resources.js +24 -0
- package/dist/components/resources2.js +21 -0
- package/dist/components/resources3.js +38 -0
- package/dist/components/scrim.js +83 -0
- package/dist/components/select.js +259 -0
- package/dist/components/shared-list-render.js +319 -0
- package/dist/components/shell-panel.js +281 -0
- package/dist/components/shell.js +121 -0
- package/dist/components/slider.js +896 -0
- package/dist/components/solution-configuration.d.ts +11 -0
- package/dist/components/solution-configuration.js +2233 -0
- package/dist/components/solution-contents.d.ts +11 -0
- package/dist/components/solution-contents.js +11 -0
- package/dist/components/solution-contents2.js +128 -0
- package/dist/components/solution-item-details.d.ts +11 -0
- package/dist/components/solution-item-details.js +11 -0
- package/dist/components/solution-item-details2.js +234 -0
- package/dist/components/solution-item-icon.d.ts +11 -0
- package/dist/components/solution-item-icon.js +11 -0
- package/dist/components/solution-item-icon2.js +342 -0
- package/dist/components/solution-item-sharing.d.ts +11 -0
- package/dist/components/solution-item-sharing.js +11 -0
- package/dist/components/solution-item-sharing2.js +167 -0
- package/dist/components/solution-item.d.ts +11 -0
- package/dist/components/solution-item.js +11 -0
- package/dist/components/solution-item2.js +315 -0
- package/dist/components/solution-organization-variables.d.ts +11 -0
- package/dist/components/solution-organization-variables.js +11 -0
- package/dist/components/solution-organization-variables2.js +132 -0
- package/dist/components/solution-resource-item.d.ts +11 -0
- package/dist/components/solution-resource-item.js +11 -0
- package/dist/components/solution-resource-item2.js +356 -0
- package/dist/components/solution-spatial-ref.d.ts +11 -0
- package/dist/components/solution-spatial-ref.js +11 -0
- package/dist/components/solution-spatial-ref2.js +21446 -0
- package/dist/components/solution-store.js +4092 -0
- package/dist/components/solution-template-data.d.ts +11 -0
- package/dist/components/solution-template-data.js +11 -0
- package/dist/components/solution-template-data2.js +233 -0
- package/dist/components/solution-variables.d.ts +11 -0
- package/dist/components/solution-variables.js +11 -0
- package/dist/components/solution-variables2.js +150 -0
- package/dist/components/sortable.esm.js +3026 -0
- package/dist/components/split-button.js +165 -0
- package/dist/components/store-manager.d.ts +11 -0
- package/dist/components/store-manager.js +83 -0
- package/dist/components/switch.js +139 -0
- package/dist/components/tab-nav.js +241 -0
- package/dist/components/tab-title.js +276 -0
- package/dist/components/tab.js +154 -0
- package/dist/components/tabs.js +188 -0
- package/dist/components/tile.js +129 -0
- package/dist/components/time-picker.js +943 -0
- package/dist/components/tooltip.js +399 -0
- package/dist/components/tree-item.js +294 -0
- package/dist/components/tree.js +327 -0
- package/dist/components/utils.js +119 -0
- package/dist/components/utils2.js +51 -0
- package/dist/components/value-list-item.js +204 -0
- package/dist/components/value-list.js +333 -0
- package/dist/esm/deduct-calculator.entry.js +1 -1
- package/dist/esm/pci-calculator.entry.js +1 -1
- package/dist/esm/{pciUtils-e3007a1c.js → pciUtils-ecda46e5.js} +25 -7
- package/dist/solutions-components/demos/deduct-calculator.html +2 -5
- package/dist/solutions-components/demos/new-public-notification.html +6 -4
- package/dist/solutions-components/{p-ff80ffbb.entry.js → p-0512635b.entry.js} +1 -1
- package/dist/solutions-components/{p-5ec407c2.entry.js → p-0c088725.entry.js} +1 -1
- package/dist/solutions-components/p-cc815aca.js +21 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/pciUtils.ts +30 -7
- package/dist/types/utils/pciUtils.d.ts +2 -1
- package/package.json +4 -3
- package/dist/solutions-components/p-647bbd18.js +0 -21
@@ -0,0 +1,129 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2022 Esri
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
4
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
+
*/
|
6
|
+
import { d as queryExtent } from './queryUtils.js';
|
7
|
+
|
8
|
+
/** @license
|
9
|
+
* Copyright 2022 Esri
|
10
|
+
*
|
11
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
12
|
+
* you may not use this file except in compliance with the License.
|
13
|
+
* You may obtain a copy of the License at
|
14
|
+
*
|
15
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
16
|
+
*
|
17
|
+
* Unless required by applicable law or agreed to in writing, software
|
18
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
19
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
20
|
+
* See the License for the specific language governing permissions and
|
21
|
+
* limitations under the License.
|
22
|
+
*/
|
23
|
+
/**
|
24
|
+
* Gets the layer names from the current map
|
25
|
+
*
|
26
|
+
* @param mapView the map view to fetch the layer names from
|
27
|
+
*
|
28
|
+
* @returns Promise resolving with an array of layer names
|
29
|
+
*
|
30
|
+
*/
|
31
|
+
async function getMapLayerNames(mapView) {
|
32
|
+
let layerNames = [];
|
33
|
+
await mapView.when(() => {
|
34
|
+
layerNames = mapView.map.layers.toArray().map((l) => {
|
35
|
+
return l.title;
|
36
|
+
});
|
37
|
+
});
|
38
|
+
return layerNames;
|
39
|
+
}
|
40
|
+
/**
|
41
|
+
* Get a layer view by title
|
42
|
+
*
|
43
|
+
* @param mapView the map view to fetch the layer from
|
44
|
+
* @param title the title if the layer to fetch
|
45
|
+
*
|
46
|
+
* @returns Promise resolving with the fetched layer view
|
47
|
+
*
|
48
|
+
*/
|
49
|
+
async function getMapLayerView(mapView, title) {
|
50
|
+
const layer = await getMapLayer(mapView, title);
|
51
|
+
return layer ? await mapView.whenLayerView(layer) : undefined;
|
52
|
+
}
|
53
|
+
/**
|
54
|
+
* Get a layer by title
|
55
|
+
*
|
56
|
+
* @param mapView the map view to fetch the layer from
|
57
|
+
* @param title the title if the layer to fetch
|
58
|
+
*
|
59
|
+
* @returns Promise resolving with the fetched layer
|
60
|
+
*
|
61
|
+
*/
|
62
|
+
async function getMapLayer(mapView, title) {
|
63
|
+
let layers = [];
|
64
|
+
await mapView.when(() => {
|
65
|
+
layers = mapView.map.layers.toArray().filter((l) => {
|
66
|
+
return l.title === title;
|
67
|
+
});
|
68
|
+
});
|
69
|
+
return layers.length > 0 ? layers[0] : undefined;
|
70
|
+
}
|
71
|
+
/**
|
72
|
+
* Highlight features by OID
|
73
|
+
*
|
74
|
+
* @param ids the OIDs from the layer to highlight
|
75
|
+
* @param layerView the layer view to highlight
|
76
|
+
* @param mapView the map view used if updateExtent is true
|
77
|
+
* @param updateExtent optional (default false) boolean to indicate if we should zoom to the extent
|
78
|
+
*
|
79
|
+
* @returns Promise resolving with the highlight handle
|
80
|
+
*
|
81
|
+
*/
|
82
|
+
async function highlightFeatures(ids, layerView, mapView, updateExtent = false) {
|
83
|
+
if (updateExtent) {
|
84
|
+
await goToSelection(ids, layerView, mapView, false);
|
85
|
+
}
|
86
|
+
return layerView.highlight(ids);
|
87
|
+
}
|
88
|
+
/**
|
89
|
+
* Flash features by OID
|
90
|
+
*
|
91
|
+
* @param ids the OIDs from the layer to highlight
|
92
|
+
* @param layerView the layer view to highlight
|
93
|
+
*
|
94
|
+
* @returns Promise resolving when the operation is complete
|
95
|
+
*
|
96
|
+
*/
|
97
|
+
async function flashSelection(ids, layerView) {
|
98
|
+
const featureFilter = {
|
99
|
+
objectIds: ids
|
100
|
+
};
|
101
|
+
layerView.featureEffect = {
|
102
|
+
filter: featureFilter,
|
103
|
+
includedEffect: "invert(100%)",
|
104
|
+
excludedEffect: "blur(5px)"
|
105
|
+
};
|
106
|
+
setTimeout(() => {
|
107
|
+
layerView.featureEffect = undefined;
|
108
|
+
}, 1300);
|
109
|
+
}
|
110
|
+
/**
|
111
|
+
* Zoom to features based on OID
|
112
|
+
*
|
113
|
+
* @param ids the OIDs from the layer to go to
|
114
|
+
* @param layerView the layer view that contains the OIDs
|
115
|
+
* @param mapView the map view to show the extent change
|
116
|
+
* @param flashFeatures optional (default true) boolean to indicate if we should flash the features
|
117
|
+
*
|
118
|
+
* @returns Promise resolving when the operation is complete
|
119
|
+
*
|
120
|
+
*/
|
121
|
+
async function goToSelection(ids, layerView, mapView, flashFeatures = true) {
|
122
|
+
const result = await queryExtent(ids, layerView.layer);
|
123
|
+
await mapView.goTo(result.extent);
|
124
|
+
if (flashFeatures) {
|
125
|
+
await flashSelection(ids, layerView);
|
126
|
+
}
|
127
|
+
}
|
128
|
+
|
129
|
+
export { goToSelection as a, getMapLayerView as b, getMapLayerNames as g, highlightFeatures as h };
|
@@ -0,0 +1,24 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2022 Esri
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
4
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
+
*/
|
6
|
+
/*!
|
7
|
+
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
8
|
+
* See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
|
9
|
+
* v1.0.0-beta.97
|
10
|
+
*/
|
11
|
+
const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
|
12
|
+
const decimalPlaces = (value) => {
|
13
|
+
const match = ("" + value).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
|
14
|
+
if (!match) {
|
15
|
+
return 0;
|
16
|
+
}
|
17
|
+
return Math.max(0,
|
18
|
+
// Number of digits right of decimal point.
|
19
|
+
(match[1] ? match[1].length : 0) -
|
20
|
+
// Adjust for scientific notation.
|
21
|
+
(match[2] ? +match[2] : 0));
|
22
|
+
};
|
23
|
+
|
24
|
+
export { clamp as c, decimalPlaces as d };
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
2
|
+
|
3
|
+
interface MediaCard extends Components.MediaCard, HTMLElement {}
|
4
|
+
export const MediaCard: {
|
5
|
+
prototype: MediaCard;
|
6
|
+
new (): MediaCard;
|
7
|
+
};
|
8
|
+
/**
|
9
|
+
* Used to define this component and all nested components recursively.
|
10
|
+
*/
|
11
|
+
export const defineCustomElement: () => void;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2022 Esri
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
4
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
+
*/
|
6
|
+
import { M as MediaCard$1, d as defineCustomElement$1 } from './media-card2.js';
|
7
|
+
|
8
|
+
const MediaCard = MediaCard$1;
|
9
|
+
const defineCustomElement = defineCustomElement$1;
|
10
|
+
|
11
|
+
export { MediaCard, defineCustomElement };
|
@@ -0,0 +1,177 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2022 Esri
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
4
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
+
*/
|
6
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
7
|
+
import { g as getLocaleComponentStrings } from './locale.js';
|
8
|
+
import { d as defineCustomElement$4 } from './button.js';
|
9
|
+
import { d as defineCustomElement$3 } from './icon.js';
|
10
|
+
import { d as defineCustomElement$2 } from './label.js';
|
11
|
+
import { d as defineCustomElement$1 } from './loader.js';
|
12
|
+
|
13
|
+
const mediaCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-bottom-1{padding-bottom:1rem}.padding-start-1{-webkit-padding-start:1rem;padding-inline-start:1rem}.display-flex{display:flex}.font-italic{font-style:italic}.button-width{min-width:120px}.button-container{display:flex;justify-content:space-between}.count-container{display:flex;align-items:center}.img-container{-o-object-fit:scale-down;object-fit:scale-down;width:100%;height:100%}";
|
14
|
+
|
15
|
+
const MediaCard = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
16
|
+
constructor() {
|
17
|
+
super();
|
18
|
+
this.__registerHost();
|
19
|
+
this.__attachShadow();
|
20
|
+
this.values = [];
|
21
|
+
this._index = -1;
|
22
|
+
this._translations = undefined;
|
23
|
+
}
|
24
|
+
//--------------------------------------------------------------------------
|
25
|
+
//
|
26
|
+
// Properties (protected)
|
27
|
+
//
|
28
|
+
//--------------------------------------------------------------------------
|
29
|
+
//--------------------------------------------------------------------------
|
30
|
+
//
|
31
|
+
// Watch handlers
|
32
|
+
//
|
33
|
+
//--------------------------------------------------------------------------
|
34
|
+
/**
|
35
|
+
* Called each time the values prop is changed.
|
36
|
+
* Reset the _index value accordingly.
|
37
|
+
*/
|
38
|
+
geometriesWatchHandler(values, oldValues) {
|
39
|
+
if (values && JSON.stringify(values) !== JSON.stringify(oldValues || [])) {
|
40
|
+
if ((values === null || values === void 0 ? void 0 : values.length) > 0) {
|
41
|
+
this._initIndex();
|
42
|
+
}
|
43
|
+
else {
|
44
|
+
this._index = -1;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}
|
48
|
+
//--------------------------------------------------------------------------
|
49
|
+
//
|
50
|
+
// Methods (public)
|
51
|
+
//
|
52
|
+
//--------------------------------------------------------------------------
|
53
|
+
//--------------------------------------------------------------------------
|
54
|
+
//
|
55
|
+
// Events (public)
|
56
|
+
//
|
57
|
+
//--------------------------------------------------------------------------
|
58
|
+
//--------------------------------------------------------------------------
|
59
|
+
//
|
60
|
+
// Functions (lifecycle)
|
61
|
+
//
|
62
|
+
//--------------------------------------------------------------------------
|
63
|
+
/**
|
64
|
+
* StencilJS: Called once just after the component is first connected to the DOM.
|
65
|
+
*
|
66
|
+
* @returns Promise when complete
|
67
|
+
*/
|
68
|
+
async componentWillLoad() {
|
69
|
+
await this._getTranslations();
|
70
|
+
}
|
71
|
+
/**
|
72
|
+
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
73
|
+
* Using this as the Watch on values does not fire on initial load.
|
74
|
+
*
|
75
|
+
* @returns Promise when complete
|
76
|
+
*/
|
77
|
+
async componentDidLoad() {
|
78
|
+
var _a;
|
79
|
+
if (this._index === -1 && ((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
80
|
+
this._initIndex();
|
81
|
+
}
|
82
|
+
}
|
83
|
+
/**
|
84
|
+
* Renders the component.
|
85
|
+
*/
|
86
|
+
render() {
|
87
|
+
var _a;
|
88
|
+
const v = ((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.values[this._index] : undefined;
|
89
|
+
const total = (this.values || []).length;
|
90
|
+
const imgNum = this._index + 1;
|
91
|
+
return (h(Host, null, h("div", null, h("div", { class: "display-flex" }, h("img", { class: "img-container", src: v === null || v === void 0 ? void 0 : v.url })), h("calcite-label", { scale: 's' }, h("span", { class: "font-italic padding-bottom-1" }, v === null || v === void 0 ? void 0 : v.name)), h("calcite-label", null, h("span", { class: "padding-bottom-1" }, v === null || v === void 0 ? void 0 : v.description))), h("div", { class: "button-container" }, h("div", { class: "count-container" }, h("calcite-label", null, h("span", null, `${imgNum} of ${total}`))), h("div", { class: "display-flex" }, h("calcite-button", { appearance: "outline", class: "padding-start-1 button-width", color: "neutral", disabled: imgNum === 1 || (this.values || []).length === 0, onClick: () => this._decrementIndex() }, this._translations.previous), h("calcite-button", { class: "padding-start-1 button-width", disabled: (this.values || []).length === imgNum, onClick: () => this._incrementIndex() }, this._translations.next)))));
|
92
|
+
}
|
93
|
+
//--------------------------------------------------------------------------
|
94
|
+
//
|
95
|
+
// Functions (protected)
|
96
|
+
//
|
97
|
+
//--------------------------------------------------------------------------
|
98
|
+
/**
|
99
|
+
* Resets the index to 0
|
100
|
+
*
|
101
|
+
* @protected
|
102
|
+
*/
|
103
|
+
_initIndex() {
|
104
|
+
this._index = 0;
|
105
|
+
}
|
106
|
+
/**
|
107
|
+
* Adds 1 to the current index
|
108
|
+
*
|
109
|
+
* @protected
|
110
|
+
*/
|
111
|
+
_incrementIndex() {
|
112
|
+
this._index += 1;
|
113
|
+
}
|
114
|
+
/**
|
115
|
+
* Subtracts 1 from the current index
|
116
|
+
*
|
117
|
+
* @protected
|
118
|
+
*/
|
119
|
+
_decrementIndex() {
|
120
|
+
this._index -= 1;
|
121
|
+
}
|
122
|
+
/**
|
123
|
+
* Fetches the component's translations
|
124
|
+
*
|
125
|
+
* @returns Promise when complete
|
126
|
+
* @protected
|
127
|
+
*/
|
128
|
+
async _getTranslations() {
|
129
|
+
const messages = await getLocaleComponentStrings(this.el);
|
130
|
+
this._translations = messages[0];
|
131
|
+
}
|
132
|
+
get el() { return this; }
|
133
|
+
static get watchers() { return {
|
134
|
+
"values": ["geometriesWatchHandler"]
|
135
|
+
}; }
|
136
|
+
static get style() { return mediaCardCss; }
|
137
|
+
}, [1, "media-card", {
|
138
|
+
"values": [16],
|
139
|
+
"_index": [32],
|
140
|
+
"_translations": [32]
|
141
|
+
}]);
|
142
|
+
function defineCustomElement() {
|
143
|
+
if (typeof customElements === "undefined") {
|
144
|
+
return;
|
145
|
+
}
|
146
|
+
const components = ["media-card", "calcite-button", "calcite-icon", "calcite-label", "calcite-loader"];
|
147
|
+
components.forEach(tagName => { switch (tagName) {
|
148
|
+
case "media-card":
|
149
|
+
if (!customElements.get(tagName)) {
|
150
|
+
customElements.define(tagName, MediaCard);
|
151
|
+
}
|
152
|
+
break;
|
153
|
+
case "calcite-button":
|
154
|
+
if (!customElements.get(tagName)) {
|
155
|
+
defineCustomElement$4();
|
156
|
+
}
|
157
|
+
break;
|
158
|
+
case "calcite-icon":
|
159
|
+
if (!customElements.get(tagName)) {
|
160
|
+
defineCustomElement$3();
|
161
|
+
}
|
162
|
+
break;
|
163
|
+
case "calcite-label":
|
164
|
+
if (!customElements.get(tagName)) {
|
165
|
+
defineCustomElement$2();
|
166
|
+
}
|
167
|
+
break;
|
168
|
+
case "calcite-loader":
|
169
|
+
if (!customElements.get(tagName)) {
|
170
|
+
defineCustomElement$1();
|
171
|
+
}
|
172
|
+
break;
|
173
|
+
} });
|
174
|
+
}
|
175
|
+
defineCustomElement();
|
176
|
+
|
177
|
+
export { MediaCard as M, defineCustomElement as d };
|