ywana-core8 0.0.886 → 0.0.888

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/index.umd.js CHANGED
@@ -4026,6 +4026,7 @@
4026
4026
  icon = _ref7$icon === void 0 ? 'info' : _ref7$icon,
4027
4027
  title = _ref7.title;
4028
4028
  var styleItem = id === page ? 'selected' : '';
4029
+ var titleTxt = context.translate(title);
4029
4030
  return /*#__PURE__*/React__default["default"].createElement("div", {
4030
4031
  className: "site-menu-item " + styleItem,
4031
4032
  key: id,
@@ -4035,7 +4036,7 @@
4035
4036
  }, /*#__PURE__*/React__default["default"].createElement(Tooltip, {
4036
4037
  text: title,
4037
4038
  top: ".5rem",
4038
- left: "2rem"
4039
+ left: "4.5rem"
4039
4040
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
4040
4041
  key: id,
4041
4042
  icon: icon,
@@ -4043,7 +4044,7 @@
4043
4044
  action: function action() {
4044
4045
  return _goto(id);
4045
4046
  }
4046
- })), sideNav === 'max' ? /*#__PURE__*/React__default["default"].createElement("label", null, title) : null);
4047
+ })), sideNav === 'max' ? /*#__PURE__*/React__default["default"].createElement("label", null, titleTxt) : null);
4047
4048
  }), /*#__PURE__*/React__default["default"].createElement("div", {
4048
4049
  className: "section-divider"
4049
4050
  }));
@@ -4299,77 +4300,169 @@
4299
4300
  };
4300
4301
 
4301
4302
  /**
4302
- * File Explorer
4303
+ * File Explorer View
4303
4304
  */
4304
- var FileExplorer = function FileExplorer(props) {
4305
- var title = props.title,
4305
+ var FileExplorerView = function FileExplorerView(props) {
4306
+ var _props$folders = props.folders,
4307
+ folders = _props$folders === void 0 ? [] : _props$folders,
4308
+ selectedFolder = props.selectedFolder,
4309
+ onSelectFolder = props.onSelectFolder,
4306
4310
  _props$files = props.files,
4307
- files = _props$files === void 0 ? [] : _props$files;
4311
+ files = _props$files === void 0 ? [] : _props$files,
4312
+ selectedFile = props.selectedFile,
4313
+ onSelectFile = props.onSelectFile,
4314
+ search = props.search,
4315
+ onSearch = props.onSearch;
4316
+ var _useState4 = React.useState('list'),
4317
+ view = _useState4[0],
4318
+ setView = _useState4[1];
4319
+ var folder = folders.find(function (folder) {
4320
+ return folder.id === selectedFolder;
4321
+ });
4322
+ var folderTitle = folder ? folder.title : '';
4323
+ function switchView() {
4324
+ setView(view === 'grid' ? 'list' : 'grid');
4325
+ }
4308
4326
  return /*#__PURE__*/React__default["default"].createElement("div", {
4309
4327
  className: "file-explorer"
4310
- }, /*#__PURE__*/React__default["default"].createElement("header", null, title, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
4311
- icon: "info"
4312
- }))), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(FilesGrid, {
4313
- files: files
4314
- })), /*#__PURE__*/React__default["default"].createElement("aside", null));
4328
+ }, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("header", {
4329
+ className: "folder-header"
4330
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
4331
+ className: "folder-title"
4332
+ }, folderTitle)), /*#__PURE__*/React__default["default"].createElement("div", {
4333
+ className: "folder-actions"
4334
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
4335
+ icon: "list",
4336
+ clickable: true,
4337
+ action: switchView,
4338
+ checked: view === "list"
4339
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
4340
+ icon: "grid_view",
4341
+ clickable: true,
4342
+ action: switchView,
4343
+ checked: view === "grid"
4344
+ })), /*#__PURE__*/React__default["default"].createElement(FilesSearchBox, {
4345
+ search: search,
4346
+ onSearch: onSearch
4347
+ })), /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement(FoldersTreeView, {
4348
+ folders: folders,
4349
+ selected: selectedFolder,
4350
+ onSelect: onSelectFolder
4351
+ })), /*#__PURE__*/React__default["default"].createElement("main", null, view === 'grid' ? /*#__PURE__*/React__default["default"].createElement(FilesGridView, {
4352
+ files: files,
4353
+ selected: selectedFile,
4354
+ onSelect: onSelectFile
4355
+ }) : null, view === 'list' ? /*#__PURE__*/React__default["default"].createElement(FilesTableView, {
4356
+ files: files,
4357
+ selected: selectedFile,
4358
+ onSelect: onSelectFile
4359
+ }) : null));
4360
+ };
4361
+ var FoldersTreeView = function FoldersTreeView(props) {
4362
+ var _props$folders2 = props.folders,
4363
+ folders = _props$folders2 === void 0 ? [] : _props$folders2,
4364
+ selected = props.selected,
4365
+ _onSelect = props.onSelect;
4366
+ function isSelected(id) {
4367
+ return selected === id;
4368
+ }
4369
+ return /*#__PURE__*/React__default["default"].createElement(Tree, null, folders.map(function (folder) {
4370
+ return /*#__PURE__*/React__default["default"].createElement(TreeItem, {
4371
+ key: folder.id,
4372
+ icon: folder.icon,
4373
+ label: folder.title,
4374
+ onSelect: function onSelect() {
4375
+ return _onSelect(folder.id);
4376
+ },
4377
+ selected: isSelected(folder.id)
4378
+ });
4379
+ }));
4380
+ };
4381
+ var FilesSearchBox = function FilesSearchBox(props) {
4382
+ var onSearch = props.onSearch;
4383
+ function searchChanged(id, value) {
4384
+ onSearch(value);
4385
+ }
4386
+ return /*#__PURE__*/React__default["default"].createElement("div", {
4387
+ className: "file-searchbox"
4388
+ }, /*#__PURE__*/React__default["default"].createElement(TextField, {
4389
+ placeholder: "Search...",
4390
+ onChange: searchChanged,
4391
+ outlined: true
4392
+ }));
4315
4393
  };
