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