@kne/system-layout 0.1.0-alpha.3 → 0.1.0-alpha.5

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.
@@ -11,6 +11,11 @@ import defaultLogo from './defaultLogo~beHinxEU.svg';
11
11
  import { ReactComponent } from './expand~bdCTnjYJ.svg';
12
12
  import ReactErrorBoundary from '@kne/react-error-boundary';
13
13
  import { createWithIntlProvider, useIntl } from '@kne/react-intl';
14
+ import SimpleBar from 'simplebar-react';
15
+ import 'simplebar-react/dist/simplebar.min.css';
16
+ import LiquidGlass from '@kne/react-liquid-glass';
17
+ import '@kne/react-liquid-glass/dist/index.css';
18
+ import ButtonGroup from '@kne/button-group';
14
19
 
15
20
  var dom = document.createElement("div");
16
21
  dom.setAttribute("aria-hidden", "true");
@@ -32,13 +37,14 @@ function _extends() {
32
37
  }, _extends.apply(null, arguments);
33
38
  }
34
39
 
35
- var style$1 = {"layout":"_sK89O","menu":"_-LpWn","open":"_G-zuN","menu-inner":"_7wq3X","logo":"_-T-Dc","menu-header":"_LOrmu","logo-img":"_2cRWf","expand-btn":"_8dzE7","username":"_b7XeQ","user-description":"_U0YTk","page":"_HnwkM","menu-list":"_8gqbZ","ai-entry":"_5qnw5","ai-dialog-window":"_UAJc-","page-dialog":"_UhsFd","page-window-content":"_2mdNn","page-content":"_nyAa2","ai-dialog-window-title":"_33Tja","ai-dialog-window-content":"_YmBhl"};
40
+ var style$2 = {"layout":"_sK89O","menu":"_-LpWn","open":"_G-zuN","menu-inner":"_7wq3X","logo":"_-T-Dc","menu-header":"_LOrmu","logo-img":"_2cRWf","expand-btn-wrapper":"_5D-Oq","expand-btn":"_8dzE7","username":"_b7XeQ","user-description":"_U0YTk","page":"_HnwkM","menu-list":"_8gqbZ","ai-entry":"_5qnw5","ai-dialog-window":"_UAJc-","page-dialog-outer":"_I7Anv","page-dialog":"_UhsFd","page-window-content":"_2mdNn","page-children":"_OM1Q2","page-content":"_nyAa2","ai-dialog-window-title":"_33Tja","ai-dialog-window-content":"_YmBhl"};
36
41
 
37
42
  const UserCard = ({
38
43
  name,
39
44
  avatar,
40
45
  email,
41
46
  phone,
47
+ description,
42
48
  menuOpen
43
49
  }) => {
44
50
  if (!menuOpen) {
@@ -62,17 +68,17 @@ const UserCard = ({
62
68
  }), /*#__PURE__*/jsxs(Flex, {
63
69
  vertical: true,
64
70
  children: [/*#__PURE__*/jsx("div", {
65
- className: classnames('username', style$1['username']),
71
+ className: classnames('username', style$2['username']),
66
72
  children: name || '-'
67
73
  }), /*#__PURE__*/jsx("div", {
68
- className: classnames('user-description', style$1['user-description']),
69
- children: email || phone || '-'
74
+ className: classnames('user-description', style$2['user-description']),
75
+ children: email || phone || description || '-'
70
76
  })]
71
77
  })]
72
78
  });
73
79
  };
74
80
 
75
- var style = {"menu-group":"_Rfzv4","menu-item-icon":"_qoDtD","menu-group-split":"_socoO","menu-item":"_Xa-2h"};
81
+ var style$1 = {"menu-group":"_Rfzv4","menu-item-icon":"_qoDtD","menu-group-split":"_socoO","menu-item":"_Xa-2h"};
76
82
 
