@patternfly/react-docs 7.6.0-prerelease.6 → 7.6.0-prerelease.8
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/CHANGELOG.md +4 -0
- package/package.json +12 -13
- package/patternfly-docs/generated/components/about-modal/react.js +149 -0
- package/patternfly-docs/generated/components/accordion/react.js +262 -0
- package/patternfly-docs/generated/components/action-list/react.js +144 -0
- package/patternfly-docs/generated/components/alert/react-demos.js +56 -0
- package/patternfly-docs/generated/components/alert/react.js +1433 -0
- package/patternfly-docs/generated/components/avatar/react.js +166 -0
- package/patternfly-docs/generated/components/back-to-top/react-demos.js +60 -0
- package/patternfly-docs/generated/components/back-to-top/react.js +77 -0
- package/patternfly-docs/generated/components/backdrop/react.js +64 -0
- package/patternfly-docs/generated/components/background-image/react.js +62 -0
- package/patternfly-docs/generated/components/badge/react.js +97 -0
- package/patternfly-docs/generated/components/banner/react-demos.js +57 -0
- package/patternfly-docs/generated/components/banner/react.js +148 -0
- package/patternfly-docs/generated/components/brand/react.js +142 -0
- package/patternfly-docs/generated/components/breadcrumb/react.js +206 -0
- package/patternfly-docs/generated/components/button/react-demos.js +57 -0
- package/patternfly-docs/generated/components/button/react.js +826 -0
- package/patternfly-docs/generated/components/card/react-demos.js +201 -0
- package/patternfly-docs/generated/components/card/react.js +1015 -0
- package/patternfly-docs/generated/components/charts/area-chart/-Victory.js +1350 -0
- package/patternfly-docs/generated/components/charts/bar-chart/-Victory.js +1334 -0
- package/patternfly-docs/generated/components/charts/box-plot-chart/-Victory.js +1282 -0
- package/patternfly-docs/generated/components/charts/bullet-chart/-Victory.js +848 -0
- package/patternfly-docs/generated/components/charts/colors-for-charts/-Victory.js +192 -0
- package/patternfly-docs/generated/components/charts/donut-chart/-Victory.js +426 -0
- package/patternfly-docs/generated/components/charts/donut-utilization-chart/-Victory.js +804 -0
- package/patternfly-docs/generated/components/charts/legends/-Victory.js +3230 -0
- package/patternfly-docs/generated/components/charts/line-chart/-Victory.js +1178 -0
- package/patternfly-docs/generated/components/charts/line-chart/ECharts.js +525 -0
- package/patternfly-docs/generated/components/charts/patterns/-Victory.js +3382 -0
- package/patternfly-docs/generated/components/charts/pie-chart/-Victory.js +377 -0
- package/patternfly-docs/generated/components/charts/resize-observer/-Victory.js +2475 -0
- package/patternfly-docs/generated/components/charts/sankey-chart/ECharts.js +538 -0
- package/patternfly-docs/generated/components/charts/scatter-chart/-Victory.js +1551 -0
- package/patternfly-docs/generated/components/charts/skeletons/-Victory.js +4115 -0
- package/patternfly-docs/generated/components/charts/sparkline-chart/-Victory.js +955 -0
- package/patternfly-docs/generated/components/charts/stack-chart/-Victory.js +1173 -0
- package/patternfly-docs/generated/components/charts/threshold-chart/-Victory.js +1166 -0
- package/patternfly-docs/generated/components/charts/tooltips/-Victory.js +413 -0
- package/patternfly-docs/generated/components/chip/react-deprecated.js +323 -0
- package/patternfly-docs/generated/components/clipboard-copy/react.js +373 -0
- package/patternfly-docs/generated/components/code-block/react.js +148 -0
- package/patternfly-docs/generated/components/code-editor/react.js +659 -0
- package/patternfly-docs/generated/components/compass/react-demos.js +147 -0
- package/patternfly-docs/generated/components/compass/react.js +440 -0
- package/patternfly-docs/generated/components/content/react.js +248 -0
- package/patternfly-docs/generated/components/data-list/react-demos.js +90 -0
- package/patternfly-docs/generated/components/data-list/react.js +709 -0
- package/patternfly-docs/generated/components/date-and-time/calendar-month/react.js +283 -0
- package/patternfly-docs/generated/components/date-and-time/date-and-time-picker/react-demos.js +64 -0
- package/patternfly-docs/generated/components/date-and-time/date-picker/react-demos.js +83 -0
- package/patternfly-docs/generated/components/date-and-time/date-picker/react.js +395 -0
- package/patternfly-docs/generated/components/date-and-time/time-picker/react.js +241 -0
- package/patternfly-docs/generated/components/description-list/react-demos.js +58 -0
- package/patternfly-docs/generated/components/description-list/react.js +743 -0
- package/patternfly-docs/generated/components/divider/react.js +126 -0
- package/patternfly-docs/generated/components/drag-and-drop/react-demos.js +351 -0
- package/patternfly-docs/generated/components/drag-and-drop/react-deprecated.js +184 -0
- package/patternfly-docs/generated/components/drag-and-drop/react.js +137 -0
- package/patternfly-docs/generated/components/drawer/react.js +598 -0
- package/patternfly-docs/generated/components/dual-list-selector/react-deprecated.js +772 -0
- package/patternfly-docs/generated/components/dual-list-selector/react.js +594 -0
- package/patternfly-docs/generated/components/empty-state/react.js +199 -0
- package/patternfly-docs/generated/components/expandable-section/react-demos.js +65 -0
- package/patternfly-docs/generated/components/expandable-section/react.js +408 -0
- package/patternfly-docs/generated/components/file-upload/multiple-file-upload/react-demos.js +52 -0
- package/patternfly-docs/generated/components/file-upload/multiple-file-upload/react.js +398 -0
- package/patternfly-docs/generated/components/file-upload/simple-file-upload/react.js +749 -0
- package/patternfly-docs/generated/components/forms/checkbox/react.js +222 -0
- package/patternfly-docs/generated/components/forms/form/react.js +1106 -0
- package/patternfly-docs/generated/components/forms/form-select/react.js +208 -0
- package/patternfly-docs/generated/components/forms/radio/react.js +212 -0
- package/patternfly-docs/generated/components/forms/text-area/react.js +160 -0
- package/patternfly-docs/generated/components/forms/text-input/react.js +216 -0
- package/patternfly-docs/generated/components/helper-text/react-demos.js +180 -0
- package/patternfly-docs/generated/components/helper-text/react.js +164 -0
- package/patternfly-docs/generated/components/hero/react.js +88 -0
- package/patternfly-docs/generated/components/hint/react.js +169 -0
- package/patternfly-docs/generated/components/icon/react.js +215 -0
- package/patternfly-docs/generated/components/input-group/react.js +182 -0
- package/patternfly-docs/generated/components/jump-links/react-demos.js +154 -0
- package/patternfly-docs/generated/components/jump-links/react.js +212 -0
- package/patternfly-docs/generated/components/label/react-demos.js +57 -0
- package/patternfly-docs/generated/components/label/react.js +417 -0
- package/patternfly-docs/generated/components/list/react.js +175 -0
- package/patternfly-docs/generated/components/login-page/react.js +587 -0
- package/patternfly-docs/generated/components/masthead/react-demos.js +79 -0
- package/patternfly-docs/generated/components/masthead/react.js +291 -0
- package/patternfly-docs/generated/components/menus/application-launcher/react-demos.js +769 -0
- package/patternfly-docs/generated/components/menus/context-selector/react-demos.js +665 -0
- package/patternfly-docs/generated/components/menus/custom-menus/react-demos.js +187 -0
- package/patternfly-docs/generated/components/menus/dropdown/react-templates.js +163 -0
- package/patternfly-docs/generated/components/menus/dropdown/react.js +998 -0
- package/patternfly-docs/generated/components/menus/menu/react.js +1540 -0
- package/patternfly-docs/generated/components/menus/menu-toggle/react.js +747 -0
- package/patternfly-docs/generated/components/menus/options-menu/react-demos.js +508 -0
- package/patternfly-docs/generated/components/menus/select/react-templates.js +257 -0
- package/patternfly-docs/generated/components/menus/select/react.js +998 -0
- package/patternfly-docs/generated/components/modal/react-deprecated.js +554 -0
- package/patternfly-docs/generated/components/modal/react.js +597 -0
- package/patternfly-docs/generated/components/navigation/react-demos.js +356 -0
- package/patternfly-docs/generated/components/navigation/react.js +409 -0
- package/patternfly-docs/generated/components/notification-badge/react.js +196 -0
- package/patternfly-docs/generated/components/notification-drawer/react-demos.js +107 -0
- package/patternfly-docs/generated/components/notification-drawer/react.js +394 -0
- package/patternfly-docs/generated/components/number-input/react.js +210 -0
- package/patternfly-docs/generated/components/overflow-menu/react.js +274 -0
- package/patternfly-docs/generated/components/page/react-demos.js +149 -0
- package/patternfly-docs/generated/components/page/react.js +1352 -0
- package/patternfly-docs/generated/components/pagination/react.js +492 -0
- package/patternfly-docs/generated/components/panel/react.js +236 -0
- package/patternfly-docs/generated/components/popover/react.js +390 -0
- package/patternfly-docs/generated/components/progress/react-demos.js +59 -0
- package/patternfly-docs/generated/components/progress/react.js +283 -0
- package/patternfly-docs/generated/components/progress-stepper/react-demos.js +45 -0
- package/patternfly-docs/generated/components/progress-stepper/react.js +219 -0
- package/patternfly-docs/generated/components/search-input/react-demos.js +113 -0
- package/patternfly-docs/generated/components/search-input/react.js +263 -0
- package/patternfly-docs/generated/components/sidebar/react.js +236 -0
- package/patternfly-docs/generated/components/simple-list/react.js +200 -0
- package/patternfly-docs/generated/components/skeleton/react-demos.js +44 -0
- package/patternfly-docs/generated/components/skeleton/react.js +122 -0
- package/patternfly-docs/generated/components/skip-to-content/react.js +73 -0
- package/patternfly-docs/generated/components/slider/react.js +309 -0
- package/patternfly-docs/generated/components/spinner/react.js +111 -0
- package/patternfly-docs/generated/components/switch/react.js +163 -0
- package/patternfly-docs/generated/components/table/react-demos.js +355 -0
- package/patternfly-docs/generated/components/table/react-deprecated.js +1350 -0
- package/patternfly-docs/generated/components/table/react.js +3241 -0
- package/patternfly-docs/generated/components/tabs/react-demos.js +108 -0
- package/patternfly-docs/generated/components/tabs/react.js +1359 -0
- package/patternfly-docs/generated/components/text-input-group/react-demos.js +152 -0
- package/patternfly-docs/generated/components/text-input-group/react.js +278 -0
- package/patternfly-docs/generated/components/tile/react-deprecated.js +242 -0
- package/patternfly-docs/generated/components/timestamp/react.js +283 -0
- package/patternfly-docs/generated/components/title/react.js +94 -0
- package/patternfly-docs/generated/components/toggle-group/react.js +299 -0
- package/patternfly-docs/generated/components/toolbar/react-demos.js +66 -0
- package/patternfly-docs/generated/components/toolbar/react.js +932 -0
- package/patternfly-docs/generated/components/tooltip/react.js +241 -0
- package/patternfly-docs/generated/components/tree-view/react.js +429 -0
- package/patternfly-docs/generated/components/truncate/react.js +211 -0
- package/patternfly-docs/generated/components/wizard/react-demos.js +87 -0
- package/patternfly-docs/generated/components/wizard/react-deprecated.js +788 -0
- package/patternfly-docs/generated/components/wizard/react.js +986 -0
- package/patternfly-docs/generated/developer-guides/open-ui-automation/react.js +285 -0
- package/patternfly-docs/generated/foundations-and-styles/layouts/bullseye/react.js +70 -0
- package/patternfly-docs/generated/foundations-and-styles/layouts/flex/react.js +506 -0
- package/patternfly-docs/generated/foundations-and-styles/layouts/gallery/react.js +94 -0
- package/patternfly-docs/generated/foundations-and-styles/layouts/grid/react.js +272 -0
- package/patternfly-docs/generated/foundations-and-styles/layouts/level/react.js +87 -0
- package/patternfly-docs/generated/foundations-and-styles/layouts/split/react.js +124 -0
- package/patternfly-docs/generated/foundations-and-styles/layouts/stack/react.js +112 -0
- package/patternfly-docs/generated/index.js +1769 -0
- package/patternfly-docs/generated/patterns/card-view/react-demos.js +78 -0
- package/patternfly-docs/generated/patterns/filters/react-demos.js +141 -0
- package/patternfly-docs/generated/patterns/password-generator/react-demos.js +51 -0
- package/patternfly-docs/generated/patterns/password-strength/react-demos.js +61 -0
- package/patternfly-docs/generated/patterns/primary-detail/react-demos.js +124 -0
- package/patternfly-docs/generated/patterns/right-to-left/react-demos.js +81 -0
- package/LICENSE +0 -21
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AutoLinkHeader, Example, Link as PatternflyThemeLink } from '@patternfly/documentation-framework/components';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
const pageData = {
|
|
5
|
+
"id": "Drag and drop",
|
|
6
|
+
"section": "components",
|
|
7
|
+
"subsection": "",
|
|
8
|
+
"deprecated": true,
|
|
9
|
+
"template": false,
|
|
10
|
+
"beta": false,
|
|
11
|
+
"demo": false,
|
|
12
|
+
"newImplementationLink": false,
|
|
13
|
+
"source": "react-deprecated",
|
|
14
|
+
"tabName": null,
|
|
15
|
+
"slug": "/components/drag-and-drop/react-deprecated",
|
|
16
|
+
"sourceLink": "https://github.com/patternfly/patternfly-react/blob/main/packages/react-core/src/deprecated/components/DragDrop/examples/DragDrop.md",
|
|
17
|
+
"relPath": "packages/react-core/src/deprecated/components/DragDrop/examples/DragDrop.md",
|
|
18
|
+
"title": "Drag and drop",
|
|
19
|
+
"propComponents": [
|
|
20
|
+
{
|
|
21
|
+
"name": "DragDrop",
|
|
22
|
+
"description": "",
|
|
23
|
+
"props": [
|
|
24
|
+
{
|
|
25
|
+
"name": "children",
|
|
26
|
+
"type": "React.ReactNode",
|
|
27
|
+
"description": "Potentially Droppable and Draggable children"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "onDrag",
|
|
31
|
+
"type": "(source: DraggableItemPosition) => boolean",
|
|
32
|
+
"description": "Callback for drag event. Return true to allow drag, false to disallow.",
|
|
33
|
+
"defaultValue": "() => true"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "onDragMove",
|
|
37
|
+
"type": "(source: DraggableItemPosition, dest?: DraggableItemPosition) => void",
|
|
38
|
+
"description": "Callback on mouse move while dragging.",
|
|
39
|
+
"defaultValue": "() => {}"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "onDrop",
|
|
43
|
+
"type": "(source: DraggableItemPosition, dest?: DraggableItemPosition) => boolean",
|
|
44
|
+
"description": "Callback for drop event. Return true to allow drop, false to disallow.",
|
|
45
|
+
"defaultValue": "() => false"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "Draggable",
|
|
51
|
+
"description": "",
|
|
52
|
+
"props": [
|
|
53
|
+
{
|
|
54
|
+
"name": "children",
|
|
55
|
+
"type": "React.ReactNode",
|
|
56
|
+
"description": "Content rendered inside DragDrop"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "className",
|
|
60
|
+
"type": "string",
|
|
61
|
+
"description": "Class to add to outer div"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "hasNoWrapper",
|
|
65
|
+
"type": "boolean",
|
|
66
|
+
"description": "Don't wrap the component in a div. Requires passing a single child.",
|
|
67
|
+
"defaultValue": "false"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "style",
|
|
71
|
+
"type": "No type info",
|
|
72
|
+
"defaultValue": "{}"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "Droppable",
|
|
78
|
+
"description": "",
|
|
79
|
+
"props": [
|
|
80
|
+
{
|
|
81
|
+
"name": "children",
|
|
82
|
+
"type": "React.ReactNode",
|
|
83
|
+
"description": "Content rendered inside DragDrop"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "className",
|
|
87
|
+
"type": "string",
|
|
88
|
+
"description": "Class to add to outer div"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "droppableId",
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "Id to be passed back on drop events",
|
|
94
|
+
"defaultValue": "'defaultId'"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "hasNoWrapper",
|
|
98
|
+
"type": "boolean",
|
|
99
|
+
"description": "Don't wrap the component in a div. Requires passing a single child.",
|
|
100
|
+
"defaultValue": "false"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "zone",
|
|
104
|
+
"type": "string",
|
|
105
|
+
"description": "Name of zone that items can be dragged between. Should specify if there is more than one Droppable on the page.",
|
|
106
|
+
"defaultValue": "'defaultZone'"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "DraggableItemPosition",
|
|
112
|
+
"description": "",
|
|
113
|
+
"props": [
|
|
114
|
+
{
|
|
115
|
+
"name": "droppableId",
|
|
116
|
+
"type": "string",
|
|
117
|
+
"description": "Parent droppableId",
|
|
118
|
+
"required": true
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "index",
|
|
122
|
+
"type": "number",
|
|
123
|
+
"description": "Index of item in parent Droppable",
|
|
124
|
+
"required": true
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
],
|
|
129
|
+
"examples": [
|
|
130
|
+
"Basic",
|
|
131
|
+
"Multiple lists"
|
|
132
|
+
]
|
|
133
|
+
};
|
|
134
|
+
pageData.liveContext = {
|
|
135
|
+
useState
|
|
136
|
+
};
|
|
137
|
+
pageData.examples = {
|
|
138
|
+
'Basic': props =>
|
|
139
|
+
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { DragDrop, Draggable, Droppable } from '@patternfly/react-core/deprecated';\n\ninterface ItemType {\n id: string;\n content: string;\n}\n\ninterface SourceType {\n droppableId: string;\n index: number;\n}\n\ninterface DestinationType extends SourceType {}\n\nconst getItems = (count: number) =>\n Array.from({ length: count }, (_, idx) => idx).map((idx) => ({\n id: `item-${idx}`,\n content: `item ${idx} `.repeat(idx === 4 ? 20 : 1)\n }));\n\nconst reorder = (list: ItemType[], startIndex: number, endIndex: number) => {\n const result = [...list];\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n return result;\n};\n\nexport const DragDropBasic: React.FunctionComponent = () => {\n const [items, setItems] = useState<ItemType[]>(getItems(10));\n\n function onDrop(source: SourceType, dest: DestinationType) {\n if (dest) {\n const newItems = reorder(items, source.index, dest.index);\n setItems(newItems);\n\n return true;\n }\n return false;\n }\n\n return (\n <DragDrop onDrop={onDrop}>\n <Droppable>\n {items.map(({ id, content }) => (\n <Draggable key={id} style={{ padding: '8px' }}>\n {content}\n </Draggable>\n ))}\n </Droppable>\n </DragDrop>\n );\n};\n","title":"Basic","lang":"ts","className":""}}>
|
|
140
|
+
|
|
141
|
+
</Example>,
|
|
142
|
+
'Multiple lists': props =>
|
|
143
|
+
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { Flex } from '@patternfly/react-core';\nimport { DragDrop, Draggable, Droppable } from '@patternfly/react-core/deprecated';\n\ninterface ItemType {\n id: string;\n content: string;\n}\n\ninterface SourceType {\n droppableId: string;\n index: number;\n}\n\ninterface MultipleListState {\n items1: ItemType[];\n items2: ItemType[];\n}\n\ninterface DestinationType extends SourceType {}\n\nconst getItems = (count: number, startIndex: number) =>\n Array.from({ length: count }, (_, idx) => idx + startIndex).map((idx) => ({\n id: `item-${idx}`,\n content: `item ${idx} `.repeat(idx === 4 ? 20 : 1)\n }));\n\nconst reorder = (list: ItemType[], startIndex: number, endIndex: number) => {\n const result = list;\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n return result;\n};\n\nconst move = (source: ItemType[], destination: ItemType[], sourceIndex: number, destIndex: number) => {\n const sourceClone = source;\n const destClone = destination;\n const [removed] = sourceClone.splice(sourceIndex, 1);\n destClone.splice(destIndex, 0, removed);\n return [sourceClone, destClone];\n};\n\nexport const DragDropMultipleLists: React.FunctionComponent = () => {\n const [items, setItems] = useState<MultipleListState>({\n items1: getItems(10, 0),\n items2: getItems(5, 10)\n });\n\n function onDrop(source: SourceType, dest: DestinationType) {\n // eslint-disable-next-line no-console\n console.log(source, dest);\n if (dest) {\n if (source.droppableId === dest.droppableId) {\n const newItems = reorder(\n source.droppableId === 'items1' ? items.items1 : items.items2,\n source.index,\n dest.index\n );\n if (source.droppableId === 'items1') {\n setItems({\n items1: newItems,\n items2: items.items2\n });\n } else {\n setItems({\n items1: items.items1,\n items2: newItems\n });\n }\n } else {\n const [newItems1, newItems2] = move(\n source.droppableId === 'items1' ? items.items1 : items.items2,\n dest.droppableId === 'items1' ? items.items1 : items.items2,\n source.index,\n dest.index\n );\n setItems({\n items1: source.droppableId === 'items1' ? newItems1 : newItems2,\n items2: dest.droppableId === 'items1' ? newItems1 : newItems2\n });\n }\n return true;\n }\n return false;\n }\n\n return (\n <DragDrop onDrop={onDrop}>\n <Flex alignItems={{ default: 'alignItemsStretch' }} flexWrap={{ default: 'nowrap' }}>\n {Object.entries(items).map(([key, subitems]) => (\n <Flex key={key} fullWidth={{ default: 'fullWidth' }} alignItems={{ default: 'alignItemsStretch' }}>\n <Droppable zone=\"multizone\" droppableId={key} style={{ flexGrow: 1 }}>\n {(subitems as ItemType[]).map(({ id, content }) => (\n <Draggable key={id} style={{ padding: '8px' }}>\n {content}\n </Draggable>\n ))}\n </Droppable>\n </Flex>\n ))}\n </Flex>\n </DragDrop>\n );\n};\n","title":"Multiple lists","lang":"ts","className":""}}>
|
|
144
|
+
|
|
145
|
+
</Example>
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
const Component = () => (
|
|
149
|
+
<React.Fragment>
|
|
150
|
+
<p {...{"className":"pf-v6-c-content--p pf-m-editorial ws-p "}}>
|
|
151
|
+
{`You can use the `}
|
|
152
|
+
<code {...{"className":"ws-code "}}>
|
|
153
|
+
{`<DragDrop>`}
|
|
154
|
+
</code>
|
|
155
|
+
{` component to move items in or between lists. The `}
|
|
156
|
+
<code {...{"className":"ws-code "}}>
|
|
157
|
+
{`<DragDrop>`}
|
|
158
|
+
</code>
|
|
159
|
+
{` component should contain `}
|
|
160
|
+
<code {...{"className":"ws-code "}}>
|
|
161
|
+
{`<Droppable>`}
|
|
162
|
+
</code>
|
|
163
|
+
{` components which contain `}
|
|
164
|
+
<code {...{"className":"ws-code "}}>
|
|
165
|
+
{`<Draggable>`}
|
|
166
|
+
</code>
|
|
167
|
+
{` components.`}
|
|
168
|
+
</p>
|
|
169
|
+
<Example {...{"code":"import { DragDrop, Draggable, Droppable } from '@patternfly/react-core/deprecated';\n\nconst DragDropCodeSample: React.FunctionComponent = () => (\n <DragDrop>\n {' '}\n {/* DragDrop houses the context for dragging and dropping */}\n <Droppable>\n <Draggable>You can put anything here! It will be wrapped in a styled div.</Draggable>\n <Draggable>You can have as many Draggables as you like.</Draggable>\n </Droppable>\n <Droppable>\n {' '}\n {/* You can also have many droppables! */}\n <Draggable />\n </Droppable>\n </DragDrop>\n);","lang":"ts","noLive":true,"className":""}}>
|
|
170
|
+
</Example>
|
|
171
|
+
<p {...{"className":"pf-v6-c-content--p pf-m-editorial ws-p "}}>
|
|
172
|
+
{`Note: Keyboard accessibility and screen reader accessibility are still in development.`}
|
|
173
|
+
</p>
|
|
174
|
+
<AutoLinkHeader {...{"id":"examples","headingLevel":"h2","className":"ws-title ws-h2"}}>
|
|
175
|
+
{`Examples`}
|
|
176
|
+
</AutoLinkHeader>
|
|
177
|
+
{React.createElement(pageData.examples["Basic"])}
|
|
178
|
+
{React.createElement(pageData.examples["Multiple lists"])}
|
|
179
|
+
</React.Fragment>
|
|
180
|
+
);
|
|
181
|
+
Component.displayName = 'ComponentsDragAndDropReactDeprecatedDocs';
|
|
182
|
+
Component.pageData = pageData;
|
|
183
|
+
|
|
184
|
+
export default Component;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AutoLinkHeader, Example, Link as PatternflyThemeLink } from '@patternfly/documentation-framework/components';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import RhMicronsDoubleCaretLeftIcon from '@patternfly/react-icons/dist/esm/icons/rh-microns-double-caret-left-icon';
|
|
5
|
+
import AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';
|
|
6
|
+
import AngleDoubleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-right-icon';
|
|
7
|
+
import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
|
|
8
|
+
import { DragDropSort, DragDropContainer, Droppable as NewDroppable } from '@patternfly/react-drag-drop';
|
|
9
|
+
const pageData = {
|
|
10
|
+
"id": "Drag and drop",
|
|
11
|
+
"section": "components",
|
|
12
|
+
"subsection": "",
|
|
13
|
+
"deprecated": false,
|
|
14
|
+
"template": false,
|
|
15
|
+
"beta": false,
|
|
16
|
+
"demo": false,
|
|
17
|
+
"newImplementationLink": false,
|
|
18
|
+
"source": "react",
|
|
19
|
+
"tabName": null,
|
|
20
|
+
"slug": "/components/drag-and-drop/react",
|
|
21
|
+
"sourceLink": "https://github.com/patternfly/patternfly-react/blob/main/packages/react-drag-drop/src/components/DragDrop/examples/DragDrop.md",
|
|
22
|
+
"relPath": "packages/react-drag-drop/src/components/DragDrop/examples/DragDrop.md",
|
|
23
|
+
"propComponents": [
|
|
24
|
+
{
|
|
25
|
+
"name": "DragDropSort",
|
|
26
|
+
"description": "DragDropSortProps extends dnd-kit's props which may be viewed at https://docs.dndkit.com/api-documentation/context-provider#props.",
|
|
27
|
+
"props": [
|
|
28
|
+
{
|
|
29
|
+
"name": "children",
|
|
30
|
+
"type": "React.ReactElement<any>",
|
|
31
|
+
"description": "Custom defined content wrapper for draggable items. By default, draggable items are wrapped in a styled div.\nIntended to be a 'DataList' or 'DualListSelectorList' without children."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "items",
|
|
35
|
+
"type": "DraggableObject[]",
|
|
36
|
+
"description": "Sorted array of draggable objects",
|
|
37
|
+
"required": true
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "onDrag",
|
|
41
|
+
"type": "(event: DragDropSortDragStartEvent, oldIndex: number) => void",
|
|
42
|
+
"description": "Callback when use begins dragging a draggable object",
|
|
43
|
+
"defaultValue": "() => {}"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "onDrop",
|
|
47
|
+
"type": "(event: DragDropSortDragEndEvent, items: DraggableObject[], oldIndex?: number, newIndex?: number) => void",
|
|
48
|
+
"description": "Callback when user drops a draggable object",
|
|
49
|
+
"defaultValue": "() => {}"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "overlayProps",
|
|
53
|
+
"type": "any",
|
|
54
|
+
"description": "Additional classes to apply to the drag overlay"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "variant",
|
|
58
|
+
"type": "'default' | 'DataList' | 'DualListSelectorList'",
|
|
59
|
+
"description": "The variant determines which component wraps the draggable object.\nDefault variant wraps the draggable object in a div.\nDataList variant wraps the draggable object in a DataListItem\nDualListSelectorList variant wraps the draggable objects in a DualListSelectorListItem and a div.pf-c-dual-list-selector__item-text element",
|
|
60
|
+
"defaultValue": "'default'"
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "DraggableObject",
|
|
66
|
+
"description": "",
|
|
67
|
+
"props": [
|
|
68
|
+
{
|
|
69
|
+
"name": "content",
|
|
70
|
+
"type": "React.ReactNode",
|
|
71
|
+
"description": "Content rendered in the draggable object",
|
|
72
|
+
"required": true
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "id",
|
|
76
|
+
"type": "string | number",
|
|
77
|
+
"description": "Unique id of the draggable object",
|
|
78
|
+
"required": true
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "props",
|
|
82
|
+
"type": "any",
|
|
83
|
+
"description": "Props spread to the rendered wrapper of the draggable object"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"cssPrefix": [
|
|
89
|
+
"pf-v6-c-drag-drop"
|
|
90
|
+
],
|
|
91
|
+
"hideNavItem": true,
|
|
92
|
+
"examples": [
|
|
93
|
+
"Basic drag and drop sorting",
|
|
94
|
+
"Multiple drop zones"
|
|
95
|
+
]
|
|
96
|
+
};
|
|
97
|
+
pageData.liveContext = {
|
|
98
|
+
useState,
|
|
99
|
+
RhMicronsDoubleCaretLeftIcon,
|
|
100
|
+
AngleLeftIcon,
|
|
101
|
+
AngleDoubleRightIcon,
|
|
102
|
+
AngleRightIcon,
|
|
103
|
+
DragDropSort,
|
|
104
|
+
DragDropContainer,
|
|
105
|
+
NewDroppable
|
|
106
|
+
};
|
|
107
|
+
pageData.examples = {
|
|
108
|
+
'Basic drag and drop sorting': props =>
|
|
109
|
+
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { DragDropSort, DraggableObject } from '@patternfly/react-drag-drop';\n\nexport const BasicSorting: React.FunctionComponent = () => {\n const [items, setItems] = useState<DraggableObject[]>([\n { id: 'basic-1', content: 'one' },\n { id: 'basic-2', content: 'two' },\n { id: 'basic-3', content: 'three' }\n ]);\n\n return (\n <DragDropSort\n items={items}\n onDrop={(_, newItems) => {\n setItems(newItems);\n }}\n />\n );\n};\n","title":"Basic drag and drop sorting","lang":"ts","className":""}}>
|
|
110
|
+
|
|
111
|
+
</Example>,
|
|
112
|
+
'Multiple drop zones': props =>
|
|
113
|
+
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport {\n Droppable as NewDroppable,\n DraggableObject,\n DragDropContainer,\n DragDropContainerDragOverEvent,\n DragDropContainerDragEndEvent,\n DragDropContainerDragCancelEvent\n} from '@patternfly/react-drag-drop';\n\nexport const DragDropContainerBasic: React.FunctionComponent = () => {\n const [allItems, setAllItems] = useState<Record<string, DraggableObject[]>>({\n container1: [\n { id: 'button-1', content: 'one' },\n { id: 'button-2', content: 'two' },\n { id: 'button-3', content: 'three' }\n ],\n container2: [\n { id: 'button-4', content: 'four' },\n { id: 'button-5', content: 'five' },\n { id: 'button-6', content: 'six' }\n ]\n });\n\n return (\n <DragDropContainer\n items={allItems}\n onDrop={(_event: DragDropContainerDragEndEvent, newItems: Record<string, DraggableObject[]>) => {\n setAllItems(newItems);\n }}\n onContainerMove={(_event: DragDropContainerDragOverEvent, newItems: Record<string, DraggableObject[]>) => {\n setAllItems(newItems);\n }}\n onCancel={(_event: DragDropContainerDragCancelEvent, prevItems: Record<string, DraggableObject[]>) => {\n setAllItems(prevItems);\n }}\n >\n <h1>group 1</h1>\n <NewDroppable items={allItems.container1} id=\"container1\" />\n <br />\n <h1>group 2</h1>\n <NewDroppable items={allItems.container2} id=\"container2\" />\n </DragDropContainer>\n );\n};\n","title":"Multiple drop zones","lang":"ts","className":""}}>
|
|
114
|
+
|
|
115
|
+
</Example>
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
const Component = () => (
|
|
119
|
+
<React.Fragment>
|
|
120
|
+
<p {...{"className":"pf-v6-c-content--p pf-m-editorial ws-p "}}>
|
|
121
|
+
{`Note: This drag and drop implementation lives in its own package at `}
|
|
122
|
+
<PatternflyThemeLink {...{"to":"https://www.npmjs.com/package/@patternfly/react-drag-drop","className":""}}>
|
|
123
|
+
{`@patternfly/react-drag-drop`}
|
|
124
|
+
</PatternflyThemeLink>
|
|
125
|
+
{`!`}
|
|
126
|
+
</p>
|
|
127
|
+
<AutoLinkHeader {...{"id":"sorting-examples","headingLevel":"h2","className":"ws-title ws-h2"}}>
|
|
128
|
+
{`Sorting examples`}
|
|
129
|
+
</AutoLinkHeader>
|
|
130
|
+
{React.createElement(pageData.examples["Basic drag and drop sorting"])}
|
|
131
|
+
{React.createElement(pageData.examples["Multiple drop zones"])}
|
|
132
|
+
</React.Fragment>
|
|
133
|
+
);
|
|
134
|
+
Component.displayName = 'ComponentsDragAndDropReactDocs';
|
|
135
|
+
Component.pageData = pageData;
|
|
136
|
+
|
|
137
|
+
export default Component;
|