4316
4394
 
4317
4395
  /**
4318
4396
  * File Icons View
4319
4397
  */
4320
- var FilesGrid = function FilesGrid(props) {
4398
+ var FilesGridView = function FilesGridView(props) {
4321
4399
  var _props$files2 = props.files,
4322
4400
  files = _props$files2 === void 0 ? [] : _props$files2,
4401
+ selected = props.selected,
4323
4402
  onSelect = props.onSelect;
4324
- var _useState = React.useState(),
4325
- selected = _useState[0],
4326
- setSelected = _useState[1];
4327
- function select(id) {
4328
- setSelected(id);
4329
- if (onSelect) onSelect(id);
4330
- }
4331
4403
  function isSelected(id) {
4332
4404
  return selected === id;
4333
4405
  }
4334
4406
  return /*#__PURE__*/React__default["default"].createElement("div", {
4335
- className: "file-view file-view--icons"
4407
+ className: "files-grid"
4336
4408
  }, files.map(function (file) {
4337
- return /*#__PURE__*/React__default["default"].createElement(FileIcon, {
4409
+ return /*#__PURE__*/React__default["default"].createElement(FileGridItem, {
4410
+ key: file.id,
4338
4411
  file: file,
4339
- onSelect: select,
4412
+ onSelect: onSelect,
4340
4413
  selected: isSelected(file.id)
4341
4414
  });
4342
4415
  }));
4343
4416
  };
4344
4417
 
4345
4418
  /**
4346
- * File Icon
4419
+ * File Grid Item
4347
4420
  */
4348
- var FileIcon = function FileIcon(props) {
4421
+ var FileGridItem = function FileGridItem(props) {
4349
4422
  var _props$file = props.file,
4350
4423
  file = _props$file === void 0 ? {} : _props$file,
4351
4424
  _props$selected = props.selected,
4352
4425
  selected = _props$selected === void 0 ? false : _props$selected,
4353
4426
  onSelect = props.onSelect;
4354
4427
  var id = file.id,
4355
- icon = file.icon,
4356
- label = file.label,
4428
+ title = file.title,
4429
+ subtitle = file.subtitle,
4357
4430
  _file$src = file.src,
4358
- src = _file$src === void 0 ? "https://findicons.com/files/icons/2813/flat_jewels/256/file.png" : _file$src,
4359
- footer = file.footer;
4431
+ src = _file$src === void 0 ? "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQkAPtY9GS4QgwAjRUSvLaa6TP4fSlQkVDqEg&usqp=CAU" : _file$src;
4360
4432
  function select() {
4361
4433
  if (onSelect && !selected) onSelect(id);
4362
4434
  }
4363
- var style = selected ? 'file-icon--selected' : '';
4435
+ var style = selected ? 'file-item--selected' : '';
4364
4436
  return /*#__PURE__*/React__default["default"].createElement("div", {
4365
- className: "file-icon " + style,
4437
+ className: "file-item " + style,
4366
4438
  onClick: select
4367
4439
  }, /*#__PURE__*/React__default["default"].createElement("picture", null, /*#__PURE__*/React__default["default"].createElement("img", {
4368
4440
  src: src
4369
- })), /*#__PURE__*/React__default["default"].createElement("main", null, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
4370
- size: "small",
4371
- icon: icon
4372
- }) : null, /*#__PURE__*/React__default["default"].createElement("label", null, label)), footer ? /*#__PURE__*/React__default["default"].createElement("footer", null, footer) : null);
4441
+ })), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
4442
+ className: "file-item-title"
4443
+ }, title), /*#__PURE__*/React__default["default"].createElement("div", {
4444
+ className: "file-item-subtitle"
4445
+ }, subtitle)));
4446
+ };
4447
+ var FilesTableView = function FilesTableView(props) {
4448
+ var _props$files3 = props.files,
4449
+ files = _props$files3 === void 0 ? [] : _props$files3;
4450
+ var table = {
4451
+ columns: [{
4452
+ id: "icon",
4453
+ type: "ICON"
4454
+ }, {
4455
+ id: "title",
4456
+ label: "Title"
4457
+ }, {
4458
+ id: "subtitle",
4459
+ label: "Subtitle"
4460
+ }],
4461
+ rows: files
4462
+ };
4463
+ return /*#__PURE__*/React__default["default"].createElement("div", {
4464
+ className: "files-table"
4465
+ }, /*#__PURE__*/React__default["default"].createElement(DataTable, table));
4373
4466
  };
4374
4467
 
4375
4468
  /**
@@ -10983,8 +11076,10 @@
10983
11076
  exports.EmptyMessage = EmptyMessage;
10984
11077
  exports.FORMATS = FORMATS$1;
10985
11078
  exports.FieldEditor = FieldEditor;
10986
- exports.FileExplorer = FileExplorer;
10987
- exports.FilesGrid = FilesGrid;
11079
+ exports.FileExplorerView = FileExplorerView;
11080
+ exports.FilesGridView = FilesGridView;
11081
+ exports.FilesSearchBox = FilesSearchBox;
11082
+ exports.FoldersTreeView = FoldersTreeView;
10988
11083
  exports.Form = Form;
10989
11084
  exports.HTTPClient = HTTPClient;
10990
11085
  exports.Header = Header;