@contentful/f36-drag-handle 4.0.1-beta.2694 → 4.0.1-beta.2696

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -1,4 +1,3 @@
1
- var $9zqHf$reactjsxruntime = require("react/jsx-runtime");
2
1
  var $9zqHf$emotion = require("emotion");
3
2
  var $9zqHf$react = require("react");
4
3
  var $9zqHf$contentfulf36icons = require("@contentful/f36-icons");
@@ -18,7 +17,6 @@ $parcel$export(module.exports, "DragHandle", () => $7340ff11beb99de7$export$a0c2
18
17
 
19
18
 
20
19
 
21
-
22
20
  const $590c5f6da3a22459$export$ffd58b7f6f099a57 = ()=>({
23
21
  label: /*#__PURE__*/ $9zqHf$emotion.css({
24
22
  name: "1b512s9",
@@ -80,7 +78,7 @@ const $7340ff11beb99de7$export$a0c24614540b0efb = /*#__PURE__*/ $9zqHf$react.for
80
78
  onMouseLeave
81
79
  ]);
82
80
  return(// https://github.com/clauderic/react-sortable-hoc/blob/d94ba3cc67cfc7d6d460b585e7723bdb50015e53/src/SortableContainer/defaultShouldCancelStart.js
83
- /*#__PURE__*/ $9zqHf$reactjsxruntime.jsxs("div", {
81
+ /*#__PURE__*/ ($parcel$interopDefault($9zqHf$react)).createElement("div", {
84
82
  role: "button",
85
83
  tabIndex: 0,
86
84
  type: "button",
@@ -96,17 +94,12 @@ const $7340ff11beb99de7$export$a0c24614540b0efb = /*#__PURE__*/ $9zqHf$react.for
96
94
  onMouseLeave: handleMouseLeave,
97
95
  "data-test-id": testId,
98
96
  ref: forwardedRef,
99
- style: style,
100
- children: [
101
- /*#__PURE__*/ $9zqHf$reactjsxruntime.jsx($9zqHf$contentfulf36icons.DragIcon, {
102
- variant: "muted"
103
- }),
104
- /*#__PURE__*/ $9zqHf$reactjsxruntime.jsx("span", {
105
- className: styles.label,
106
- children: label
107
- })
108
- ]
109
- }));
97
+ style: style
98
+ }, /*#__PURE__*/ ($parcel$interopDefault($9zqHf$react)).createElement($9zqHf$contentfulf36icons.DragIcon, {
99
+ variant: "muted"
100
+ }), /*#__PURE__*/ ($parcel$interopDefault($9zqHf$react)).createElement("span", {
101
+ className: styles.label
102
+ }, label)));
110
103
  });
111
104
  $7340ff11beb99de7$export$a0c24614540b0efb.displayName = 'DragHandle';