77
83
  const Menu = ({
78
84
  className,
@@ -84,9 +90,9 @@ const Menu = ({
84
90
  }) => {
85
91
  const location = useLocation();
86
92
  const navigate = useNavigate();
87
- const currentPathname = location.pathname.replace(new RegExp(`^/${_base}`), '');
93
+ const currentPathname = _base ? location.pathname.replace(new RegExp(`^${_base}`), '') : location.pathname;
88
94
  return /*#__PURE__*/jsx("div", {
89
- className: classnames('menu', className, style['menu-list']),
95
+ className: classnames('menu', className, style$1['menu-list']),
90
96
  children: items.map((item, index) => {
91
97
  var _items;
92
98
  const active = (() => {
@@ -121,19 +127,19 @@ const Menu = ({
121
127
  }
122
128
  },
123
129
  children: [hasGroup && menuOpen ? /*#__PURE__*/jsx("div", {
124
- className: classnames('menu-group', style['menu-group']),
130
+ className: classnames('menu-group', style$1['menu-group']),
125
131
  children: item.group
126
132
  }) : null, hasGroup && !menuOpen ? /*#__PURE__*/jsx("div", {
127
- className: classnames('menu-group-split', style['menu-group-split'])
133
+ className: classnames('menu-group-split', style$1['menu-group-split'])
128
134
  }) : null, /*#__PURE__*/jsxs(Flex, {
129
- className: classnames('menu-item', style['menu-item'], {
135
+ className: classnames('menu-item', style$1['menu-item'], {
130
136
  ['is-active']: active,
131
137
  ['is-closed']: !menuOpen
132
138
  }),
133
139
  align: "center",
134
140
  gap: 8,
135
141
  children: [typeof icon === 'string' && /*#__PURE__*/jsx(Icon, {
136
- className: classnames('menu-item-icon', style['menu-item-icon']),
142
+ className: classnames('menu-item-icon', style$1['menu-item-icon']),
137
143
  type: icon,
138
144
  fontClassName: "system"
139
145
  }), menuOpen && item.label]
@@ -205,7 +211,7 @@ const Layout = ({
205
211
  const [menuOpen, setMenuOpen] = useState(typeof localMenuOpen === 'boolean' ? localMenuOpen : true);
206
212
  const [aiType, setAiType] = useState('closed');
207
213
  return /*#__PURE__*/jsx("div", {
208
- className: classnames(className, 'layout', style$1['layout']),
214
+ className: classnames(className, 'layout', style$2['layout']),
209
215
  style: {
210
216
  '--menu-max-width': _menuMaxWidth,
211
217
  '--menu-min-width': _menuMinWidth,
@@ -213,31 +219,34 @@ const Layout = ({
213
219
  },
214
220
  children: /*#__PURE__*/jsxs(Flex, {
215
221
  children: [/*#__PURE__*/jsxs("div", {
216
- className: classnames('menu', style$1['menu'], {
222
+ className: classnames('menu', style$2['menu'], {
217
223
  ['open']: menuOpen,
218
- [style$1['open']]: menuOpen
224
+ [style$2['open']]: menuOpen
219
225
  }),
220
226
  children: [/*#__PURE__*/jsx("div", {
221
- className: classnames('logo', style$1['logo']),
227
+ className: classnames('logo', style$2['logo']),
222
228
  children: /*#__PURE__*/jsx(Image, _extends({
223
- className: style$1['logo-img']
229
+ className: style$2['logo-img']
224
230
  }, Object.assign({}, logo ? logo : {
225
231
  src: defaultLogo
226
232
  })))
227
- }), /*#__PURE__*/jsx(ReactComponent, {
228
- className: classnames('expand-btn', style$1['expand-btn'], {
229
- 'is-closed': !menuOpen
230
- }),
233
+ }), /*#__PURE__*/jsx(LiquidGlass, {
234
+ className: classnames('expand-btn-wrapper', style$2['expand-btn-wrapper']),
231
235
  onClick: () => {
232
236
  setMenuOpen(menuOpen => {
233
237
  localStorage.setItem(LayoutMenuOpenKey, !menuOpen);
234
238
  return !menuOpen;
235
239
  });
236
- }
240
+ },
241
+ children: /*#__PURE__*/jsx(ReactComponent, {
242
+ className: classnames('expand-btn', style$2['expand-btn'], {
243
+ 'is-closed': !menuOpen
244
+ })
245
+ })
237
246
  }), /*#__PURE__*/jsxs("div", {
238
- className: classnames('menu-inner', style$1['menu-inner']),
247
+ className: classnames('menu-inner', style$2['menu-inner']),
239
248
  children: [/*#__PURE__*/jsx("div", {
240
- className: classnames('menu-header', style$1['menu-header']),
249
+ className: classnames('menu-header', style$2['menu-header']),
241
250
  children: /*#__PURE__*/jsx(ErrorBoundary, {
242
251
  children: menuHeader ? typeof menuHeader === 'function' ? menuHeader({
243
252
  menuOpen
@@ -247,11 +256,11 @@ const Layout = ({
247
256
  })
248
257
  }), /*#__PURE__*/jsx(ErrorBoundary, {
249
258
  children: /*#__PURE__*/jsx(Menu, _extends({
250
- className: classnames('menu-list', style$1['menu-list']),
259
+ className: classnames('menu-list', style$2['menu-list']),
251
260
  menuOpen: menuOpen
252
261
  }, menu))
253
262
  }), _aiDialog && /*#__PURE__*/jsx("div", {
254
- className: classnames('ai-entry', style$1['ai-entry']),
263
+ className: classnames('ai-entry', style$2['ai-entry']),
255
264
  onClick: () => {
256
265
  setAiType('small');
257
266
  },
@@ -263,16 +272,16 @@ const Layout = ({
263
272
  })]
264
273
  }), /*#__PURE__*/jsx(Flex, {
265
274
  flex: 1,
266
- className: classnames('page', style$1['page']),
275
+ className: classnames('page', style$2['page']),
267
276
  children: /*#__PURE__*/jsxs(Row, {
268
- gutter: 24,
269
- className: classnames('page-content', style$1['page-content']),
277
+ className: classnames('page-content', style$2['page-content']),
270
278
  children: [_aiDialog && aiType === 'inner' && /*#__PURE__*/jsx(Col, {
271
279
  span: 8,
280
+ className: classnames('page-dialog-outer', style$2['page-dialog-outer']),
272
281
  children: /*#__PURE__*/jsxs("div", {
273
- className: classnames('page-dialog', style$1['page-dialog']),
282
+ className: classnames('page-dialog', style$2['page-dialog']),
274
283
  children: [/*#__PURE__*/jsxs(Flex, {
275
- className: classnames('ai-dialog-window-title', style$1['ai-dialog-window-title']),
284
+ className: classnames('ai-dialog-window-title', style$2['ai-dialog-window-title']),
276
285
  children: [/*#__PURE__*/jsx("div", {
277
286
  children: _aiDialog.title
278
287
  }), /*#__PURE__*/jsx(Flex, {
@@ -288,7 +297,7 @@ const Layout = ({
288
297
  })]
289
298
  }), /*#__PURE__*/jsx(ErrorBoundary, {
290
299
  children: /*#__PURE__*/jsx("div", {
291
- className: classnames('page-window-content', style$1['page-window-content']),
300
+ className: classnames('page-window-content', style$2['page-window-content']),
292
301
  children: _aiDialog.content
293
302
  })
294
303
  })]
@@ -296,14 +305,19 @@ const Layout = ({
296
305
  }), /*#__PURE__*/jsx(Col, {
297
306
  span: aiType === 'inner' ? 16 : 24,
298
307
  children: /*#__PURE__*/jsx(ErrorBoundary, {
299
- children: children
308
+ children: /*#__PURE__*/jsx(SimpleBar, {
309
+ className: classnames('page-children', style$2['page-children'], {
310
+ ['has-left']: aiType === 'inner'
311
+ }),
312
+ children: children
313
+ })
300
314
  })
301
315
  })]
302
316
  })
303
317
  }), _aiDialog && aiType === 'small' && /*#__PURE__*/jsxs("div", {
304
- className: classnames('ai-dialog-window', style$1['ai-dialog-window']),
318
+ className: classnames('ai-dialog-window', style$2['ai-dialog-window']),
305
319
  children: [/*#__PURE__*/jsxs(Flex, {
306
- className: classnames('ai-dialog-window-title', style$1['ai-dialog-window-title']),
320
+ className: classnames('ai-dialog-window-title', style$2['ai-dialog-window-title']),
307
321
  children: [/*#__PURE__*/jsx("div", {
308
322
  children: _aiDialog.title
309
323
  }), /*#__PURE__*/jsxs(Flex, {
@@ -326,7 +340,7 @@ const Layout = ({
326
340
  })]
327
341
  }), /*#__PURE__*/jsx(ErrorBoundary, {
328
342
  children: /*#__PURE__*/jsx("div", {
329
- className: classnames('ai-dialog-window-content', style$1['ai-dialog-window-content']),
343
+ className: classnames('ai-dialog-window-content', style$2['ai-dialog-window-content']),
330
344
  children: _aiDialog.content
331
345
  })
332
346
  })]
@@ -335,5 +349,31 @@ const Layout = ({
335
349
  });
336
350
  };
337
351
 
338
- export { Layout, Layout as default };
352
+ var style = {"page-title":"_IOVGr","page-title-extra":"_mKsLu"};
353
+
354
+ const Page = ({
355
+ title,
356
+ buttonProps,
357
+ children
358
+ }) => {
359
+ return /*#__PURE__*/jsxs(Flex, {
360
+ vertical: true,
361
+ gap: 24,
362
+ children: [/*#__PURE__*/jsxs(Flex, {
363
+ justify: "space-between",
364
+ gap: 20,
365
+ children: [/*#__PURE__*/jsx("div", {
366
+ className: classnames('page-title', style['page-title']),
367
+ children: title
368
+ }), /*#__PURE__*/jsx("div", {
369
+ className: classnames('page-title-extra', style['page-title-extra']),
370
+ children: buttonProps && /*#__PURE__*/jsx(ButtonGroup, _extends({}, buttonProps))
371
+ })]
372
+ }), /*#__PURE__*/jsx("div", {
373
+ children: children
374
+ })]
375
+ });
376
+ };
377
+
378
+ export { Layout, Page, Layout as default };
339
379
  //# sourceMappingURL=index.modern.js.map