@planningcenter/tapestry 4.6.0-rc.2 → 4.6.0-rc.4
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/components/DataTable/ActiveFilters.d.ts +6 -2
- package/dist/components/DataTable/ActiveFilters.d.ts.map +1 -1
- package/dist/components/DataTable/ActiveFilters.js +22 -13
- package/dist/components/DataTable/ActiveFilters.js.map +1 -1
- package/dist/components/DataTable/DataTable.d.ts +8 -5
- package/dist/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/components/DataTable/DataTable.js +54 -49
- package/dist/components/DataTable/DataTable.js.map +1 -1
- package/dist/components/DataTable/FilterContext.d.ts +16 -0
- package/dist/components/DataTable/FilterContext.d.ts.map +1 -0
- package/dist/components/DataTable/FilterContext.js +32 -0
- package/dist/components/DataTable/FilterContext.js.map +1 -0
- package/dist/components/DataTable/FilterControls.d.ts +11 -0
- package/dist/components/DataTable/FilterControls.d.ts.map +1 -0
- package/dist/components/DataTable/FilterControls.js +57 -0
- package/dist/components/DataTable/FilterControls.js.map +1 -0
- package/dist/components/DataTable/FilterTypes.d.ts +2 -2
- package/dist/components/DataTable/FilterTypes.d.ts.map +1 -1
- package/dist/components/DataTable/ViewSettingsToggle.d.ts.map +1 -1
- package/dist/components/DataTable/ViewSettingsToggle.js +5 -6
- package/dist/components/DataTable/ViewSettingsToggle.js.map +1 -1
- package/dist/reactRender.css +1090 -1034
- package/dist/reactRender.css.map +1 -1
- package/dist/reactRenderLegacy.css +1090 -1034
- package/dist/reactRenderLegacy.css.map +1 -1
- package/dist/unstable.css +61 -5
- package/dist/unstable.css.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterContext.js","sources":["../../../src/components/DataTable/FilterContext.tsx"],"sourcesContent":["import React, { createContext, useCallback, useMemo } from \"react\"\n\nimport type {\n ActiveFilter,\n FilterNode,\n FilterNodeItem,\n Operator,\n} from \"./FilterTypes\"\n\nexport type RelatedFilterOperatorResult = {\n operator?: Operator\n relatedFilter?: FilterNodeItem\n}\nexport const FilterContext = createContext<{\n findActiveFilterOperator: (\n activeFilter: ActiveFilter\n ) => RelatedFilterOperatorResult | undefined\n flatFilters: FilterNodeItem[]\n}>({\n findActiveFilterOperator: () => undefined,\n flatFilters: [],\n})\n\nfunction flattenFilters(nodes: FilterNode[]): FilterNodeItem[] {\n return nodes.flatMap((node) =>\n node.children ? flattenFilters(node.children) : node\n )\n}\n\nexport function FiltersProvider({\n filters,\n children,\n}: {\n children: React.ReactNode\n filters: FilterNode[]\n}) {\n const flatFilters = useMemo(() => flattenFilters(filters), [filters])\n const findFilter = useCallback(\n (activeFilter: ActiveFilter) =>\n flatFilters.find((f) => f.name === activeFilter.name),\n [flatFilters]\n )\n const value = useMemo(\n () => ({\n findActiveFilterOperator: (activeFilter: ActiveFilter) => {\n const filter = findFilter(activeFilter)\n const operator = filter?.operators.find(\n (op) => op.name === activeFilter.operator\n )\n return { operator, relatedFilter: filter }\n },\n flatFilters,\n }),\n [findFilter, flatFilters]\n )\n return (\n <FilterContext.Provider value={value}>{children}</FilterContext.Provider>\n )\n}\n\nexport function useRelatedFilterOperator(\n activeFilter: ActiveFilter\n): RelatedFilterOperatorResult {\n const context = React.useContext(FilterContext)\n return (\n context.findActiveFilterOperator(activeFilter) || {\n operator: undefined,\n relatedFilter: undefined,\n }\n )\n}\n"],"names":["React"],"mappings":";;AAaO,MAAM,aAAa,GAAG,aAAa,CAKvC;AACD,IAAA,wBAAwB,EAAE,MAAM,SAAS;AACzC,IAAA,WAAW,EAAE,EAAE;AAChB,CAAA;AAED,SAAS,cAAc,CAAC,KAAmB,EAAA;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KACxB,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CACrD;AACH;SAEgB,eAAe,CAAC,EAC9B,OAAO,EACP,QAAQ,GAIT,EAAA;AACC,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AACrE,IAAA,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,YAA0B,KACzB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,EACvD,CAAC,WAAW,CAAC,CACd;AACD,IAAA,MAAM,KAAK,GAAG,OAAO,CACnB,OAAO;AACL,QAAA,wBAAwB,EAAE,CAAC,YAA0B,KAAI;AACvD,YAAA,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,EAAE,SAAS,CAAC,IAAI,CACrC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ,CAC1C;AACD,YAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE;QAC5C,CAAC;QACD,WAAW;AACZ,KAAA,CAAC,EACF,CAAC,UAAU,EAAE,WAAW,CAAC,CAC1B;AACD,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,aAAa,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAAA,EAAG,QAAQ,CAA0B;AAE7E;AAEM,SAAU,wBAAwB,CACtC,YAA0B,EAAA;IAE1B,MAAM,OAAO,GAAGA,cAAK,CAAC,UAAU,CAAC,aAAa,CAAC;AAC/C,IAAA,QACE,OAAO,CAAC,wBAAwB,CAAC,YAAY,CAAC,IAAI;AAChD,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,aAAa,EAAE,SAAS;AACzB,KAAA;AAEL;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { FilterNode } from "./FilterTypes";
|
|
3
|
+
export interface FilterControlsProps {
|
|
4
|
+
filters: FilterNode[];
|
|
5
|
+
}
|
|
6
|
+
/** Skeleton for the DataTable filters cluster — grows incrementally. */
|
|
7
|
+
export declare function FilterControls({ filters }: FilterControlsProps): React.JSX.Element;
|
|
8
|
+
export declare namespace FilterControls {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=FilterControls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterControls.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/FilterControls.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAShD,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAA;AAkEhE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,mBAAmB,qBA+C9D;yBA/Ce,cAAc"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import '../button/ActionsDropdownIconButton.js';
|
|
2
|
+
import { Button } from '../button/Button.js';
|
|
3
|
+
import '../button/DropdownButton.js';
|
|
4
|
+
import '../button/DropdownIconButton.js';
|
|
5
|
+
import '../button/IconButton.js';
|
|
6
|
+
import '../button/LoadingButton.js';
|
|
7
|
+
import '../button/PageHeaderActionsDropdownButton.js';
|
|
8
|
+
import { ButtonGroup } from '../button-group/ButtonGroup.js';
|
|
9
|
+
import { DropdownSection, DropdownAction } from '../dropdown/Dropdown.js';
|
|
10
|
+
import { Popover, PopoverTrigger, PopoverContent } from '../popover/Popover.js';
|
|
11
|
+
import Icon from '../../utilities/Icon.js';
|
|
12
|
+
import { useId } from '../../utilities/useId.js';
|
|
13
|
+
import React__default from 'react';
|
|
14
|
+
import { Input } from 'react-aria-components/Input';
|
|
15
|
+
import { Label } from 'react-aria-components/Label';
|
|
16
|
+
import { Menu, SubmenuTrigger, Popover as Popover$1 } from 'react-aria-components/Menu';
|
|
17
|
+
|
|
18
|
+
const NOOP_ACTION = () => { };
|
|
19
|
+
// Must be a dedicated component, not returned inline from `renderFilterItem`.
|
|
20
|
+
// RAC clones an `id` onto whatever that function returns, and an inline
|
|
21
|
+
// `SubmenuTrigger` has none of its own — the clone falls back to `item.id`,
|
|
22
|
+
// colliding with the trigger child's own `id` and silently breaking it.
|
|
23
|
+
function FilterSubmenu({ group }) {
|
|
24
|
+
return (React__default.createElement(SubmenuTrigger, null,
|
|
25
|
+
React__default.createElement(DropdownAction, { className: "tds-data-table-filter-controls-submenu-trigger", id: group.label, onAction: NOOP_ACTION, textValue: group.label },
|
|
26
|
+
React__default.createElement("span", { slot: "label" }, group.label),
|
|
27
|
+
React__default.createElement(Icon, { "aria-hidden": true, className: "tds-data-table-filter-controls-submenu-chevron", slot: "suffix", symbol: "general#right-chevron" })),
|
|
28
|
+
React__default.createElement(Popover$1, { className: "tds-dropdown-popover tds-data-table-filter-controls-submenu-popover", placement: "right top" },
|
|
29
|
+
React__default.createElement(Menu, { "aria-label": group.label, className: "tds-data-table-filter-controls-submenu-list", items: group.children }, renderFilterItem))));
|
|
30
|
+
}
|
|
31
|
+
function renderFilterItem(node) {
|
|
32
|
+
if (node.children) {
|
|
33
|
+
if (node.renderChildrenInSubmenu) {
|
|
34
|
+
return React__default.createElement(FilterSubmenu, { key: node.label, group: node });
|
|
35
|
+
}
|
|
36
|
+
return (React__default.createElement(DropdownSection, { key: node.label, id: node.label, title: node.label }, node.children.map(renderFilterItem)));
|
|
37
|
+
}
|
|
38
|
+
return (React__default.createElement(DropdownAction, { key: node.name, id: node.name, onAction: NOOP_ACTION, textValue: node.label },
|
|
39
|
+
React__default.createElement("span", { slot: "label" }, node.label)));
|
|
40
|
+
}
|
|
41
|
+
/** Skeleton for the DataTable filters cluster — grows incrementally. */
|
|
42
|
+
function FilterControls({ filters }) {
|
|
43
|
+
const temporarySearchInputId = `tds-data-table-filter-controls-search-${useId()}`;
|
|
44
|
+
return (React__default.createElement(ButtonGroup, { "aria-label": "Filters", className: "tds-data-table-filter-controls" },
|
|
45
|
+
React__default.createElement(Popover, null,
|
|
46
|
+
React__default.createElement(PopoverTrigger, null,
|
|
47
|
+
React__default.createElement(Button, { label: "Add filter", prefix: React__default.createElement(Icon, { "aria-hidden": true, symbol: "general#three-reducing-horizontal-bars" }) })),
|
|
48
|
+
React__default.createElement(PopoverContent, { className: "tds-data-table-popover", placement: "bottom" },
|
|
49
|
+
React__default.createElement(Label, { className: "tds-data-table-filter-controls-label--hidden", htmlFor: temporarySearchInputId }, "Search filters"),
|
|
50
|
+
React__default.createElement(Input, { className: "tds-data-table-filter-controls-search-input", id: temporarySearchInputId, placeholder: "Search isn't implemented yet" }),
|
|
51
|
+
React__default.createElement(Menu, { "aria-label": "Filters", className: "tds-data-table-filter-controls-list", items: filters, renderEmptyState: () => "No filters match" }, renderFilterItem))),
|
|
52
|
+
React__default.createElement(Button, { label: "0" })));
|
|
53
|
+
}
|
|
54
|
+
FilterControls.displayName = "FilterControls";
|
|
55
|
+
|
|
56
|
+
export { FilterControls };
|
|
57
|
+
//# sourceMappingURL=FilterControls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterControls.js","sources":["../../../src/components/DataTable/FilterControls.tsx"],"sourcesContent":["import { Button } from \"@components/button\"\nimport { ButtonGroup } from \"@components/button-group\"\nimport { DropdownAction, DropdownSection } from \"@components/dropdown\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@components/popover\"\nimport Icon from \"@utilities/Icon\"\nimport { useId } from \"@utilities/useId\"\nimport React, { type ReactElement } from \"react\"\nimport { Input } from \"react-aria-components/Input\"\nimport { Label } from \"react-aria-components/Label\"\nimport {\n Menu,\n Popover as AriaPopover,\n SubmenuTrigger,\n} from \"react-aria-components/Menu\"\n\nimport type { FilterNode, FilterNodeGroup } from \"./FilterTypes\"\n\nconst NOOP_ACTION = () => {}\n\n// Must be a dedicated component, not returned inline from `renderFilterItem`.\n// RAC clones an `id` onto whatever that function returns, and an inline\n// `SubmenuTrigger` has none of its own — the clone falls back to `item.id`,\n// colliding with the trigger child's own `id` and silently breaking it.\nfunction FilterSubmenu({ group }: { group: FilterNodeGroup }) {\n return (\n <SubmenuTrigger>\n <DropdownAction\n className=\"tds-data-table-filter-controls-submenu-trigger\"\n id={group.label}\n onAction={NOOP_ACTION}\n textValue={group.label}\n >\n <span slot=\"label\">{group.label}</span>\n <Icon\n aria-hidden\n className=\"tds-data-table-filter-controls-submenu-chevron\"\n slot=\"suffix\"\n symbol=\"general#right-chevron\"\n />\n </DropdownAction>\n <AriaPopover\n className=\"tds-dropdown-popover tds-data-table-filter-controls-submenu-popover\"\n placement=\"right top\"\n >\n <Menu\n aria-label={group.label}\n className=\"tds-data-table-filter-controls-submenu-list\"\n items={group.children}\n >\n {renderFilterItem}\n </Menu>\n </AriaPopover>\n </SubmenuTrigger>\n )\n}\n\nfunction renderFilterItem(node: FilterNode): ReactElement {\n if (node.children) {\n if (node.renderChildrenInSubmenu) {\n return <FilterSubmenu key={node.label} group={node} />\n }\n\n return (\n <DropdownSection key={node.label} id={node.label} title={node.label}>\n {node.children.map(renderFilterItem)}\n </DropdownSection>\n )\n }\n\n return (\n <DropdownAction\n key={node.name}\n id={node.name}\n onAction={NOOP_ACTION}\n textValue={node.label}\n >\n <span slot=\"label\">{node.label}</span>\n </DropdownAction>\n )\n}\n\nexport interface FilterControlsProps {\n filters: FilterNode[]\n}\n\n/** Skeleton for the DataTable filters cluster — grows incrementally. */\nexport function FilterControls({ filters }: FilterControlsProps) {\n const temporarySearchInputId = `tds-data-table-filter-controls-search-${useId()}`\n\n return (\n <ButtonGroup\n aria-label=\"Filters\"\n className=\"tds-data-table-filter-controls\"\n >\n <Popover>\n <PopoverTrigger>\n <Button\n label=\"Add filter\"\n prefix={\n <Icon\n aria-hidden\n symbol=\"general#three-reducing-horizontal-bars\"\n />\n }\n />\n </PopoverTrigger>\n <PopoverContent className=\"tds-data-table-popover\" placement=\"bottom\">\n {/* Search will go here. */}\n <Label\n className=\"tds-data-table-filter-controls-label--hidden\"\n htmlFor={temporarySearchInputId}\n >\n Search filters\n </Label>\n <Input\n className=\"tds-data-table-filter-controls-search-input\"\n id={temporarySearchInputId}\n placeholder=\"Search isn't implemented yet\"\n />\n <Menu\n aria-label=\"Filters\"\n className=\"tds-data-table-filter-controls-list\"\n items={filters}\n renderEmptyState={() => \"No filters match\"}\n >\n {renderFilterItem}\n </Menu>\n </PopoverContent>\n </Popover>\n {/* Active filter count will go here. */}\n <Button label=\"0\" />\n </ButtonGroup>\n )\n}\n\nFilterControls.displayName = \"FilterControls\"\n"],"names":["React","AriaPopover"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ export interface FilterNodeBase {
|
|
|
3
3
|
keywords?: string[];
|
|
4
4
|
}
|
|
5
5
|
export interface InputType {
|
|
6
|
-
|
|
6
|
+
type: string;
|
|
7
7
|
}
|
|
8
8
|
export interface Operator {
|
|
9
9
|
inputType: InputType;
|
|
@@ -35,7 +35,7 @@ export interface FilterNodeGroup extends FilterNodeBase {
|
|
|
35
35
|
renderChildrenInSubmenu?: boolean;
|
|
36
36
|
}
|
|
37
37
|
export type FilterNode = FilterNodeItem | FilterNodeGroup;
|
|
38
|
-
export interface
|
|
38
|
+
export interface ActiveFilter {
|
|
39
39
|
/** The HTML name of the applied filter. Connects to the name of the filter. */
|
|
40
40
|
name: string;
|
|
41
41
|
/** The operator used by the applied filter. Corresponds to the name of the operator in the filter configuration. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterTypes.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/FilterTypes.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,
|
|
1
|
+
{"version":3,"file":"FilterTypes.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/FilterTypes.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,mDAAmD;IACnD,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAA;AAEzD,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAA;IACZ,qHAAqH;IACrH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAA;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewSettingsToggle.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/ViewSettingsToggle.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,WAAW,uBAAuB;IACtC,iEAAiE;IACjE,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,wBAAwB,EAAE,CAAC,kBAAkB,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAChE,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B;AAUD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,wBAAwB,EACxB,kBAAkB,GACnB,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"ViewSettingsToggle.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/ViewSettingsToggle.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,WAAW,uBAAuB;IACtC,iEAAiE;IACjE,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,wBAAwB,EAAE,CAAC,kBAAkB,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAChE,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B;AAUD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,wBAAwB,EACxB,kBAAkB,GACnB,EAAE,uBAAuB,qBAoCzB;yBAxCe,kBAAkB"}
|
|
@@ -21,12 +21,11 @@ function renderColumnItem(column) {
|
|
|
21
21
|
* Compact View switch) as siblings inside the same dialog.
|
|
22
22
|
*/
|
|
23
23
|
function ViewSettingsToggle({ columns, onColumnVisibilityChange, visibleColumnNames, }) {
|
|
24
|
-
return (React__default.createElement(
|
|
25
|
-
React__default.createElement(
|
|
26
|
-
React__default.createElement(
|
|
27
|
-
React__default.createElement(
|
|
28
|
-
|
|
29
|
-
React__default.createElement(PopoverContent, { className: "tds-data-table-popover", modal: false, placement: "bottom end" }, columns.length > 0 && (React__default.createElement(FilterableListBox, { hideLabel: true, items: columns, label: "Column visibility", onSelectionChange: (keys) => onColumnVisibilityChange(keys), placeholder: "Search columns", selectedKeys: visibleColumnNames, selectionMode: "multiple", showBulkActions: true }, renderColumnItem))))));
|
|
24
|
+
return (React__default.createElement(Popover, null,
|
|
25
|
+
React__default.createElement(Tooltip, { content: "View settings", placement: "bottom end" },
|
|
26
|
+
React__default.createElement(PopoverTrigger, null,
|
|
27
|
+
React__default.createElement(IconButton, { "aria-label": "View settings", className: "tds-data-table-popover-trigger", icon: React__default.createElement(Icon, { "aria-hidden": true, symbol: "general#faders" }) }))),
|
|
28
|
+
React__default.createElement(PopoverContent, { className: "tds-data-table-popover", modal: false, placement: "bottom end" }, columns.length > 0 && (React__default.createElement(FilterableListBox, { hideLabel: true, items: columns, label: "Column visibility", onSelectionChange: (keys) => onColumnVisibilityChange(keys), placeholder: "Search columns", selectedKeys: visibleColumnNames, selectionMode: "multiple", showBulkActions: true }, renderColumnItem)))));
|
|
30
29
|
}
|
|
31
30
|
ViewSettingsToggle.displayName = "ViewSettingsToggle";
|
|
32
31
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewSettingsToggle.js","sources":["../../../src/components/DataTable/ViewSettingsToggle.tsx"],"sourcesContent":["import { IconButton } from \"@components/button\"\nimport {\n FilterableListBox,\n FilterableListBoxItem,\n} from \"@components/internal/filterable-list-box\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@components/popover\"\nimport Icon from \"@utilities/Icon\"\nimport React from \"react\"\n\nimport { Tooltip } from \"../internal/tooltip/Tooltip\"\nimport type { DataTableColumn } from \"./DataTableColumn\"\n\nexport interface ViewSettingsToggleProps {\n /** The columns opted into visibility toggling via `hideable`. */\n columns: DataTableColumn[]\n onColumnVisibilityChange: (visibleColumnNames: string[]) => void\n visibleColumnNames: string[]\n}\n\nfunction renderColumnItem(column: DataTableColumn) {\n return (\n <FilterableListBoxItem id={column.name}>\n {column.headerLabel}\n </FilterableListBoxItem>\n )\n}\n\n/**\n * A trigger + popover for table view settings. Today it only holds column\n * visibility (via `FilterableListBox`), but the panel is meant to grow to\n * include other view-related settings (e.g. a Table/Card display toggle, a\n * Compact View switch) as siblings inside the same dialog.\n */\nexport function ViewSettingsToggle({\n columns,\n onColumnVisibilityChange,\n visibleColumnNames,\n}: ViewSettingsToggleProps) {\n return (\n <
|
|
1
|
+
{"version":3,"file":"ViewSettingsToggle.js","sources":["../../../src/components/DataTable/ViewSettingsToggle.tsx"],"sourcesContent":["import { IconButton } from \"@components/button\"\nimport {\n FilterableListBox,\n FilterableListBoxItem,\n} from \"@components/internal/filterable-list-box\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@components/popover\"\nimport Icon from \"@utilities/Icon\"\nimport React from \"react\"\n\nimport { Tooltip } from \"../internal/tooltip/Tooltip\"\nimport type { DataTableColumn } from \"./DataTableColumn\"\n\nexport interface ViewSettingsToggleProps {\n /** The columns opted into visibility toggling via `hideable`. */\n columns: DataTableColumn[]\n onColumnVisibilityChange: (visibleColumnNames: string[]) => void\n visibleColumnNames: string[]\n}\n\nfunction renderColumnItem(column: DataTableColumn) {\n return (\n <FilterableListBoxItem id={column.name}>\n {column.headerLabel}\n </FilterableListBoxItem>\n )\n}\n\n/**\n * A trigger + popover for table view settings. Today it only holds column\n * visibility (via `FilterableListBox`), but the panel is meant to grow to\n * include other view-related settings (e.g. a Table/Card display toggle, a\n * Compact View switch) as siblings inside the same dialog.\n */\nexport function ViewSettingsToggle({\n columns,\n onColumnVisibilityChange,\n visibleColumnNames,\n}: ViewSettingsToggleProps) {\n return (\n <Popover>\n <Tooltip content=\"View settings\" placement=\"bottom end\">\n <PopoverTrigger>\n <IconButton\n aria-label=\"View settings\"\n className=\"tds-data-table-popover-trigger\"\n icon={<Icon aria-hidden symbol=\"general#faders\" />}\n />\n </PopoverTrigger>\n </Tooltip>\n <PopoverContent\n className=\"tds-data-table-popover\"\n modal={false}\n placement=\"bottom end\"\n >\n {columns.length > 0 && (\n <FilterableListBox\n hideLabel\n items={columns}\n label=\"Column visibility\"\n onSelectionChange={(keys) =>\n onColumnVisibilityChange(keys as string[])\n }\n placeholder=\"Search columns\"\n selectedKeys={visibleColumnNames}\n selectionMode=\"multiple\"\n showBulkActions\n >\n {renderColumnItem}\n </FilterableListBox>\n )}\n </PopoverContent>\n </Popover>\n )\n}\n\nViewSettingsToggle.displayName = \"ViewSettingsToggle\"\n"],"names":["React"],"mappings":";;;;;;;;;;;;;AAmBA,SAAS,gBAAgB,CAAC,MAAuB,EAAA;AAC/C,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,qBAAqB,EAAA,EAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IACnC,MAAM,CAAC,WAAW,CACG;AAE5B;AAEA;;;;;AAKG;AACG,SAAU,kBAAkB,CAAC,EACjC,OAAO,EACP,wBAAwB,EACxB,kBAAkB,GACM,EAAA;IACxB,QACEA,6BAAC,OAAO,EAAA,IAAA;QACNA,cAAA,CAAA,aAAA,CAAC,OAAO,IAAC,OAAO,EAAC,eAAe,EAAC,SAAS,EAAC,YAAY,EAAA;AACrD,YAAAA,cAAA,CAAA,aAAA,CAAC,cAAc,EAAA,IAAA;AACb,gBAAAA,cAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAA,YAAA,EACE,eAAe,EAC1B,SAAS,EAAC,gCAAgC,EAC1C,IAAI,EAAEA,cAAA,CAAA,aAAA,CAAC,IAAI,yBAAa,MAAM,EAAC,gBAAgB,EAAA,CAAG,EAAA,CAClD,CACa,CACT;AACV,QAAAA,cAAA,CAAA,aAAA,CAAC,cAAc,EAAA,EACb,SAAS,EAAC,wBAAwB,EAClC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAC,YAAY,EAAA,EAErB,OAAO,CAAC,MAAM,GAAG,CAAC,KACjBA,6BAAC,iBAAiB,EAAA,EAChB,SAAS,EAAA,IAAA,EACT,KAAK,EAAE,OAAO,EACd,KAAK,EAAC,mBAAmB,EACzB,iBAAiB,EAAE,CAAC,IAAI,KACtB,wBAAwB,CAAC,IAAgB,CAAC,EAE5C,WAAW,EAAC,gBAAgB,EAC5B,YAAY,EAAE,kBAAkB,EAChC,aAAa,EAAC,UAAU,EACxB,eAAe,EAAA,IAAA,EAAA,EAEd,gBAAgB,CACC,CACrB,CACc,CACT;AAEd;AAEA,kBAAkB,CAAC,WAAW,GAAG,oBAAoB;;;;"}
|