gdx-ui 1.14.1 → 1.15.1

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.
@@ -1,104 +1,121 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.SortableList = void 0;
8
7
  var _react = _interopRequireDefault(require("react"));
9
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _reactBeautifulDnd = require("react-beautiful-dnd");
11
9
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
12
10
  var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
11
+ var _core = require("@dnd-kit/core");
12
+ var _sortable = require("@dnd-kit/sortable");
13
+ var _utilities = require("@dnd-kit/utilities");
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
15
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
15
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
21
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
- function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
25
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
27
- function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
28
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
29
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
16
+ // Componente para cada item sortable
17
+ var SortableItem = function SortableItem(_ref) {
18
+ var id = _ref.id,
19
+ children = _ref.children,
20
+ dragHandle = _ref.dragHandle;
21
+ var _useSortable = (0, _sortable.useSortable)({
22
+ id: id
23
+ }),
24
+ attributes = _useSortable.attributes,
25
+ listeners = _useSortable.listeners,
26
+ setNodeRef = _useSortable.setNodeRef,
27
+ transform = _useSortable.transform,
28
+ transition = _useSortable.transition,
29
+ isDragging = _useSortable.isDragging;
30
+ var style = {
31
+ transform: _utilities.CSS.Transform.toString(transform),
32
+ transition: transition,
33
+ opacity: isDragging ? 0.8 : 1,
34
+ cursor: dragHandle ? 'default' : 'move',
35
+ display: 'flex',
36
+ alignItems: 'center'
37
+ };
38
+ return /*#__PURE__*/_react["default"].createElement("li", _extends({
39
+ ref: setNodeRef,
40
+ style: style,
41
+ className: "list-item"
42
+ }, attributes, !dragHandle ? listeners : {}), dragHandle && /*#__PURE__*/_react["default"].createElement("div", _extends({}, listeners, {
43
+ style: {
44
+ padding: '8px',
45
+ cursor: 'grab',
46
+ display: 'flex',
47
+ alignItems: 'center',
48
+ marginRight: '8px'
49
+ }
50
+ }), /*#__PURE__*/_react["default"].createElement(_reactFontawesome.FontAwesomeIcon, {
51
+ icon: _freeSolidSvgIcons.faGripVertical
52
+ })), /*#__PURE__*/_react["default"].createElement("div", {
53
+ style: {
54
+ flex: 1
55
+ }
56
+ }, children));
57
+ };
58
+
30
59
  /**
31
60
  * List that allows reordering of items via drag and drop
32
61
  */
