carbon-react 158.1.0 → 158.2.0
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/esm/__internal__/utils/helpers/array-move/index.d.ts +15 -0
- package/esm/__internal__/utils/helpers/array-move/index.js +1 -0
- package/esm/components/draggable/__internal__/data.d.ts +26 -0
- package/esm/components/draggable/__internal__/data.js +1 -0
- package/esm/components/draggable/__internal__/drag-drop-provider.d.ts +21 -0
- package/esm/components/draggable/__internal__/drag-drop-provider.js +1 -0
- package/esm/components/draggable/__internal__/index.d.ts +1 -0
- package/esm/components/draggable/__internal__/index.js +1 -0
- package/esm/components/draggable/draggable-container.component.d.ts +1 -1
- package/esm/components/draggable/draggable-container.component.js +1 -1
- package/esm/components/draggable/draggable-item/draggable-item.component.d.ts +3 -14
- package/esm/components/draggable/draggable-item/draggable-item.component.js +1 -1
- package/esm/components/draggable/draggable-item/draggable-item.style.d.ts +13 -4
- package/esm/components/draggable/draggable-item/draggable-item.style.js +1 -1
- package/esm/components/flat-table/__internal__/sortable/data.d.ts +24 -0
- package/esm/components/flat-table/__internal__/sortable/data.js +1 -0
- package/esm/components/flat-table/__internal__/sortable/drag-drop-provider.d.ts +30 -0
- package/esm/components/flat-table/__internal__/sortable/drag-drop-provider.js +1 -0
- package/esm/components/flat-table/__internal__/sortable/index.d.ts +2 -0
- package/esm/components/flat-table/__internal__/sortable/index.js +1 -0
- package/esm/components/flat-table/__internal__/sortable/use-sortable-row.d.ts +14 -0
- package/esm/components/flat-table/__internal__/sortable/use-sortable-row.js +1 -0
- package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.d.ts +1 -1
- package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js +1 -1
- package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.style.d.ts +1 -3
- package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.style.js +1 -1
- package/esm/components/flat-table/flat-table-row/flat-table-row.component.d.ts +4 -13
- package/esm/components/flat-table/flat-table-row/flat-table-row.component.js +1 -1
- package/esm/components/flat-table/flat-table-row/flat-table-row.style.d.ts +2 -1
- package/esm/components/flat-table/flat-table-row/flat-table-row.style.js +1 -1
- package/esm/components/textarea/textarea.component.js +1 -1
- package/lib/__internal__/utils/helpers/array-move/index.d.ts +15 -0
- package/lib/__internal__/utils/helpers/array-move/index.js +1 -0
- package/lib/__internal__/utils/helpers/array-move/package.json +6 -0
- package/lib/components/draggable/__internal__/data.d.ts +26 -0
- package/lib/components/draggable/__internal__/data.js +1 -0
- package/lib/components/draggable/__internal__/drag-drop-provider.d.ts +21 -0
- package/lib/components/draggable/__internal__/drag-drop-provider.js +1 -0
- package/lib/components/draggable/__internal__/index.d.ts +1 -0
- package/lib/components/draggable/__internal__/index.js +1 -0
- package/lib/components/draggable/__internal__/package.json +6 -0
- package/lib/components/draggable/draggable-container.component.d.ts +1 -1
- package/lib/components/draggable/draggable-container.component.js +1 -1
- package/lib/components/draggable/draggable-item/draggable-item.component.d.ts +3 -14
- package/lib/components/draggable/draggable-item/draggable-item.component.js +1 -1
- package/lib/components/draggable/draggable-item/draggable-item.style.d.ts +13 -4
- package/lib/components/draggable/draggable-item/draggable-item.style.js +1 -1
- package/lib/components/flat-table/__internal__/sortable/data.d.ts +24 -0
- package/lib/components/flat-table/__internal__/sortable/data.js +1 -0
- package/lib/components/flat-table/__internal__/sortable/drag-drop-provider.d.ts +30 -0
- package/lib/components/flat-table/__internal__/sortable/drag-drop-provider.js +1 -0
- package/lib/components/flat-table/__internal__/sortable/index.d.ts +2 -0
- package/lib/components/flat-table/__internal__/sortable/index.js +1 -0
- package/lib/components/flat-table/__internal__/sortable/package.json +6 -0
- package/lib/components/flat-table/__internal__/sortable/use-sortable-row.d.ts +14 -0
- package/lib/components/flat-table/__internal__/sortable/use-sortable-row.js +1 -0
- package/lib/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.d.ts +1 -1
- package/lib/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js +1 -1
- package/lib/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.style.d.ts +1 -3
- package/lib/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.style.js +1 -1
- package/lib/components/flat-table/flat-table-row/flat-table-row.component.d.ts +4 -13
- package/lib/components/flat-table/flat-table-row/flat-table-row.component.js +1 -1
- package/lib/components/flat-table/flat-table-row/flat-table-row.style.d.ts +2 -1
- package/lib/components/flat-table/flat-table-row/flat-table-row.style.js +1 -1
- package/lib/components/textarea/textarea.component.js +1 -1
- package/package.json +4 -3
- package/esm/components/draggable/__internal__/drop-target.component.d.ts +0 -8
- package/esm/components/draggable/__internal__/drop-target.component.js +0 -1
- package/esm/components/flat-table/flat-table-row/__internal__/flat-table-row-draggable.component.d.ts +0 -20
- package/esm/components/flat-table/flat-table-row/__internal__/flat-table-row-draggable.component.js +0 -1
- package/lib/components/draggable/__internal__/drop-target.component.d.ts +0 -8
- package/lib/components/draggable/__internal__/drop-target.component.js +0 -1
- package/lib/components/flat-table/flat-table-row/__internal__/flat-table-row-draggable.component.d.ts +0 -20
- package/lib/components/flat-table/flat-table-row/__internal__/flat-table-row-draggable.component.js +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Move an array element from one position to another, without mutating the original array.
|
|
3
|
+
*
|
|
4
|
+
* ```ts
|
|
5
|
+
* const array = ["a", "b", "c", "d"];
|
|
6
|
+
* const result = arrayMove({ array, startIndex: 1, endIndex: 3 });
|
|
7
|
+
* // result is ["a", "c", "d", "b"]
|
|
8
|
+
* ```
|
|
9
|
+
* */
|
|
10
|
+
declare function arrayMove<T>({ array, startIndex, endIndex, }: {
|
|
11
|
+
array: T[];
|
|
12
|
+
startIndex: number;
|
|
13
|
+
endIndex: number;
|
|
14
|
+
}): T[];
|
|
15
|
+
export default arrayMove;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e({array:e,startIndex:r,endIndex:n}){if(r===n||r<0||n<0||r>=e.length||n>=e.length)return e;const t=Array.from(e),[a]=t.splice(r,1);return t.splice(n,0,a),t}export{e as default};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** Helper functions for safer type checking. */
|
|
2
|
+
declare const PRIVATE_DRAGGABLE_KEY: unique symbol;
|
|
3
|
+
declare const PRIVATE_DROP_TARGET_KEY: unique symbol;
|
|
4
|
+
export type Draggable = {
|
|
5
|
+
[PRIVATE_DRAGGABLE_KEY]: true;
|
|
6
|
+
/** Unique identifier of the draggable item */
|
|
7
|
+
id: string;
|
|
8
|
+
/** The index of the draggable item when dragging was initiated */
|
|
9
|
+
initialIndex: number;
|
|
10
|
+
/** Bounding rectangle of the draggable item */
|
|
11
|
+
rect: DOMRect;
|
|
12
|
+
/** Unique identifier of the context instance the item belongs to */
|
|
13
|
+
contextId: symbol;
|
|
14
|
+
};
|
|
15
|
+
export type DropTarget = {
|
|
16
|
+
[PRIVATE_DROP_TARGET_KEY]: true;
|
|
17
|
+
/** Unique identifier of the drop target */
|
|
18
|
+
id: string;
|
|
19
|
+
/** Unique identifier of the context instance the drop target belongs to */
|
|
20
|
+
contextId: symbol;
|
|
21
|
+
};
|
|
22
|
+
export declare function getDraggable(data: Omit<Draggable, typeof PRIVATE_DRAGGABLE_KEY>): Draggable;
|
|
23
|
+
export declare function getDropTarget(data: Omit<DropTarget, typeof PRIVATE_DROP_TARGET_KEY>): DropTarget;
|
|
24
|
+
export declare function isDraggable(data: Record<string | symbol, unknown>): data is Draggable;
|
|
25
|
+
export declare function isDropTarget(data: Record<string | symbol, unknown>): data is DropTarget;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function n(n,e,r){return e in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function e(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})))),o.forEach((function(r){n(e,r,t[r])}))}return e}const r=Symbol("drag"),t=Symbol("drop");function o(n){return e({[r]:!0},n)}function u(n){return e({[t]:!0},n)}function c(n){return Boolean(n[r])}function f(n){return Boolean(n[t])}export{o as getDraggable,u as getDropTarget,c as isDraggable,f as isDropTarget};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Draggable, DropTarget } from "./data";
|
|
3
|
+
export interface DragDropProviderProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/**
|
|
6
|
+
* Callback fired when an item is dropped.
|
|
7
|
+
*
|
|
8
|
+
* Provides data about the dragged item and the drop target (if any) as arguments.
|
|
9
|
+
*/
|
|
10
|
+
onDrop?: (args: {
|
|
11
|
+
dragged: Draggable;
|
|
12
|
+
target: DropTarget | null;
|
|
13
|
+
}) => void;
|
|
14
|
+
}
|
|
15
|
+
type DragDropContextType = {
|
|
16
|
+
/** Identifier of the context instance. */
|
|
17
|
+
contextId: symbol;
|
|
18
|
+
};
|
|
19
|
+
export declare function useDragDropContext(): DragDropContextType | null;
|
|
20
|
+
export declare const DragDropProvider: ({ children, onDrop, }: DragDropProviderProps) => React.JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import r,{createContext as a,useEffect as e}from"react";import{isDraggable as o,isDropTarget as n}from"./data.js";import{monitorForElements as d}from"@atlaskit/pragmatic-drag-and-drop/element/adapter";const c=a(null);function l(){return r.useContext(c)}const u=({children:a,onDrop:l})=>{const[u]=r.useState((()=>Symbol("draggable-context")));return e((()=>d({canMonitor:({source:t})=>o(t.data)&&t.data.contextId===u,onDrop:({source:t,location:r})=>{if(!o(t.data))return;if(!r.current.dropTargets.length)return void(null==l||l({dragged:t.data,target:null}));const a=r.current.dropTargets[0];n(a.data)&&(null==l||l({dragged:t.data,target:a.data}))}})),[u,l]),t(c.Provider,{value:{contextId:u},children:a})};export{u as DragDropProvider,l as useDragDropContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DragDropProvider, useDragDropContext } from "./drag-drop-provider";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{DragDropProvider,useDragDropContext}from"./drag-drop-provider.js";
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { MarginProps } from "styled-system";
|
|
3
3
|
import { TagProps } from "../../__internal__/utils/helpers/tags";
|
|
4
4
|
export interface DraggableContainerProps extends MarginProps, TagProps {
|
|
5
|
-
/** Callback fired when
|
|
5
|
+
/** Callback fired when an item is successfully dropped. */
|
|
6
6
|
getOrder?: (draggableItemIds?: (string | number | undefined)[], movedItemId?: string | number | undefined) => void;
|
|
7
7
|
/**
|
|
8
8
|
* The content of the component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import r,{useState as t,
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import r,{useState as t,useRef as n,useEffect as i}from"react";import o from"invariant";import"../../style/utils/filter-styled-system-padding-props.js";import a from"../../style/utils/filter-styled-system-margin-props.js";import l from"./draggable-item/draggable-item.component.js";import{StyledDraggableContainer as d}from"./draggable-item/draggable-item.style.js";import{DragDropProvider as p}from"./__internal__/drag-drop-provider.js";import s from"../../__internal__/utils/helpers/array-move/index.js";import{extractClosestEdge as c}from"@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge";import{reorderWithEdge as m}from"@atlaskit/pragmatic-drag-and-drop-hitbox/util/reorder-with-edge";function f(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}const g=y=>{var{"data-element":b,"data-role":u="draggable-container",children:O,getOrder:j,flexDirection:x="row"}=y,h=function(e,r){if(null==e)return{};var t,n,i=function(e,r){if(null==e)return{};var t,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}(y,["data-element","data-role","children","getOrder","flexDirection"]);const[v,w]=t(r.Children.toArray(O)),P=n(!0);i((()=>{P.current?P.current=!1:w(r.Children.toArray(O))}),[O]);const D=v.every((e=>{return t=e,r.isValidElement(t)&&"DraggableItem"===t.type.displayName;var t}));o(D,`\`${g.displayName}\` only accepts children of type \`${l.displayName}\`.`);const I=a(h);return e(d,(S=function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){f(e,r,t[r])}))}return e}({"data-component":"draggable-container","data-element":b,"data-role":u},I),_={children:e(p,{onDrop:({dragged:e,target:r})=>{if(r){const t=c(r);if(!t)return;const n=m({list:v,startIndex:v.findIndex((r=>String(r.props.id)===e.id)),indexOfTarget:v.findIndex((e=>String(e.props.id)===r.id)),closestEdgeOfTarget:t,axis:"vertical"});w(n);const i=n.map((e=>e.props.id));null==j||j(i,e.id)}else w(s({array:v,startIndex:v.findIndex((r=>String(r.props.id)===e.id)),endIndex:e.initialIndex}))},children:v.map(((e,t)=>r.cloneElement(e,{id:e.props.id,index:t,flexDirection:x},[e.props.children])))})},_=null!=_?_:{},Object.getOwnPropertyDescriptors?Object.defineProperties(S,Object.getOwnPropertyDescriptors(_)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(_)).forEach((function(e){Object.defineProperty(S,e,Object.getOwnPropertyDescriptor(_,e))})),S));var S,_};g.displayName="DraggableContainer";export{g as default};
|
|
@@ -10,19 +10,8 @@ export interface DraggableItemProps extends PaddingProps, TagProps {
|
|
|
10
10
|
id: number | string;
|
|
11
11
|
/** The content of the component. */
|
|
12
12
|
children: React.ReactNode;
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
* @ignore
|
|
16
|
-
*/
|
|
17
|
-
findItem?: (id: string | number) => {
|
|
18
|
-
DraggableItemProps: React.ReactElement;
|
|
19
|
-
index: number;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* @private
|
|
23
|
-
* @ignore
|
|
24
|
-
*/
|
|
25
|
-
moveItem?: (droppedId: string | number, overIndex: number | undefined) => void;
|
|
13
|
+
/** @private @ignore */
|
|
14
|
+
index?: number;
|
|
26
15
|
/**
|
|
27
16
|
* @private
|
|
28
17
|
* @ignore
|
|
@@ -30,7 +19,7 @@ export interface DraggableItemProps extends PaddingProps, TagProps {
|
|
|
30
19
|
flexDirection?: "row" | "row-reverse";
|
|
31
20
|
}
|
|
32
21
|
declare const DraggableItem: {
|
|
33
|
-
({ id
|
|
22
|
+
({ id: idProp, index: indexProp, children, py, flexDirection, "data-element": dataElement, "data-role": dataRole, ...rest }: DraggableItemProps): JSX.Element;
|
|
34
23
|
displayName: string;
|
|
35
24
|
};
|
|
36
25
|
export default DraggableItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useRef as r,useState as n,useEffect as o}from"react";import a from"invariant";import{draggable as i,dropTargetForElements as d}from"@atlaskit/pragmatic-drag-and-drop/element/adapter";import{combine as c}from"@atlaskit/pragmatic-drag-and-drop/combine";import{extractClosestEdge as l,attachClosestEdge as s}from"@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge";import g from"../../../__internal__/utils/helpers/tags/tags.js";import p from"../../../style/utils/filter-styled-system-padding-props.js";import{StyledDraggableItem as f,StyledItemContent as m}from"./draggable-item.style.js";import u from"../../icon/icon.component.js";import{useDragDropContext as y}from"../__internal__/drag-drop-provider.js";import{getDraggable as b,isDraggable as O,getDropTarget as j}from"../__internal__/data.js";function D(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){D(e,t,r[t])}))}return e}function v(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}const x=D=>{var{id:x,index:P,children:w,py:_=1,flexDirection:E,"data-element":S,"data-role":I="draggable-item"}=D,k=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(D,["id","index","children","py","flexDirection","data-element","data-role"]);const R=String(x),L=P,A=r(null),B=y(),[C,N]=n({type:"idle"}),q=p(k),z="is-dragging"===C.type,F="is-covered"===C.type,G="is-dragging-and-left-self"===C.type;return o((()=>{const e=A.current;if(!e)return;a(B,"Expected context to be defined. Please ensure your component is within a DragDropProvider.");const{contextId:t}=B;return c(i({element:e,getInitialData:()=>b({id:R,initialIndex:L,rect:e.getBoundingClientRect(),contextId:t}),onDragStart:()=>N({type:"is-dragging"}),onDrop:()=>N({type:"idle"})}),d({element:e,getData:({input:r})=>{const n=j({id:R,contextId:t});return s(n,{element:e,input:r,allowedEdges:["top","bottom"]})},canDrop:({source:e})=>O(e.data)&&e.data.contextId===t,onDragEnter:({source:e,self:t})=>{if(!O(e.data))return;const r=l(t.data);r&&N({type:"is-covered",draggedRect:e.data.rect,closestEdge:r})},onDrag:({source:e,self:t})=>{if(!O(e.data))return;if(e.data.id===R)return;const r=l(t.data);r&&(F&&C.closestEdge===r||N({type:"is-covered",draggedRect:e.data.rect,closestEdge:r}))},onDragLeave:({source:e})=>{O(e.data)&&(e.data.id===R?N({type:"is-dragging-and-left-self"}):N({type:"idle"}))},onDrop:()=>{N({type:"idle"})}}))}),[B,R,L,F,A,C]),e(f,v(h({ref:A,isDragging:z,isDraggingAndLeftSelf:G,shadowStyling:F?{closestEdge:C.closestEdge,height:C.draggedRect.height}:void 0},g("draggable-item",{"data-element":S,"data-role":I})),{children:t(m,v(h({py:_,"data-role":"draggable-item-content",flexDirection:E},q),{children:[w,e(u,{type:"drag"})]}))}))};x.displayName="DraggableItem";export{x as default};
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { PaddingProps } from "styled-system";
|
|
2
|
+
import { type Edge } from "@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge";
|
|
2
3
|
declare const StyledDraggableContainer: import("styled-components").StyledComponent<"div", any, {
|
|
3
4
|
theme: object;
|
|
4
5
|
}, "theme">;
|
|
5
|
-
interface StyledDraggableItemProps
|
|
6
|
+
interface StyledDraggableItemProps {
|
|
6
7
|
isDragging?: boolean;
|
|
8
|
+
isDraggingAndLeftSelf?: boolean;
|
|
9
|
+
shadowStyling?: {
|
|
10
|
+
closestEdge: Edge;
|
|
11
|
+
height: number;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
declare const StyledDraggableItem: import("styled-components").StyledComponent<"div", any, StyledDraggableItemProps, never>;
|
|
15
|
+
interface StyledItemContentProps extends PaddingProps {
|
|
7
16
|
flexDirection?: "row" | "row-reverse";
|
|
8
17
|
}
|
|
9
|
-
declare const
|
|
18
|
+
declare const StyledItemContent: import("styled-components").StyledComponent<"div", any, {
|
|
10
19
|
theme: object;
|
|
11
|
-
} &
|
|
12
|
-
export { StyledDraggableContainer, StyledDraggableItem };
|
|
20
|
+
} & StyledItemContentProps, "theme">;
|
|
21
|
+
export { StyledDraggableContainer, StyledDraggableItem, StyledItemContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e
|
|
1
|
+
import t,{css as e}from"styled-components";import{margin as o,padding as i}from"styled-system";import s from"../../../style/themes/apply-base-theme.js";const a=t.div.attrs(s).withConfig({displayName:"draggable-item.style__StyledDraggableContainer",componentId:"sc-b40520d8-0"})(["",""],o),l=t.div.withConfig({displayName:"draggable-item.style__StyledDraggableItem",componentId:"sc-b40520d8-1"})(["opacity:",";"," "," ",""],(({isDragging:t})=>t?"0":"1"),(({isDraggingAndLeftSelf:t})=>t&&e(["display:none;"])),(({shadowStyling:t})=>t&&"top"===t.closestEdge&&e(['&::before{content:"";display:block;height:',"px;}"],t.height)),(({shadowStyling:t})=>t&&"bottom"===t.closestEdge&&e(['&::after{content:"";display:block;height:',"px;}"],t.height))),n=t.div.attrs(s).withConfig({displayName:"draggable-item.style__StyledItemContent",componentId:"sc-b40520d8-2"})(["display:flex;align-items:center;border-bottom:1px solid var(--colorsUtilityMajor050);"," cursor:grab;justify-content:space-between;flex-direction:",";"],i,(({flexDirection:t})=>t));export{a as StyledDraggableContainer,l as StyledDraggableItem,n as StyledItemContent};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Helper functions for safer type checking. */
|
|
2
|
+
declare const PRIVATE_DRAGGABLE_KEY: unique symbol;
|
|
3
|
+
declare const PRIVATE_DROP_TARGET_KEY: unique symbol;
|
|
4
|
+
export type Draggable = {
|
|
5
|
+
[PRIVATE_DRAGGABLE_KEY]: true;
|
|
6
|
+
/** Unique identifier of the draggable item */
|
|
7
|
+
id: string;
|
|
8
|
+
/** The index of the draggable item when dragging was initiated */
|
|
9
|
+
initialIndex: number;
|
|
10
|
+
/** Unique identifier of the context instance the item belongs to */
|
|
11
|
+
contextId: symbol;
|
|
12
|
+
};
|
|
13
|
+
export type DropTarget = {
|
|
14
|
+
[PRIVATE_DROP_TARGET_KEY]: true;
|
|
15
|
+
/** Unique identifier of the drop target */
|
|
16
|
+
id: string;
|
|
17
|
+
/** Unique identifier of the context instance the drop target belongs to */
|
|
18
|
+
contextId: symbol;
|
|
19
|
+
};
|
|
20
|
+
export declare function getDraggable(data: Omit<Draggable, typeof PRIVATE_DRAGGABLE_KEY>): Draggable;
|
|
21
|
+
export declare function getDropTarget(data: Omit<DropTarget, typeof PRIVATE_DROP_TARGET_KEY>): DropTarget;
|
|
22
|
+
export declare function isDraggable(data: Record<string | symbol, unknown>): data is Draggable;
|
|
23
|
+
export declare function isDropTarget(data: Record<string | symbol, unknown>): data is DropTarget;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function n(n,e,r){return e in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function e(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})))),o.forEach((function(r){n(e,r,t[r])}))}return e}const r=Symbol("drag"),t=Symbol("drop");function o(n){return e({[r]:!0},n)}function u(n){return e({[t]:!0},n)}function c(n){return Boolean(n[r])}function f(n){return Boolean(n[t])}export{o as getDraggable,u as getDropTarget,c as isDraggable,f as isDropTarget};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Draggable, DropTarget } from "./data";
|
|
3
|
+
export interface DragDropProviderProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/**
|
|
6
|
+
* Callback fired when an item is dropped.
|
|
7
|
+
*
|
|
8
|
+
* Provides data about the dragged item and the drop target (if any) as arguments.
|
|
9
|
+
*/
|
|
10
|
+
onDrop?: (args: {
|
|
11
|
+
dragged: Draggable;
|
|
12
|
+
target: DropTarget | null;
|
|
13
|
+
}) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Callback fired when a dragged item leaves a drop target, or moves over a new one.
|
|
16
|
+
*
|
|
17
|
+
* Provides data about the dragged item and the drop target (if any) as arguments.
|
|
18
|
+
*/
|
|
19
|
+
onDropTargetChange?: (args: {
|
|
20
|
+
dragged: Draggable;
|
|
21
|
+
target: DropTarget | null;
|
|
22
|
+
}) => void;
|
|
23
|
+
}
|
|
24
|
+
type DragDropContextType = {
|
|
25
|
+
/** Identifier of the context instance. */
|
|
26
|
+
contextId: symbol;
|
|
27
|
+
};
|
|
28
|
+
declare function useDragDropContext(): DragDropContextType | null;
|
|
29
|
+
declare const DragDropProvider: ({ children, onDrop, onDropTargetChange, }: DragDropProviderProps) => React.JSX.Element;
|
|
30
|
+
export { DragDropProvider, useDragDropContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{useContext as t,createContext as a,useState as e,useEffect as o}from"react";import{monitorForElements as n}from"@atlaskit/pragmatic-drag-and-drop/element/adapter";import{isDraggable as d,isDropTarget as g}from"./data.js";const l=a(null);function c(){return t(l)}const u=({children:t,onDrop:a,onDropTargetChange:c})=>{const[u]=e((()=>Symbol("drag-drop-provider-id")));return o((()=>n({canMonitor:({source:r})=>d(r.data)&&r.data.contextId===u,onDrop:({source:r,location:t})=>{if(!d(r.data))return;if(!t.current.dropTargets.length)return void(null==a||a({dragged:r.data,target:null}));const e=t.current.dropTargets[0];g(e.data)&&(null==a||a({dragged:r.data,target:e.data}))},onDropTargetChange:({source:r,location:t})=>{if(!d(r.data))return;if(!t.current.dropTargets.length)return void(null==c||c({dragged:r.data,target:null}));const a=t.current.dropTargets[0];g(a.data)&&(null==c||c({dragged:r.data,target:a.data}))}})),[u,a,c]),r(l.Provider,{value:{contextId:u},children:t})};export{u as DragDropProvider,c as useDragDropContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{DragDropProvider}from"./drag-drop-provider.js";export{default as useSortableRow}from"./use-sortable-row.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface UseSortableRowArgs {
|
|
2
|
+
/** Unique identifier for the referenced element. */
|
|
3
|
+
id: string;
|
|
4
|
+
/** Index of the referenced element in a list. */
|
|
5
|
+
index: number;
|
|
6
|
+
/** Ref of the element to be made draggable and a drop target. */
|
|
7
|
+
ref: React.RefObject<HTMLElement> | null;
|
|
8
|
+
}
|
|
9
|
+
interface UseSortableRowReturn {
|
|
10
|
+
/** Whether the referenced element is currently being dragged. */
|
|
11
|
+
isDragging: boolean;
|
|
12
|
+
}
|
|
13
|
+
declare function useSortableRow({ id, index, ref, }: UseSortableRowArgs): UseSortableRowReturn;
|
|
14
|
+
export default useSortableRow;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useState as t,useEffect as r}from"react";import{draggable as e,dropTargetForElements as a}from"@atlaskit/pragmatic-drag-and-drop/element/adapter";import{combine as o}from"@atlaskit/pragmatic-drag-and-drop/combine";import{getDraggable as n,isDraggable as i,getDropTarget as d}from"./data.js";import{useDragDropContext as m}from"./drag-drop-provider.js";import p from"invariant";function c({id:c,index:s,ref:g}){const f=m(),[l,u]=t(!1);return r((()=>{const t=null==g?void 0:g.current;if(!t)return;p(f,"Expected context to be defined. Please ensure your component is within a DragDropProvider.");const{contextId:r}=f;return o(e({element:t,getInitialData:()=>n({id:c,initialIndex:s,contextId:r}),onDragStart:()=>u(!0),onDrop:()=>u(!1)}),a({element:t,getData:()=>d({id:c,contextId:r}),canDrop:({source:t})=>i(t.data)&&t.data.contextId===r}))}),[f,c,s,g]),{isDragging:l}}export{c as default};
|
package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export interface FlatTableBodyDraggableProps extends TagProps {
|
|
|
4
4
|
/** Array of FlatTableRow. */
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
/** Callback fired when order is changed */
|
|
7
|
-
getOrder?: (draggableItemIds?: number[]) => void;
|
|
7
|
+
getOrder?: (draggableItemIds?: (string | number | undefined)[]) => void;
|
|
8
8
|
}
|
|
9
9
|
export declare const FlatTableBodyDraggable: ({ children, getOrder, ...rest }: FlatTableBodyDraggableProps) => React.JSX.Element;
|
|
10
10
|
export default FlatTableBodyDraggable;
|
package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import e,{useState as t,useRef as n,useEffect as o}from"react";import a from"../../icon/icon.style.js";import i from"./flat-table-body-draggable.style.js";import{FlatTableCell as l}from"../flat-table-cell/flat-table-cell.component.js";import p from"invariant";import d from"../../../__internal__/utils/helpers/array-move/index.js";import{DragDropProvider as c}from"../__internal__/sortable/drag-drop-provider.js";import"@atlaskit/pragmatic-drag-and-drop/element/adapter";import"@atlaskit/pragmatic-drag-and-drop/combine";function s(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function b(r){return e.isValidElement(r)&&"FlatTableRow"===r.type.displayName}const f=f=>{var{children:g,getOrder:y}=f,m=function(r,e){if(null==r)return{};var t,n,o=function(r,e){if(null==r)return{};var t,n,o={},a=Object.keys(r);for(n=0;n<a.length;n++)t=a[n],e.indexOf(t)>=0||(o[t]=r[t]);return o}(r,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);for(n=0;n<a.length;n++)t=a[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(r,t)&&(o[t]=r[t])}return o}(f,["children","getOrder"]);const[u,O]=t(e.Children.toArray(g)),j=n(!0);o((()=>{j.current?j.current=!1:O(e.Children.toArray(g))}),[g]);const h=u.every(b);return p(h,"FlatTableBodyDraggable only accepts children of type FlatTableRow."),r(i,(v=function(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})))),n.forEach((function(e){s(r,e,t[e])}))}return r}({"data-component":"flat-table-body-draggable","data-role":"flat-table-body-draggable"},m),x={children:r(c,{onDrop:({dragged:r,target:e})=>{if(e){const r=u.map((r=>r.props.id));null==y||y(r)}else O(d({array:u,startIndex:u.findIndex((e=>String(e.props.id)===r.id)),endIndex:r.initialIndex}))},onDropTargetChange:({dragged:r,target:e})=>{e&&O(d({array:u,startIndex:u.findIndex((e=>String(e.props.id)===r.id)),endIndex:u.findIndex((r=>String(r.props.id)===e.id))}))},children:u.map(((t,n)=>e.cloneElement(t,{id:`${t.props.id}`,draggableProps:{index:n}},[r(l,{children:r(a,{type:"drag"})},t.props.id),t.props.children])))})},x=null!=x?x:{},Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(x)):function(r){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e.push.apply(e,t)}return e}(Object(x)).forEach((function(r){Object.defineProperty(v,r,Object.getOwnPropertyDescriptor(x,r))})),v));var v,x};export{f as FlatTableBodyDraggable,f as default};
|
package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.style.d.ts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
declare const StyledFlatTableBodyDraggable: import("styled-components").StyledComponent<"tbody", any, {
|
|
2
|
-
isDragging: boolean;
|
|
3
|
-
}, never>;
|
|
1
|
+
declare const StyledFlatTableBodyDraggable: import("styled-components").StyledComponent<"tbody", any, {}, never>;
|
|
4
2
|
export default StyledFlatTableBodyDraggable;
|
package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.style.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import a
|
|
1
|
+
import a from"styled-components";const t=a.tbody.withConfig({displayName:"flat-table-body-draggable.style__StyledFlatTableBodyDraggable",componentId:"sc-afbd7e57-0"})(["cursor:grab;"]);export{t as default};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { TagProps } from "../../../__internal__/utils/helpers/tags";
|
|
3
3
|
import { TableBorderSize } from "..";
|
|
4
|
-
import { FlatTableRowDraggableProps } from "./__internal__/flat-table-row-draggable.component";
|
|
5
4
|
export interface FlatTableRowProps extends TagProps {
|
|
6
5
|
/** Overrides default cell color, provide design token, any color from palette or any valid css color value. */
|
|
7
6
|
bgColor?: string;
|
|
@@ -26,18 +25,10 @@ export interface FlatTableRowProps extends TagProps {
|
|
|
26
25
|
/** Sub rows to be shown when the row is expanded, must be used with the `expandable` prop. */
|
|
27
26
|
subRows?: React.ReactNode;
|
|
28
27
|
id?: string | number;
|
|
29
|
-
/**
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
findItem?: FlatTableRowDraggableProps["findItem"];
|
|
34
|
-
/**
|
|
35
|
-
* @private
|
|
36
|
-
* @ignore
|
|
37
|
-
*/
|
|
38
|
-
moveItem?: FlatTableRowDraggableProps["moveItem"];
|
|
39
|
-
/** @ignore @private position in header if multiple rows */
|
|
40
|
-
draggable?: boolean;
|
|
28
|
+
/** @ignore @private Internal props, set by parent `FlatTableBodyDraggable`, for enabling drag and drop behaviour on the row. */
|
|
29
|
+
draggableProps?: {
|
|
30
|
+
index: number;
|
|
31
|
+
};
|
|
41
32
|
}
|
|
42
33
|
export declare const FlatTableRow: React.ForwardRefExoticComponent<FlatTableRowProps & React.RefAttributes<HTMLTableRowElement>>;
|
|
43
34
|
export default FlatTableRow;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,Fragment as t,jsx as r}from"react/jsx-runtime";import o,{useRef as n,useState as i,useLayoutEffect as l,useMemo as a,useContext as
|
|
1
|
+
import{jsxs as e,Fragment as t,jsx as r}from"react/jsx-runtime";import o,{useRef as n,useState as i,useLayoutEffect as l,useMemo as a,useContext as s,useEffect as d}from"react";import c from"invariant";import f from"../../../__internal__/utils/helpers/events/events.js";import u from"./flat-table-row.style.js";import b from"../../drawer/__internal__/drawer-sidebar.context.js";import{FlatTableRowHeader as p}from"../flat-table-row-header/flat-table-row-header.component.js";import{useStrictFlatTableContext as m}from"../__internal__/strict-flat-table.context.js";import h from"../../../__internal__/utils/helpers/guid/index.js";import g from"./__internal__/flat-table-row.context.js";import w,{SubRowContext as y}from"./__internal__/sub-row-provider.js";import _ from"../__internal__/build-position-map.js";import O from"../flat-table-head/__internal__/flat-table-head.context.js";import"@atlaskit/pragmatic-drag-and-drop/element/adapter";import j from"../__internal__/sortable/use-sortable-row.js";function v(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){v(e,t,r[t])}))}return e}const S=o.forwardRef(((o,v)=>{var S,{children:P,onClick:C,expandable:R,expandableArea:k="wholeRow",expanded:I=!1,highlighted:z,selected:D,subRows:E,bgColor:A,horizontalBorderColor:B,horizontalBorderSize:K="small",id:H,draggableProps:T,"data-element":F,"data-role":N}=o,W=function(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(o,["children","onClick","expandable","expandableArea","expanded","highlighted","selected","subRows","bgColor","horizontalBorderColor","horizontalBorderSize","id","draggableProps","data-element","data-role"]);const $=n(H?String(H):h()),[q,G]=i(I),J=n(null),L="firstColumn"===k,[M,Q]=i({}),[U,V]=i({}),[X,Y]=i(0),[Z,ee]=i(-1),[te,re]=i(-1),[oe,ne]=i(null),[ie,le]=i([]),[ae,se]=i(-1);let de={};l((()=>{var e;const t=(e,t)=>{const r=Object.keys(e),o=Object.keys(t);return r.length!==o.length||r.some((r=>e[r]!==t[r]))},r=null===(e=J.current)||void 0===e?void 0:e.querySelectorAll("th, td"),o=Array.from(r||[]);le(o);const n=o.findIndex((e=>"flat-table-checkbox"!==e.getAttribute("data-component"))),i=o.findIndex((e=>"left"===e.getAttribute("data-sticky-align"))),l=o.findIndex((e=>"right"===e.getAttribute("data-sticky-align")));if(ee(i),re(l),-1!==n?(Y(n),ne(o[n].getAttribute("id"))):Y(0),-1!==i){const e=_(o.slice(0,Z+1),"offsetWidth");t(e,M)&&Q(e)}if(-1!==l){const e=_(o.slice(te,o.length).reverse(),"offsetWidth");t(e,U)&&V(e)}}),[P,M,Z,te,U]);const ce=a((()=>!(-1!==Z)||!(-1!==te)||Z<te),[Z,te]);c(ce,`Do not render a right hand side \`${p.displayName}\` before left hand side \`${p.displayName}\``);const{colorTheme:fe,size:ue,getTabStopElementId:be}=m(),{isInSidebar:pe}=s(b),{stickyOffsets:me}=s(O),he=()=>G(!q);(C||R)&&(de={isRowInteractive:!L,tabIndex:L?void 0:ae,onKeyDown:function(e){const t=f.isEnterKey(e)||f.isSpaceKey(e);R&&!L&&document.activeElement===J.current&&t&&(e.preventDefault(),he()),t&&C&&C(e)},isFirstColumnInteractive:L,isExpanded:q}),d((()=>{G(I)}),[I]),d((()=>{se(be()===$.current?0:-1)}),[be]);const{isSubRow:ge,firstRowId:we,addRow:ye,removeRow:_e}=s(y);d((()=>{const e=$.current;return ye(e),()=>{_e(e)}}),[ye,_e]);const Oe=we===$.current,{isDragging:je}=j({id:$.current,index:null==T?void 0:T.index,ref:T?J:null});return e(t,{children:[r(u,(ve=x({isInSidebar:pe,expandable:R,isSubRow:ge,isFirstSubRow:Oe,"data-element":F||(ge?"flat-table-sub-row":"flat-table-row"),"data-role":N,highlighted:z,selected:D,onClick:function(e){C&&C(e),R&&!L&&he()},firstCellIndex:X,ref:e=>{"function"==typeof v?v(e):v&&(v.current=e),J.current=e},lhsRowHeaderIndex:Z,rhsRowHeaderIndex:te,colorTheme:fe,size:ue,stickyOffset:me[$.current],bgColor:A,horizontalBorderColor:B,horizontalBorderSize:K,draggable:!!T,isDragging:je,totalChildren:ie.length,id:$.current,"data-selected":D&&"wholeRow"===k,"data-highlighted":z&&"wholeRow"===k,rowHeight:null==J||null===(S=J.current)||void 0===S?void 0:S.offsetHeight},de,W),xe={"data-component":"flat-table-row",children:r(g.Provider,{value:{firstCellId:oe,expandable:R,leftPositions:M,rightPositions:U,firstColumnExpandable:L,onKeyDown:function(e){(f.isEnterKey(e)||f.isSpaceKey(e))&&(e.preventDefault(),he())},onClick:()=>he(),highlighted:z,selected:D},children:P})},xe=null!=xe?xe:{},Object.getOwnPropertyDescriptors?Object.defineProperties(ve,Object.getOwnPropertyDescriptors(xe)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(xe)).forEach((function(e){Object.defineProperty(ve,e,Object.getOwnPropertyDescriptor(xe,e))})),ve)),q&&E&&r(w,{children:E})]});var ve,xe}));S.displayName="FlatTableRow";export{S as FlatTableRow,S as default};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FlatTableProps } from "..";
|
|
2
2
|
import { FlatTableRowProps } from "./flat-table-row.component";
|
|
3
|
-
interface StyledFlatTableRowProps extends Pick<FlatTableRowProps, "bgColor" | "horizontalBorderColor" | "expandable" | "selected" | "highlighted"
|
|
3
|
+
interface StyledFlatTableRowProps extends Pick<FlatTableRowProps, "bgColor" | "horizontalBorderColor" | "expandable" | "selected" | "highlighted"> {
|
|
4
4
|
isRowInteractive?: boolean;
|
|
5
5
|
isFirstColumnInteractive?: boolean;
|
|
6
6
|
lhsRowHeaderIndex: number;
|
|
@@ -12,6 +12,7 @@ interface StyledFlatTableRowProps extends Pick<FlatTableRowProps, "bgColor" | "h
|
|
|
12
12
|
isInSidebar?: boolean;
|
|
13
13
|
size: FlatTableProps["size"];
|
|
14
14
|
isDragging?: boolean;
|
|
15
|
+
draggable?: boolean;
|
|
15
16
|
horizontalBorderSize: NonNullable<FlatTableRowProps["horizontalBorderSize"]>;
|
|
16
17
|
isSubRow?: boolean;
|
|
17
18
|
isFirstSubRow?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import o,{css as r}from"styled-components";import t from"../../../style/themes/apply-base-theme.js";import{StyledFlatTableCell as e}from"../flat-table-cell/flat-table-cell.style.js";import{StyledFlatTableRowHeader as i}from"../flat-table-row-header/flat-table-row-header.style.js";import l from"../flat-table-checkbox/flat-table-checkbox.style.js";import a from"../flat-table-header/flat-table-header.style.js";import s from"../../icon/icon.style.js";import{toColor as n}from"../../../style/utils/color.js";import d from"../../../style/utils/add-focus-styling.js";import{getNavigator as c}from"../../../__internal__/dom/globals.js";import{isSafari as b}from"../../../__internal__/utils/helpers/browser-type-check/index.js";const p={medium:"2px",large:"4px"},h=o=>`\n ${d(!0)}\n z-index: ${o.zIndex.overlay+5};\n `,f=o=>`\n width: calc(100% + 1px);\n z-index: ${o.zIndex.overlay};\n :before {\n content: "";\n border-top: 2px solid var(--colorsSemanticFocus500);\n border-bottom: 2px solid var(--colorsSemanticFocus500);\n display: block;\n left: -2px;\n top: 0px;\n height: calc(100% - 3px);\n width: 103%;\n position: absolute;\n z-index: ${o.zIndex.overlay};\n }\n }\n `,v=o=>{switch(o){case"light":return"var(--colorsUtilityMajor100)";case"transparent-base":return"var(--colorsUtilityMajor025)";case"transparent-white":return"var(--colorsUtilityYang100)";default:return"var(--colorsUtilityMajor400)"}},y=o=>{switch(o){case"transparent-base":return"var(--colorsUtilityMajor025)";case"transparent-white":return"var(--colorsUtilityYang100)";default:return"var(--colorsUtilityMajor100)"}},m=o.tr.attrs(t).withConfig({displayName:"flat-table-row.style__StyledFlatTableRow",componentId:"sc-
|
|
1
|
+
import o,{css as r}from"styled-components";import t from"../../../style/themes/apply-base-theme.js";import{StyledFlatTableCell as e}from"../flat-table-cell/flat-table-cell.style.js";import{StyledFlatTableRowHeader as i}from"../flat-table-row-header/flat-table-row-header.style.js";import l from"../flat-table-checkbox/flat-table-checkbox.style.js";import a from"../flat-table-header/flat-table-header.style.js";import s from"../../icon/icon.style.js";import{toColor as n}from"../../../style/utils/color.js";import d from"../../../style/utils/add-focus-styling.js";import{getNavigator as c}from"../../../__internal__/dom/globals.js";import{isSafari as b}from"../../../__internal__/utils/helpers/browser-type-check/index.js";const p={medium:"2px",large:"4px"},h=o=>`\n ${d(!0)}\n z-index: ${o.zIndex.overlay+5};\n `,f=o=>`\n width: calc(100% + 1px);\n z-index: ${o.zIndex.overlay};\n :before {\n content: "";\n border-top: 2px solid var(--colorsSemanticFocus500);\n border-bottom: 2px solid var(--colorsSemanticFocus500);\n display: block;\n left: -2px;\n top: 0px;\n height: calc(100% - 3px);\n width: 103%;\n position: absolute;\n z-index: ${o.zIndex.overlay};\n }\n }\n `,v=o=>{switch(o){case"light":return"var(--colorsUtilityMajor100)";case"transparent-base":return"var(--colorsUtilityMajor025)";case"transparent-white":return"var(--colorsUtilityYang100)";default:return"var(--colorsUtilityMajor400)"}},y=o=>{switch(o){case"transparent-base":return"var(--colorsUtilityMajor025)";case"transparent-white":return"var(--colorsUtilityYang100)";default:return"var(--colorsUtilityMajor100)"}},m=o.tr.attrs(t).withConfig({displayName:"flat-table-row.style__StyledFlatTableRow",componentId:"sc-4daf4fd4-0"})(["",""],(({bgColor:o,horizontalBorderColor:t,horizontalBorderSize:d,stickyOffset:m,isRowInteractive:u,isFirstColumnInteractive:x,lhsRowHeaderIndex:g,rhsRowHeaderIndex:j,totalChildren:w,firstCellIndex:M,colorTheme:U,expandable:k,selected:z,highlighted:_,isExpanded:$,isInSidebar:I,isSubRow:S,isFirstSubRow:R,size:F,theme:C,isDragging:A,draggable:H,rowHeight:B})=>{const T=c(),Y=o?n(C,o):void 0,D=t?n(C,t):void 0,E=I?"var(--colorsUtilityMajor150)":"var(--colorsUtilityMajor075)",N=I?"var(--colorsUtilityMajor100)":"var(--colorsUtilityMajor050)",O=`${i}, ${e}, ${l}`;return r(["border-collapse:separate;border-radius:0px;border-spacing:0;min-width:100%;table-layout:fixed;width:auto;:focus-visible{outline:none;}","{"," "," ","}"," + td{border-left:none;}"," "," "," ","{border-bottom:1px solid ",";"," ","}"," "," "," "," "," "," "," "," "," "," ",""],O,Y&&`background-color: ${Y};`,"small"!==d&&r(["border-bottom:"," solid var(--colorsUtilityMajor100);"],p[d]),D&&r(["border-bottom-color:",";"],D),i,-1!==g&&r(["",":nth-child(","){border-right:2px solid ",";}"],i,g+1,y(U)),-1!==j&&r(["",":nth-child(","){border-left:2px solid ",";}",":nth-child(","){border-right:none;}"],i,j+1,y(U),a,j),j===w-1&&r(["td:last-of-type{border-right:none;}"]),a,v(U),"small"!==d&&r(["border-bottom:"," solid var(--colorsUtilityMajor100);"],p[d]),!I&&!(null==U?void 0:U.includes("transparent"))&&`\n :first-child {\n border-left: 1px solid ${v(U)};\n }\n `,void 0!==m&&r(["&& th{top:","px;}"],m),u&&r(['cursor:pointer;:focus{position:relative;:after{content:"";box-sizing:border-box;position:absolute;left:0px;right:0px;top:0;bottom:0px;'," pointer-events:none;}:last-child{:after{border-bottom-left-radius:var(--borderRadius100);border-bottom-right-radius:var(--borderRadius100);}}:first-child{:after{top:0px;}}"," ","{"," "," ","}","}:hover{","{background-color:",";}}"],h(C),T&&b(T)&&r(['position:-webkit-sticky;:after{border:none;content:"";height:',"px;","}"],B,h(C)),i,0===g&&C&&r(["&:first-of-type::before{border-left:3px solid var(--colorsSemanticFocus500);}"]),((o,t,e)=>o===t-1&&e&&r(["&:last-of-type{border-right:2px solid var(--colorsSemanticFocus500);}"]))(j,w,C),f(C),![-1,0].includes(g)&&r(["",""],Array.from({length:g}).map(((o,r)=>`\n td:nth-of-type(${r+1}) {\n ${f(C)}\n }\n `))),O,Y||"var(--colorsUtilityMajor025)"),x&&r(["td:nth-child(","),th:nth-child(","){cursor:pointer;:focus{","}:hover{background-color:",";}}"],M+1,M+1,h(C),Y||"var(colorsUtilityMajor025)"),I&&r(["","{background-color:",";};}","{background-color:var(--colorsUtilityMajor040);border-bottom-color:var(--colorsUtilityMajor100);}td:first-of-type,th:first-of-type{border-left:none;}td:last-of-type{border-right:none;}","{border-right:1px solid ",";}",""],O,o||"var(--colorsUtilityMajor040)",a,l,N,u&&r([":hover{",",",":not(th){background-color:",";}}"],e,l,Y||"var(--colorsUtilityMajor075)")),k&&r(["",":first-child > div,",":first-child > div,"," + "," > div{",'[type="chevron_down_thick"]:first-of-type{transition:transform 0.3s;',"}}"],e,i,l,e,s,!$&&r(["transform:rotate(-90deg);"])),S&&r(["","{background-color:",";}",":first-child > div,",":first-child > div,"," + "," > div{padding-left:",";}"],O,Y||"var(--colorsActionMinor025)",e,i,l,e,"compact"===F?"32px":"40px"),A&&r(["border:"," 2px solid;","{background-color:",";}"],I?"var(--colorsUtilityMajor300)":"var(--colorsUtilityMajor200)",O,I?"var(--colorsUtilityMajor200)":"var(--colorsUtilityMajor150)"),H&&r(["",":first-of-type{font-size:20px;color:var(--colorsActionMinor500);}"],s),R&&r(["","{box-shadow:var(--boxShadow075);}"],O),_&&r(["","{background-color:",";}:hover{",",",",",":not(th){background-color:",";}}"],O,Y||N,e,i,l,Y||N),z&&r(["",",","{background-color:",";}:hover{",",",",",":not(th){background-color:",";}}"],e,l,Y||E,e,i,l,Y||E))}));export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as i,Fragment as n}from"react/jsx-runtime";import t,{useContext as r,useState as o,useRef as l,useCallback as a,useEffect as d}from"react";import s from"../../__internal__/utils/helpers/tags/tags.js";import p from"../../__internal__/input/input.component.js";import u from"../../__internal__/input/input-presentation.component.js";import c from"../../__internal__/form-field/form-field.component.js";import b from"../../hooks/useCharacterCount/useCharacterCount.js";import{InputBehaviour as m}from"../../__internal__/input-behaviour/input-behaviour.component.js";import f from"../../__internal__/input-icon-toggle/input-icon-toggle.component.js";import h from"../../__internal__/utils/helpers/guid/index.js";import g,{DEFAULT_MIN_HEIGHT as v}from"./textarea.style.js";import{TooltipProvider as y}from"../../__internal__/tooltip-provider/index.js";import _ from"../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js";import O from"../carbon-provider/__internal__/new-validation.context.js";import j from"../textbox/textbox.style.js";import w from"../../__internal__/validation-message/validation-message.component.js";import{Box as x}from"../box/box.component.js";import I from"../../__internal__/utils/logger/index.js";import{HintText as P}from"../../__internal__/hint-text/hint-text.component.js";import"../../style/utils/filter-styled-system-padding-props.js";import H from"../../style/utils/filter-styled-system-margin-props.js";function L(e,i,n){return i in e?Object.defineProperty(e,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[i]=n,e}function B(e){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{},t=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),t.forEach((function(i){L(e,i,n[i])}))}return e}let T=!1,A=!1;const R=t.forwardRef(((t,L)=>{var{"aria-labelledby":R,"aria-describedby":S,autoFocus:W,inputHint:k,fieldHelp:E,label:C,children:q,characterLimit:F,onChange:D,onFocus:M,onBlur:z,disabled:V=!1,labelInline:N,labelAlign:$,labelHelp:G,labelSpacing:J,inputIcon:K,id:Q,error:U,warning:X,info:Y,name:Z,readOnly:ee=!1,placeholder:ie,expandable:ne=!1,rows:te,validationOnLabel:re=!1,adaptiveLabelBreakpoint:oe,inputWidth:le,maxWidth:ae,labelWidth:de=30,tooltipPosition:se,value:pe,"data-element":ue,"data-role":ce,helpAriaLabel:be,borderRadius:me,hideBorders:fe=!1,required:he,isOptional:ge,minHeight:ve=v,validationMessagePositionTop:ye=!0}=t,_e=function(e,i){if(null==e)return{};var n,t,r=function(e,i){if(null==e)return{};var n,t,r={},o=Object.keys(e);for(t=0;t<o.length;t++)n=o[t],i.indexOf(n)>=0||(r[n]=e[n]);return r}(e,i);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)n=o[t],i.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(t,["aria-labelledby","aria-describedby","autoFocus","inputHint","fieldHelp","label","children","characterLimit","onChange","onFocus","onBlur","disabled","labelInline","labelAlign","labelHelp","labelSpacing","inputIcon","id","error","warning","info","name","readOnly","placeholder","expandable","rows","validationOnLabel","adaptiveLabelBreakpoint","inputWidth","maxWidth","labelWidth","tooltipPosition","value","data-element","data-role","helpAriaLabel","borderRadius","hideBorders","required","isOptional","minHeight","validationMessagePositionTop"]);!T&&ge&&(T=!0,I.deprecate("`isOptional` is deprecated in TextArea and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const{validationRedesignOptIn:Oe}=r(O),je=!Oe&&N,[we,xe]=o(v),Ie=e=>Oe?void 0:e,{current:Pe}=l(Q||h()),He=l(null),Le=a((e=>{He.current=e,L&&("current"in L?L.current=e:L(e))}),[L]),[Be,Te]=o("off");Array.isArray(me)&&me.length>4&&!A&&(I.warn("The `borderRadius` prop in `Textarea` component only supports up to 4 values."),A=!0);const Ae=a((()=>{const e=He.current;if((null==e?void 0:e.scrollHeight)&&(null==e?void 0:e.scrollHeight)>we){let i=e;for(;i&&!(null==i?void 0:i.scrollTop);)i=(null==i?void 0:i.parentElement)||null;const n=null==i?void 0:i.scrollTop;e.style.height="auto",e.style.height=`${Math.max(e.scrollHeight,we)}px`,i&&n&&(i.scrollTop=n)}}),[we]),{labelId:Re,validationId:Se,fieldHelpId:We,ariaDescribedBy:ke}=_({id:Pe,validationRedesignOptIn:Oe,error:U,warning:X,info:Y,label:C,fieldHelp:E}),[Ee,Ce]=b(pe,F,Be);d((()=>{var e;xe(te?(null==He||null===(e=He.current)||void 0===e?void 0:e.scrollHeight)||0:ve>v?ve:v)}),[ve,te]),d((()=>{ne&&Ae()})),d((()=>{var e,i;return ne&&(window.addEventListener("resize",Ae),xe((null==He||null===(e=He.current)||void 0===e?void 0:e.clientHeight)||0),null===(i=document.fonts)||void 0===i||i.addEventListener("loadingdone",Ae)),()=>{var e;ne&&(window.removeEventListener("resize",Ae),null===(e=document.fonts)||void 0===e||e.removeEventListener("loadingdone",Ae))}}),[Ae,ne]);const qe=!!(K||Se&&!re),Fe=l(h()),De=k?Fe.current:void 0,Me=[...Oe&&ye?[ke,De]:[De,ke],Ce,S].filter(Boolean).join(" "),ze=e(u,{disabled:V,readOnly:ee,inputWidth:"number"==typeof le?le:100-de,maxWidth:ae,error:U,warning:X,info:Y,borderRadius:me,hideBorders:fe,children:[i(p,B({"aria-invalid":!!U,"aria-labelledby":R,"aria-describedby":Me,autoFocus:W,name:Z,value:pe,ref:Le,onChange:D,onFocus:e=>{F&&Te("polite"),null==M||M(e)},onBlur:e=>{F&&Te("off"),null==z||z(e)},disabled:V,readOnly:ee,placeholder:V?"":ie,rows:te,id:Pe,as:"textarea",validationIconId:Oe?void 0:Se,inputBorderRadius:me,required:he},_e)),q,i(f,{disabled:V,readOnly:ee,inputIcon:K,error:U,warning:X,info:Y,validationIconId:Oe?void 0:Se,useValidationIcon:!(Oe||re)})]}),Ve=H(_e);return i(y,{tooltipPosition:se,helpAriaLabel:be,children:i(m,{children:
|
|
1
|
+
import{jsxs as e,jsx as i,Fragment as n}from"react/jsx-runtime";import t,{useContext as r,useState as o,useRef as l,useCallback as a,useEffect as d}from"react";import s from"../../__internal__/utils/helpers/tags/tags.js";import p from"../../__internal__/input/input.component.js";import u from"../../__internal__/input/input-presentation.component.js";import c from"../../__internal__/form-field/form-field.component.js";import b from"../../hooks/useCharacterCount/useCharacterCount.js";import{InputBehaviour as m}from"../../__internal__/input-behaviour/input-behaviour.component.js";import f from"../../__internal__/input-icon-toggle/input-icon-toggle.component.js";import h from"../../__internal__/utils/helpers/guid/index.js";import g,{DEFAULT_MIN_HEIGHT as v}from"./textarea.style.js";import{TooltipProvider as y}from"../../__internal__/tooltip-provider/index.js";import _ from"../../hooks/__internal__/useInputAccessibility/useInputAccessibility.js";import O from"../carbon-provider/__internal__/new-validation.context.js";import j from"../textbox/textbox.style.js";import w from"../../__internal__/validation-message/validation-message.component.js";import{Box as x}from"../box/box.component.js";import I from"../../__internal__/utils/logger/index.js";import{HintText as P}from"../../__internal__/hint-text/hint-text.component.js";import"../../style/utils/filter-styled-system-padding-props.js";import H from"../../style/utils/filter-styled-system-margin-props.js";function L(e,i,n){return i in e?Object.defineProperty(e,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[i]=n,e}function B(e){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{},t=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),t.forEach((function(i){L(e,i,n[i])}))}return e}let T=!1,A=!1;const R=t.forwardRef(((t,L)=>{var{"aria-labelledby":R,"aria-describedby":S,autoFocus:W,inputHint:k,fieldHelp:E,label:C,children:q,characterLimit:F,onChange:D,onFocus:M,onBlur:z,disabled:V=!1,labelInline:N,labelAlign:$,labelHelp:G,labelSpacing:J,inputIcon:K,id:Q,error:U,warning:X,info:Y,name:Z,readOnly:ee=!1,placeholder:ie,expandable:ne=!1,rows:te,validationOnLabel:re=!1,adaptiveLabelBreakpoint:oe,inputWidth:le,maxWidth:ae,labelWidth:de=30,tooltipPosition:se,value:pe,"data-element":ue,"data-role":ce,helpAriaLabel:be,borderRadius:me,hideBorders:fe=!1,required:he,isOptional:ge,minHeight:ve=v,validationMessagePositionTop:ye=!0}=t,_e=function(e,i){if(null==e)return{};var n,t,r=function(e,i){if(null==e)return{};var n,t,r={},o=Object.keys(e);for(t=0;t<o.length;t++)n=o[t],i.indexOf(n)>=0||(r[n]=e[n]);return r}(e,i);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)n=o[t],i.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(t,["aria-labelledby","aria-describedby","autoFocus","inputHint","fieldHelp","label","children","characterLimit","onChange","onFocus","onBlur","disabled","labelInline","labelAlign","labelHelp","labelSpacing","inputIcon","id","error","warning","info","name","readOnly","placeholder","expandable","rows","validationOnLabel","adaptiveLabelBreakpoint","inputWidth","maxWidth","labelWidth","tooltipPosition","value","data-element","data-role","helpAriaLabel","borderRadius","hideBorders","required","isOptional","minHeight","validationMessagePositionTop"]);!T&&ge&&(T=!0,I.deprecate("`isOptional` is deprecated in TextArea and support will soon be removed. If the value of this component is not required, use the `required` prop and set it to false instead."));const{validationRedesignOptIn:Oe}=r(O),je=!Oe&&N,[we,xe]=o(v),Ie=e=>Oe?void 0:e,{current:Pe}=l(Q||h()),He=l(null),Le=a((e=>{He.current=e,L&&("current"in L?L.current=e:L(e))}),[L]),[Be,Te]=o("off");Array.isArray(me)&&me.length>4&&!A&&(I.warn("The `borderRadius` prop in `Textarea` component only supports up to 4 values."),A=!0);const Ae=a((()=>{const e=He.current;if((null==e?void 0:e.scrollHeight)&&(null==e?void 0:e.scrollHeight)>we){let i=e;for(;i&&!(null==i?void 0:i.scrollTop);)i=(null==i?void 0:i.parentElement)||null;const n=null==i?void 0:i.scrollTop;e.style.height="auto",e.style.height=`${Math.max(e.scrollHeight,we)}px`,i&&n&&(i.scrollTop=n)}}),[we]),{labelId:Re,validationId:Se,fieldHelpId:We,ariaDescribedBy:ke}=_({id:Pe,validationRedesignOptIn:Oe,error:U,warning:X,info:Y,label:C,fieldHelp:E}),[Ee,Ce]=b(pe,F,Be);d((()=>{var e;xe(te?(null==He||null===(e=He.current)||void 0===e?void 0:e.scrollHeight)||0:ve>v?ve:v)}),[ve,te]),d((()=>{ne&&Ae()})),d((()=>{var e,i;return ne&&(window.addEventListener("resize",Ae),xe((null==He||null===(e=He.current)||void 0===e?void 0:e.clientHeight)||0),null===(i=document.fonts)||void 0===i||i.addEventListener("loadingdone",Ae)),()=>{var e;ne&&(window.removeEventListener("resize",Ae),null===(e=document.fonts)||void 0===e||e.removeEventListener("loadingdone",Ae))}}),[Ae,ne]);const qe=!!(K||Se&&!re),Fe=l(h()),De=k?Fe.current:void 0,Me=[...Oe&&ye?[ke,De]:[De,ke],Ce,S].filter(Boolean).join(" "),ze=e(u,{disabled:V,readOnly:ee,inputWidth:"number"==typeof le?le:100-de,maxWidth:ae,error:U,warning:X,info:Y,borderRadius:me,hideBorders:fe,children:[i(p,B({"aria-invalid":!!U,"aria-labelledby":R,"aria-describedby":Me,autoFocus:W,name:Z,value:pe,ref:Le,onChange:D,onFocus:e=>{F&&Te("polite"),null==M||M(e)},onBlur:e=>{F&&Te("off"),null==z||z(e)},disabled:V,readOnly:ee,placeholder:V?"":ie,rows:te,id:Pe,as:"textarea",validationIconId:Oe?void 0:Se,inputBorderRadius:me,required:he},_e)),q,i(f,{disabled:V,readOnly:ee,inputIcon:K,error:U,warning:X,info:Y,validationIconId:Oe?void 0:Se,useValidationIcon:!(Oe||re)})]}),Ve=H(_e);return i(y,{tooltipPosition:se,helpAriaLabel:be,children:i(m,{children:i(g,(Ne=B({labelInline:je,hasIcon:qe,minHeight:we},Ve,s("textarea",{"data-element":ue,"data-role":ce})),$e={children:e(c,{fieldHelp:Ie(E),fieldHelpId:We,error:U,warning:X,info:Y,label:C,labelId:Re,disabled:V,id:Pe,labelInline:Ie(je),labelAlign:$,labelWidth:Ie(de),labelHelp:Ie(G),labelSpacing:J,isRequired:he,useValidationIcon:Ie(re),adaptiveLabelBreakpoint:oe,validationRedesignOptIn:Oe,my:0,children:[(k||G&&Oe)&&i(P,{align:$,id:De,"data-element":"input-hint",children:k||G}),Oe?e(x,{position:"relative",children:[ye&&e(n,{children:[i(w,{error:U,validationId:Se,warning:X,validationMessagePositionTop:ye}),(U||X)&&i(j,{warning:!(U||!X)})]}),ze,!ye&&e(n,{children:[i(w,{error:U,validationId:Se,warning:X,validationMessagePositionTop:ye}),(U||X)&&i(j,{warning:!(U||!X)})]})]}):ze,Ee]})},$e=null!=$e?$e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(Ne,Object.getOwnPropertyDescriptors($e)):function(e){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);i.push.apply(i,n)}return i}(Object($e)).forEach((function(e){Object.defineProperty(Ne,e,Object.getOwnPropertyDescriptor($e,e))})),Ne))})});var Ne,$e}));R.displayName="Textarea";export{R as OriginalTextarea,R as Textarea,R as default};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Move an array element from one position to another, without mutating the original array.
|
|
3
|
+
*
|
|
4
|
+
* ```ts
|
|
5
|
+
* const array = ["a", "b", "c", "d"];
|
|
6
|
+
* const result = arrayMove({ array, startIndex: 1, endIndex: 3 });
|
|
7
|
+
* // result is ["a", "c", "d", "b"]
|
|
8
|
+
* ```
|
|
9
|
+
* */
|
|
10
|
+
declare function arrayMove<T>({ array, startIndex, endIndex, }: {
|
|
11
|
+
array: T[];
|
|
12
|
+
startIndex: number;
|
|
13
|
+
endIndex: number;
|
|
14
|
+
}): T[];
|
|
15
|
+
export default arrayMove;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function({array:e,startIndex:r,endIndex:t}){if(r===t||r<0||t<0||r>=e.length||t>=e.length)return e;const n=Array.from(e),[s]=n.splice(r,1);return n.splice(t,0,s),n};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** Helper functions for safer type checking. */
|
|
2
|
+
declare const PRIVATE_DRAGGABLE_KEY: unique symbol;
|
|
3
|
+
declare const PRIVATE_DROP_TARGET_KEY: unique symbol;
|
|
4
|
+
export type Draggable = {
|
|
5
|
+
[PRIVATE_DRAGGABLE_KEY]: true;
|
|
6
|
+
/** Unique identifier of the draggable item */
|
|
7
|
+
id: string;
|
|
8
|
+
/** The index of the draggable item when dragging was initiated */
|
|
9
|
+
initialIndex: number;
|
|
10
|
+
/** Bounding rectangle of the draggable item */
|
|
11
|
+
rect: DOMRect;
|
|
12
|
+
/** Unique identifier of the context instance the item belongs to */
|
|
13
|
+
contextId: symbol;
|
|
14
|
+
};
|
|
15
|
+
export type DropTarget = {
|
|
16
|
+
[PRIVATE_DROP_TARGET_KEY]: true;
|
|
17
|
+
/** Unique identifier of the drop target */
|
|
18
|
+
id: string;
|
|
19
|
+
/** Unique identifier of the context instance the drop target belongs to */
|
|
20
|
+
contextId: symbol;
|
|
21
|
+
};
|
|
22
|
+
export declare function getDraggable(data: Omit<Draggable, typeof PRIVATE_DRAGGABLE_KEY>): Draggable;
|
|
23
|
+
export declare function getDropTarget(data: Omit<DropTarget, typeof PRIVATE_DROP_TARGET_KEY>): DropTarget;
|
|
24
|
+
export declare function isDraggable(data: Record<string | symbol, unknown>): data is Draggable;
|
|
25
|
+
export declare function isDropTarget(data: Record<string | symbol, unknown>): data is DropTarget;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function r(r){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),o.forEach((function(t){e(r,t,n[t])}))}return r}const t=Symbol("drag"),n=Symbol("drop");exports.getDraggable=function(e){return r({[t]:!0},e)},exports.getDropTarget=function(e){return r({[n]:!0},e)},exports.isDraggable=function(e){return Boolean(e[t])},exports.isDropTarget=function(e){return Boolean(e[n])};
|