@arcgis/toolkit 4.34.0-next.75 → 4.34.0-next.77

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.
@@ -1,5 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function slotChangeHasContent(event) {
4
+ return slotChangeHasAssignedElement(event) || slotChangeHasTextContent(event);
5
+ }
6
+ function slotChangeGetTextContent(event) {
7
+ return slotChangeGetAssignedNodes(event).filter((node) => node.nodeType === Node.TEXT_NODE).map((node) => node.textContent).join("").trim();
8
+ }
9
+ function slotChangeHasTextContent(event) {
10
+ return slotChangeGetTextContent(event).length > 0;
11
+ }
12
+ function slotChangeHasAssignedNode(event) {
13
+ return slotChangeGetAssignedNodes(event).length > 0;
14
+ }
15
+ function slotChangeGetAssignedNodes(event) {
16
+ return event.currentTarget.assignedNodes({
17
+ flatten: true
18
+ });
19
+ }
20
+ function slotChangeHasAssignedElement(event) {
21
+ return slotChangeGetAssignedElements(event).length > 0;
22
+ }
23
+ function slotChangeGetAssignedElements(event, selector) {
24
+ return getSlotAssignedElements(event.target, selector);
25
+ }
26
+ function getSlotAssignedElements(slot, selector) {
27
+ const assignedElements = slot.assignedElements({
28
+ flatten: true
29
+ });
30
+ return selector ? assignedElements.filter((element) => element.matches(selector)) : assignedElements;
31
+ }
3
32
  const classes = (...classes2) => {
4
33
  const effectiveClasses = [];
5
34
  for (let i = 0; i < classes2.length; i++) {
@@ -155,7 +184,15 @@ exports.classes = classes;
155
184
  exports.focusElement = focusElement;
156
185
  exports.getClosestElement = getClosestElement;
157
186
  exports.getElementAttribute = getElementAttribute;
187
+ exports.getSlotAssignedElements = getSlotAssignedElements;
158
188
  exports.observeAncestorsMutation = observeAncestorsMutation;
159
189
  exports.setFocusOnElement = setFocusOnElement;
190
+ exports.slotChangeGetAssignedElements = slotChangeGetAssignedElements;
191
+ exports.slotChangeGetAssignedNodes = slotChangeGetAssignedNodes;
192
+ exports.slotChangeGetTextContent = slotChangeGetTextContent;
193
+ exports.slotChangeHasAssignedElement = slotChangeHasAssignedElement;
194
+ exports.slotChangeHasAssignedNode = slotChangeHasAssignedNode;
195
+ exports.slotChangeHasContent = slotChangeHasContent;
196
+ exports.slotChangeHasTextContent = slotChangeHasTextContent;
160
197
  exports.unsafeGetCalciteModeName = unsafeGetCalciteModeName;
161
198
  exports.unsafeGetElementDirection = unsafeGetElementDirection;
@@ -1,4 +1,5 @@
1
1
  import { nil } from '../type';
2
+ export * from './slots';
2
3
  /**
3
4
  * Combine multiple class names into a single string.
4
5
  *
@@ -1,4 +1,5 @@
1
1
  import { nil } from '../type';
2
+ export * from './slots';
2
3
  /**
3
4
  * Combine multiple class names into a single string.
4
5
  *
package/dist/dom/index.js CHANGED
@@ -1,3 +1,32 @@
1
+ function slotChangeHasContent(event) {
2
+ return slotChangeHasAssignedElement(event) || slotChangeHasTextContent(event);
3
+ }
4
+ function slotChangeGetTextContent(event) {
5
+ return slotChangeGetAssignedNodes(event).filter((node) => node.nodeType === Node.TEXT_NODE).map((node) => node.textContent).join("").trim();
6
+ }
7
+ function slotChangeHasTextContent(event) {
8
+ return slotChangeGetTextContent(event).length > 0;
9
+ }
10
+ function slotChangeHasAssignedNode(event) {
11
+ return slotChangeGetAssignedNodes(event).length > 0;
12
+ }
13
+ function slotChangeGetAssignedNodes(event) {
14
+ return event.currentTarget.assignedNodes({
15
+ flatten: true
16
+ });
17
+ }
18
+ function slotChangeHasAssignedElement(event) {
19
+ return slotChangeGetAssignedElements(event).length > 0;
20
+ }
21
+ function slotChangeGetAssignedElements(event, selector) {
22
+ return getSlotAssignedElements(event.target, selector);
23
+ }
24
+ function getSlotAssignedElements(slot, selector) {
25
+ const assignedElements = slot.assignedElements({
26
+ flatten: true
27
+ });
28
+ return selector ? assignedElements.filter((element) => element.matches(selector)) : assignedElements;
29
+ }
1
30
  const classes = (...classes2) => {
2
31
  const effectiveClasses = [];
3
32
  for (let i = 0; i < classes2.length; i++) {
@@ -154,8 +183,16 @@ export {
154
183
  focusElement,
155
184
  getClosestElement,
156
185
  getElementAttribute,
186
+ getSlotAssignedElements,
157
187
  observeAncestorsMutation,
158
188
  setFocusOnElement,
189
+ slotChangeGetAssignedElements,
190
+ slotChangeGetAssignedNodes,
191
+ slotChangeGetTextContent,
192
+ slotChangeHasAssignedElement,
193
+ slotChangeHasAssignedNode,
194
+ slotChangeHasContent,
195
+ slotChangeHasTextContent,
159
196
  unsafeGetCalciteModeName,
160
197
  unsafeGetElementDirection
161
198
  };
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Returns `true` if the target `slot` element from the `onSlotchange` event has any content (text or elements).
3
+ *
4
+ * @param event The event.
5
+ * @returns Whether the slot has any content.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * <slot onSlotchange={(event) => this.mySlotHasContent = slotChangeHasContent(event)} />}
10
+ * ```
11
+ */
12
+ export declare function slotChangeHasContent(event: Event): boolean;
13
+ /**
14
+ * Returns a string of textContent if the target `slot` element from the `onSlotchange` event has any text content.
15
+ *
16
+ * @param event The event.
17
+ * @returns {string} The slots text.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <slot onSlotchange={(event) => this.mySlotText = slotChangeGetTextContent(event)} />}
22
+ * ```
23
+ */
24
+ export declare function slotChangeGetTextContent(event: Event): string;
25
+ /**
26
+ * Returns `true` if the target `slot` element from the `onSlotchange` event has any text content.
27
+ *
28
+ * @param event The event.
29
+ * @returns Whether the slot has any text content.
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * <slot onSlotchange={(event) => this.mySlotHasTextContent = slotChangeHasTextContent(event)} />}
34
+ * ```
35
+ */
36
+ export declare function slotChangeHasTextContent(event: Event): boolean;
37
+ /**
38
+ * Returns `true` if the target `slot` element from the `onSlotchange` event has an assigned node.
39
+ *
40
+ * @param event The event.
41
+ * @returns Whether the slot has any assigned nodes.
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * <slot onSlotchange={(event) => this.mySlotHasNode = slotChangeHasAssignedNode(event)} />}
46
+ * ```
47
+ */
48
+ export declare function slotChangeHasAssignedNode(event: Event): boolean;
49
+ /**
50
+ * Returns the assigned nodes on a `slot` element from the `onSlotchange` event.
51
+ *
52
+ * @param event The event.
53
+ * @returns Whether the slot has any assigned nodes.
54
+ *
55
+ * @example
56
+ * ```tsx
57
+ * <slot onSlotchange={(event) => this.mySlotNodes = slotChangeGetAssignedNodes(event)} />}
58
+ * ```
59
+ */
60
+ export declare function slotChangeGetAssignedNodes(event: Event): Node[];
61
+ /**
62
+ * Returns `true` if the target `slot` element from the `onSlotchange` event has an assigned element.
63
+ *
64
+ * @param event The event.
65
+ * @returns Whether the slot has any assigned elements.
66
+ *
67
+ * @example
68
+ * ```tsx
69
+ * <slot onSlotchange={(event) => this.mySlotHasElement = slotChangeHasAssignedElement(event)} />}
70
+ * ```
71
+ */
72
+ export declare function slotChangeHasAssignedElement(event: Event): boolean;
73
+ /**
74
+ * Returns the assigned elements on a `slot` element from the `onSlotchange` event.
75
+ *
76
+ * @param {Event} event The event.
77
+ * @param {string} selector The CSS selector string to filter the returned elements by.
78
+ * @returns {Element[]} An array of elements.
79
+ *
80
+ * @example
81
+ * ```tsx
82
+ * <slot onSlotchange={(event) => this.mySlotElements = slotChangeGetAssignedElements(event)} />}
83
+ * ```
84
+ */
85
+ export declare function slotChangeGetAssignedElements<T extends Element>(event: Event, selector?: string): T[];
86
+ /**
87
+ * Returns the assigned elements on a `slot` element, filtered by an optional css selector.
88
+ *
89
+ * @param {HTMLSlotElement} slot The slot element.
90
+ * @param {string} selector CSS selector string to filter the returned elements by.
91
+ * @returns {Element[]} An array of elements.
92
+ */
93
+ export declare function getSlotAssignedElements<T extends Element>(slot: HTMLSlotElement, selector?: string): T[];
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Returns `true` if the target `slot` element from the `onSlotchange` event has any content (text or elements).
3
+ *
4
+ * @param event The event.
5
+ * @returns Whether the slot has any content.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * <slot onSlotchange={(event) => this.mySlotHasContent = slotChangeHasContent(event)} />}
10
+ * ```
11
+ */
12
+ export declare function slotChangeHasContent(event: Event): boolean;
13
+ /**
14
+ * Returns a string of textContent if the target `slot` element from the `onSlotchange` event has any text content.
15
+ *
16
+ * @param event The event.
17
+ * @returns {string} The slots text.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <slot onSlotchange={(event) => this.mySlotText = slotChangeGetTextContent(event)} />}
22
+ * ```
23
+ */
24
+ export declare function slotChangeGetTextContent(event: Event): string;
25
+ /**
26
+ * Returns `true` if the target `slot` element from the `onSlotchange` event has any text content.
27
+ *
28
+ * @param event The event.
29
+ * @returns Whether the slot has any text content.
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * <slot onSlotchange={(event) => this.mySlotHasTextContent = slotChangeHasTextContent(event)} />}
34
+ * ```
35
+ */
36
+ export declare function slotChangeHasTextContent(event: Event): boolean;
37
+ /**
38
+ * Returns `true` if the target `slot` element from the `onSlotchange` event has an assigned node.
39
+ *
40
+ * @param event The event.
41
+ * @returns Whether the slot has any assigned nodes.
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * <slot onSlotchange={(event) => this.mySlotHasNode = slotChangeHasAssignedNode(event)} />}
46
+ * ```
47
+ */
48
+ export declare function slotChangeHasAssignedNode(event: Event): boolean;
49
+ /**
50
+ * Returns the assigned nodes on a `slot` element from the `onSlotchange` event.
51
+ *
52
+ * @param event The event.
53
+ * @returns Whether the slot has any assigned nodes.
54
+ *
55
+ * @example
56
+ * ```tsx
57
+ * <slot onSlotchange={(event) => this.mySlotNodes = slotChangeGetAssignedNodes(event)} />}
58
+ * ```
59
+ */
60
+ export declare function slotChangeGetAssignedNodes(event: Event): Node[];
61
+ /**
62
+ * Returns `true` if the target `slot` element from the `onSlotchange` event has an assigned element.
63
+ *
64
+ * @param event The event.
65
+ * @returns Whether the slot has any assigned elements.
66
+ *
67
+ * @example
68
+ * ```tsx
69
+ * <slot onSlotchange={(event) => this.mySlotHasElement = slotChangeHasAssignedElement(event)} />}
70
+ * ```
71
+ */
72
+ export declare function slotChangeHasAssignedElement(event: Event): boolean;
73
+ /**
74
+ * Returns the assigned elements on a `slot` element from the `onSlotchange` event.
75
+ *
76
+ * @param {Event} event The event.
77
+ * @param {string} selector The CSS selector string to filter the returned elements by.
78
+ * @returns {Element[]} An array of elements.
79
+ *
80
+ * @example
81
+ * ```tsx
82
+ * <slot onSlotchange={(event) => this.mySlotElements = slotChangeGetAssignedElements(event)} />}
83
+ * ```
84
+ */
85
+ export declare function slotChangeGetAssignedElements<T extends Element>(event: Event, selector?: string): T[];
86
+ /**
87
+ * Returns the assigned elements on a `slot` element, filtered by an optional css selector.
88
+ *
89
+ * @param {HTMLSlotElement} slot The slot element.
90
+ * @param {string} selector CSS selector string to filter the returned elements by.
91
+ * @returns {Element[]} An array of elements.
92
+ */
93
+ export declare function getSlotAssignedElements<T extends Element>(slot: HTMLSlotElement, selector?: string): T[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/toolkit",
3
- "version": "4.34.0-next.75",
3
+ "version": "4.34.0-next.77",
4
4
  "description": "Collection of common internal patterns and utilities for ArcGIS Maps SDK for JavaScript components.",
5
5
  "homepage": "https://developers.arcgis.com/javascript/latest/",
6
6
  "sideEffects": false,