@kne/system-layout 0.1.0-alpha.4 → 0.1.0-alpha.6

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-bg":"_p4eOE","pulse":"_3JQL4","expand-btn":"_8dzE7","username":"_b7XeQ","user-description":"_U0YTk","page":"_HnwkM","menu-list":"_8gqbZ","ai-entry":"_5qnw5","ai-dialog-window":"_UAJc-","pulse-dialog-window":"_VjIWn","page-dialog-outer":"_I7Anv","page-dialog":"_UhsFd","pulse-page-dialog":"_H7slV","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,37 @@ 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__*/jsxs("div", {
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(LiquidGlass, {
242
+ className: classnames('expand-btn-bg', style$2['expand-btn-bg']),
243
+ responsiveBorder: false
244
+ }), /*#__PURE__*/jsx(ReactComponent, {
245
+ className: classnames('expand-btn', style$2['expand-btn'], {
246
+ 'is-closed': !menuOpen
247
+ })
248
+ })]
237
249
  }), /*#__PURE__*/jsxs("div", {
238
- className: classnames('menu-inner', style$1['menu-inner']),
250
+ className: classnames('menu-inner', style$2['menu-inner']),
239
251
  children: [/*#__PURE__*/jsx("div", {
240
- className: classnames('menu-header', style$1['menu-header']),
252
+ className: classnames('menu-header', style$2['menu-header']),
241
253
  children: /*#__PURE__*/jsx(ErrorBoundary, {
242
254
  children: menuHeader ? typeof menuHeader === 'function' ? menuHeader({
243
255
  menuOpen
@@ -247,11 +259,11 @@ const Layout = ({
247
259
  })
248
260
  }), /*#__PURE__*/jsx(ErrorBoundary, {
249
261
  children: /*#__PURE__*/jsx(Menu, _extends({
250
- className: classnames('menu-list', style$1['menu-list']),
262
+ className: classnames('menu-list', style$2['menu-list']),
251
263
  menuOpen: menuOpen
252
264
  }, menu))
253
265
  }), _aiDialog && /*#__PURE__*/jsx("div", {
254
- className: classnames('ai-entry', style$1['ai-entry']),
266
+ className: classnames('ai-entry', style$2['ai-entry']),
255
267
  onClick: () => {
256
268
  setAiType('small');
257
269
  },
@@ -263,16 +275,16 @@ const Layout = ({
263
275
  })]
264
276
  }), /*#__PURE__*/jsx(Flex, {
265
277
  flex: 1,
266
- className: classnames('page', style$1['page']),
278
+ className: classnames('page', style$2['page']),
267
279
  children: /*#__PURE__*/jsxs(Row, {
268
- gutter: 24,
269
- className: classnames('page-content', style$1['page-content']),
280
+ className: classnames('page-content', style$2['page-content']),
270
281
  children: [_aiDialog && aiType === 'inner' && /*#__PURE__*/jsx(Col, {
271
282
  span: 8,
283
+ className: classnames('page-dialog-outer', style$2['page-dialog-outer']),
272
284
  children: /*#__PURE__*/jsxs("div", {
273
- className: classnames('page-dialog', style$1['page-dialog']),
285
+ className: classnames('page-dialog', style$2['page-dialog']),
274
286
  children: [/*#__PURE__*/jsxs(Flex, {
275
- className: classnames('ai-dialog-window-title', style$1['ai-dialog-window-title']),
287
+ className: classnames('ai-dialog-window-title', style$2['ai-dialog-window-title']),
276
288
  children: [/*#__PURE__*/jsx("div", {
277
289
  children: _aiDialog.title
278
290
  }), /*#__PURE__*/jsx(Flex, {
@@ -288,7 +300,7 @@ const Layout = ({
288
300
  })]
289
301
  }), /*#__PURE__*/jsx(ErrorBoundary, {
290
302
  children: /*#__PURE__*/jsx("div", {
291
- className: classnames('page-window-content', style$1['page-window-content']),
303
+ className: classnames('page-window-content', style$2['page-window-content']),
292
304
  children: _aiDialog.content
293
305
  })
294
306
  })]
@@ -296,14 +308,19 @@ const Layout = ({
296
308
  }), /*#__PURE__*/jsx(Col, {
297
309
  span: aiType === 'inner' ? 16 : 24,
298
310
  children: /*#__PURE__*/jsx(ErrorBoundary, {
299
- children: children
311
+ children: /*#__PURE__*/jsx(SimpleBar, {
312
+ className: classnames('page-children', style$2['page-children'], {
313
+ ['has-left']: aiType === 'inner'
314
+ }),
315
+ children: children
316
+ })
300
317
  })
301
318
  })]
302
319
  })
303
320
  }), _aiDialog && aiType === 'small' && /*#__PURE__*/jsxs("div", {
304
- className: classnames('ai-dialog-window', style$1['ai-dialog-window']),
321
+ className: classnames('ai-dialog-window', style$2['ai-dialog-window']),
305
322
  children: [/*#__PURE__*/jsxs(Flex, {
306
- className: classnames('ai-dialog-window-title', style$1['ai-dialog-window-title']),
323
+ className: classnames('ai-dialog-window-title', style$2['ai-dialog-window-title']),
307
324
  children: [/*#__PURE__*/jsx("div", {
308
325
  children: _aiDialog.title
309
326
  }), /*#__PURE__*/jsxs(Flex, {
@@ -326,7 +343,7 @@ const Layout = ({
326
343
  })]
327
344
  }), /*#__PURE__*/jsx(ErrorBoundary, {
328
345
  children: /*#__PURE__*/jsx("div", {
329
- className: classnames('ai-dialog-window-content', style$1['ai-dialog-window-content']),
346
+ className: classnames('ai-dialog-window-content', style$2['ai-dialog-window-content']),
330
347
  children: _aiDialog.content
331
348
  })
332
349
  })]
@@ -335,5 +352,31 @@ const Layout = ({
335
352
  });
336
353
  };
337
354
 
338
- export { Layout, Layout as default };
355
+ var style = {"page-title":"_IOVGr","page-title-extra":"_mKsLu"};
356
+
357
+ const Page = ({
358
+ title,
359
+ buttonProps,
360
+ children
361
+ }) => {
362
+ return /*#__PURE__*/jsxs(Flex, {
363
+ vertical: true,
364
+ gap: 24,
365
+ children: [/*#__PURE__*/jsxs(Flex, {
366
+ justify: "space-between",
367
+ gap: 20,
368
+ children: [/*#__PURE__*/jsx("div", {
369
+ className: classnames('page-title', style['page-title']),
370
+ children: title
371
+ }), /*#__PURE__*/jsx("div", {
372
+ className: classnames('page-title-extra', style['page-title-extra']),
373
+ children: buttonProps && /*#__PURE__*/jsx(ButtonGroup, _extends({}, buttonProps))
374
+ })]
375
+ }), /*#__PURE__*/jsx("div", {
376
+ children: children
377
+ })]
378
+ });
379
+ };
380
+
381
+ export { Layout, Page, Layout as default };
339
382
  //# sourceMappingURL=index.modern.js.map