pne-ui 3.0.56 → 3.0.58

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.
Files changed (68) hide show
  1. package/README.md +6 -12
  2. package/cjs/component/cloudscape/CloudscapeBoardStyles.js +2 -2
  3. package/cjs/component/cloudscape/CloudscapeBoardStyles.js.map +1 -1
  4. package/cjs/component/widget-board/WidgetBoard.js +64 -600
  5. package/cjs/component/widget-board/WidgetBoard.js.map +1 -1
  6. package/cjs/component/widget-board/WidgetBoardItem.d.ts +16 -0
  7. package/cjs/component/widget-board/WidgetBoardItem.js +59 -0
  8. package/cjs/component/widget-board/WidgetBoardItem.js.map +1 -0
  9. package/cjs/component/widget-board/WidgetLayoutsPanel.d.ts +0 -1
  10. package/cjs/component/widget-board/WidgetLayoutsPanel.js +1 -8
  11. package/cjs/component/widget-board/WidgetLayoutsPanel.js.map +1 -1
  12. package/cjs/component/widget-board/layoutPersistence.d.ts +1 -1
  13. package/cjs/component/widget-board/layoutPersistence.js +4 -3
  14. package/cjs/component/widget-board/layoutPersistence.js.map +1 -1
  15. package/cjs/component/widget-board/useWidgetBoardAutosize.d.ts +17 -0
  16. package/cjs/component/widget-board/useWidgetBoardAutosize.js +165 -0
  17. package/cjs/component/widget-board/useWidgetBoardAutosize.js.map +1 -0
  18. package/cjs/component/widget-board/useWidgetBoardInteractionLock.d.ts +1 -0
  19. package/cjs/component/widget-board/useWidgetBoardInteractionLock.js +29 -0
  20. package/cjs/component/widget-board/useWidgetBoardInteractionLock.js.map +1 -0
  21. package/cjs/component/widget-board/useWidgetBoardLayoutActions.d.ts +21 -0
  22. package/cjs/component/widget-board/useWidgetBoardLayoutActions.js +114 -0
  23. package/cjs/component/widget-board/useWidgetBoardLayoutActions.js.map +1 -0
  24. package/cjs/component/widget-board/useWidgetBoardLayoutSource.d.ts +30 -0
  25. package/cjs/component/widget-board/useWidgetBoardLayoutSource.js +70 -0
  26. package/cjs/component/widget-board/useWidgetBoardLayoutSource.js.map +1 -0
  27. package/cjs/component/widget-board/useWidgetBoardStateActions.d.ts +20 -0
  28. package/cjs/component/widget-board/useWidgetBoardStateActions.js +165 -0
  29. package/cjs/component/widget-board/useWidgetBoardStateActions.js.map +1 -0
  30. package/cjs/component/widget-board/widgetBoardLayoutUtils.d.ts +18 -0
  31. package/cjs/component/widget-board/widgetBoardLayoutUtils.js +116 -0
  32. package/cjs/component/widget-board/widgetBoardLayoutUtils.js.map +1 -0
  33. package/cjs/component/widget-board/widgetLayoutsPanelStore.d.ts +0 -1
  34. package/cjs/component/widget-board/widgetLayoutsPanelStore.js.map +1 -1
  35. package/esm/component/cloudscape/CloudscapeBoardStyles.js +2 -2
  36. package/esm/component/cloudscape/CloudscapeBoardStyles.js.map +1 -1
  37. package/esm/component/widget-board/WidgetBoard.js +58 -594
  38. package/esm/component/widget-board/WidgetBoard.js.map +1 -1
  39. package/esm/component/widget-board/WidgetBoardItem.d.ts +16 -0
  40. package/esm/component/widget-board/WidgetBoardItem.js +54 -0
  41. package/esm/component/widget-board/WidgetBoardItem.js.map +1 -0
  42. package/esm/component/widget-board/WidgetLayoutsPanel.d.ts +0 -1
  43. package/esm/component/widget-board/WidgetLayoutsPanel.js +1 -8
  44. package/esm/component/widget-board/WidgetLayoutsPanel.js.map +1 -1
  45. package/esm/component/widget-board/layoutPersistence.d.ts +1 -1
  46. package/esm/component/widget-board/layoutPersistence.js +4 -3
  47. package/esm/component/widget-board/layoutPersistence.js.map +1 -1
  48. package/esm/component/widget-board/useWidgetBoardAutosize.d.ts +17 -0
  49. package/esm/component/widget-board/useWidgetBoardAutosize.js +161 -0
  50. package/esm/component/widget-board/useWidgetBoardAutosize.js.map +1 -0
  51. package/esm/component/widget-board/useWidgetBoardInteractionLock.d.ts +1 -0
  52. package/esm/component/widget-board/useWidgetBoardInteractionLock.js +25 -0
  53. package/esm/component/widget-board/useWidgetBoardInteractionLock.js.map +1 -0
  54. package/esm/component/widget-board/useWidgetBoardLayoutActions.d.ts +21 -0
  55. package/esm/component/widget-board/useWidgetBoardLayoutActions.js +110 -0
  56. package/esm/component/widget-board/useWidgetBoardLayoutActions.js.map +1 -0
  57. package/esm/component/widget-board/useWidgetBoardLayoutSource.d.ts +30 -0
  58. package/esm/component/widget-board/useWidgetBoardLayoutSource.js +66 -0
  59. package/esm/component/widget-board/useWidgetBoardLayoutSource.js.map +1 -0
  60. package/esm/component/widget-board/useWidgetBoardStateActions.d.ts +20 -0
  61. package/esm/component/widget-board/useWidgetBoardStateActions.js +161 -0
  62. package/esm/component/widget-board/useWidgetBoardStateActions.js.map +1 -0
  63. package/esm/component/widget-board/widgetBoardLayoutUtils.d.ts +18 -0
  64. package/esm/component/widget-board/widgetBoardLayoutUtils.js +105 -0
  65. package/esm/component/widget-board/widgetBoardLayoutUtils.js.map +1 -0
  66. package/esm/component/widget-board/widgetLayoutsPanelStore.d.ts +0 -1
  67. package/esm/component/widget-board/widgetLayoutsPanelStore.js.map +1 -1
  68. package/package.json +1 -1