112
105
 
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/components/drag-handle/src/index.ts","packages/components/drag-handle/src/DragHandle.tsx","packages/components/drag-handle/src/DragHandle.styles.ts"],"sourcesContent":["export { DragHandle } from './DragHandle';\nexport type { DragHandleProps } from './DragHandle';\n","import React, {\n forwardRef,\n useCallback,\n useState,\n FocusEventHandler,\n MouseEventHandler,\n} from 'react';\nimport { cx } from 'emotion';\nimport type { PropsWithHTMLDivElement } from '@contentful/f36-core';\nimport type { CommonProps, ExpandProps } from '@contentful/f36-core';\nimport { DragIcon } from '@contentful/f36-icons';\nimport { getStyles } from './DragHandle.styles';\n\nexport type DragHandleInternalProps = CommonProps & {\n /**\n * Applies styling for when the component is actively being dragged by\n * the user\n */\n isActive?: boolean;\n /**\n * Applies focus styling\n */\n isFocused?: boolean;\n /**\n * Applies hover styling\n */\n isHovered?: boolean;\n /**\n * Label rendered in DragHandle - not visible on screen as its purpose\n * is for screen readers only\n */\n label: string;\n};\n\nexport type DragHandleProps = PropsWithHTMLDivElement<\n DragHandleInternalProps,\n 'div'\n>;\n\nexport const DragHandle = forwardRef<\n HTMLDivElement,\n ExpandProps<DragHandleProps>\n>(\n (\n {\n className,\n isActive,\n isFocused: isFocusedProp,\n isHovered: isHoveredProp,\n label,\n onBlur,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n testId = 'cf-ui-drag-handle',\n style,\n ...otherProps\n },\n forwardedRef,\n ) => {\n const styles = getStyles();\n const [isFocused, setisFocused] = useState(isFocusedProp);\n const [isHovered, setisHovered] = useState(isHoveredProp);\n\n const handleFocus = useCallback<FocusEventHandler<HTMLDivElement>>(\n (event) => {\n setisFocused(true);\n\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus],\n );\n\n const handleBlur = useCallback<FocusEventHandler<HTMLDivElement>>(\n (event) => {\n setisFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n setisHovered(true);\n\n if (onMouseEnter) {\n onMouseEnter(event);\n }\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n setisHovered(false);\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n },\n [onMouseLeave],\n );\n\n return (\n // We had to change it to div becouse of the issue in library used by field editors\n // https://github.com/clauderic/react-sortable-hoc/blob/d94ba3cc67cfc7d6d460b585e7723bdb50015e53/src/SortableContainer/defaultShouldCancelStart.js\n <div\n role=\"button\"\n tabIndex={0}\n type=\"button\"\n {...otherProps}\n className={cx(\n styles.root({ isActive, isFocused, isHovered }),\n className,\n )}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n data-test-id={testId}\n ref={forwardedRef}\n style={style}\n >\n <DragIcon variant=\"muted\" />\n <span className={styles.label}>{label}</span>\n </div>\n );\n },\n);\n\nDragHandle.displayName = 'DragHandle';\n","import { cx, css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getStyles = () => ({\n label: css({\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n border: 0,\n }),\n root: ({\n isActive,\n isFocused,\n isHovered,\n }: {\n isActive: boolean;\n isFocused: boolean;\n isHovered: boolean;\n }) => {\n return cx(\n css({\n alignItems: 'center',\n backgroundColor: tokens.gray100,\n border: 0,\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderRight: `1px solid ${tokens.gray200}`,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n display: 'flex',\n justifyContent: 'center',\n padding: 0,\n position: 'relative',\n transition: `background-color ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault}`,\n width: tokens.spacingL,\n '&:hover, &:focus': {\n backgroundColor: tokens.colorElementLight,\n },\n }),\n (isActive || isFocused || isHovered) &&\n css({\n backgroundColor: tokens.gray200,\n cursor: isActive ? 'grabbing' : 'grab',\n }),\n );\n },\n});\n"],"names":["DragHandle","DragHandleProps","React","forwardRef","useCallback","useState","FocusEventHandler","MouseEventHandler","PropsWithHTMLDivElement","CommonProps","ExpandProps","DragIcon","getStyles","DragHandleInternalProps","isActive","isFocused","isHovered","label","HTMLDivElement","className","isFocusedProp","isHoveredProp","onBlur","onFocus","onMouseEnter","onMouseLeave","testId","style","otherProps","forwardedRef","styles","setisFocused","setisHovered","handleFocus","event","handleBlur","handleMouseEnter","handleMouseLeave","root","displayName","tokens","alignItems","backgroundColor","gray100","border","borderBottomLeftRadius","borderRadiusMedium","borderRight","gray200","borderTopLeftRadius","boxSizing","display","justifyContent","padding","position","transition","transitionDurationDefault","transitionEasingDefault","width","spacingL","colorElementLight","cursor"],"version":3,"file":"main.js.map"}
1
+ {"mappings":"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","sources":["packages/components/drag-handle/src/index.ts","packages/components/drag-handle/src/DragHandle.tsx","packages/components/drag-handle/src/DragHandle.styles.ts"],"sourcesContent":["export { DragHandle } from './DragHandle';\nexport type { DragHandleProps } from './DragHandle';\n","import React, {\n forwardRef,\n useCallback,\n useState,\n FocusEventHandler,\n MouseEventHandler,\n} from 'react';\nimport { cx } from 'emotion';\nimport type { PropsWithHTMLElement } from '@contentful/f36-core';\nimport type { CommonProps, ExpandProps } from '@contentful/f36-core';\nimport { DragIcon } from '@contentful/f36-icons';\nimport { getStyles } from './DragHandle.styles';\n\nexport type DragHandleInternalProps = CommonProps & {\n /**\n * Applies styling for when the component is actively being dragged by\n * the user\n */\n isActive?: boolean;\n /**\n * Applies focus styling\n */\n isFocused?: boolean;\n /**\n * Applies hover styling\n */\n isHovered?: boolean;\n /**\n * Label rendered in DragHandle - not visible on screen as its purpose\n * is for screen readers only\n */\n label: string;\n /**\n * Set type button for div element\n */\n type?: string;\n};\n\nexport type DragHandleProps = PropsWithHTMLElement<\n DragHandleInternalProps,\n 'div'\n>;\n\nexport const DragHandle = forwardRef<\n HTMLDivElement,\n ExpandProps<DragHandleProps>\n>(\n (\n {\n className,\n isActive,\n isFocused: isFocusedProp,\n isHovered: isHoveredProp,\n label,\n onBlur,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n testId = 'cf-ui-drag-handle',\n style,\n ...otherProps\n },\n forwardedRef,\n ) => {\n const styles = getStyles();\n const [isFocused, setisFocused] = useState(isFocusedProp);\n const [isHovered, setisHovered] = useState(isHoveredProp);\n\n const handleFocus = useCallback<FocusEventHandler<HTMLDivElement>>(\n (event) => {\n setisFocused(true);\n\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus],\n );\n\n const handleBlur = useCallback<FocusEventHandler<HTMLDivElement>>(\n (event) => {\n setisFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n setisHovered(true);\n\n if (onMouseEnter) {\n onMouseEnter(event);\n }\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n setisHovered(false);\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n },\n [onMouseLeave],\n );\n\n return (\n // We had to change it to div becouse of the issue in library used by field editors\n // https://github.com/clauderic/react-sortable-hoc/blob/d94ba3cc67cfc7d6d460b585e7723bdb50015e53/src/SortableContainer/defaultShouldCancelStart.js\n <div\n role=\"button\"\n tabIndex={0}\n type=\"button\"\n {...otherProps}\n className={cx(\n styles.root({ isActive, isFocused, isHovered }),\n className,\n )}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n data-test-id={testId}\n ref={forwardedRef}\n style={style}\n >\n <DragIcon variant=\"muted\" />\n <span className={styles.label}>{label}</span>\n </div>\n );\n },\n);\n\nDragHandle.displayName = 'DragHandle';\n","import { cx, css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getStyles = () => ({\n label: css({\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n border: 0,\n }),\n root: ({\n isActive,\n isFocused,\n isHovered,\n }: {\n isActive: boolean;\n isFocused: boolean;\n isHovered: boolean;\n }) => {\n return cx(\n css({\n alignItems: 'center',\n backgroundColor: tokens.gray100,\n border: 0,\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderRight: `1px solid ${tokens.gray200}`,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n display: 'flex',\n justifyContent: 'center',\n padding: 0,\n position: 'relative',\n transition: `background-color ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault}`,\n width: tokens.spacingL,\n '&:hover, &:focus': {\n backgroundColor: tokens.colorElementLight,\n },\n }),\n (isActive || isFocused || isHovered) &&\n css({\n backgroundColor: tokens.gray200,\n cursor: isActive ? 'grabbing' : 'grab',\n }),\n );\n },\n});\n"],"names":["DragHandle","DragHandleProps","React","forwardRef","useCallback","useState","FocusEventHandler","MouseEventHandler","PropsWithHTMLElement","CommonProps","ExpandProps","DragIcon","getStyles","DragHandleInternalProps","isActive","isFocused","isHovered","label","type","HTMLDivElement","className","isFocusedProp","isHoveredProp","onBlur","onFocus","onMouseEnter","onMouseLeave","testId","style","otherProps","forwardedRef","styles","setisFocused","setisHovered","handleFocus","event","handleBlur","handleMouseEnter","handleMouseLeave","root","displayName","tokens","alignItems","backgroundColor","gray100","border","borderBottomLeftRadius","borderRadiusMedium","borderRight","gray200","borderTopLeftRadius","boxSizing","display","justifyContent","padding","position","transition","transitionDurationDefault","transitionEasingDefault","width","spacingL","colorElementLight","cursor"],"version":3,"file":"main.js.map"}
package/dist/module.js CHANGED
@@ -1,6 +1,5 @@
1
- import {jsxs as $8USmO$jsxs, jsx as $8USmO$jsx} from "react/jsx-runtime";
2
1
  import {cx as $8USmO$cx, css as $8USmO$css} from "emotion";
3
- import {forwardRef as $8USmO$forwardRef, useState as $8USmO$useState, useCallback as $8USmO$useCallback} from "react";
2
+ import $8USmO$react, {forwardRef as $8USmO$forwardRef, useState as $8USmO$useState, useCallback as $8USmO$useCallback} from "react";
4
3
  import {DragIcon as $8USmO$DragIcon} from "@contentful/f36-icons";
5
4
  import $8USmO$contentfulf36tokens from "@contentful/f36-tokens";
6
5
 
@@ -10,7 +9,6 @@ import $8USmO$contentfulf36tokens from "@contentful/f36-tokens";
10
9
 
11
10
 
12
11
 
13
-
14
12
  const $1282af47e008eae6$export$ffd58b7f6f099a57 = ()=>({
15
13
  label: /*#__PURE__*/ $8USmO$css({
16
14
  name: "1b512s9",
@@ -72,7 +70,7 @@ const $0d6e001a91dc675e$export$a0c24614540b0efb = /*#__PURE__*/ $8USmO$forwardRe
72
70
  onMouseLeave
73
71
  ]);
74
72
  return(// https://github.com/clauderic/react-sortable-hoc/blob/d94ba3cc67cfc7d6d460b585e7723bdb50015e53/src/SortableContainer/defaultShouldCancelStart.js
75
- /*#__PURE__*/ $8USmO$jsxs("div", {
73
+ /*#__PURE__*/ $8USmO$react.createElement("div", {
76
74
  role: "button",
77
75
  tabIndex: 0,
78
76
  type: "button",
@@ -88,17 +86,12 @@ const $0d6e001a91dc675e$export$a0c24614540b0efb = /*#__PURE__*/ $8USmO$forwardRe
88
86
  onMouseLeave: handleMouseLeave,
89
87
  "data-test-id": testId,
90
88
  ref: forwardedRef,
91
- style: style,
92
- children: [
93
- /*#__PURE__*/ $8USmO$jsx($8USmO$DragIcon, {
94
- variant: "muted"
95
- }),
96
- /*#__PURE__*/ $8USmO$jsx("span", {
97
- className: styles.label,
98
- children: label
99
- })
100
- ]
101
- }));
89
+ style: style
90
+ }, /*#__PURE__*/ $8USmO$react.createElement($8USmO$DragIcon, {
91
+ variant: "muted"
92
+ }), /*#__PURE__*/ $8USmO$react.createElement("span", {
93
+ className: styles.label
94
+ }, label)));
102
95
  });
103
96
  $0d6e001a91dc675e$export$a0c24614540b0efb.displayName = 'DragHandle';
104
97
 
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/components/drag-handle/src/index.ts","packages/components/drag-handle/src/DragHandle.tsx","packages/components/drag-handle/src/DragHandle.styles.ts"],"sourcesContent":["export { DragHandle } from './DragHandle';\nexport type { DragHandleProps } from './DragHandle';\n","import React, {\n forwardRef,\n useCallback,\n useState,\n FocusEventHandler,\n MouseEventHandler,\n} from 'react';\nimport { cx } from 'emotion';\nimport type { PropsWithHTMLDivElement } from '@contentful/f36-core';\nimport type { CommonProps, ExpandProps } from '@contentful/f36-core';\nimport { DragIcon } from '@contentful/f36-icons';\nimport { getStyles } from './DragHandle.styles';\n\nexport type DragHandleInternalProps = CommonProps & {\n /**\n * Applies styling for when the component is actively being dragged by\n * the user\n */\n isActive?: boolean;\n /**\n * Applies focus styling\n */\n isFocused?: boolean;\n /**\n * Applies hover styling\n */\n isHovered?: boolean;\n /**\n * Label rendered in DragHandle - not visible on screen as its purpose\n * is for screen readers only\n */\n label: string;\n};\n\nexport type DragHandleProps = PropsWithHTMLDivElement<\n DragHandleInternalProps,\n 'div'\n>;\n\nexport const DragHandle = forwardRef<\n HTMLDivElement,\n ExpandProps<DragHandleProps>\n>(\n (\n {\n className,\n isActive,\n isFocused: isFocusedProp,\n isHovered: isHoveredProp,\n label,\n onBlur,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n testId = 'cf-ui-drag-handle',\n style,\n ...otherProps\n },\n forwardedRef,\n ) => {\n const styles = getStyles();\n const [isFocused, setisFocused] = useState(isFocusedProp);\n const [isHovered, setisHovered] = useState(isHoveredProp);\n\n const handleFocus = useCallback<FocusEventHandler<HTMLDivElement>>(\n (event) => {\n setisFocused(true);\n\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus],\n );\n\n const handleBlur = useCallback<FocusEventHandler<HTMLDivElement>>(\n (event) => {\n setisFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n setisHovered(true);\n\n if (onMouseEnter) {\n onMouseEnter(event);\n }\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n setisHovered(false);\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n },\n [onMouseLeave],\n );\n\n return (\n // We had to change it to div becouse of the issue in library used by field editors\n // https://github.com/clauderic/react-sortable-hoc/blob/d94ba3cc67cfc7d6d460b585e7723bdb50015e53/src/SortableContainer/defaultShouldCancelStart.js\n <div\n role=\"button\"\n tabIndex={0}\n type=\"button\"\n {...otherProps}\n className={cx(\n styles.root({ isActive, isFocused, isHovered }),\n className,\n )}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n data-test-id={testId}\n ref={forwardedRef}\n style={style}\n >\n <DragIcon variant=\"muted\" />\n <span className={styles.label}>{label}</span>\n </div>\n );\n },\n);\n\nDragHandle.displayName = 'DragHandle';\n","import { cx, css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getStyles = () => ({\n label: css({\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n border: 0,\n }),\n root: ({\n isActive,\n isFocused,\n isHovered,\n }: {\n isActive: boolean;\n isFocused: boolean;\n isHovered: boolean;\n }) => {\n return cx(\n css({\n alignItems: 'center',\n backgroundColor: tokens.gray100,\n border: 0,\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderRight: `1px solid ${tokens.gray200}`,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n display: 'flex',\n justifyContent: 'center',\n padding: 0,\n position: 'relative',\n transition: `background-color ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault}`,\n width: tokens.spacingL,\n '&:hover, &:focus': {\n backgroundColor: tokens.colorElementLight,\n },\n }),\n (isActive || isFocused || isHovered) &&\n css({\n backgroundColor: tokens.gray200,\n cursor: isActive ? 'grabbing' : 'grab',\n }),\n );\n },\n});\n"],"names":["DragHandle","DragHandleProps","React","forwardRef","useCallback","useState","FocusEventHandler","MouseEventHandler","PropsWithHTMLDivElement","CommonProps","ExpandProps","DragIcon","getStyles","DragHandleInternalProps","isActive","isFocused","isHovered","label","HTMLDivElement","className","isFocusedProp","isHoveredProp","onBlur","onFocus","onMouseEnter","onMouseLeave","testId","style","otherProps","forwardedRef","styles","setisFocused","setisHovered","handleFocus","event","handleBlur","handleMouseEnter","handleMouseLeave","root","displayName","tokens","alignItems","backgroundColor","gray100","border","borderBottomLeftRadius","borderRadiusMedium","borderRight","gray200","borderTopLeftRadius","boxSizing","display","justifyContent","padding","position","transition","transitionDurationDefault","transitionEasingDefault","width","spacingL","colorElementLight","cursor"],"version":3,"file":"module.js.map"}
1
+ {"mappings":"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","sources":["packages/components/drag-handle/src/index.ts","packages/components/drag-handle/src/DragHandle.tsx","packages/components/drag-handle/src/DragHandle.styles.ts"],"sourcesContent":["export { DragHandle } from './DragHandle';\nexport type { DragHandleProps } from './DragHandle';\n","import React, {\n forwardRef,\n useCallback,\n useState,\n FocusEventHandler,\n MouseEventHandler,\n} from 'react';\nimport { cx } from 'emotion';\nimport type { PropsWithHTMLElement } from '@contentful/f36-core';\nimport type { CommonProps, ExpandProps } from '@contentful/f36-core';\nimport { DragIcon } from '@contentful/f36-icons';\nimport { getStyles } from './DragHandle.styles';\n\nexport type DragHandleInternalProps = CommonProps & {\n /**\n * Applies styling for when the component is actively being dragged by\n * the user\n */\n isActive?: boolean;\n /**\n * Applies focus styling\n */\n isFocused?: boolean;\n /**\n * Applies hover styling\n */\n isHovered?: boolean;\n /**\n * Label rendered in DragHandle - not visible on screen as its purpose\n * is for screen readers only\n */\n label: string;\n /**\n * Set type button for div element\n */\n type?: string;\n};\n\nexport type DragHandleProps = PropsWithHTMLElement<\n DragHandleInternalProps,\n 'div'\n>;\n\nexport const DragHandle = forwardRef<\n HTMLDivElement,\n ExpandProps<DragHandleProps>\n>(\n (\n {\n className,\n isActive,\n isFocused: isFocusedProp,\n isHovered: isHoveredProp,\n label,\n onBlur,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n testId = 'cf-ui-drag-handle',\n style,\n ...otherProps\n },\n forwardedRef,\n ) => {\n const styles = getStyles();\n const [isFocused, setisFocused] = useState(isFocusedProp);\n const [isHovered, setisHovered] = useState(isHoveredProp);\n\n const handleFocus = useCallback<FocusEventHandler<HTMLDivElement>>(\n (event) => {\n setisFocused(true);\n\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus],\n );\n\n const handleBlur = useCallback<FocusEventHandler<HTMLDivElement>>(\n (event) => {\n setisFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n setisHovered(true);\n\n if (onMouseEnter) {\n onMouseEnter(event);\n }\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n setisHovered(false);\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n },\n [onMouseLeave],\n );\n\n return (\n // We had to change it to div becouse of the issue in library used by field editors\n // https://github.com/clauderic/react-sortable-hoc/blob/d94ba3cc67cfc7d6d460b585e7723bdb50015e53/src/SortableContainer/defaultShouldCancelStart.js\n <div\n role=\"button\"\n tabIndex={0}\n type=\"button\"\n {...otherProps}\n className={cx(\n styles.root({ isActive, isFocused, isHovered }),\n className,\n )}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n data-test-id={testId}\n ref={forwardedRef}\n style={style}\n >\n <DragIcon variant=\"muted\" />\n <span className={styles.label}>{label}</span>\n </div>\n );\n },\n);\n\nDragHandle.displayName = 'DragHandle';\n","import { cx, css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getStyles = () => ({\n label: css({\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n border: 0,\n }),\n root: ({\n isActive,\n isFocused,\n isHovered,\n }: {\n isActive: boolean;\n isFocused: boolean;\n isHovered: boolean;\n }) => {\n return cx(\n css({\n alignItems: 'center',\n backgroundColor: tokens.gray100,\n border: 0,\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderRight: `1px solid ${tokens.gray200}`,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n display: 'flex',\n justifyContent: 'center',\n padding: 0,\n position: 'relative',\n transition: `background-color ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault}`,\n width: tokens.spacingL,\n '&:hover, &:focus': {\n backgroundColor: tokens.colorElementLight,\n },\n }),\n (isActive || isFocused || isHovered) &&\n css({\n backgroundColor: tokens.gray200,\n cursor: isActive ? 'grabbing' : 'grab',\n }),\n );\n },\n});\n"],"names":["DragHandle","DragHandleProps","React","forwardRef","useCallback","useState","FocusEventHandler","MouseEventHandler","PropsWithHTMLElement","CommonProps","ExpandProps","DragIcon","getStyles","DragHandleInternalProps","isActive","isFocused","isHovered","label","type","HTMLDivElement","className","isFocusedProp","isHoveredProp","onBlur","onFocus","onMouseEnter","onMouseLeave","testId","style","otherProps","forwardedRef","styles","setisFocused","setisHovered","handleFocus","event","handleBlur","handleMouseEnter","handleMouseLeave","root","displayName","tokens","alignItems","backgroundColor","gray100","border","borderBottomLeftRadius","borderRadiusMedium","borderRight","gray200","borderTopLeftRadius","boxSizing","display","justifyContent","padding","position","transition","transitionDurationDefault","transitionEasingDefault","width","spacingL","colorElementLight","cursor"],"version":3,"file":"module.js.map"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@contentful/f36-drag-handle",
3
- "version": "4.0.1-beta.2694+5eee5f80",
3
+ "version": "4.0.1-beta.2696+d160443b",
4
4
  "description": "Forma 36: DragHandle component",
5
5
  "scripts": {
6
6
  "build": "parcel build"
7
7
  },
8
8
  "dependencies": {
9
9
  "@babel/runtime": "^7.6.2",
10
- "@contentful/f36-core": "4.0.1-beta.2694+5eee5f80",
11
- "@contentful/f36-icons": "4.0.1-beta.2694+5eee5f80",
12
- "@contentful/f36-tokens": "4.0.1-beta.2694+5eee5f80",
10
+ "@contentful/f36-core": "4.0.1-beta.2696+d160443b",
11
+ "@contentful/f36-icons": "4.0.1-beta.2696+d160443b",
12
+ "@contentful/f36-tokens": "4.0.1-beta.2696+d160443b",
13
13
  "emotion": "^10.0.17"
14
14
  },
15
15
  "peerDependencies": {
@@ -32,5 +32,5 @@
32
32
  "publishConfig": {
33
33
  "access": "public"
34
34
  },
35
- "gitHead": "5eee5f8092c3d92b9ba054c00baa1bc484511c69"
35
+ "gitHead": "d160443b21d033f6567ce0cf6a7760c42d89a772"
36
36
  }