@react-aria/tag 3.0.0-nightly.2199 → 3.0.0-nightly.2206

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/module.js CHANGED
@@ -3,6 +3,7 @@ import {useGridListItem as $aIvin$useGridListItem, useGridList as $aIvin$useGrid
3
3
  import {useInteractionModality as $aIvin$useInteractionModality, useFocusWithin as $aIvin$useFocusWithin} from "@react-aria/interactions";
4
4
  import {useLocalizedStringFormatter as $aIvin$useLocalizedStringFormatter, useLocale as $aIvin$useLocale} from "@react-aria/i18n";
5
5
  import {useState as $aIvin$useState, useRef as $aIvin$useRef, useEffect as $aIvin$useEffect} from "react";
6
+ import {ListKeyboardDelegate as $aIvin$ListKeyboardDelegate} from "@react-aria/selection";
6
7
  import {useField as $aIvin$useField} from "@react-aria/label";
7
8
 
8
9
  function $parcel$interopDefault(a) {
@@ -28,48 +29,7 @@ function $parcel$interopDefault(a) {
28
29
  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
29
30
  * OF ANY KIND, either express or implied. See the License for the specific language
30
31
  * governing permissions and limitations under the License.
31
- */ class $542448901dbd2c36$export$b00754732e683b92 {
32
- getFirstKey() {
33
- return this.collection.getFirstKey();
34
- }
35
- getLastKey() {
36
- return this.collection.getLastKey();
37
- }
38
- getKeyRightOf(key) {
39
- return this.direction === "rtl" ? this.getKeyAbove(key) : this.getKeyBelow(key);
40
- }
41
- getKeyLeftOf(key) {
42
- return this.direction === "rtl" ? this.getKeyBelow(key) : this.getKeyAbove(key);
43
- }
44
- getKeyBelow(key) {
45
- let startItem = this.collection.getItem(key);
46
- if (!startItem) return;
47
- // Find the next item
48
- key = this.collection.getKeyAfter(key);
49
- if (key != null) return key;
50
- else return this.collection.getFirstKey();
51
- }
52
- getKeyAbove(key) {
53
- let startItem = this.collection.getItem(key);
54
- if (!startItem) return;
55
- // Find the previous item
56
- key = this.collection.getKeyBefore(key);
57
- if (key != null) return key;
58
- else return this.collection.getLastKey();
59
- }
60
- getKeyPageAbove(key) {
61
- return this.getKeyAbove(key);
62
- }
63
- getKeyPageBelow(key) {
64
- return this.getKeyBelow(key);
65
- }
66
- constructor(collection, direction){
67
- this.collection = collection;
68
- this.direction = direction;
69
- }
70
- }
71
-
72
-
32
+ */
73
33
  /*
74
34
  * Copyright 2020 Adobe. All rights reserved.
75
35
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -81,6 +41,63 @@ function $parcel$interopDefault(a) {
81
41
  * OF ANY KIND, either express or implied. See the License for the specific language
82
42
  * governing permissions and limitations under the License.
83
43
  */
44
+
45
+
46
+
47
+
48
+
49
+
50
+ const $d7323bca8d074eeb$export$653eddfc964b0f8a = new WeakMap();
51
+ function $d7323bca8d074eeb$export$4f8b5cda58b7e8ff(props, state, ref) {
52
+ let { direction: direction } = (0, $aIvin$useLocale)();
53
+ let keyboardDelegate = props.keyboardDelegate || new (0, $aIvin$ListKeyboardDelegate)({
54
+ collection: state.collection,
55
+ ref: ref,
56
+ orientation: "horizontal",
57
+ direction: direction,
58
+ disabledKeys: state.disabledKeys
59
+ });
60
+ let { labelProps: labelProps , fieldProps: fieldProps , descriptionProps: descriptionProps , errorMessageProps: errorMessageProps } = (0, $aIvin$useField)(props);
61
+ let { gridProps: gridProps } = (0, $aIvin$useGridList)({
62
+ ...props,
63
+ ...fieldProps,
64
+ keyboardDelegate: keyboardDelegate,
65
+ shouldFocusWrap: true
66
+ }, state, ref);
67
+ let [isFocusWithin, setFocusWithin] = (0, $aIvin$useState)(false);
68
+ let { focusWithinProps: focusWithinProps } = (0, $aIvin$useFocusWithin)({
69
+ onFocusWithinChange: setFocusWithin
70
+ });
71
+ let domProps = (0, $aIvin$filterDOMProps)(props);
72
+ // If the last tag is removed, focus the container.
73
+ let prevCount = (0, $aIvin$useRef)(state.collection.size);
74
+ (0, $aIvin$useEffect)(()=>{
75
+ if (prevCount.current > 0 && state.collection.size === 0 && isFocusWithin) ref.current.focus();
76
+ prevCount.current = state.collection.size;
77
+ }, [
78
+ state.collection.size,
79
+ isFocusWithin,
80
+ ref
81
+ ]);
82
+ $d7323bca8d074eeb$export$653eddfc964b0f8a.set(state, {
83
+ onRemove: props.onRemove
84
+ });
85
+ return {
86
+ gridProps: (0, $aIvin$mergeProps)(gridProps, domProps, {
87
+ role: state.collection.size ? "grid" : null,
88
+ "aria-atomic": false,
89
+ "aria-relevant": "additions",
90
+ "aria-live": isFocusWithin ? "polite" : "off",
91
+ ...focusWithinProps,
92
+ ...fieldProps
93
+ }),
94
+ labelProps: labelProps,
95
+ descriptionProps: descriptionProps,
96
+ errorMessageProps: errorMessageProps
97
+ };
98
+ }
99
+
100
+
84
101
  var $4d1b62e0e67c00a4$exports = {};
85
102
  var $84925f526f90eebd$exports = {};
86
103
  $84925f526f90eebd$exports = {
@@ -362,112 +379,59 @@ $4d1b62e0e67c00a4$exports = {
362
379
 
363
380
 
364
381
  function $fc6126c82a4601f1$export$3f568fff7dff2f03(props, state, ref) {
365
- let { allowsRemoving: allowsRemoving , item: item , onRemove: onRemove } = props;
382
+ let { item: item } = props;
366
383
  let stringFormatter = (0, $aIvin$useLocalizedStringFormatter)((0, (/*@__PURE__*/$parcel$interopDefault($4d1b62e0e67c00a4$exports))));
367
- let labelId = (0, $aIvin$useId)();
368
384
  let buttonId = (0, $aIvin$useId)();
369
- let { rowProps: rowProps , gridCellProps: gridCellProps } = (0, $aIvin$useGridListItem)({
385
+ let { onRemove: onRemove } = (0, $d7323bca8d074eeb$export$653eddfc964b0f8a).get(state) || {};
386
+ let { rowProps: rowProps , gridCellProps: gridCellProps , ...states } = (0, $aIvin$useGridListItem)({
370
387
  node: item
371
388
  }, state, ref);
372
389
  // We want the group to handle keyboard navigation between tags.
373
390
  delete rowProps.onKeyDownCapture;
391
+ delete states.descriptionProps;
374
392
  let onKeyDown = (e)=>{
375
393
  if (e.key === "Delete" || e.key === "Backspace") {
376
- onRemove(item.key);
377
394
  e.preventDefault();
395
+ if (state.selectionManager.isSelected(item.key)) onRemove(new Set(state.selectionManager.selectedKeys));
396
+ else onRemove(new Set([
397
+ item.key
398
+ ]));
378
399
  }
379
400
  };
380
401
  let modality = (0, $aIvin$useInteractionModality)();
381
402
  if (modality === "virtual" && typeof window !== "undefined" && "ontouchstart" in window) modality = "touch";
382
- let description = allowsRemoving && (modality === "keyboard" || modality === "virtual") ? stringFormatter.format("removeDescription") : "";
403
+ let description = onRemove && (modality === "keyboard" || modality === "virtual") ? stringFormatter.format("removeDescription") : "";
383
404
  let descProps = (0, $aIvin$useDescription)(description);
384
- let domProps = (0, $aIvin$filterDOMProps)(props);
385
405
  let isFocused = item.key === state.selectionManager.focusedKey;
406
+ // @ts-ignore - data attributes are ok but TS doesn't know about them.
407
+ let domProps = (0, $aIvin$filterDOMProps)(props);
386
408
  return {
387
409
  removeButtonProps: {
388
- "aria-label": stringFormatter.format("removeButtonLabel", {
389
- label: item.textValue
390
- }),
391
- "aria-labelledby": `${buttonId} ${labelId}`,
410
+ "aria-label": stringFormatter.format("removeButtonLabel"),
411
+ "aria-labelledby": `${buttonId} ${rowProps.id}`,
392
412
  id: buttonId,
393
- onPress: ()=>allowsRemoving && onRemove ? onRemove(item.key) : null,
413
+ onPress: ()=>onRemove ? onRemove(new Set([
414
+ item.key
415
+ ])) : null,
394
416
  excludeFromTabOrder: true
395
417
  },
396
- labelProps: {
397
- id: labelId
398
- },
399
- rowProps: {
400
- ...rowProps,
418
+ rowProps: (0, $aIvin$mergeProps)(rowProps, domProps, {
401
419
  tabIndex: isFocused || state.selectionManager.focusedKey == null ? 0 : -1,
402
- onKeyDown: allowsRemoving ? onKeyDown : null,
420
+ onKeyDown: onRemove ? onKeyDown : undefined,
403
421
  "aria-describedby": descProps["aria-describedby"]
404
- },
405
- gridCellProps: (0, $aIvin$mergeProps)(domProps, gridCellProps, {
422
+ }),
423
+ gridCellProps: (0, $aIvin$mergeProps)(gridCellProps, {
406
424
  "aria-errormessage": props["aria-errormessage"],
407
425
  "aria-label": props["aria-label"]
408
- })
409
- };
410
- }
411
-
412
-
413
- /*
414
- * Copyright 2020 Adobe. All rights reserved.
415
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
416
- * you may not use this file except in compliance with the License. You may obtain a copy
417
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
418
- *
419
- * Unless required by applicable law or agreed to in writing, software distributed under
420
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
421
- * OF ANY KIND, either express or implied. See the License for the specific language
422
- * governing permissions and limitations under the License.
423
- */
424
-
425
-
426
-
427
-
428
-
429
-
430
- function $d7323bca8d074eeb$export$4f8b5cda58b7e8ff(props, state, ref) {
431
- let { direction: direction } = (0, $aIvin$useLocale)();
432
- let keyboardDelegate = props.keyboardDelegate || new (0, $542448901dbd2c36$export$b00754732e683b92)(state.collection, direction);
433
- let { labelProps: labelProps , fieldProps: fieldProps , descriptionProps: descriptionProps , errorMessageProps: errorMessageProps } = (0, $aIvin$useField)(props);
434
- let { gridProps: gridProps } = (0, $aIvin$useGridList)({
435
- ...props,
436
- ...fieldProps,
437
- keyboardDelegate: keyboardDelegate
438
- }, state, ref);
439
- let [isFocusWithin, setFocusWithin] = (0, $aIvin$useState)(false);
440
- let { focusWithinProps: focusWithinProps } = (0, $aIvin$useFocusWithin)({
441
- onFocusWithinChange: setFocusWithin
442
- });
443
- let domProps = (0, $aIvin$filterDOMProps)(props);
444
- // If the last tag is removed, focus the container.
445
- let prevCount = (0, $aIvin$useRef)(state.collection.size);
446
- (0, $aIvin$useEffect)(()=>{
447
- if (prevCount.current > 0 && state.collection.size === 0 && isFocusWithin) ref.current.focus();
448
- prevCount.current = state.collection.size;
449
- }, [
450
- state.collection.size,
451
- isFocusWithin,
452
- ref
453
- ]);
454
- return {
455
- gridProps: (0, $aIvin$mergeProps)(gridProps, domProps, {
456
- role: state.collection.size ? "grid" : null,
457
- "aria-atomic": false,
458
- "aria-relevant": "additions",
459
- "aria-live": isFocusWithin ? "polite" : "off",
460
- ...focusWithinProps,
461
- ...fieldProps
462
426
  }),
463
- labelProps: labelProps,
464
- descriptionProps: descriptionProps,
465
- errorMessageProps: errorMessageProps
427
+ ...states,
428
+ allowsRemoving: !!onRemove
466
429
  };
467
430
  }
468
431
 
469
432
 
470
433
 
471
434
 
472
- export {$542448901dbd2c36$export$b00754732e683b92 as TagKeyboardDelegate, $fc6126c82a4601f1$export$3f568fff7dff2f03 as useTag, $d7323bca8d074eeb$export$4f8b5cda58b7e8ff as useTagGroup};
435
+
436
+ export {$fc6126c82a4601f1$export$3f568fff7dff2f03 as useTag, $d7323bca8d074eeb$export$4f8b5cda58b7e8ff as useTagGroup};
473
437
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-aria/tag/src/index.ts","packages/@react-aria/tag/src/TagKeyboardDelegate.ts","packages/@react-aria/tag/src/useTag.ts","packages/@react-aria/tag/intl/*.js","packages/@react-aria/tag/intl/ar-AE.json","packages/@react-aria/tag/intl/bg-BG.json","packages/@react-aria/tag/intl/cs-CZ.json","packages/@react-aria/tag/intl/da-DK.json","packages/@react-aria/tag/intl/de-DE.json","packages/@react-aria/tag/intl/el-GR.json","packages/@react-aria/tag/intl/en-US.json","packages/@react-aria/tag/intl/es-ES.json","packages/@react-aria/tag/intl/et-EE.json","packages/@react-aria/tag/intl/fi-FI.json","packages/@react-aria/tag/intl/fr-FR.json","packages/@react-aria/tag/intl/he-IL.json","packages/@react-aria/tag/intl/hr-HR.json","packages/@react-aria/tag/intl/hu-HU.json","packages/@react-aria/tag/intl/it-IT.json","packages/@react-aria/tag/intl/ja-JP.json","packages/@react-aria/tag/intl/ko-KR.json","packages/@react-aria/tag/intl/lt-LT.json","packages/@react-aria/tag/intl/lv-LV.json","packages/@react-aria/tag/intl/nb-NO.json","packages/@react-aria/tag/intl/nl-NL.json","packages/@react-aria/tag/intl/pl-PL.json","packages/@react-aria/tag/intl/pt-BR.json","packages/@react-aria/tag/intl/pt-PT.json","packages/@react-aria/tag/intl/ro-RO.json","packages/@react-aria/tag/intl/ru-RU.json","packages/@react-aria/tag/intl/sk-SK.json","packages/@react-aria/tag/intl/sl-SI.json","packages/@react-aria/tag/intl/sr-SP.json","packages/@react-aria/tag/intl/sv-SE.json","packages/@react-aria/tag/intl/tr-TR.json","packages/@react-aria/tag/intl/uk-UA.json","packages/@react-aria/tag/intl/zh-CN.json","packages/@react-aria/tag/intl/zh-TW.json","packages/@react-aria/tag/src/useTagGroup.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport {TagKeyboardDelegate} from './TagKeyboardDelegate';\nexport {useTag} from './useTag';\nexport {useTagGroup} from './useTagGroup';\n\nexport type {TagProps} from '@react-types/tag';\nexport type {TagGroupAria, AriaTagGroupProps} from './useTagGroup';\nexport type {AriaTagProps, TagAria} from './useTag';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {Collection, Direction, KeyboardDelegate} from '@react-types/shared';\nimport {Key} from 'react';\n\nexport class TagKeyboardDelegate<T> implements KeyboardDelegate {\n private collection: Collection<T>;\n private direction: Direction;\n\n constructor(collection: Collection<T>, direction: Direction) {\n this.collection = collection;\n this.direction = direction;\n }\n\n getFirstKey() {\n return this.collection.getFirstKey();\n }\n\n getLastKey() {\n return this.collection.getLastKey();\n }\n \n getKeyRightOf(key: Key) {\n return this.direction === 'rtl' ? this.getKeyAbove(key) : this.getKeyBelow(key);\n }\n\n getKeyLeftOf(key: Key) {\n return this.direction === 'rtl' ? this.getKeyBelow(key) : this.getKeyAbove(key);\n }\n\n getKeyBelow(key) {\n let startItem = this.collection.getItem(key);\n if (!startItem) {\n return;\n }\n\n // Find the next item\n key = this.collection.getKeyAfter(key);\n\n if (key != null) {\n return key;\n } else {\n return this.collection.getFirstKey();\n }\n }\n\n getKeyAbove(key) {\n let startItem = this.collection.getItem(key);\n if (!startItem) {\n return;\n }\n\n // Find the previous item\n key = this.collection.getKeyBefore(key);\n if (key != null) {\n return key;\n } else {\n return this.collection.getLastKey();\n }\n }\n\n getKeyPageAbove(key) {\n return this.getKeyAbove(key);\n }\n\n getKeyPageBelow(key) {\n return this.getKeyBelow(key);\n }\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaButtonProps} from '@react-types/button';\nimport {AriaLabelingProps, DOMAttributes, DOMProps, FocusableElement} from '@react-types/shared';\nimport {filterDOMProps, mergeProps, useDescription, useId} from '@react-aria/utils';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {KeyboardEvent, RefObject} from 'react';\nimport type {ListState} from '@react-stately/list';\nimport {TagProps} from '@react-types/tag';\nimport {useGridListItem} from '@react-aria/gridlist';\nimport {useInteractionModality} from '@react-aria/interactions';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\n\n\nexport interface TagAria {\n /** Props for the tag visible label (if any). */\n labelProps: DOMAttributes,\n /** Props for the tag cell element. */\n gridCellProps: DOMAttributes,\n /** Props for the tag row element. */\n rowProps: DOMAttributes,\n /** Props for the tag remove button. */\n removeButtonProps: AriaButtonProps\n}\n\nexport interface AriaTagProps<T> extends TagProps<T>, DOMProps, AriaLabelingProps {}\n\n/**\n * Provides the behavior and accessibility implementation for a tag component.\n * @param props - Props to be applied to the tag.\n * @param state - State for the tag group, as returned by `useListState`.\n * @param ref - A ref to a DOM element for the tag.\n */\nexport function useTag<T>(props: AriaTagProps<T>, state: ListState<T>, ref: RefObject<FocusableElement>): TagAria {\n let {\n allowsRemoving,\n item,\n onRemove\n } = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let labelId = useId();\n let buttonId = useId();\n\n let {rowProps, gridCellProps} = useGridListItem({\n node: item\n }, state, ref);\n\n // We want the group to handle keyboard navigation between tags.\n delete rowProps.onKeyDownCapture;\n\n let onKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Delete' || e.key === 'Backspace') {\n onRemove(item.key);\n e.preventDefault();\n }\n };\n \n let modality: string = useInteractionModality();\n if (modality === 'virtual' && (typeof window !== 'undefined' && 'ontouchstart' in window)) {\n modality = 'touch';\n }\n let description = allowsRemoving && (modality === 'keyboard' || modality === 'virtual') ? stringFormatter.format('removeDescription') : '';\n let descProps = useDescription(description);\n\n let domProps = filterDOMProps(props);\n let isFocused = item.key === state.selectionManager.focusedKey;\n return {\n removeButtonProps: {\n 'aria-label': stringFormatter.format('removeButtonLabel', {label: item.textValue}),\n 'aria-labelledby': `${buttonId} ${labelId}`,\n id: buttonId,\n onPress: () => allowsRemoving && onRemove ? onRemove(item.key) : null,\n excludeFromTabOrder: true\n },\n labelProps: {\n id: labelId\n },\n rowProps: {\n ...rowProps,\n tabIndex: (isFocused || state.selectionManager.focusedKey == null) ? 0 : -1,\n onKeyDown: allowsRemoving ? onKeyDown : null,\n 'aria-describedby': descProps['aria-describedby']\n },\n gridCellProps: mergeProps(domProps, gridCellProps, {\n 'aria-errormessage': props['aria-errormessage'],\n 'aria-label': props['aria-label']\n })\n };\n}\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"removeButtonLabel\": \"إزالة\",\n \"removeDescription\": \"اضغط على مفتاح DELETE لإزالة علامة.\"\n}\n","{\n \"removeButtonLabel\": \"Премахване\",\n \"removeDescription\": \"Натиснете Delete, за да премахнете маркера.\"\n}\n","{\n \"removeButtonLabel\": \"Odebrat\",\n \"removeDescription\": \"Stisknutím klávesy Delete odeberete značku.\"\n}\n","{\n \"removeButtonLabel\": \"Fjern\",\n \"removeDescription\": \"Tryk på Slet for at fjerne tag.\"\n}\n","{\n \"removeButtonLabel\": \"Entfernen\",\n \"removeDescription\": \"Auf „Löschen“ drücken, um das Tag zu entfernen.\"\n}\n","{\n \"removeButtonLabel\": \"Κατάργηση\",\n \"removeDescription\": \"Πατήστε Διαγραφή για να καταργήσετε την ετικέτα.\"\n}\n","{ \n \"removeDescription\": \"Press Delete to remove tag.\",\n \"removeButtonLabel\": \"Remove\"\n}\n","{\n \"removeButtonLabel\": \"Quitar\",\n \"removeDescription\": \"Pulse Eliminar para quitar la etiqueta.\"\n}\n","{\n \"removeButtonLabel\": \"Eemalda\",\n \"removeDescription\": \"Sildi eemaldamiseks vajutage kustutusklahvi Delete.\"\n}\n","{\n \"removeButtonLabel\": \"Poista\",\n \"removeDescription\": \"Poista tunniste painamalla Poista-painiketta.\"\n}\n","{\n \"removeButtonLabel\": \"Supprimer\",\n \"removeDescription\": \"Appuyez sur Supprimer pour supprimer l’étiquette.\"\n}\n","{\n \"removeButtonLabel\": \"הסר\",\n \"removeDescription\": \"לחץ על מחק כדי להסיר תג.\"\n}\n","{\n \"removeButtonLabel\": \"Ukloni\",\n \"removeDescription\": \"Pritisnite Delete za uklanjanje oznake.\"\n}\n","{\n \"removeButtonLabel\": \"Eltávolítás\",\n \"removeDescription\": \"Nyomja meg a Delete billentyűt a címke eltávolításához.\"\n}\n","{\n \"removeButtonLabel\": \"Rimuovi\",\n \"removeDescription\": \"Premi Elimina per rimuovere il tag.\"\n}\n","{\n \"removeButtonLabel\": \"削除\",\n \"removeDescription\": \"タグを削除するには、Delete キーを押します。\"\n}\n","{\n \"removeButtonLabel\": \"제거\",\n \"removeDescription\": \"태그를 제거하려면 Delete 키를 누르십시오.\"\n}\n","{\n \"removeButtonLabel\": \"Pašalinti\",\n \"removeDescription\": \"Norėdami pašalinti žymą, paspauskite „Delete“ klavišą.\"\n}\n","{\n \"removeButtonLabel\": \"Noņemt\",\n \"removeDescription\": \"Nospiediet Delete [Dzēst], lai noņemtu tagu.\"\n}\n","{\n \"removeButtonLabel\": \"Fjern\",\n \"removeDescription\": \"Trykk på Slett for å fjerne taggen.\"\n}\n","{\n \"removeButtonLabel\": \"Verwijderen\",\n \"removeDescription\": \"Druk op Verwijderen om de tag te verwijderen.\"\n}\n","{\n \"removeButtonLabel\": \"Usuń\",\n \"removeDescription\": \"Naciśnij Usuń, aby usunąć znacznik.\"\n}\n","{\n \"removeButtonLabel\": \"Remover\",\n \"removeDescription\": \"Pressione Delete para remover a tag.\"\n}\n","{\n \"removeButtonLabel\": \"Eliminar\",\n \"removeDescription\": \"Prima Delete para eliminar a tag.\"\n}\n","{\n \"removeButtonLabel\": \"Îndepărtaţi\",\n \"removeDescription\": \"Apăsați pe Delete (Ștergere) pentru a elimina eticheta.\"\n}\n","{\n \"removeButtonLabel\": \"Удалить\",\n \"removeDescription\": \"Нажмите DELETE, чтобы удалить тег.\"\n}\n","{\n \"removeButtonLabel\": \"Odstrániť\",\n \"removeDescription\": \"Ak chcete odstrániť značku, stlačte kláves Delete.\"\n}\n","{\n \"removeButtonLabel\": \"Odstrani\",\n \"removeDescription\": \"Pritisnite Delete, da odstranite oznako.\"\n}\n","{\n \"removeButtonLabel\": \"Ukloni\",\n \"removeDescription\": \"Pritisnite Obriši da biste uklonili oznaku.\"\n}\n","{\n \"removeButtonLabel\": \"Ta bort\",\n \"removeDescription\": \"Tryck på Radera för att ta bort taggen.\"\n}\n","{\n \"removeButtonLabel\": \"Kaldır\",\n \"removeDescription\": \"Etiketi kaldırmak için Sil tuşuna basın.\"\n}\n","{\n \"removeButtonLabel\": \"Вилучити\",\n \"removeDescription\": \"Натисніть Delete, щоб вилучити тег.\"\n}\n","{\n \"removeButtonLabel\": \"删除\",\n \"removeDescription\": \"按下“删除”以删除标记。\"\n}\n","{\n \"removeButtonLabel\": \"移除\",\n \"removeDescription\": \"按 Delete 鍵以移除標記。\"\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, DOMAttributes, DOMProps, Validation} from '@react-types/shared';\nimport {filterDOMProps, mergeProps} from '@react-aria/utils';\nimport type {ListState} from '@react-stately/list';\nimport {RefObject, useEffect, useRef, useState} from 'react';\nimport {TagGroupProps} from '@react-types/tag';\nimport {TagKeyboardDelegate} from './TagKeyboardDelegate';\nimport {useField} from '@react-aria/label';\nimport {useFocusWithin} from '@react-aria/interactions';\nimport {useGridList} from '@react-aria/gridlist';\nimport {useLocale} from '@react-aria/i18n';\n\nexport interface TagGroupAria {\n /** Props for the tag grouping element. */\n gridProps: DOMAttributes,\n /** Props for the tag group's visible label (if any). */\n labelProps: DOMAttributes,\n /** Props for the tag group description element, if any. */\n descriptionProps: DOMAttributes,\n /** Props for the tag group error message element, if any. */\n errorMessageProps: DOMAttributes\n}\n\nexport interface AriaTagGroupProps<T> extends TagGroupProps<T>, DOMProps, AriaLabelingProps, Validation {\n /**\n * An optional keyboard delegate to handle arrow key navigation,\n * to override the default.\n */\n keyboardDelegate?: TagKeyboardDelegate<T>\n}\n\n/**\n * Provides the behavior and accessibility implementation for a tag group component.\n * A tag group is a focusable list of labels, categories, keywords, or other items, with support for keyboard navigation and removal.\n * @param props - Props to be applied to the tag group.\n * @param state - State for the tag group, as returned by `useListState`.\n * @param ref - A ref to a DOM element for the tag group.\n */\nexport function useTagGroup<T>(props: AriaTagGroupProps<T>, state: ListState<T>, ref: RefObject<HTMLElement>): TagGroupAria {\n let {direction} = useLocale();\n let keyboardDelegate = props.keyboardDelegate || new TagKeyboardDelegate(state.collection, direction);\n let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useField(props);\n let {gridProps} = useGridList({...props, ...fieldProps, keyboardDelegate}, state, ref);\n\n let [isFocusWithin, setFocusWithin] = useState(false);\n let {focusWithinProps} = useFocusWithin({\n onFocusWithinChange: setFocusWithin\n });\n let domProps = filterDOMProps(props);\n\n // If the last tag is removed, focus the container.\n let prevCount = useRef(state.collection.size);\n useEffect(() => {\n if (prevCount.current > 0 && state.collection.size === 0 && isFocusWithin) {\n ref.current.focus();\n }\n prevCount.current = state.collection.size;\n }, [state.collection.size, isFocusWithin, ref]);\n\n return {\n gridProps: mergeProps(gridProps, domProps, {\n role: state.collection.size ? 'grid' : null,\n 'aria-atomic': false,\n 'aria-relevant': 'additions',\n 'aria-live': isFocusWithin ? 'polite' : 'off',\n ...focusWithinProps,\n ...fieldProps\n }),\n labelProps,\n descriptionProps,\n errorMessageProps\n };\n}\n"],"names":[],"version":3,"file":"module.js.map"}
1
+ {"mappings":"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","sources":["packages/@react-aria/tag/src/index.ts","packages/@react-aria/tag/src/useTag.ts","packages/@react-aria/tag/src/useTagGroup.ts","packages/@react-aria/tag/intl/*.js","packages/@react-aria/tag/intl/ar-AE.json","packages/@react-aria/tag/intl/bg-BG.json","packages/@react-aria/tag/intl/cs-CZ.json","packages/@react-aria/tag/intl/da-DK.json","packages/@react-aria/tag/intl/de-DE.json","packages/@react-aria/tag/intl/el-GR.json","packages/@react-aria/tag/intl/en-US.json","packages/@react-aria/tag/intl/es-ES.json","packages/@react-aria/tag/intl/et-EE.json","packages/@react-aria/tag/intl/fi-FI.json","packages/@react-aria/tag/intl/fr-FR.json","packages/@react-aria/tag/intl/he-IL.json","packages/@react-aria/tag/intl/hr-HR.json","packages/@react-aria/tag/intl/hu-HU.json","packages/@react-aria/tag/intl/it-IT.json","packages/@react-aria/tag/intl/ja-JP.json","packages/@react-aria/tag/intl/ko-KR.json","packages/@react-aria/tag/intl/lt-LT.json","packages/@react-aria/tag/intl/lv-LV.json","packages/@react-aria/tag/intl/nb-NO.json","packages/@react-aria/tag/intl/nl-NL.json","packages/@react-aria/tag/intl/pl-PL.json","packages/@react-aria/tag/intl/pt-BR.json","packages/@react-aria/tag/intl/pt-PT.json","packages/@react-aria/tag/intl/ro-RO.json","packages/@react-aria/tag/intl/ru-RU.json","packages/@react-aria/tag/intl/sk-SK.json","packages/@react-aria/tag/intl/sl-SI.json","packages/@react-aria/tag/intl/sr-SP.json","packages/@react-aria/tag/intl/sv-SE.json","packages/@react-aria/tag/intl/tr-TR.json","packages/@react-aria/tag/intl/uk-UA.json","packages/@react-aria/tag/intl/zh-CN.json","packages/@react-aria/tag/intl/zh-TW.json"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport {useTag} from './useTag';\nexport {useTagGroup} from './useTagGroup';\n\nexport type {TagGroupAria, AriaTagGroupProps} from './useTagGroup';\nexport type {AriaTagProps, TagAria} from './useTag';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaButtonProps} from '@react-types/button';\nimport {DOMAttributes, FocusableElement, Node} from '@react-types/shared';\nimport {filterDOMProps, mergeProps, useDescription, useId} from '@react-aria/utils';\nimport {hookData} from './useTagGroup';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {KeyboardEvent, RefObject} from 'react';\nimport type {ListState} from '@react-stately/list';\nimport {SelectableItemStates} from '@react-aria/selection';\nimport {useGridListItem} from '@react-aria/gridlist';\nimport {useInteractionModality} from '@react-aria/interactions';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\n\n\nexport interface TagAria extends Omit<SelectableItemStates, 'hasAction'> {\n /** Props for the tag row element. */\n rowProps: DOMAttributes,\n /** Props for the tag cell element. */\n gridCellProps: DOMAttributes,\n /** Props for the tag remove button. */\n removeButtonProps: AriaButtonProps,\n /** Whether the tag can be removed. */\n allowsRemoving: boolean\n}\n\nexport interface AriaTagProps<T> {\n /** An object representing the tag. Contains all the relevant information that makes up the tag. */\n item: Node<T>\n}\n\n/**\n * Provides the behavior and accessibility implementation for a tag component.\n * @param props - Props to be applied to the tag.\n * @param state - State for the tag group, as returned by `useListState`.\n * @param ref - A ref to a DOM element for the tag.\n */\nexport function useTag<T>(props: AriaTagProps<T>, state: ListState<T>, ref: RefObject<FocusableElement>): TagAria {\n let {item} = props;\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let buttonId = useId();\n\n let {onRemove} = hookData.get(state) || {};\n let {rowProps, gridCellProps, ...states} = useGridListItem({\n node: item\n }, state, ref);\n\n // We want the group to handle keyboard navigation between tags.\n delete rowProps.onKeyDownCapture;\n delete states.descriptionProps;\n\n let onKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Delete' || e.key === 'Backspace') {\n e.preventDefault();\n if (state.selectionManager.isSelected(item.key)) {\n onRemove(new Set(state.selectionManager.selectedKeys));\n } else {\n onRemove(new Set([item.key]));\n }\n }\n };\n\n let modality: string = useInteractionModality();\n if (modality === 'virtual' && (typeof window !== 'undefined' && 'ontouchstart' in window)) {\n modality = 'touch';\n }\n let description = onRemove && (modality === 'keyboard' || modality === 'virtual') ? stringFormatter.format('removeDescription') : '';\n let descProps = useDescription(description);\n\n let isFocused = item.key === state.selectionManager.focusedKey;\n // @ts-ignore - data attributes are ok but TS doesn't know about them.\n let domProps = filterDOMProps(props);\n return {\n removeButtonProps: {\n 'aria-label': stringFormatter.format('removeButtonLabel'),\n 'aria-labelledby': `${buttonId} ${rowProps.id}`,\n id: buttonId,\n onPress: () => onRemove ? onRemove(new Set([item.key])) : null,\n excludeFromTabOrder: true\n },\n rowProps: mergeProps(rowProps, domProps, {\n tabIndex: (isFocused || state.selectionManager.focusedKey == null) ? 0 : -1,\n onKeyDown: onRemove ? onKeyDown : undefined,\n 'aria-describedby': descProps['aria-describedby']\n }),\n gridCellProps: mergeProps(gridCellProps, {\n 'aria-errormessage': props['aria-errormessage'],\n 'aria-label': props['aria-label']\n }),\n ...states,\n allowsRemoving: !!onRemove\n };\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, CollectionBase, DOMAttributes, DOMProps, HelpTextProps, KeyboardDelegate, LabelableProps, MultipleSelection, SelectionBehavior} from '@react-types/shared';\nimport {filterDOMProps, mergeProps} from '@react-aria/utils';\nimport {Key, RefObject, useEffect, useRef, useState} from 'react';\nimport {ListKeyboardDelegate} from '@react-aria/selection';\nimport type {ListState} from '@react-stately/list';\nimport {useField} from '@react-aria/label';\nimport {useFocusWithin} from '@react-aria/interactions';\nimport {useGridList} from '@react-aria/gridlist';\nimport {useLocale} from '@react-aria/i18n';\n\nexport interface TagGroupAria {\n /** Props for the tag grouping element. */\n gridProps: DOMAttributes,\n /** Props for the tag group's visible label (if any). */\n labelProps: DOMAttributes,\n /** Props for the tag group description element, if any. */\n descriptionProps: DOMAttributes,\n /** Props for the tag group error message element, if any. */\n errorMessageProps: DOMAttributes\n}\n\nexport interface AriaTagGroupProps<T> extends CollectionBase<T>, MultipleSelection, DOMProps, LabelableProps, AriaLabelingProps, HelpTextProps {\n /** How multiple selection should behave in the collection. */\n selectionBehavior?: SelectionBehavior,\n /** Handler that is called when a user deletes a tag. */\n onRemove?: (key: Set<Key>) => void\n}\n\nexport interface AriaTagGroupOptions<T> extends Omit<AriaTagGroupProps<T>, 'children'> {\n /**\n * An optional keyboard delegate to handle arrow key navigation,\n * to override the default.\n */\n keyboardDelegate?: KeyboardDelegate\n}\n\ninterface HookData {\n onRemove?: (keys: Set<Key>) => void\n}\n\nexport const hookData = new WeakMap<ListState<any>, HookData>();\n\n/**\n * Provides the behavior and accessibility implementation for a tag group component.\n * A tag group is a focusable list of labels, categories, keywords, or other items, with support for keyboard navigation and removal.\n * @param props - Props to be applied to the tag group.\n * @param state - State for the tag group, as returned by `useListState`.\n * @param ref - A ref to a DOM element for the tag group.\n */\nexport function useTagGroup<T>(props: AriaTagGroupOptions<T>, state: ListState<T>, ref: RefObject<HTMLElement>): TagGroupAria {\n let {direction} = useLocale();\n let keyboardDelegate = props.keyboardDelegate || new ListKeyboardDelegate({\n collection: state.collection,\n ref,\n orientation: 'horizontal',\n direction,\n disabledKeys: state.disabledKeys\n });\n let {labelProps, fieldProps, descriptionProps, errorMessageProps} = useField(props);\n let {gridProps} = useGridList({\n ...props,\n ...fieldProps,\n keyboardDelegate,\n shouldFocusWrap: true\n }, state, ref);\n\n let [isFocusWithin, setFocusWithin] = useState(false);\n let {focusWithinProps} = useFocusWithin({\n onFocusWithinChange: setFocusWithin\n });\n let domProps = filterDOMProps(props);\n\n // If the last tag is removed, focus the container.\n let prevCount = useRef(state.collection.size);\n useEffect(() => {\n if (prevCount.current > 0 && state.collection.size === 0 && isFocusWithin) {\n ref.current.focus();\n }\n prevCount.current = state.collection.size;\n }, [state.collection.size, isFocusWithin, ref]);\n\n hookData.set(state, {onRemove: props.onRemove});\n\n return {\n gridProps: mergeProps(gridProps, domProps, {\n role: state.collection.size ? 'grid' : null,\n 'aria-atomic': false,\n 'aria-relevant': 'additions',\n 'aria-live': isFocusWithin ? 'polite' : 'off',\n ...focusWithinProps,\n ...fieldProps\n }),\n labelProps,\n descriptionProps,\n errorMessageProps\n };\n}\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"removeButtonLabel\": \"إزالة\",\n \"removeDescription\": \"اضغط على مفتاح DELETE لإزالة علامة.\"\n}\n","{\n \"removeButtonLabel\": \"Премахване\",\n \"removeDescription\": \"Натиснете Delete, за да премахнете маркера.\"\n}\n","{\n \"removeButtonLabel\": \"Odebrat\",\n \"removeDescription\": \"Stisknutím klávesy Delete odeberete značku.\"\n}\n","{\n \"removeButtonLabel\": \"Fjern\",\n \"removeDescription\": \"Tryk på Slet for at fjerne tag.\"\n}\n","{\n \"removeButtonLabel\": \"Entfernen\",\n \"removeDescription\": \"Auf „Löschen“ drücken, um das Tag zu entfernen.\"\n}\n","{\n \"removeButtonLabel\": \"Κατάργηση\",\n \"removeDescription\": \"Πατήστε Διαγραφή για να καταργήσετε την ετικέτα.\"\n}\n","{ \n \"removeDescription\": \"Press Delete to remove tag.\",\n \"removeButtonLabel\": \"Remove\"\n}\n","{\n \"removeButtonLabel\": \"Quitar\",\n \"removeDescription\": \"Pulse Eliminar para quitar la etiqueta.\"\n}\n","{\n \"removeButtonLabel\": \"Eemalda\",\n \"removeDescription\": \"Sildi eemaldamiseks vajutage kustutusklahvi Delete.\"\n}\n","{\n \"removeButtonLabel\": \"Poista\",\n \"removeDescription\": \"Poista tunniste painamalla Poista-painiketta.\"\n}\n","{\n \"removeButtonLabel\": \"Supprimer\",\n \"removeDescription\": \"Appuyez sur Supprimer pour supprimer l’étiquette.\"\n}\n","{\n \"removeButtonLabel\": \"הסר\",\n \"removeDescription\": \"לחץ על מחק כדי להסיר תג.\"\n}\n","{\n \"removeButtonLabel\": \"Ukloni\",\n \"removeDescription\": \"Pritisnite Delete za uklanjanje oznake.\"\n}\n","{\n \"removeButtonLabel\": \"Eltávolítás\",\n \"removeDescription\": \"Nyomja meg a Delete billentyűt a címke eltávolításához.\"\n}\n","{\n \"removeButtonLabel\": \"Rimuovi\",\n \"removeDescription\": \"Premi Elimina per rimuovere il tag.\"\n}\n","{\n \"removeButtonLabel\": \"削除\",\n \"removeDescription\": \"タグを削除するには、Delete キーを押します。\"\n}\n","{\n \"removeButtonLabel\": \"제거\",\n \"removeDescription\": \"태그를 제거하려면 Delete 키를 누르십시오.\"\n}\n","{\n \"removeButtonLabel\": \"Pašalinti\",\n \"removeDescription\": \"Norėdami pašalinti žymą, paspauskite „Delete“ klavišą.\"\n}\n","{\n \"removeButtonLabel\": \"Noņemt\",\n \"removeDescription\": \"Nospiediet Delete [Dzēst], lai noņemtu tagu.\"\n}\n","{\n \"removeButtonLabel\": \"Fjern\",\n \"removeDescription\": \"Trykk på Slett for å fjerne taggen.\"\n}\n","{\n \"removeButtonLabel\": \"Verwijderen\",\n \"removeDescription\": \"Druk op Verwijderen om de tag te verwijderen.\"\n}\n","{\n \"removeButtonLabel\": \"Usuń\",\n \"removeDescription\": \"Naciśnij Usuń, aby usunąć znacznik.\"\n}\n","{\n \"removeButtonLabel\": \"Remover\",\n \"removeDescription\": \"Pressione Delete para remover a tag.\"\n}\n","{\n \"removeButtonLabel\": \"Eliminar\",\n \"removeDescription\": \"Prima Delete para eliminar a tag.\"\n}\n","{\n \"removeButtonLabel\": \"Îndepărtaţi\",\n \"removeDescription\": \"Apăsați pe Delete (Ștergere) pentru a elimina eticheta.\"\n}\n","{\n \"removeButtonLabel\": \"Удалить\",\n \"removeDescription\": \"Нажмите DELETE, чтобы удалить тег.\"\n}\n","{\n \"removeButtonLabel\": \"Odstrániť\",\n \"removeDescription\": \"Ak chcete odstrániť značku, stlačte kláves Delete.\"\n}\n","{\n \"removeButtonLabel\": \"Odstrani\",\n \"removeDescription\": \"Pritisnite Delete, da odstranite oznako.\"\n}\n","{\n \"removeButtonLabel\": \"Ukloni\",\n \"removeDescription\": \"Pritisnite Obriši da biste uklonili oznaku.\"\n}\n","{\n \"removeButtonLabel\": \"Ta bort\",\n \"removeDescription\": \"Tryck på Radera för att ta bort taggen.\"\n}\n","{\n \"removeButtonLabel\": \"Kaldır\",\n \"removeDescription\": \"Etiketi kaldırmak için Sil tuşuna basın.\"\n}\n","{\n \"removeButtonLabel\": \"Вилучити\",\n \"removeDescription\": \"Натисніть Delete, щоб вилучити тег.\"\n}\n","{\n \"removeButtonLabel\": \"删除\",\n \"removeDescription\": \"按下“删除”以删除标记。\"\n}\n","{\n \"removeButtonLabel\": \"移除\",\n \"removeDescription\": \"按 Delete 鍵以移除標記。\"\n}\n"],"names":[],"version":3,"file":"module.js.map"}
package/dist/types.d.ts CHANGED
@@ -1,38 +1,8 @@
1
- import { Collection, Direction, KeyboardDelegate, AriaLabelingProps, DOMAttributes, DOMProps, FocusableElement, Validation } from "@react-types/shared";
1
+ import { AriaLabelingProps, CollectionBase, DOMAttributes, DOMProps, HelpTextProps, KeyboardDelegate, LabelableProps, MultipleSelection, SelectionBehavior, FocusableElement, Node } from "@react-types/shared";
2
2
  import { Key, RefObject } from "react";
3
- import { AriaButtonProps } from "@react-types/button";
4
3
  import { ListState } from "@react-stately/list";
5
- import { TagProps, TagGroupProps } from "@react-types/tag";
6
- export class TagKeyboardDelegate<T> implements KeyboardDelegate {
7
- constructor(collection: Collection<T>, direction: Direction);
8
- getFirstKey(): Key;
9
- getLastKey(): Key;
10
- getKeyRightOf(key: Key): any;
11
- getKeyLeftOf(key: Key): any;
12
- getKeyBelow(key: any): any;
13
- getKeyAbove(key: any): any;
14
- getKeyPageAbove(key: any): any;
15
- getKeyPageBelow(key: any): any;
16
- }
17
- export interface TagAria {
18
- /** Props for the tag visible label (if any). */
19
- labelProps: DOMAttributes;
20
- /** Props for the tag cell element. */
21
- gridCellProps: DOMAttributes;
22
- /** Props for the tag row element. */
23
- rowProps: DOMAttributes;
24
- /** Props for the tag remove button. */
25
- removeButtonProps: AriaButtonProps;
26
- }
27
- export interface AriaTagProps<T> extends TagProps<T>, DOMProps, AriaLabelingProps {
28
- }
29
- /**
30
- * Provides the behavior and accessibility implementation for a tag component.
31
- * @param props - Props to be applied to the tag.
32
- * @param state - State for the tag group, as returned by `useListState`.
33
- * @param ref - A ref to a DOM element for the tag.
34
- */
35
- export function useTag<T>(props: AriaTagProps<T>, state: ListState<T>, ref: RefObject<FocusableElement>): TagAria;
4
+ import { AriaButtonProps } from "@react-types/button";
5
+ import { SelectableItemStates } from "@react-aria/selection";
36
6
  export interface TagGroupAria {
37
7
  /** Props for the tag grouping element. */
38
8
  gridProps: DOMAttributes;
@@ -43,12 +13,18 @@ export interface TagGroupAria {
43
13
  /** Props for the tag group error message element, if any. */
44
14
  errorMessageProps: DOMAttributes;
45
15
  }
46
- export interface AriaTagGroupProps<T> extends TagGroupProps<T>, DOMProps, AriaLabelingProps, Validation {
16
+ export interface AriaTagGroupProps<T> extends CollectionBase<T>, MultipleSelection, DOMProps, LabelableProps, AriaLabelingProps, HelpTextProps {
17
+ /** How multiple selection should behave in the collection. */
18
+ selectionBehavior?: SelectionBehavior;
19
+ /** Handler that is called when a user deletes a tag. */
20
+ onRemove?: (key: Set<Key>) => void;
21
+ }
22
+ interface AriaTagGroupOptions<T> extends Omit<AriaTagGroupProps<T>, 'children'> {
47
23
  /**
48
24
  * An optional keyboard delegate to handle arrow key navigation,
49
25
  * to override the default.
50
26
  */
51
- keyboardDelegate?: TagKeyboardDelegate<T>;
27
+ keyboardDelegate?: KeyboardDelegate;
52
28
  }
53
29
  /**
54
30
  * Provides the behavior and accessibility implementation for a tag group component.
@@ -57,7 +33,27 @@ export interface AriaTagGroupProps<T> extends TagGroupProps<T>, DOMProps, AriaLa
57
33
  * @param state - State for the tag group, as returned by `useListState`.
58
34
  * @param ref - A ref to a DOM element for the tag group.
59
35
  */
60
- export function useTagGroup<T>(props: AriaTagGroupProps<T>, state: ListState<T>, ref: RefObject<HTMLElement>): TagGroupAria;
61
- export type { TagProps } from '@react-types/tag';
36
+ export function useTagGroup<T>(props: AriaTagGroupOptions<T>, state: ListState<T>, ref: RefObject<HTMLElement>): TagGroupAria;
37
+ export interface TagAria extends Omit<SelectableItemStates, 'hasAction'> {
38
+ /** Props for the tag row element. */
39
+ rowProps: DOMAttributes;
40
+ /** Props for the tag cell element. */
41
+ gridCellProps: DOMAttributes;
42
+ /** Props for the tag remove button. */
43
+ removeButtonProps: AriaButtonProps;
44
+ /** Whether the tag can be removed. */
45
+ allowsRemoving: boolean;
46
+ }
47
+ export interface AriaTagProps<T> {
48
+ /** An object representing the tag. Contains all the relevant information that makes up the tag. */
49
+ item: Node<T>;
50
+ }
51
+ /**
52
+ * Provides the behavior and accessibility implementation for a tag component.
53
+ * @param props - Props to be applied to the tag.
54
+ * @param state - State for the tag group, as returned by `useListState`.
55
+ * @param ref - A ref to a DOM element for the tag.
56
+ */
57
+ export function useTag<T>(props: AriaTagProps<T>, state: ListState<T>, ref: RefObject<FocusableElement>): TagAria;
62
58
 
63
59
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"mappings":";;;;;AAeA,iCAAiC,CAAC,CAAE,YAAW,gBAAgB;gBAIjD,UAAU,EAAE,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS;IAK3D,WAAW;IAIX,UAAU;IAIV,aAAa,CAAC,GAAG,EAAE,GAAG;IAItB,YAAY,CAAC,GAAG,EAAE,GAAG;IAIrB,WAAW,CAAC,GAAG,KAAA;IAgBf,WAAW,CAAC,GAAG,KAAA;IAef,eAAe,CAAC,GAAG,KAAA;IAInB,eAAe,CAAC,GAAG,KAAA;CAGpB;ACrDD;IACE,gDAAgD;IAChD,UAAU,EAAE,aAAa,CAAC;IAC1B,sCAAsC;IACtC,aAAa,EAAE,aAAa,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,uCAAuC;IACvC,iBAAiB,EAAE,eAAe,CAAA;CACnC;AAED,8BAA8B,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB;CAAG;AAEpF;;;;;GAKG;AACH,uBAAuB,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,gBAAgB,CAAC,GAAG,OAAO,CAuDhH;AC5ED;IACE,0CAA0C;IAC1C,SAAS,EAAE,aAAa,CAAC;IACzB,wDAAwD;IACxD,UAAU,EAAE,aAAa,CAAC;IAC1B,2DAA2D;IAC3D,gBAAgB,EAAE,aAAa,CAAC;IAChC,6DAA6D;IAC7D,iBAAiB,EAAE,aAAa,CAAA;CACjC;AAED,mCAAmC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU;IACrG;;;OAGG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAA;CAC1C;AAED;;;;;;GAMG;AACH,4BAA4B,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,WAAW,CAAC,GAAG,YAAY,CAkC1H;ACnED,YAAY,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC","sources":["packages/@react-aria/tag/src/packages/@react-aria/tag/src/TagKeyboardDelegate.ts","packages/@react-aria/tag/src/packages/@react-aria/tag/src/useTag.ts","packages/@react-aria/tag/src/packages/@react-aria/tag/src/useTagGroup.ts","packages/@react-aria/tag/src/packages/@react-aria/tag/src/index.ts","packages/@react-aria/tag/src/index.ts"],"sourcesContent":[null,null,null,null,"/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport {TagKeyboardDelegate} from './TagKeyboardDelegate';\nexport {useTag} from './useTag';\nexport {useTagGroup} from './useTagGroup';\n\nexport type {TagProps} from '@react-types/tag';\nexport type {TagGroupAria, AriaTagGroupProps} from './useTagGroup';\nexport type {AriaTagProps, TagAria} from './useTag';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
1
+ {"mappings":";;;;;AAsBA;IACE,0CAA0C;IAC1C,SAAS,EAAE,aAAa,CAAC;IACzB,wDAAwD;IACxD,UAAU,EAAE,aAAa,CAAC;IAC1B,2DAA2D;IAC3D,gBAAgB,EAAE,aAAa,CAAC;IAChC,6DAA6D;IAC7D,iBAAiB,EAAE,aAAa,CAAA;CACjC;AAED,mCAAmC,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa;IAC5I,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;CACnC;AAED,8BAAqC,CAAC,CAAE,SAAQ,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,UAAU,CAAC;IACpF;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAQD;;;;;;GAMG;AACH,4BAA4B,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,WAAW,CAAC,GAAG,YAAY,CA+C5H;AClFD,wBAAyB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC;IACtE,qCAAqC;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,sCAAsC;IACtC,aAAa,EAAE,aAAa,CAAC;IAC7B,uCAAuC;IACvC,iBAAiB,EAAE,eAAe,CAAC;IACnC,sCAAsC;IACtC,cAAc,EAAE,OAAO,CAAA;CACxB;AAED,8BAA8B,CAAC;IAC7B,mGAAmG;IACnG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;CACd;AAED;;;;;GAKG;AACH,uBAAuB,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,gBAAgB,CAAC,GAAG,OAAO,CAuDhH","sources":["packages/@react-aria/tag/src/packages/@react-aria/tag/src/useTagGroup.ts","packages/@react-aria/tag/src/packages/@react-aria/tag/src/useTag.ts","packages/@react-aria/tag/src/packages/@react-aria/tag/src/index.ts","packages/@react-aria/tag/src/index.ts"],"sourcesContent":[null,null,null,"/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport {useTag} from './useTag';\nexport {useTagGroup} from './useTagGroup';\n\nexport type {TagGroupAria, AriaTagGroupProps} from './useTagGroup';\nexport type {AriaTagProps, TagAria} from './useTag';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-aria/tag",
3
- "version": "3.0.0-nightly.2199+0179952ba",
3
+ "version": "3.0.0-nightly.2206+a62195683",
4
4
  "description": "Spectrum UI components in React",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/main.js",
@@ -22,15 +22,15 @@
22
22
  "url": "https://github.com/adobe/react-spectrum"
23
23
  },
24
24
  "dependencies": {
25
- "@react-aria/gridlist": "3.3.1-nightly.3901+0179952ba",
26
- "@react-aria/i18n": "3.0.0-nightly.2199+0179952ba",
27
- "@react-aria/interactions": "3.0.0-nightly.2199+0179952ba",
28
- "@react-aria/label": "3.0.0-nightly.2199+0179952ba",
29
- "@react-aria/utils": "3.0.0-nightly.2199+0179952ba",
30
- "@react-stately/list": "3.8.1-nightly.3901+0179952ba",
31
- "@react-types/button": "3.7.3-nightly.3901+0179952ba",
32
- "@react-types/shared": "3.0.0-nightly.2199+0179952ba",
33
- "@react-types/tag": "3.0.0-nightly.2199+0179952ba",
25
+ "@react-aria/gridlist": "3.3.1-nightly.3908+a62195683",
26
+ "@react-aria/i18n": "3.0.0-nightly.2206+a62195683",
27
+ "@react-aria/interactions": "3.0.0-nightly.2206+a62195683",
28
+ "@react-aria/label": "3.0.0-nightly.2206+a62195683",
29
+ "@react-aria/selection": "3.0.0-nightly.2206+a62195683",
30
+ "@react-aria/utils": "3.0.0-nightly.2206+a62195683",
31
+ "@react-stately/list": "3.8.1-nightly.3908+a62195683",
32
+ "@react-types/button": "3.7.3-nightly.3908+a62195683",
33
+ "@react-types/shared": "3.0.0-nightly.2206+a62195683",
34
34
  "@swc/helpers": "^0.4.14"
35
35
  },
36
36
  "peerDependencies": {
@@ -39,5 +39,5 @@
39
39
  "publishConfig": {
40
40
  "access": "public"
41
41
  },
42
- "gitHead": "0179952ba54713ec575d7dc23e9670292b6066a3"
42
+ "gitHead": "a62195683addf229a536beabe95896c5e44d0dc9"
43
43
  }
package/src/index.ts CHANGED
@@ -10,10 +10,8 @@
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- export {TagKeyboardDelegate} from './TagKeyboardDelegate';
14
13
  export {useTag} from './useTag';
15
14
  export {useTagGroup} from './useTagGroup';
16
15
 
17
- export type {TagProps} from '@react-types/tag';
18
16
  export type {TagGroupAria, AriaTagGroupProps} from './useTagGroup';
19
17
  export type {AriaTagProps, TagAria} from './useTag';