package/README.md CHANGED
@@ -195,8 +195,8 @@ color overrides (`pneNeutral`, `pnePrimaryLight`, `pneAccentuated` и др.), о
195
195
  Основные пропсы:
196
196
  - `widgets`: список `{ id, title, render }` — содержимое виджетов.
197
197
  - `layoutByBreakpoint`: базовый пресет для дефолтного лейаута.
198
- - `loadLayouts(): Promise<{ options; selectedId? } | null>`: обязательная функция загрузки пользовательских схем (вызывается при маунте). Верните хотя бы дефолтный пресет, если удаленное хранилище пустое.
199
- - `saveLayouts(options, selectedId?)`: обязательная функция сохранения пользовательских схем (дергается после add/update/delete).
198
+ - `loadLayouts(): Promise<{ options; selectedId? } | null>`: обязательная функция загрузки пользовательских схем (вызывается при маунте). `WidgetBoard` сам добавляет и блокирует встроенный `default`-лейаут.
199
+ - `saveLayouts(options, selectedId?)`: обязательная функция сохранения пользовательских схем (вызывается при select/add/delete и автосохранении изменений в выбранном пользовательском лейауте).
200
200
 
201
201
  Панель `WidgetLayoutsPanel` — отдельный компонент, который слушает активный `WidgetBoard` без пропсов. Можно размещать в любом месте дерева (включая FAB) или передать свои `items/onSelect/...` при необходимости.
202
202
 
@@ -207,8 +207,8 @@ color overrides (`pneNeutral`, `pnePrimaryLight`, `pneAccentuated` и др.), о
207
207
  - `id: string`: уникальный идентификатор лейаута (можно `uuid` или любое значение бэка).
208
208
  - `name: string`: отображаемое имя пресета.
209
209
  - `layoutByBreakpoint: Record<number | string, BreakpointLayoutConfig>`: карта брейкпоинтов (ключ — число или строка, обычно `12`, `1280`, `1600` и т.д.).
210
- - `BreakpointLayoutConfig`: `{ columns: number; widgets: Record<widgetId, WidgetLayoutConfig> }`.
211
- - `WidgetLayoutConfig`: `{ defaultSize: { columnSpan; rowSpan; columnOffset? }; limits?; initialState? }`.
210
+ - `BreakpointLayoutConfig`: `{ widgets: Record<widgetId, WidgetLayoutConfig> }`.
211
+ - `WidgetLayoutConfig`: `{ defaultSize: { columnSpan; rowSpan; columnOffset? }; limits?; initialState?; heightMode? }`.
212
212
  - `initialState` поддерживает `isHidden` и `isCollapsed`.
213
213
 
214
214
  Формат функции `loadLayouts`:
