var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// src/plus/pisellSalesGrid/PisellSalesGrid.stories.tsx
var PisellSalesGrid_stories_exports = {};
__export(PisellSalesGrid_stories_exports, {
  CurrentPerspectiveBrief: () => CurrentPerspectiveBrief,
  CurrentPerspectiveFull: () => CurrentPerspectiveFull,
  FloorMapAddSourceAndDecoration: () => FloorMapAddSourceAndDecoration,
  FloorMapView: () => FloorMapView,
  SinglePerspective: () => SinglePerspective,
  WithColumnRenderers: () => WithColumnRenderers,
  WithDefaultHiddenColumns: () => WithDefaultHiddenColumns,
  WithToolbarFilter: () => WithToolbarFilter,
  WithToolbarSort: () => WithToolbarSort,
  WithToolbarSortAndFilter: () => WithToolbarSortAndFilter,
  WithToolbarSortCustomOptions: () => WithToolbarSortCustomOptions,
  default: () => PisellSalesGrid_stories_default
});
module.exports = __toCommonJS(PisellSalesGrid_stories_exports);
var import_react = __toESM(require("react"));
var import_index = require("./index");
var import_materials = require("@pisell/materials");
var meta = {
  title: "Pro Components/PisellSalesGrid",
  component: import_index.PisellSalesGrid,
  parameters: {
    layout: "padded",
    docs: {
      description: {
        component: "RecordBoard 的上层组件，与 RecordBoard 一致采用打散传参（data、loading、total、pagination、onSearch、多选等）。根据 currentPerspective 选择对应的一组 RecordBoard 配置渲染，不提供 Tab 切换 UI。多选通过 props 传入，SalesGrid 会合并进 grid 再传给 RecordBoard。perspective 的 childComponentProps.grid 可含 columns、scroll、onRow、rowClassName 等 Table 透传。"
      }
    }
  },
  tags: ["autodocs"],
  argTypes: {
    currentPerspective: { description: "当前 Perspective key", control: "text" },
    perspectives: { control: false }
  }
};
var PisellSalesGrid_stories_default = meta;
var mockData = Array.from({ length: 20 }, (_, i) => ({
  id: `id-${i + 1}`,
  name: `商品 ${i + 1}`,
  sku: `SKU${String(1e3 + i).padStart(4, "0")}`,
  amount: 99 + i * 10,
  status: ["在售", "下架", "待上架"][i % 3],
  updateTime: `2024-02-${String(10 + i % 18).padStart(2, "0")}`
}));
var columnsFull = [
  { title: "名称", dataIndex: "name", key: "name", width: 120 },
  { title: "SKU", dataIndex: "sku", key: "sku", width: 100 },
  { title: "金额", dataIndex: "amount", key: "amount", width: 100, type: "currency", fieldProps: { currencySymbol: "¥" } },
  { title: "状态", dataIndex: "status", key: "status", width: 90 },
  { title: "更新时间", dataIndex: "updateTime", key: "updateTime", width: 120 }
];
var columnsBrief = [
  { title: "名称", dataIndex: "name", key: "name", width: 160 },
  { title: "金额", dataIndex: "amount", key: "amount", width: 120, type: "currency", fieldProps: { currencySymbol: "¥" } },
  { title: "状态", dataIndex: "status", key: "status", width: 100 }
];
var perspectives = [
  {
    key: "full",
    label: "完整列表",
    childComponentProps: {
      grid: { columns: columnsFull }
    }
  },
  {
    key: "brief",
    label: "简要",
    childComponentProps: {
      grid: { columns: columnsBrief }
    }
  }
];
function useMockDataSourceProps() {
  const [page, setPage] = (0, import_react.useState)({ pageNumber: 1, pageSize: 10 });
  const [searchParams, setSearchParams] = (0, import_react.useState)({});
  const [selectedKeys, setSelectedKeys] = (0, import_react.useState)([]);
  const [selectedRows, setSelectedRows] = (0, import_react.useState)([]);
  return (0, import_react.useMemo)(
    () => ({
      data: mockData.slice((page.pageNumber - 1) * page.pageSize, page.pageNumber * page.pageSize),
      loading: false,
      total: mockData.length,
      pagination: page,
      onPageChange: (pageNumber, pageSize) => setPage({ pageNumber, pageSize }),
      searchParams,
      onSearch: (params) => {
        setSearchParams(params);
        setPage((p) => ({ ...p, pageNumber: 1 }));
      },
      onReset: () => setSearchParams({}),
      selectedKeys,
      selectedRows,
      onSelectionChange: (keys, rows) => {
        setSelectedKeys(keys);
        setSelectedRows(rows);
      },
      rowKey: "id"
    }),
    [page, searchParams, selectedKeys, selectedRows]
  );
}
var CurrentPerspectiveFull = {
  render: function CurrentPerspectiveFullRender() {
    const dataSourceProps = useMockDataSourceProps();
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { height: 400 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives,
        currentPerspective: "full"
      }
    ));
  }
};
var CurrentPerspectiveBrief = {
  render: function CurrentPerspectiveBriefRender() {
    const dataSourceProps = useMockDataSourceProps();
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { height: 400 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives,
        currentPerspective: "brief"
      }
    ));
  }
};
var SinglePerspective = {
  render: function SinglePerspectiveRender() {
    const dataSourceProps = useMockDataSourceProps();
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { height: 400 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives: [perspectives[0]],
        currentPerspective: "full"
      }
    ));
  }
};
var columnRenderers = [
  {
    type: "currency",
    render: (value) => /* @__PURE__ */ import_react.default.createElement("span", { style: { color: "#52c41a", fontWeight: 600 } }, "¥ ", typeof value === "number" ? value.toFixed(2) : value)
  }
];
var WithColumnRenderers = {
  render: function WithColumnRenderersRender() {
    const dataSourceProps = useMockDataSourceProps();
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { height: 400 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives,
        currentPerspective: "full",
        columnRenderers
      }
    ));
  }
};
var perspectivesWithHiddenColumns = [
  {
    key: "full",
    label: "完整列表",
    childComponentProps: {
      grid: {
        columns: columnsFull,
        defaultHiddenColumnKeys: ["sku", "updateTime"]
      }
    }
  }
];
var WithDefaultHiddenColumns = {
  render: function WithDefaultHiddenColumnsRender() {
    const dataSourceProps = useMockDataSourceProps();
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { height: 400 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives: perspectivesWithHiddenColumns,
        currentPerspective: "full"
      }
    ));
  },
  parameters: {
    docs: {
      description: {
        story: "perspectives[].childComponentProps.grid.defaultHiddenColumnKeys 配置默认隐藏的列（如 sku、updateTime），初始加载时这些列不展示，用户可通过工具栏列设置重新勾选显示。"
      }
    }
  }
};
var perspectivesWithToolbarSort = [
  {
    key: "full",
    label: "完整列表（工具栏配置排序）",
    childComponentProps: {
      grid: { columns: columnsFull },
      toolBar: {
        sort: {
          list: [
            { name: "amount", label: "按金额", type: "number", isCustom: false },
            { name: "name", label: "按名称", type: "string", isCustom: false },
            { name: "updateTime", label: "按更新时间", type: "date", isCustom: false }
          ]
        }
      }
    }
  }
];
var WithToolbarSort = {
  render: function WithToolbarSortRender() {
    const dataSourceProps = useMockDataSourceProps();
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { height: 400 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives: perspectivesWithToolbarSort,
        currentPerspective: "full"
      }
    ));
  },
  parameters: {
    docs: {
      description: {
        story: "通过 perspectives[].childComponentProps.toolBar.sort 直接配置排序：传 { list: [{ name, label, type }] }，工具栏展示排序按钮，选择后写入 searchParams.sort，由 onSearch 带回后端。"
      }
    }
  }
};
var perspectivesWithCustomSortOptions = [
  {
    key: "full",
    label: "完整列表（自定义排序文案）",
    childComponentProps: {
      grid: { columns: columnsFull },
      toolBar: {
        sort: {
          list: [
            {
              name: "amount",
              label: "按金额",
              isCustom: true,
              getSortItems: (fieldKey) => [
                { key: `${fieldKey}:asc`, label: "从低到高" },
                { key: `${fieldKey}:desc`, label: "从高到低" }
              ]
            },
            {
              name: "name",
              label: "按名称",
              isCustom: true,
              getSortItems: (fieldKey) => [
                { key: `${fieldKey}:asc`, label: "A → Z" },
                { key: `${fieldKey}:desc`, label: "Z → A" }
              ]
            }
          ]
        }
      }
    }
  }
];
var WithToolbarSortCustomOptions = {
  render: function WithToolbarSortCustomOptionsRender() {
    const dataSourceProps = useMockDataSourceProps();
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { height: 400 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives: perspectivesWithCustomSortOptions,
        currentPerspective: "full"
      }
    ));
  },
  parameters: {
    docs: {
      description: {
        story: "用 toolBar.sort.list[].getSortItems(fieldKey) 自定义排序选项：返回 { key, label }[]，key 写入 searchParams.sort，label 为下拉展示文案。可完全自定义文案（如「从低到高」「从高到低」）。"
      }
    }
  }
};
var perspectivesWithToolbarFilter = [
  {
    key: "full",
    label: "完整列表（工具栏配置筛选）",
    childComponentProps: {
      grid: { columns: columnsFull },
      toolBar: {
        filter: {
          hiddenQuickFilter: true,
          defaultFilterValue: {
            quickFilter: [],
            otherFilter: [
              {
                type: "single",
                key: "status",
                name: "status",
                label: "状态",
                props: {
                  options: [
                    { label: "全部", value: "all" },
                    { label: "在售", value: "在售" },
                    { label: "下架", value: "下架" },
                    { label: "待上架", value: "待上架" }
                  ]
                },
                other: {}
              },
              {
                type: "input",
                key: "keyword",
                name: "keyword",
                label: "关键词",
                props: { placeholder: "名称 / SKU" },
                other: {}
              }
            ],
            values: {}
          }
        }
      }
    }
  }
];
var WithToolbarFilter = {
  render: function WithToolbarFilterRender() {
    const dataSourceProps = useMockDataSourceProps();
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { height: 400 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives: perspectivesWithToolbarFilter,
        currentPerspective: "full"
      }
    ));
  },
  parameters: {
    docs: {
      description: {
        story: "通过 perspectives[].childComponentProps.toolBar.filter 直接配置筛选：传 defaultFilterValue.{ quickFilter, otherFilter, values }，otherFilter 为 FilterItemProps[]（type: single/input/rangePicker/rangePickerNew 等，key/name/label/props）。选择后写入 searchParams.filter，由 onSearch 带回。"
      }
    }
  }
};
var perspectivesWithToolbarSortAndFilter = [
  {
    key: "full",
    label: "完整列表（排序 + 筛选）",
    childComponentProps: {
      grid: { columns: columnsFull },
      toolBar: {
        sort: {
          list: [
            { name: "amount", label: "按金额", type: "number", isCustom: false },
            { name: "name", label: "按名称", type: "string", isCustom: false },
            { name: "updateTime", label: "按更新时间", type: "date", isCustom: false }
          ]
        },
        filter: {
          hiddenQuickFilter: true,
          defaultFilterValue: {
            quickFilter: [],
            otherFilter: [
              {
                type: "single",
                key: "status",
                name: "status",
                label: "状态",
                props: {
                  options: [
                    { label: "全部", value: "all" },
                    { label: "在售", value: "在售" },
                    { label: "下架", value: "下架" },
                    { label: "待上架", value: "待上架" }
                  ]
                },
                other: {}
              },
              {
                type: "input",
                key: "keyword",
                name: "keyword",
                label: "关键词",
                props: { placeholder: "名称 / SKU" },
                other: {}
              }
            ],
            values: {}
          }
        }
      }
    }
  }
];
var WithToolbarSortAndFilter = {
  render: function WithToolbarSortAndFilterRender() {
    const dataSourceProps = useMockDataSourceProps();
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { height: 400 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives: perspectivesWithToolbarSortAndFilter,
        currentPerspective: "full"
      }
    ));
  },
  parameters: {
    docs: {
      description: {
        story: "在 toolBar 里同时配置排序与筛选：toolBar.sort 传 { list }，toolBar.filter 传 { defaultFilterValue }。排序写入 searchParams.sort，筛选写入 searchParams.filter，均由 onSearch 带回。"
      }
    }
  }
};
var tableMockDataInitial = [
  { id: "t1", name: "1号桌", status: "空闲", capacity: 2, area: "大厅" },
  { id: "t2", name: "2号桌", status: "用餐中", capacity: 4, area: "大厅" },
  { id: "t3", name: "3号桌", status: "已预订", capacity: 6, area: "包厢A" },
  { id: "t4", name: "4号桌", status: "空闲", capacity: 2, area: "大厅" },
  { id: "t5", name: "5号桌", status: "用餐中", capacity: 4, area: "大厅" },
  { id: "r1", name: "圆桌1", status: "空闲", capacity: 6, area: "大厅" },
  { id: "t6", name: "6号桌", status: "空闲", capacity: 8, area: "包厢B" },
  { id: "t7", name: "7号桌", status: "已预订", capacity: 2, area: "大厅" },
  { id: "t8", name: "8号桌", status: "空闲", capacity: 4, area: "露台" }
];
var salesFormColumns = [
  { key: "name", label: "桌号", type: "string" },
  {
    key: "status",
    label: "状态",
    type: "select",
    options: [
      { label: "空闲", value: "空闲" },
      { label: "用餐中", value: "用餐中" },
      { label: "已预订", value: "已预订" }
    ]
  },
  { key: "capacity", label: "可坐人数", type: "number" },
  { key: "area", label: "区域", type: "string" }
];
var columnsTable = [
  { title: "桌号", dataIndex: "name", key: "name", width: 100 },
  { title: "状态", dataIndex: "status", key: "status", width: 100 },
  { title: "可坐人数", dataIndex: "capacity", key: "capacity", width: 100 },
  { title: "区域", dataIndex: "area", key: "area", width: 120 }
];
var initialFloorMapConfig = {
  canvases: [
    { id: "main", name: "主画布", order: 0, enabled: true }
  ],
  canvasUi: { canCreate: true, canEdit: true },
  elementKinds: [
    { value: "table", label: "方桌", dataSourceKey: "sales", showInPalette: true },
    { value: "roundTable", label: "圆桌", dataSourceKey: "sales", defaultShape: "circle", showInPalette: true },
    { value: "marker", label: "标记", showInPalette: true },
    { value: "icon", label: "图标", defaultShape: "circle", showInPalette: true }
  ],
  dataSourcePlacements: [
    { dataSourceKey: "sales", id: "t1", floorMapId: "main", x: 80, y: 80, name: "1号桌", width: 180, height: 120, elementKind: "table" },
    { dataSourceKey: "sales", id: "t2", floorMapId: "main", x: 200, y: 80, name: "2号桌", width: 180, height: 120, elementKind: "table" },
    { dataSourceKey: "sales", id: "t3", floorMapId: "main", x: 320, y: 80, name: "3号桌", width: 180, height: 120, elementKind: "table" },
    { dataSourceKey: "sales", id: "t4", floorMapId: "main", x: 80, y: 180, name: "4号桌", width: 180, height: 120, elementKind: "table" },
    { dataSourceKey: "sales", id: "t5", floorMapId: "main", x: 200, y: 180, name: "5号桌", width: 180, height: 120, elementKind: "table" },
    { dataSourceKey: "sales", id: "r1", floorMapId: "main", x: 380, y: 160, name: "圆桌1", width: 100, height: 100, elementKind: "roundTable" }
  ],
  decorations: []
};
function buildTableFloorMapPerspective(tableData, options) {
  const dataSources = { sales: tableData };
  return [
    {
      key: "tables",
      label: "餐桌",
      childComponentProps: {
        grid: { columns: columnsTable },
        defaultBodyView: options.defaultBodyView ?? "grid",
        floorMap: {
          floorMapConfig: options.floorMapConfig,
          dataSources,
          mode: "edit",
          onSave: options.onFloorMapConfigSave ? (config) => options.onFloorMapConfigSave(config) : (config) => {
            console.log("========== [SalesGrid Story] 平面图 onSave ==========");
            console.log("floorMapViewConfig:", JSON.parse(JSON.stringify(config)));
            console.log("dataSources (当前 story 内):", JSON.parse(JSON.stringify(dataSources)));
          },
          onDataSourceRecordSave: options.onDataSourceRecordSave,
          dataSourceLabels: { sales: "餐桌" },
          dataSourceFormColumns: { sales: salesFormColumns },
          renderItemByKind: {
            table: (0, import_materials.getRenderItemByKindTable)(dataSources),
            roundTable: (0, import_materials.getRenderItemByKindRoundTable)(dataSources)
          }
        }
      }
    }
  ];
}
function useTableDataSourceProps(tableData = tableMockDataInitial) {
  const [page, setPage] = (0, import_react.useState)({ pageNumber: 1, pageSize: 10 });
  const [searchParams, setSearchParams] = (0, import_react.useState)({});
  const [selectedKeys, setSelectedKeys] = (0, import_react.useState)([]);
  const [selectedRows, setSelectedRows] = (0, import_react.useState)([]);
  return (0, import_react.useMemo)(
    () => ({
      data: tableData.slice((page.pageNumber - 1) * page.pageSize, page.pageNumber * page.pageSize),
      loading: false,
      total: tableData.length,
      pagination: page,
      onPageChange: (pageNumber, pageSize) => setPage({ pageNumber, pageSize }),
      searchParams,
      onSearch: (params) => {
        setSearchParams(params);
        setPage((p) => ({ ...p, pageNumber: 1 }));
      },
      onReset: () => setSearchParams({}),
      selectedKeys,
      selectedRows,
      onSelectionChange: (keys, rows) => {
        setSelectedKeys(keys);
        setSelectedRows(rows);
      },
      rowKey: "id"
    }),
    [page, searchParams, selectedKeys, selectedRows, tableData]
  );
}
var FloorMapView = {
  render: function FloorMapViewRender() {
    const [tableData, setTableData] = (0, import_react.useState)(() => [...tableMockDataInitial]);
    const [floorMapConfig, setFloorMapConfig] = (0, import_react.useState)(() => ({
      ...initialFloorMapConfig,
      dataSourcePlacements: [...initialFloorMapConfig.dataSourcePlacements],
      decorations: []
    }));
    const dataSourceProps = useTableDataSourceProps(tableData);
    const perspectives2 = (0, import_react.useMemo)(
      () => buildTableFloorMapPerspective(tableData, {
        floorMapConfig,
        defaultBodyView: "grid",
        onFloorMapConfigSave: (config) => {
          console.log("========== [SalesGrid Story] 平面图 onSave（含当前数据源）==========");
          console.log("floorMapViewConfig:", JSON.parse(JSON.stringify(config)));
          console.log("dataSources:", { sales: JSON.parse(JSON.stringify(tableData)) });
          console.log("完整快照 snapshot:", {
            floorMapViewConfig: JSON.parse(JSON.stringify(config)),
            dataSources: { sales: JSON.parse(JSON.stringify(tableData)) }
          });
          setFloorMapConfig(config);
        },
        onDataSourceRecordSave: (dataSourceKey, id, newData) => {
          console.log("========== [SalesGrid Story] onDataSourceRecordSave ==========");
          console.log({ dataSourceKey, id, newData: JSON.parse(JSON.stringify(newData)) });
          setTableData((prev) => {
            const next = prev.map((r) => r.id === id ? { ...r, ...newData } : r);
            console.log("合并后 dataSources.sales 全量:", JSON.parse(JSON.stringify(next)));
            console.log("当前 floorMapViewConfig（保存记录瞬间）:", JSON.parse(JSON.stringify(floorMapConfig)));
            return next;
          });
        }
      }),
      [tableData, floorMapConfig]
    );
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { display: "flex", flexDirection: "column", height: 480 } }, /* @__PURE__ */ import_react.default.createElement("div", { style: { flex: 1, minHeight: 0 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives: perspectives2,
        currentPerspective: "tables"
      }
    )));
  },
  parameters: {
    docs: {
      description: {
        story: "同一份餐桌数据：在 RecordBoard **工具栏**用「表格 | 平面图」切换。表格展示列表列；平面图编辑态可选中桌台编辑落位与数据源记录（桌号、状态、可坐人数、区域）。"
      }
    }
  }
};
var FloorMapAddSourceAndDecoration = {
  render: function FloorMapAddSourceAndDecorationRender() {
    const dataSourceProps = useTableDataSourceProps();
    const perspectives2 = (0, import_react.useMemo)(
      () => buildTableFloorMapPerspective(tableMockDataInitial, {
        floorMapConfig: initialFloorMapConfig,
        defaultBodyView: "floorMap",
        onDataSourceRecordSave: void 0
      }),
      []
    );
    return /* @__PURE__ */ import_react.default.createElement("div", { style: { display: "flex", flexDirection: "column", height: 520 } }, /* @__PURE__ */ import_react.default.createElement("div", { style: { flex: 1, minHeight: 0 } }, /* @__PURE__ */ import_react.default.createElement(
      import_index.PisellSalesGrid,
      {
        ...dataSourceProps,
        perspectives: perspectives2,
        currentPerspective: "tables"
      }
    )));
  },
  parameters: {
    docs: {
      description: {
        story: "默认首屏为平面图（defaultBodyView）。工具栏可切回表格。左侧栏：① 添加数据图元；② 添加装饰。选中后可「取消新建」。"
      }
    }
  }
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  CurrentPerspectiveBrief,
  CurrentPerspectiveFull,
  FloorMapAddSourceAndDecoration,
  FloorMapView,
  SinglePerspective,
  WithColumnRenderers,
  WithDefaultHiddenColumns,
  WithToolbarFilter,
  WithToolbarSort,
  WithToolbarSortAndFilter,
  WithToolbarSortCustomOptions
});
