@economic/taco 2.7.5 → 2.8.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Icon/components/CircleInformation.d.ts +3 -0
- package/dist/components/Icon/components/CircleQuestionmark.d.ts +3 -0
- package/dist/components/Icon/components/CircleWarning.d.ts +3 -0
- package/dist/components/Icon/components/index.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Menu/components/Item.d.ts +1 -1
- package/dist/components/Menu/components/Link.d.ts +1 -1
- package/dist/components/Navigation2/components/Link.d.ts +1 -1
- package/dist/components/Select2/Select2.d.ts +1 -0
- package/dist/components/Select2/components/Option.d.ts +1 -1
- package/dist/components/Select2/components/Search.d.ts +1 -1
- package/dist/components/Select2/components/Trigger.d.ts +1 -0
- package/dist/components/Table3/components/columns/footer/Summary.d.ts +1 -0
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/esm/index.css +14 -1
- package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +0 -9
- package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/CircleInformation.js +19 -0
- package/dist/esm/packages/taco/src/components/Icon/components/CircleInformation.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/CircleQuestionmark.js +19 -0
- package/dist/esm/packages/taco/src/components/Icon/components/CircleQuestionmark.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/CircleWarning.js +19 -0
- package/dist/esm/packages/taco/src/components/Icon/components/CircleWarning.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/index.js +6 -0
- package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js +3 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +28 -7
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js +2 -2
- package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/Table3.js +11 -2
- package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js +13 -3
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js +12 -2
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +4 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js +0 -9
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +2 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +15 -8
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +2 -2
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
- package/dist/esm/packages/taco/src/index.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Button.js +5 -0
- package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/keyboard.js +24 -19
- package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
- package/dist/index.css +14 -1
- package/dist/taco.cjs.development.js +168 -65
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/dist/utils/keyboard.d.ts +2 -1
- package/package.json +2 -2
- package/types.json +17769 -11837
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"keyboard.js","sources":["../../../../../../src/utils/keyboard.ts"],"sourcesContent":["import React from 'react';\n\nexport type KeyDownHandlerOptions = { key: string; meta?: boolean; shift?: boolean };\n\nexport function isEventTriggeredOnInteractiveElement(eventTarget: EventTarget | null) {\n const element = eventTarget as HTMLElement;\n\n return (\n ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT'].includes(element.tagName) &&\n !element.hidden &&\n !(element as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement).disabled &&\n !(element as HTMLInputElement | HTMLTextAreaElement).readOnly\n );\n}\n\nexport function
|
1
|
+
{"version":3,"file":"keyboard.js","sources":["../../../../../../src/utils/keyboard.ts"],"sourcesContent":["import React from 'react';\n\nexport type KeyDownHandlerOptions = { key: string; meta?: boolean; shift?: boolean };\n\nexport function isEventTriggeredOnInteractiveElement(eventTarget: EventTarget | null) {\n const element = eventTarget as HTMLElement;\n\n return (\n ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT'].includes(element.tagName) &&\n !element.hidden &&\n !(element as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement).disabled &&\n !(element as HTMLInputElement | HTMLTextAreaElement).readOnly\n );\n}\n\nexport function shouldTriggerShortcut<T = Element>(\n event: KeyboardEvent | React.KeyboardEvent<T>,\n key: string | KeyDownHandlerOptions\n) {\n const keyOptions: KeyDownHandlerOptions = typeof key === 'string' ? { key, meta: false, shift: false } : key;\n\n if (\n (keyOptions.meta && (isMacOs() ? !event.metaKey : !event.ctrlKey)) ||\n (!keyOptions.meta && (isMacOs() ? event.metaKey : event.ctrlKey))\n ) {\n return false;\n }\n\n if ((keyOptions.shift && !event.shiftKey) || (keyOptions.shift === false && event.shiftKey)) {\n return false;\n }\n\n return event.key.toLowerCase() === keyOptions.key.toLowerCase();\n}\n\nexport function createShortcutKeyDownHandler<T = Element>(\n key: string | KeyDownHandlerOptions,\n handler: (event: KeyboardEvent | React.KeyboardEvent<T>) => void,\n stopPropagation = true\n) {\n return function (event: KeyboardEvent | React.KeyboardEvent<T>) {\n if (event.target !== event.currentTarget && isEventTriggeredOnInteractiveElement(event.target as HTMLElement)) {\n return;\n }\n\n const condition = shouldTriggerShortcut(event, key);\n\n if (condition) {\n if (stopPropagation) {\n // stops react handlers bubbling up to global\n event.stopPropagation();\n // stops global handlers bubbling up to other global\n (event as KeyboardEvent).stopImmediatePropagation?.();\n }\n\n handler(event);\n }\n };\n}\n\nexport const isMacOs = () => window?.navigator.userAgent.includes('Mac');\n"],"names":["isEventTriggeredOnInteractiveElement","eventTarget","element","includes","tagName","hidden","disabled","readOnly","shouldTriggerShortcut","event","key","keyOptions","meta","shift","isMacOs","metaKey","ctrlKey","shiftKey","toLowerCase","createShortcutKeyDownHandler","handler","stopPropagation","target","currentTarget","condition","_event$stopImmediateP","stopImmediatePropagation","call","_window","window","navigator","userAgent"],"mappings":"SAIgBA,oCAAoCA,CAACC,WAA+B;EAChF,MAAMC,OAAO,GAAGD,WAA0B;EAE1C,OACI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAACE,QAAQ,CAACD,OAAO,CAACE,OAAO,CAAC,IACxE,CAACF,OAAO,CAACG,MAAM,IACf,CAAEH,OAA0F,CAACI,QAAQ,IACrG,CAAEJ,OAAkD,CAACK,QAAQ;AAErE;SAEgBC,qBAAqBA,CACjCC,KAA6C,EAC7CC,GAAmC;EAEnC,MAAMC,UAAU,GAA0B,OAAOD,GAAG,KAAK,QAAQ,GAAG;IAAEA,GAAG;IAAEE,IAAI,EAAE,KAAK;IAAEC,KAAK,EAAE;GAAO,GAAGH,GAAG;EAE5G,IACKC,UAAU,CAACC,IAAI,KAAKE,OAAO,EAAE,GAAG,CAACL,KAAK,CAACM,OAAO,GAAG,CAACN,KAAK,CAACO,OAAO,CAAC,IAChE,CAACL,UAAU,CAACC,IAAI,KAAKE,OAAO,EAAE,GAAGL,KAAK,CAACM,OAAO,GAAGN,KAAK,CAACO,OAAO,CAAE,EACnE;IACE,OAAO,KAAK;;EAGhB,IAAKL,UAAU,CAACE,KAAK,IAAI,CAACJ,KAAK,CAACQ,QAAQ,IAAMN,UAAU,CAACE,KAAK,KAAK,KAAK,IAAIJ,KAAK,CAACQ,QAAS,EAAE;IACzF,OAAO,KAAK;;EAGhB,OAAOR,KAAK,CAACC,GAAG,CAACQ,WAAW,EAAE,KAAKP,UAAU,CAACD,GAAG,CAACQ,WAAW,EAAE;AACnE;SAEgBC,4BAA4BA,CACxCT,GAAmC,EACnCU,OAAgE,EAChEC,eAAe,GAAG,IAAI;EAEtB,OAAO,UAAUZ,KAA6C;IAC1D,IAAIA,KAAK,CAACa,MAAM,KAAKb,KAAK,CAACc,aAAa,IAAIvB,oCAAoC,CAACS,KAAK,CAACa,MAAqB,CAAC,EAAE;MAC3G;;IAGJ,MAAME,SAAS,GAAGhB,qBAAqB,CAACC,KAAK,EAAEC,GAAG,CAAC;IAEnD,IAAIc,SAAS,EAAE;MACX,IAAIH,eAAe,EAAE;QAAA,IAAAI,qBAAA;;QAEjBhB,KAAK,CAACY,eAAe,EAAE;;QAEtB,CAAAI,qBAAA,GAAAhB,KAAuB,CAACiB,wBAAwB,cAAAD,qBAAA,uBAAhDA,qBAAA,CAAAE,IAAA,CAAAlB,MAAoD;;MAGzDW,OAAO,CAACX,KAAK,CAAC;;GAErB;AACL;MAEaK,OAAO,GAAGA;EAAA,IAAAc,OAAA;EAAA,QAAAA,OAAA,GAAMC,MAAM,cAAAD,OAAA,uBAANA,OAAA,CAAQE,SAAS,CAACC,SAAS,CAAC5B,QAAQ,CAAC,KAAK,CAAC;AAAA;;;;"}
|
package/dist/index.css
CHANGED
@@ -640,7 +640,8 @@
|
|
640
640
|
|
641
641
|
/* cells */
|
642
642
|
[role='cell'],
|
643
|
-
[role='columnheader']
|
643
|
+
[role='columnheader'],
|
644
|
+
[data-taco='table2-footer-summary'] {
|
644
645
|
@apply border-grey-300;
|
645
646
|
}
|
646
647
|
|
@@ -649,6 +650,12 @@
|
|
649
650
|
@apply flex px-4;
|
650
651
|
}
|
651
652
|
|
653
|
+
/* In cases where row height might differ from default one (example: textarea without truncate or changing of font size or row height),
|
654
|
+
we need to prevent editing controls to take all available space */
|
655
|
+
[role='cell']:not([data-highlighted='true']) {
|
656
|
+
@apply items-start;
|
657
|
+
}
|
658
|
+
|
652
659
|
[role='cell'][data-align='left'],
|
653
660
|
[role='columnheader'][data-align='left'] {
|
654
661
|
@apply justify-start text-left;
|
@@ -668,6 +675,12 @@
|
|
668
675
|
@apply border-b;
|
669
676
|
}
|
670
677
|
|
678
|
+
/* Removes a pixel space between the row and spacer div, so that the spacer div's top border appears like
|
679
|
+
bottom border of the cells */
|
680
|
+
[role='row']:last-child [role='cell'] {
|
681
|
+
@apply -mb-px;
|
682
|
+
}
|
683
|
+
|
671
684
|
/* row/cell backgrounds */
|
672
685
|
|
673
686
|
[role='columnheader'] {
|
@@ -761,6 +761,21 @@ function IconCircleClose(props, svgRef) {
|
|
761
761
|
}
|
762
762
|
var CircleClose = /*#__PURE__*/React.forwardRef(IconCircleClose);
|
763
763
|
|
764
|
+
function IconCircleInformation(props, svgRef) {
|
765
|
+
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
766
|
+
fill: "none",
|
767
|
+
xmlns: "http://www.w3.org/2000/svg",
|
768
|
+
viewBox: "0 0 24 24",
|
769
|
+
ref: svgRef
|
770
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
771
|
+
fillRule: "evenodd",
|
772
|
+
clipRule: "evenodd",
|
773
|
+
d: "M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 1.5a8.5 8.5 0 100 17 8.5 8.5 0 000-17zm-.267 5.753a1 1 0 10-.001-2.001 1 1 0 00.001 2.001zM14 16.754a.75.75 0 000-1.502h-1.267V11.5a.752.752 0 00-.75-.751H10a.75.75 0 000 1.502h1.233v3H10a.75.75 0 000 1.503h4z",
|
774
|
+
fill: "currentColor"
|
775
|
+
}));
|
776
|
+
}
|
777
|
+
var CircleInformation = /*#__PURE__*/React.forwardRef(IconCircleInformation);
|
778
|
+
|
764
779
|
function IconCircleMinus(props, svgRef) {
|
765
780
|
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
766
781
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -787,6 +802,21 @@ function IconCirclePlus(props, svgRef) {
|
|
787
802
|
}
|
788
803
|
var CirclePlus = /*#__PURE__*/React.forwardRef(IconCirclePlus);
|
789
804
|
|
805
|
+
function IconCircleQuestionmark(props, svgRef) {
|
806
|
+
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
807
|
+
fill: "none",
|
808
|
+
xmlns: "http://www.w3.org/2000/svg",
|
809
|
+
viewBox: "0 0 24 24",
|
810
|
+
ref: svgRef
|
811
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
812
|
+
fillRule: "evenodd",
|
813
|
+
clipRule: "evenodd",
|
814
|
+
d: "M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 1.5a8.5 8.5 0 100 17 8.5 8.5 0 000-17zm.58 10.15a.71.71 0 00.226-.543v-1.272a.306.306 0 01.045-.143.522.522 0 01.136-.133 3.91 3.91 0 01.285-.18l.028-.016c.112-.066.242-.143.387-.237.706-.454 1.156-1.012 1.156-1.838 0-.673-.37-1.19-.887-1.53-.513-.336-1.183-.508-1.845-.508-.552 0-1.234.096-1.79.317a2.441 2.441 0 00-.574.315c-.09.069-.174.146-.245.232a1.15 1.15 0 00-.154.238 1.474 1.474 0 00-.148.625c0 .075.01.118.02.167.036.159.12.3.254.401a.77.77 0 00.47.147.768.768 0 00.745-.517l.004-.013c.053-.17.226-.306.517-.4.282-.09.611-.116.852-.116.267 0 .575.078.809.213.241.139.345.298.345.44 0 .188-.051.32-.152.444-.11.136-.285.27-.55.444h-.002l-.136.091h-.001c-.232.153-.49.322-.695.513-.252.234-.467.537-.467.938v1.38c0 .226.087.421.248.556.155.13.357.185.56.185.21 0 .41-.064.558-.2zm-.559 3.1c.504 0 .924-.4.924-.904 0-.512-.423-.9-.924-.9a.908.908 0 00-.92.9c0 .504.42.904.92.904z",
|
815
|
+
fill: "currentColor"
|
816
|
+
}));
|
817
|
+
}
|
818
|
+
var CircleQuestionmark = /*#__PURE__*/React.forwardRef(IconCircleQuestionmark);
|
819
|
+
|
790
820
|
function IconCircleTick(props, svgRef) {
|
791
821
|
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
792
822
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -800,6 +830,21 @@ function IconCircleTick(props, svgRef) {
|
|
800
830
|
}
|
801
831
|
var CircleTick = /*#__PURE__*/React.forwardRef(IconCircleTick);
|
802
832
|
|
833
|
+
function IconCircleWarning(props, svgRef) {
|
834
|
+
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
835
|
+
fill: "none",
|
836
|
+
xmlns: "http://www.w3.org/2000/svg",
|
837
|
+
viewBox: "0 0 24 24",
|
838
|
+
ref: svgRef
|
839
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
840
|
+
fillRule: "evenodd",
|
841
|
+
clipRule: "evenodd",
|
842
|
+
d: "M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 1.5a8.5 8.5 0 100 17 8.5 8.5 0 000-17zm0 3.75a.97.97 0 00-.974.989L11.2 12.5c.01.417.352.749.771.749a.768.768 0 00.77-.74l.23-4.26a.97.97 0 00-.97-1zm0 9.5a1 1 0 100-2 1 1 0 000 2z",
|
843
|
+
fill: "currentColor"
|
844
|
+
}));
|
845
|
+
}
|
846
|
+
var CircleWarning = /*#__PURE__*/React.forwardRef(IconCircleWarning);
|
847
|
+
|
803
848
|
function IconClampOpen(props, svgRef) {
|
804
849
|
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
805
850
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -3249,9 +3294,12 @@ const icons = {
|
|
3249
3294
|
'chevron-up-solid': ChevronUpSolid,
|
3250
3295
|
'chevron-up': ChevronUp,
|
3251
3296
|
'circle-close': CircleClose,
|
3297
|
+
'circle-information': CircleInformation,
|
3252
3298
|
'circle-minus': CircleMinus,
|
3253
3299
|
'circle-plus': CirclePlus,
|
3300
|
+
'circle-questionmark': CircleQuestionmark,
|
3254
3301
|
'circle-tick': CircleTick,
|
3302
|
+
'circle-warning': CircleWarning,
|
3255
3303
|
'clamp-open': ClampOpen,
|
3256
3304
|
clamp: Clamp,
|
3257
3305
|
close: Close,
|
@@ -3837,29 +3885,34 @@ function isEventTriggeredOnInteractiveElement(eventTarget) {
|
|
3837
3885
|
const element = eventTarget;
|
3838
3886
|
return ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT'].includes(element.tagName) && !element.hidden && !element.disabled && !element.readOnly;
|
3839
3887
|
}
|
3840
|
-
function
|
3888
|
+
function shouldTriggerShortcut(event, key) {
|
3889
|
+
const keyOptions = typeof key === 'string' ? {
|
3890
|
+
key,
|
3891
|
+
meta: false,
|
3892
|
+
shift: false
|
3893
|
+
} : key;
|
3894
|
+
if (keyOptions.meta && (isMacOs() ? !event.metaKey : !event.ctrlKey) || !keyOptions.meta && (isMacOs() ? event.metaKey : event.ctrlKey)) {
|
3895
|
+
return false;
|
3896
|
+
}
|
3897
|
+
if (keyOptions.shift && !event.shiftKey || keyOptions.shift === false && event.shiftKey) {
|
3898
|
+
return false;
|
3899
|
+
}
|
3900
|
+
return event.key.toLowerCase() === keyOptions.key.toLowerCase();
|
3901
|
+
}
|
3902
|
+
function createShortcutKeyDownHandler(key, handler, stopPropagation = true) {
|
3841
3903
|
return function (event) {
|
3842
|
-
const keyOptions = typeof key === 'string' ? {
|
3843
|
-
key,
|
3844
|
-
meta: false,
|
3845
|
-
shift: false
|
3846
|
-
} : key;
|
3847
3904
|
if (event.target !== event.currentTarget && isEventTriggeredOnInteractiveElement(event.target)) {
|
3848
3905
|
return;
|
3849
3906
|
}
|
3850
|
-
|
3851
|
-
return;
|
3852
|
-
}
|
3853
|
-
if (keyOptions.shift && !event.shiftKey || keyOptions.shift === false && event.shiftKey) {
|
3854
|
-
return;
|
3855
|
-
}
|
3856
|
-
const condition = event.key.toLowerCase() === keyOptions.key.toLowerCase();
|
3907
|
+
const condition = shouldTriggerShortcut(event, key);
|
3857
3908
|
if (condition) {
|
3858
|
-
|
3859
|
-
|
3860
|
-
|
3861
|
-
|
3862
|
-
|
3909
|
+
if (stopPropagation) {
|
3910
|
+
var _event$stopImmediateP;
|
3911
|
+
// stops react handlers bubbling up to global
|
3912
|
+
event.stopPropagation();
|
3913
|
+
// stops global handlers bubbling up to other global
|
3914
|
+
(_event$stopImmediateP = event.stopImmediatePropagation) === null || _event$stopImmediateP === void 0 ? void 0 : _event$stopImmediateP.call(event);
|
3915
|
+
}
|
3863
3916
|
handler(event);
|
3864
3917
|
}
|
3865
3918
|
};
|
@@ -3873,7 +3926,7 @@ const useGlobalKeyDown = (shortcut, handler) => {
|
|
3873
3926
|
React__default.useEffect(() => {
|
3874
3927
|
let handleKeyDown;
|
3875
3928
|
if (shortcut) {
|
3876
|
-
handleKeyDown = createShortcutKeyDownHandler(shortcut, handler);
|
3929
|
+
handleKeyDown = createShortcutKeyDownHandler(shortcut, handler, false);
|
3877
3930
|
document.addEventListener('keydown', handleKeyDown);
|
3878
3931
|
}
|
3879
3932
|
return () => {
|
@@ -3881,7 +3934,7 @@ const useGlobalKeyDown = (shortcut, handler) => {
|
|
3881
3934
|
document.removeEventListener('keydown', handleKeyDown);
|
3882
3935
|
}
|
3883
3936
|
};
|
3884
|
-
}, [shortcut]);
|
3937
|
+
}, [shortcut, handler]);
|
3885
3938
|
};
|
3886
3939
|
|
3887
3940
|
const Button = /*#__PURE__*/React.forwardRef(function Button(props, ref) {
|
@@ -3895,6 +3948,11 @@ const Button = /*#__PURE__*/React.forwardRef(function Button(props, ref) {
|
|
3895
3948
|
const internalRef = useMergedRef(ref);
|
3896
3949
|
useGlobalKeyDown(shortcut, () => {
|
3897
3950
|
var _internalRef$current;
|
3951
|
+
const dialog = document.querySelector('[role="dialog"]');
|
3952
|
+
// Don't trigger the click on the button if it is outside of the dialog
|
3953
|
+
if (dialog && !(dialog !== null && dialog !== void 0 && dialog.contains(internalRef.current))) {
|
3954
|
+
return;
|
3955
|
+
}
|
3898
3956
|
(_internalRef$current = internalRef.current) === null || _internalRef$current === void 0 ? void 0 : _internalRef$current.click();
|
3899
3957
|
});
|
3900
3958
|
const Tag = props.href ? 'a' : 'button';
|
@@ -4367,7 +4425,7 @@ const defaultLocalisationTexts = {
|
|
4367
4425
|
}
|
4368
4426
|
},
|
4369
4427
|
search: {
|
4370
|
-
excludeUnmatchedResults: '
|
4428
|
+
excludeUnmatchedResults: 'Show only search results',
|
4371
4429
|
placeholder: 'Search...'
|
4372
4430
|
},
|
4373
4431
|
shortcuts: {
|
@@ -6151,8 +6209,6 @@ const Content$4 = /*#__PURE__*/React.forwardRef(function DialogContent(props, re
|
|
6151
6209
|
} else if (dialog.onClose) {
|
6152
6210
|
dialog.onClose();
|
6153
6211
|
}
|
6154
|
-
// Stops event from propogating outside the dialog.
|
6155
|
-
event.stopPropagation();
|
6156
6212
|
};
|
6157
6213
|
// the chosen behaviour in taco is that outside clicks do not close the dialog
|
6158
6214
|
const handleInteractOutside = event => event.preventDefault();
|
@@ -6166,19 +6222,12 @@ const Content$4 = /*#__PURE__*/React.forwardRef(function DialogContent(props, re
|
|
6166
6222
|
} else {
|
6167
6223
|
output = props.children;
|
6168
6224
|
}
|
6169
|
-
const onKeyDown = event => {
|
6170
|
-
if (event.key !== 'Escape') {
|
6171
|
-
// Stops event from propogating outside the dialog.
|
6172
|
-
event.stopPropagation();
|
6173
|
-
}
|
6174
|
-
};
|
6175
6225
|
return /*#__PURE__*/React.createElement(DialogPrimitive.Portal, null, /*#__PURE__*/React.createElement(DialogPrimitive.Overlay, {
|
6176
6226
|
asChild: true
|
6177
6227
|
}, /*#__PURE__*/React.createElement(Backdrop, null, /*#__PURE__*/React.createElement(DialogPrimitive.Content, Object.assign({}, props, {
|
6178
6228
|
className: className,
|
6179
6229
|
onEscapeKeyDown: handleEscapeKeyDown,
|
6180
6230
|
onInteractOutside: handleInteractOutside,
|
6181
|
-
onKeyDown: onKeyDown,
|
6182
6231
|
ref: internalRef,
|
6183
6232
|
style: {
|
6184
6233
|
...props.style,
|
@@ -9925,6 +9974,7 @@ const Single = /*#__PURE__*/React__default.forwardRef(function Select2TriggerSin
|
|
9925
9974
|
children,
|
9926
9975
|
emptyValue,
|
9927
9976
|
value,
|
9977
|
+
placeholder,
|
9928
9978
|
...buttonProps
|
9929
9979
|
} = props;
|
9930
9980
|
const {
|
@@ -9935,7 +9985,14 @@ const Single = /*#__PURE__*/React__default.forwardRef(function Select2TriggerSin
|
|
9935
9985
|
const contentClassName = cn('truncate items-center gap-1');
|
9936
9986
|
const currentValue = children.find(matchesValue(value));
|
9937
9987
|
let output;
|
9938
|
-
if (currentValue) {
|
9988
|
+
if (placeholder && currentValue === undefined) {
|
9989
|
+
output = /*#__PURE__*/React__default.createElement("div", {
|
9990
|
+
className: cn({
|
9991
|
+
'text-grey-700': disabled,
|
9992
|
+
'text-grey-500': !disabled
|
9993
|
+
})
|
9994
|
+
}, placeholder);
|
9995
|
+
} else if (currentValue) {
|
9939
9996
|
if (tags && emptyValue !== undefined && emptyValue !== value) {
|
9940
9997
|
output = /*#__PURE__*/React__default.createElement(Tag$1, {
|
9941
9998
|
className: "truncate",
|
@@ -9962,6 +10019,7 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
|
|
9962
10019
|
children,
|
9963
10020
|
emptyValue: _,
|
9964
10021
|
values = [],
|
10022
|
+
placeholder,
|
9965
10023
|
...buttonProps
|
9966
10024
|
} = props;
|
9967
10025
|
const {
|
@@ -9983,7 +10041,12 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
|
|
9983
10041
|
className: "my-1 flex max-h-[5.5rem] flex-col"
|
9984
10042
|
}, /*#__PURE__*/React__default.createElement("div", {
|
9985
10043
|
className: "flex flex-wrap gap-1"
|
9986
|
-
}, valuesAsChildren.
|
10044
|
+
}, valuesAsChildren.length === 0 ? /*#__PURE__*/React__default.createElement("div", {
|
10045
|
+
className: cn({
|
10046
|
+
'text-grey-700': disabled,
|
10047
|
+
'text-grey-500': !disabled
|
10048
|
+
})
|
10049
|
+
}, placeholder) : valuesAsChildren.map(child => /*#__PURE__*/React__default.createElement(Tag$1, {
|
9987
10050
|
key: String(child.props.value),
|
9988
10051
|
className: "truncate",
|
9989
10052
|
color: tags ? child.props.color : undefined,
|
@@ -10001,7 +10064,8 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
|
|
10001
10064
|
} else {
|
10002
10065
|
content = /*#__PURE__*/React__default.createElement(MultipleValue, {
|
10003
10066
|
key: String(open),
|
10004
|
-
valuesAsChildren: valuesAsChildren
|
10067
|
+
valuesAsChildren: valuesAsChildren,
|
10068
|
+
placeholder: placeholder
|
10005
10069
|
});
|
10006
10070
|
}
|
10007
10071
|
return /*#__PURE__*/React__default.createElement("div", {
|
@@ -10017,7 +10081,8 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
|
|
10017
10081
|
}), content));
|
10018
10082
|
});
|
10019
10083
|
const MultipleValue = ({
|
10020
|
-
valuesAsChildren
|
10084
|
+
valuesAsChildren,
|
10085
|
+
placeholder
|
10021
10086
|
}) => {
|
10022
10087
|
const {
|
10023
10088
|
disabled,
|
@@ -10040,9 +10105,14 @@ const MultipleValue = ({
|
|
10040
10105
|
}, /*#__PURE__*/React__default.createElement("div", {
|
10041
10106
|
className: "flex gap-1 truncate",
|
10042
10107
|
ref: el => setContentRef(el)
|
10043
|
-
}, valuesAsChildren.
|
10108
|
+
}, valuesAsChildren.length === 0 ? /*#__PURE__*/React__default.createElement("div", {
|
10109
|
+
className: cn({
|
10110
|
+
'text-grey-700': disabled,
|
10111
|
+
'text-grey-500': !disabled
|
10112
|
+
})
|
10113
|
+
}, placeholder) : valuesAsChildren.map((child, index) => {
|
10044
10114
|
const tag = /*#__PURE__*/React__default.createElement(Tag$1, {
|
10045
|
-
key: child.props.value,
|
10115
|
+
key: String(child.props.value),
|
10046
10116
|
className: cn('cursor-pointer', {
|
10047
10117
|
truncate: index === boundaryIndex,
|
10048
10118
|
hidden: boundaryIndex !== undefined && boundaryIndex !== null ? index > boundaryIndex : false
|
@@ -10055,7 +10125,7 @@ const MultipleValue = ({
|
|
10055
10125
|
}, child.props.children);
|
10056
10126
|
if (index === boundaryIndex) {
|
10057
10127
|
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
10058
|
-
key: child.props.value,
|
10128
|
+
key: String(child.props.value),
|
10059
10129
|
title: String(child.props.children)
|
10060
10130
|
}, tag);
|
10061
10131
|
}
|
@@ -10382,6 +10452,7 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
10382
10452
|
defaultValue: defaultProp,
|
10383
10453
|
disabled = false,
|
10384
10454
|
emptyValue = undefined,
|
10455
|
+
placeholder,
|
10385
10456
|
highlighted = false,
|
10386
10457
|
invalid = false,
|
10387
10458
|
multiple = false,
|
@@ -10527,7 +10598,8 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
10527
10598
|
emptyValue: emptyValue,
|
10528
10599
|
onBlur: handleBlur,
|
10529
10600
|
onKeyDown: handleKeyDown,
|
10530
|
-
ref: internalRef
|
10601
|
+
ref: internalRef,
|
10602
|
+
placeholder: placeholder
|
10531
10603
|
}), flattenedChildren)), /*#__PURE__*/React__default.createElement(PopoverPrimitive.Portal, null, /*#__PURE__*/React__default.createElement(PopoverPrimitive.Content, {
|
10532
10604
|
asChild: true,
|
10533
10605
|
align: "start",
|
@@ -11209,9 +11281,9 @@ const useTableKeyboardNavigation = (props, rows, rowProps, ref) => {
|
|
11209
11281
|
}
|
11210
11282
|
});
|
11211
11283
|
const onKeyDown = event => {
|
11212
|
-
var _document$activeEleme;
|
11284
|
+
var _document$activeEleme, _document$activeEleme2;
|
11213
11285
|
const isModifierKeyPressed = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey;
|
11214
|
-
if (useGlobalKeyboardNavigation && document.activeElement !== ref.current && ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.getAttribute('type')) !== 'search' && document.activeElement !== document.body) {
|
11286
|
+
if (useGlobalKeyboardNavigation && document.activeElement !== ref.current && ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.getAttribute('type')) !== 'search' && document.activeElement !== document.body && ((_document$activeEleme2 = document.activeElement) === null || _document$activeEleme2 === void 0 ? void 0 : _document$activeEleme2.getAttribute('role')) !== 'dialog') {
|
11215
11287
|
return;
|
11216
11288
|
}
|
11217
11289
|
// abort key handling if other elements inside table are focused and we don't use global keyboard navigation
|
@@ -16139,7 +16211,10 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
|
|
16139
16211
|
}) : null, hasMenu ? /*#__PURE__*/React__default.createElement(Menu$3, {
|
16140
16212
|
canFreeze: canFreeze,
|
16141
16213
|
canHide: canHide,
|
16142
|
-
className:
|
16214
|
+
className: cn('hidden group-hover/column:flex aria-expanded:!flex', {
|
16215
|
+
'ml-auto': align !== 'right',
|
16216
|
+
'ml-2': align === 'right'
|
16217
|
+
}),
|
16143
16218
|
index: index,
|
16144
16219
|
menu: meta.menu,
|
16145
16220
|
onGoto: handleGoto,
|
@@ -17178,14 +17253,20 @@ function useEditing(isEnabled, onSave) {
|
|
17178
17253
|
if (event.defaultPrevented) {
|
17179
17254
|
return;
|
17180
17255
|
}
|
17181
|
-
if (event
|
17182
|
-
|
17183
|
-
|
17184
|
-
|
17185
|
-
|
17186
|
-
|
17187
|
-
|
17188
|
-
|
17256
|
+
if (shouldTriggerShortcut(event, {
|
17257
|
+
key: 'e',
|
17258
|
+
meta: true,
|
17259
|
+
shift: false
|
17260
|
+
})) {
|
17261
|
+
setIsEditing(editing => !editing);
|
17262
|
+
} else if (shouldTriggerShortcut(event, {
|
17263
|
+
key: 's',
|
17264
|
+
meta: true,
|
17265
|
+
shift: false
|
17266
|
+
})) {
|
17267
|
+
// Prevent default browser save
|
17268
|
+
event.preventDefault();
|
17269
|
+
saveChangesIfNeeded();
|
17189
17270
|
}
|
17190
17271
|
}, [isEditing]);
|
17191
17272
|
const handleBlur = React__default.useCallback(event => {
|
@@ -17739,16 +17820,26 @@ const EditingControl = /*#__PURE__*/React__default.forwardRef(function Control(p
|
|
17739
17820
|
const columnMeta = column.columnDef.meta;
|
17740
17821
|
const controlRenderer = columnMeta === null || columnMeta === void 0 ? void 0 : columnMeta.control;
|
17741
17822
|
const isCellInDetailMode = tableMeta.editing.detailModeEditing && (ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.contains(document.activeElement));
|
17742
|
-
// Revert to initial value if escape was pressed
|
17743
17823
|
const handleKeyDown = event => {
|
17824
|
+
// For some reason keydown event handler is not propogated to the table when input or other control element is
|
17825
|
+
// in focus so we need to check for shortcut that toggles the editing.
|
17826
|
+
if (shouldTriggerShortcut(event, {
|
17827
|
+
key: 'e',
|
17828
|
+
meta: true,
|
17829
|
+
shift: false
|
17830
|
+
})) {
|
17831
|
+
tableMeta.editing.toggleEditing(false);
|
17832
|
+
return;
|
17833
|
+
}
|
17744
17834
|
const target = event.target;
|
17745
17835
|
if (target.readOnly) {
|
17746
17836
|
return;
|
17747
17837
|
}
|
17748
|
-
//
|
17838
|
+
// Prevent row arrow shortcuts triggering when in detail mode
|
17749
17839
|
if (tableMeta.editing.detailModeEditing && (event.key === 'ArrowUp' || event.key === 'ArrowDown')) {
|
17750
17840
|
event.stopPropagation();
|
17751
17841
|
}
|
17842
|
+
// Revert to initial value if escape was pressed
|
17752
17843
|
if (event.key === 'Escape') {
|
17753
17844
|
event.preventDefault();
|
17754
17845
|
if (tableMeta.editing.detailModeEditing) {
|
@@ -17794,7 +17885,6 @@ const EditingControl = /*#__PURE__*/React__default.forwardRef(function Control(p
|
|
17794
17885
|
// Switching to editing mode, when key pressed any alphabetical character or number
|
17795
17886
|
if (/^[a-z0-9]$/i.test(event.key)) {
|
17796
17887
|
tableMeta.editing.setDetailModeEditing(true);
|
17797
|
-
return;
|
17798
17888
|
}
|
17799
17889
|
};
|
17800
17890
|
const handleDatepickerChange = event => {
|
@@ -19748,6 +19838,7 @@ function Filters(props) {
|
|
19748
19838
|
table
|
19749
19839
|
} = props;
|
19750
19840
|
const {
|
19841
|
+
locale,
|
19751
19842
|
texts
|
19752
19843
|
} = useLocalization();
|
19753
19844
|
const ref = React__default.useRef(null);
|
@@ -19828,7 +19919,7 @@ function Filters(props) {
|
|
19828
19919
|
className: "mb-0 inline-flex"
|
19829
19920
|
}, texts.table3.filters.button), /*#__PURE__*/React__default.createElement("p", {
|
19830
19921
|
className: "text-grey-700 mb-0 mr-auto mt-px inline-flex"
|
19831
|
-
}, texts.table3.filters.total.replace('[CURRENT]',
|
19922
|
+
}, texts.table3.filters.total.replace('[CURRENT]', new Intl.NumberFormat(locale).format(table.getFilteredRowModel().rows.length)).replace('[TOTAL]', new Intl.NumberFormat(locale).format(total))))), /*#__PURE__*/React__default.createElement("div", {
|
19832
19923
|
className: "flex flex-col gap-2"
|
19833
19924
|
}, filters.map((filter, index) => /*#__PURE__*/React__default.createElement(Filter$1, {
|
19834
19925
|
key: `filter_${index}`,
|
@@ -19969,14 +20060,6 @@ function EditButton(props) {
|
|
19969
20060
|
'!wcag-blue-100': tableMeta.editing.isEditing
|
19970
20061
|
});
|
19971
20062
|
const handleClick = () => tableMeta.editing.toggleEditing(!tableMeta.editing.isEditing);
|
19972
|
-
useGlobalKeyDown({
|
19973
|
-
key: 'e',
|
19974
|
-
meta: true,
|
19975
|
-
shift: false
|
19976
|
-
}, event => {
|
19977
|
-
event.preventDefault();
|
19978
|
-
tableMeta.editing.toggleEditing(!tableMeta.editing.isEditing);
|
19979
|
-
});
|
19980
20063
|
return /*#__PURE__*/React__default.createElement(Button$1, {
|
19981
20064
|
"aria-pressed": tableMeta.editing.isEditing,
|
19982
20065
|
className: className,
|
@@ -20510,10 +20593,13 @@ function useTableRefInstanceSetup(table, ref) {
|
|
20510
20593
|
}
|
20511
20594
|
|
20512
20595
|
function Summary$1(props) {
|
20596
|
+
var _table$getState$colum;
|
20513
20597
|
const {
|
20598
|
+
currentLength,
|
20514
20599
|
length,
|
20515
20600
|
table
|
20516
20601
|
} = props;
|
20602
|
+
const tableMeta = table.options.meta;
|
20517
20603
|
const {
|
20518
20604
|
locale,
|
20519
20605
|
texts
|
@@ -20524,13 +20610,20 @@ function Summary$1(props) {
|
|
20524
20610
|
const rowsSelectedLength = table.getIsAllRowsSelected() ? length : table.getSelectedRowModel().rows.length;
|
20525
20611
|
if (rowsSelectedLength > 0) {
|
20526
20612
|
label = texts.table3.footer.summary.selected;
|
20527
|
-
count = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(rowsSelectedLength)), "\u00A0", texts.table3.footer.summary.count, "\u00A0", /*#__PURE__*/React__default.createElement("strong", null, length));
|
20613
|
+
count = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(rowsSelectedLength)), "\u00A0", texts.table3.footer.summary.count, "\u00A0", /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(length)));
|
20614
|
+
} else if ((_table$getState$colum = table.getState().columnFilters) !== null && _table$getState$colum !== void 0 && _table$getState$colum.length ||
|
20615
|
+
// filtered data
|
20616
|
+
!!table.getState().globalFilter && tableMeta.search.excludeUnmatchedResults // search with hide enabled
|
20617
|
+
) {
|
20618
|
+
label = texts.table3.footer.summary.records;
|
20619
|
+
count = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("strong", null, currentLength), "\u00A0", texts.table3.footer.summary.count, "\u00A0", /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(length)));
|
20528
20620
|
} else {
|
20529
20621
|
label = texts.table3.footer.summary.records;
|
20530
20622
|
count = /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(length));
|
20531
20623
|
}
|
20532
20624
|
return /*#__PURE__*/React__default.createElement("div", {
|
20533
|
-
className: "sticky bottom-0 left-0 z-40 -mt-10 flex h-10 w-fit items-center whitespace-nowrap bg-white px-4 !pr-3 shadow-[6px_0px_6px_theme(colors.white)]"
|
20625
|
+
className: "sticky bottom-0 left-0 z-40 -mt-10 flex h-10 w-fit items-center whitespace-nowrap bg-white px-4 !pr-3 shadow-[6px_0px_6px_theme(colors.white)]",
|
20626
|
+
"data-taco": "table2-footer-summary"
|
20534
20627
|
}, label, "\u00A0", count);
|
20535
20628
|
}
|
20536
20629
|
|
@@ -20750,6 +20843,14 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
20750
20843
|
const bodyRef = React__default.useRef(null);
|
20751
20844
|
React__default.useEffect(() => {
|
20752
20845
|
const handleKeyDown = event => {
|
20846
|
+
const target = event.target;
|
20847
|
+
const dialog = target.closest('[role="dialog"]');
|
20848
|
+
const eventOriginatedFromCombobox = !!target.closest('[role="combobox"]');
|
20849
|
+
// Don't trigger global shortcuts on the table if event originated from a combobox or if table is
|
20850
|
+
// outside the dialog
|
20851
|
+
if (eventOriginatedFromCombobox || dialog && !(dialog !== null && dialog !== void 0 && dialog.contains(internalRef.current))) {
|
20852
|
+
return;
|
20853
|
+
}
|
20753
20854
|
tableMeta.hoverState.handleKeyDown(event);
|
20754
20855
|
tableMeta.currentRow.handleKeyDown(event, table.getRowModel().rows.length, scrollToIndex);
|
20755
20856
|
tableMeta.rowClick.handleKeyDown(event, table);
|
@@ -20764,7 +20865,7 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
20764
20865
|
// See https://github.com/e-conomic/taco/blob/dev/packages/taco/src/components/Table3/strategies/virtualised.tsx#L143
|
20765
20866
|
// scrollToIndex function changes when row count changes, so it is important to update handlers with new
|
20766
20867
|
// scrollToIndex function.
|
20767
|
-
[scrollToIndex]);
|
20868
|
+
[scrollToIndex, internalRef.current]);
|
20768
20869
|
const handleBlur = event => {
|
20769
20870
|
tableMeta.editing.handleBlur(event);
|
20770
20871
|
};
|
@@ -20838,7 +20939,7 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
20838
20939
|
role: "rowgroup",
|
20839
20940
|
ref: bodyRef
|
20840
20941
|
}, renderBody())), /*#__PURE__*/React__default.createElement("div", {
|
20841
|
-
className: "border-grey-300 col-span-full -
|
20942
|
+
className: "border-grey-300 col-span-full translate-y-px border-t"
|
20842
20943
|
}), tableMeta.enableFooter ? /*#__PURE__*/React__default.createElement("div", {
|
20843
20944
|
className: "group/footer contents",
|
20844
20945
|
"data-taco": "table2-footer",
|
@@ -20850,6 +20951,7 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
20850
20951
|
}, footerGroup.headers.map(footer => /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
20851
20952
|
key: footer.id
|
20852
20953
|
}, reactTable$1.flexRender(footer.column.columnDef.footer, footer.getContext()))))), length ? /*#__PURE__*/React__default.createElement(Summary$1, {
|
20954
|
+
currentLength: table.getRowModel().rows.length,
|
20853
20955
|
length: length,
|
20854
20956
|
table: table
|
20855
20957
|
}) : null) : null) : /*#__PURE__*/React__default.createElement("div", {
|
@@ -21907,6 +22009,7 @@ exports.parseFromCustomString = parseFromCustomString;
|
|
21907
22009
|
exports.parseFromISOString = parseFromISOString;
|
21908
22010
|
exports.removeChildTableRow = removeChildTableRow;
|
21909
22011
|
exports.setByRowIndexPath = setByRowIndexPath;
|
22012
|
+
exports.shouldTriggerShortcut = shouldTriggerShortcut;
|
21910
22013
|
exports.useBoundaryOverflowDetection = useBoundaryOverflowDetection;
|
21911
22014
|
exports.useBoundingClientRectListener = useBoundingClientRectListener;
|
21912
22015
|
exports.useDropTarget = useDropTarget;
|