@@ -235,7 +235,6 @@ const widgets: WidgetDefinition[] = [
235
235
 
236
236
  const baseLayoutByBreakpoint = {
237
237
  12: {
238
- columns: 12,
239
238
  widgets: {
240
239
  traffic: { defaultSize: { columnSpan: 6, rowSpan: 2 } },
241
240
  sales: { defaultSize: { columnSpan: 6, rowSpan: 2 } },
@@ -246,13 +245,8 @@ const baseLayoutByBreakpoint = {
246
245
  // Загрузка/сохранение пресетов
247
246
  const loadLayouts = async (): Promise<{ options: WidgetBoardLayoutOption[]; selectedId?: string }> => {
248
247
  const response = await api.getUserLayouts() // верните { options, selectedId }
249
- // Если API пустой, вернем дефолтный пресет
250
- return (
251
- response ?? {
252
- options: [{ id: 'default', name: 'Default', layoutByBreakpoint: baseLayoutByBreakpoint }],
253
- selectedId: 'default',
254
- }
255
- )
248
+ // Если API пустой, вернем пустой набор: WidgetBoard добавит встроенный default сам
249
+ return response ?? { options: [], selectedId: 'default' }
256
250
  }
257
251
  const saveLayouts = async (options: WidgetBoardLayoutOption[], selectedId?: string) => {
258
252
  await api.saveUserLayouts({ options, selectedId })
@@ -35,8 +35,8 @@ function CloudscapeBoardStyles({ hideNavigationArrows = true }) {
35
35
  '[data-item-id] [data-height-mode="auto"] [class*="content-wrapper-fit-height"]': {
36
36
  overflow: 'hidden !important',
37
37
  },
38
- '@media (pointer: coarse)': {
39
- '[data-awsui-board] [data-item-id]': {
38
+ '@media (hover: none), (pointer: coarse)': {
39
+ '[data-item-id]': {
40
40
  touchAction: 'manipulation !important',
41
41
  },
42
42
  },
@@ -1 +1 @@
1
- {"version":3,"file":"CloudscapeBoardStyles.js","sourceRoot":"","sources":["../../../src/component/cloudscape/CloudscapeBoardStyles.tsx"],"names":[],"mappings":";;;;AAAA,4CAA4C;AAC5C,0DAAyB;AAMzB;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,EAAE,oBAAoB,GAAG,IAAI,EAA8B;IAC7F,MAAM,gBAAgB,GAAG,oBAAoB;QACzC,CAAC,CAAC;YACE,sEAAsE,EAAE;gBACpE,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,mBAAmB;gBAC/B,OAAO,EAAE,cAAc;gBACvB,aAAa,EAAE,iBAAiB;aACnC;SACJ;QACD,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,CACH,8BAAC,uBAAY,IACT,MAAM,EAAE;YACJ,2EAA2E,EAAE;gBACzE,SAAS,EAAE,iBAAiB;gBAC5B,MAAM,EAAE,8BAA8B;gBACtC,YAAY,EAAE,cAAc;aAC/B;YACD,iDAAiD,EAAE;gBAC/C,SAAS,EAAE,iBAAiB;gBAC5B,YAAY,EAAE,cAAc;aAC/B;YACD,wEAAwE,EAAE;gBACtE,QAAQ,EAAE,mBAAmB;aAChC;YACD,gFAAgF,EAAE;gBAC9E,QAAQ,EAAE,mBAAmB;aAChC;YACD,0BAA0B,EAAE;gBACxB,mCAAmC,EAAE;oBACjC,WAAW,EAAE,yBAAyB;iBACzC;aACJ;YACD,GAAG,gBAAgB;YACnB,2BAA2B,EAAE;gBACzB,oBAAoB,EAAE;oBAClB,WAAW,EAAE,cAAc;oBAC3B,YAAY,EAAE,cAAc;iBAC/B;gBACD,yBAAyB,EAAE;oBACvB,UAAU,EAAE,cAAc;oBAC1B,WAAW,EAAE,cAAc;iBAC9B;aACJ;SACJ,GACH,CACL,CAAA;AACL,CAAC;AAjDD,sDAiDC"}
1
+ {"version":3,"file":"CloudscapeBoardStyles.js","sourceRoot":"","sources":["../../../src/component/cloudscape/CloudscapeBoardStyles.tsx"],"names":[],"mappings":";;;;AAAA,4CAA4C;AAC5C,0DAAyB;AAMzB;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,EAAE,oBAAoB,GAAG,IAAI,EAA8B;IAC7F,MAAM,gBAAgB,GAAG,oBAAoB;QACzC,CAAC,CAAC;YACE,sEAAsE,EAAE;gBACpE,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,mBAAmB;gBAC/B,OAAO,EAAE,cAAc;gBACvB,aAAa,EAAE,iBAAiB;aACnC;SACJ;QACD,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,CACH,8BAAC,uBAAY,IACT,MAAM,EAAE;YACJ,2EAA2E,EAAE;gBACzE,SAAS,EAAE,iBAAiB;gBAC5B,MAAM,EAAE,8BAA8B;gBACtC,YAAY,EAAE,cAAc;aAC/B;YACD,iDAAiD,EAAE;gBAC/C,SAAS,EAAE,iBAAiB;gBAC5B,YAAY,EAAE,cAAc;aAC/B;YACD,wEAAwE,EAAE;gBACtE,QAAQ,EAAE,mBAAmB;aAChC;YACD,gFAAgF,EAAE;gBAC9E,QAAQ,EAAE,mBAAmB;aAChC;YACD,yCAAyC,EAAE;gBACvC,gBAAgB,EAAE;oBACd,WAAW,EAAE,yBAAyB;iBACzC;aACJ;YACD,GAAG,gBAAgB;YACnB,2BAA2B,EAAE;gBACzB,oBAAoB,EAAE;oBAClB,WAAW,EAAE,cAAc;oBAC3B,YAAY,EAAE,cAAc;iBAC/B;gBACD,yBAAyB,EAAE;oBACvB,UAAU,EAAE,cAAc;oBAC1B,WAAW,EAAE,cAAc;iBAC9B;aACJ;SACJ,GACH,CACL,CAAA;AACL,CAAC;AAjDD,sDAiDC"}