33
- var SortableList = exports.SortableList = function SortableList(_ref) {
34
- var _ref$items = _ref.items,
35
- items = _ref$items === void 0 ? [] : _ref$items,
36
- onReorder = _ref.onReorder,
37
- renderItem = _ref.renderItem,
38
- _ref$inline = _ref.inline,
39
- inline = _ref$inline === void 0 ? false : _ref$inline,
40
- _ref$dragHandle = _ref.dragHandle,
41
- dragHandle = _ref$dragHandle === void 0 ? false : _ref$dragHandle,
42
- className = _ref.className;
43
- var handleOnDragEnd = function handleOnDragEnd(result) {
44
- if (!result.destination || !onReorder) return;
45
- var startIndex = result.source.index;
46
- var endIndex = result.destination.index;
47
- if (startIndex === endIndex) return;
48
- var newItems = _toConsumableArray(items);
49
- var _newItems$splice = newItems.splice(startIndex, 1),
50
- _newItems$splice2 = _slicedToArray(_newItems$splice, 1),
51
- moved = _newItems$splice2[0];
52
- newItems.splice(endIndex, 0, moved);
62
+ var SortableList = exports.SortableList = function SortableList(_ref2) {
63
+ var _ref2$items = _ref2.items,
64
+ items = _ref2$items === void 0 ? [] : _ref2$items,
65
+ onReorder = _ref2.onReorder,
66
+ renderItem = _ref2.renderItem,
67
+ _ref2$inline = _ref2.inline,
68
+ inline = _ref2$inline === void 0 ? false : _ref2$inline,
69
+ _ref2$dragHandle = _ref2.dragHandle,
70
+ dragHandle = _ref2$dragHandle === void 0 ? false : _ref2$dragHandle,
71
+ className = _ref2.className;
72
+ // Sensores para drag and drop
73
+ var sensors = (0, _core.useSensors)((0, _core.useSensor)(_core.PointerSensor), (0, _core.useSensor)(_core.KeyboardSensor, {
74
+ coordinateGetter: _sortable.sortableKeyboardCoordinates
75
+ }));
53
76
 
54
- // Pasar solo el array ya ordenado
55
- onReorder(newItems);
56
- };
57
- return /*#__PURE__*/_react["default"].createElement(_reactBeautifulDnd.DragDropContext, {
58
- onDragEnd: handleOnDragEnd
59
- }, /*#__PURE__*/_react["default"].createElement(_reactBeautifulDnd.Droppable, {
60
- droppableId: "sortable-list",
61
- direction: inline ? 'horizontal' : 'vertical'
62
- }, function (provided) {
63
- return /*#__PURE__*/_react["default"].createElement("div", _extends({
64
- className: "clear-list ".concat(inline ? 'inline-list' : '', " ").concat(className ? className : '')
65
- }, provided.droppableProps, {
66
- ref: provided.innerRef
67
- }), /*#__PURE__*/_react["default"].createElement("ul", null, items.map(function (item, index) {
68
- var _item$id;
69
- return /*#__PURE__*/_react["default"].createElement(_reactBeautifulDnd.Draggable, {
70
- key: item.id || index,
71
- draggableId: ((_item$id = item.id) === null || _item$id === void 0 ? void 0 : _item$id.toString()) || index.toString(),
72
- index: index
73
- }, function (provided, snapshot) {
74
- return /*#__PURE__*/_react["default"].createElement("li", _extends({
75
- ref: provided.innerRef
76
- }, provided.draggableProps, !dragHandle ? provided.dragHandleProps : {}, {
77
- style: _objectSpread(_objectSpread({}, provided.draggableProps.style), {}, {
78
- opacity: snapshot.isDragging ? 0.8 : 1,
79
- cursor: dragHandle ? 'default' : 'move',
80
- display: 'flex',
81
- alignItems: 'center'
82
- }),
83
- className: "list-item"
84
- }), dragHandle && /*#__PURE__*/_react["default"].createElement("div", _extends({}, provided.dragHandleProps, {
85
- style: {
86
- padding: '8px',
87
- cursor: 'grab',
88
- display: 'flex',
89
- alignItems: 'center',
90
- marginRight: '8px'
91
- }
92
- }), /*#__PURE__*/_react["default"].createElement(_reactFontawesome.FontAwesomeIcon, {
93
- icon: _freeSolidSvgIcons.faGripVertical
94
- })), /*#__PURE__*/_react["default"].createElement("div", {
95
- style: {
96
- flex: 1
97
- }
98
- }, renderItem ? renderItem(item, index) : item.toString()));
77
+ // Maneja el final del drag
78
+ var handleDragEnd = function handleDragEnd(event) {
79
+ var active = event.active,
80
+ over = event.over;
81
+ if (active.id !== (over === null || over === void 0 ? void 0 : over.id) && onReorder) {
82
+ var oldIndex = items.findIndex(function (item) {
83
+ return (item.id || items.indexOf(item)) === active.id;
99
84
  });
100
- }), provided.placeholder));
101
- }));
85
+ var newIndex = items.findIndex(function (item) {
86
+ return (item.id || items.indexOf(item)) === over.id;
87
+ });
88
+ var newItems = (0, _sortable.arrayMove)(items, oldIndex, newIndex);
89
+ onReorder(newItems);
90
+ }
91
+ };
92
+
93
+ // Genera IDs únicos para cada item
94
+ var itemsWithIds = items.map(function (item, index) {
95
+ return {
96
+ id: item.id || "item-".concat(index),
97
+ data: item,
98
+ index: index
99
+ };
100
+ });
101
+ return /*#__PURE__*/_react["default"].createElement(_core.DndContext, {
102
+ sensors: sensors,
103
+ collisionDetection: _core.closestCenter,
104
+ onDragEnd: handleDragEnd
105
+ }, /*#__PURE__*/_react["default"].createElement(_sortable.SortableContext, {
106
+ items: itemsWithIds.map(function (item) {
107
+ return item.id;
108
+ }),
109
+ strategy: inline ? _sortable.horizontalListSortingStrategy : _sortable.verticalListSortingStrategy
110
+ }, /*#__PURE__*/_react["default"].createElement("div", {
111
+ className: "clear-list ".concat(inline ? 'inline-list' : '', " ").concat(className ? className : '')
112
+ }, /*#__PURE__*/_react["default"].createElement("ul", null, itemsWithIds.map(function (itemWrapper) {
113
+ return /*#__PURE__*/_react["default"].createElement(SortableItem, {
114
+ key: itemWrapper.id,
115
+ id: itemWrapper.id,
116
+ dragHandle: dragHandle
117
+ }, renderItem ? renderItem(itemWrapper.data, itemWrapper.index) : itemWrapper.data.toString());
118
+ })))));
102
119
  };
103
120
  SortableList.propTypes = {
104
121
  /** Array of items to display in the list */
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.SortableList = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _reactBeautifulDnd = require("react-beautiful-dnd");
11
+ var _reactFontawesome = require("@fortawesome/react-fontawesome");
12
+ var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
21
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
25
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
27
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
28
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
29
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
30
+ /**
31
+ * List that allows reordering of items via drag and drop
32
+ */
33
+ var SortableList = exports.SortableList = function SortableList(_ref) {
34
+ var _ref$items = _ref.items,
35
+ items = _ref$items === void 0 ? [] : _ref$items,
36
+ onReorder = _ref.onReorder,
37
+ renderItem = _ref.renderItem,
38
+ _ref$inline = _ref.inline,
39
+ inline = _ref$inline === void 0 ? false : _ref$inline,
40
+ _ref$dragHandle = _ref.dragHandle,
41
+ dragHandle = _ref$dragHandle === void 0 ? false : _ref$dragHandle,
42
+ className = _ref.className;
43
+ var handleOnDragEnd = function handleOnDragEnd(result) {
44
+ if (!result.destination || !onReorder) return;
45
+ var startIndex = result.source.index;
46
+ var endIndex = result.destination.index;
47
+ if (startIndex === endIndex) return;
48
+ var newItems = _toConsumableArray(items);
49
+ var _newItems$splice = newItems.splice(startIndex, 1),
50
+ _newItems$splice2 = _slicedToArray(_newItems$splice, 1),
51
+ moved = _newItems$splice2[0];
52
+ newItems.splice(endIndex, 0, moved);
53
+
54
+ // Pasar solo el array ya ordenado
55
+ onReorder(newItems);
56
+ };
57
+ return /*#__PURE__*/_react["default"].createElement(_reactBeautifulDnd.DragDropContext, {
58
+ onDragEnd: handleOnDragEnd
59
+ }, /*#__PURE__*/_react["default"].createElement(_reactBeautifulDnd.Droppable, {
60
+ droppableId: "sortable-list",
61
+ direction: inline ? 'horizontal' : 'vertical'
62
+ }, function (provided) {
63
+ return /*#__PURE__*/_react["default"].createElement("div", _extends({
64
+ className: "clear-list ".concat(inline ? 'inline-list' : '', " ").concat(className ? className : '')
65
+ }, provided.droppableProps, {
66
+ ref: provided.innerRef
67
+ }), /*#__PURE__*/_react["default"].createElement("ul", null, items.map(function (item, index) {
68
+ var _item$id;
69
+ return /*#__PURE__*/_react["default"].createElement(_reactBeautifulDnd.Draggable, {
70
+ key: item.id || index,
71
+ draggableId: ((_item$id = item.id) === null || _item$id === void 0 ? void 0 : _item$id.toString()) || index.toString(),
72
+ index: index
73
+ }, function (provided, snapshot) {
74
+ return /*#__PURE__*/_react["default"].createElement("li", _extends({
75
+ ref: provided.innerRef
76
+ }, provided.draggableProps, !dragHandle ? provided.dragHandleProps : {}, {
77
+ style: _objectSpread(_objectSpread({}, provided.draggableProps.style), {}, {
78
+ opacity: snapshot.isDragging ? 0.8 : 1,
79
+ cursor: dragHandle ? 'default' : 'move',
80
+ display: 'flex',
81
+ alignItems: 'center'
82
+ }),
83
+ className: "list-item"
84
+ }), dragHandle && /*#__PURE__*/_react["default"].createElement("div", _extends({}, provided.dragHandleProps, {
85
+ style: {
86
+ padding: '8px',
87
+ cursor: 'grab',
88
+ display: 'flex',
89
+ alignItems: 'center',
90
+ marginRight: '8px'
91
+ }
92
+ }), /*#__PURE__*/_react["default"].createElement(_reactFontawesome.FontAwesomeIcon, {
93
+ icon: _freeSolidSvgIcons.faGripVertical
94
+ })), /*#__PURE__*/_react["default"].createElement("div", {
95
+ style: {
96
+ flex: 1
97
+ }
98
+ }, renderItem ? renderItem(item, index) : item.toString()));
99
+ });
100
+ }), provided.placeholder));
101
+ }));
102
+ };
103
+ SortableList.propTypes = {
104
+ /** Array of items to display in the list */
105
+ items: _propTypes["default"].array.isRequired,
106
+ /** Function that is called when the list is reordered. Receives the reordered array as a parameter */
107
+ onReorder: _propTypes["default"].func.isRequired,
108
+ /**
109
+ * Renderer function for each item in the list
110
+ * @param {any} item - The current item
111
+ * @param {number} index - The index of the item
112
+ * @returns {ReactNode} - JSX to render for the item
113
+ */
114
+ renderItem: _propTypes["default"].func,
115
+ /** Show inline list if true */
116
+ inline: _propTypes["default"].bool,
117
+ /** Additional CSS classes */
118
+ className: _propTypes["default"].string,
119
+ /** If true, only the handle icon can be dragged */
120
+ dragHandle: _propTypes["default"].bool
121
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gdx-ui",
3
- "version": "1.14.1",
3
+ "version": "1.15.1",
4
4
  "description": "UI gdx",
5
5
  "main": "index.js",
6
6
  "module": "index.js",