@ansible/ansible-ui-framework 0.0.275 → 0.0.277

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.
@@ -17,7 +17,12 @@ export declare function BulkActionDialog<T extends object>(props: {
17
17
  pendingText?: string;
18
18
  isDanger?: boolean;
19
19
  items: T[];
20
+ /** These are the columns shown when confirming the bulk actions. */
20
21
  columns: ITableColumn<T>[];
22
+ /**
23
+ * These are the columns shown when processing the bulk actions plus an error column.
24
+ * @note This is usually the name column, unless the name column is not unique enough to identify the item.
25
+ */
21
26
  errorColumns: ITableColumn<T>[];
22
27
  keyFn: (item: T) => string | number;
23
28
  action: (item: T) => Promise<void>;
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -1,6 +1,6 @@
1
1
  import { AlertProps } from '@patternfly/react-core';
2
2
  import { ReactNode } from 'react';
3
- export declare type AlertToasterProps = AlertProps;
3
+ export type AlertToasterProps = AlertProps;
4
4
  export interface IPageAlertToaster {
5
5
  addAlert: (alert: AlertToasterProps) => void;
6
6
  removeAlert: (alert: AlertToasterProps) => void;
@@ -2,11 +2,11 @@ import { Dispatch, ReactNode, SetStateAction } from 'react';
2
2
  import { PageHeaderProps } from './PageHeader';
3
3
  import { IToolbarFilter } from './PageToolbar';
4
4
  import { ITypedAction } from './TypedActions';
5
- export declare type DataListPageProps<T extends object> = PageHeaderProps & PageDataListProps<T> & {
5
+ export type DataListPageProps<T extends object> = PageHeaderProps & PageDataListProps<T> & {
6
6
  error?: Error;
7
7
  };
8
8
  export declare function DataListPage<T extends object>(props: DataListPageProps<T>): JSX.Element;
9
- export declare type PageDataListProps<T extends object> = {
9
+ export type PageDataListProps<T extends object> = {
10
10
  keyFn: (item: T) => string | number;
11
11
  itemCount?: number;
12
12
  pageItems: T[] | undefined;
package/cjs/PageForm.d.ts CHANGED
@@ -3,7 +3,7 @@ import { CSSProperties, ReactNode } from 'react';
3
3
  import { DeepPartial, ErrorOption, FieldPath, FieldValues, SubmitHandler, UseFormReturn } from 'react-hook-form';
4
4
  import { PartialDeep } from 'type-fest';
5
5
  import { PageHeaderProps } from './PageHeader';
6
- export declare type FormPageProps<T extends object> = PageHeaderProps & {
6
+ export type FormPageProps<T extends object> = PageHeaderProps & {
7
7
  children?: ReactNode;
8
8
  defaultValues?: PartialDeep<T>;
9
9
  onSubmit: SubmitHandler<PartialDeep<T>>;
@@ -136,7 +136,7 @@ export declare function PageForm<T extends object>(props: {
136
136
  singleColumn?: boolean;
137
137
  disableScrolling?: boolean;
138
138
  }): JSX.Element;
139
- export declare type FormPageSubmitHandler<T extends FieldValues> = (data: T, setError: (error: string) => void, setFieldError: (fieldName: FieldPath<T>, error: ErrorOption) => void) => Promise<unknown>;
139
+ export type FormPageSubmitHandler<T extends FieldValues> = (data: T, setError: (error: string) => void, setFieldError: (fieldName: FieldPath<T>, error: ErrorOption) => void) => Promise<unknown>;
140
140
  export declare function PageFormSubmitButton(props: {
141
141
  children: ReactNode;
142
142
  style?: CSSProperties;
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties } from 'react';
2
- export declare type PagePaginationProps = {
2
+ export type PagePaginationProps = {
3
3
  itemCount?: number;
4
4
  page: number;
5
5
  perPage: number;
@@ -3,11 +3,11 @@ import { PageHeaderProps } from './PageHeader';
3
3
  import { PageTableViewType } from './PageTableViewType';
4
4
  import { IToolbarFilter } from './PageToolbar';
5
5
  import { ITypedAction } from './TypedActions';
6
- export declare type TablePageProps<T extends object> = PageHeaderProps & PageTableProps<T> & {
6
+ export type TablePageProps<T extends object> = PageHeaderProps & PageTableProps<T> & {
7
7
  error?: Error;
8
8
  };
9
9
  export declare function TablePage<T extends object>(props: TablePageProps<T>): JSX.Element;
10
- export declare type PageTableProps<T extends object> = {
10
+ export type PageTableProps<T extends object> = {
11
11
  keyFn: (item: T) => string | number;
12
12
  itemCount?: number;
13
13
  pageItems: T[] | undefined;
@@ -52,7 +52,7 @@ export declare type PageTableProps<T extends object> = {
52
52
  defaultCardSubtitle?: ReactNode;
53
53
  };
54
54
  export declare function PageTable<T extends object>(props: PageTableProps<T>): JSX.Element;
55
- declare type CellFn<T extends object> = (item: T) => ReactNode;
55
+ type CellFn<T extends object> = (item: T) => ReactNode;
56
56
  export interface ITableColumn<T extends object> {
57
57
  id?: string;
58
58
  header: string;
@@ -73,5 +73,6 @@ export interface ITableColumn<T extends object> {
73
73
  card?: 'description' | 'hidden';
74
74
  list?: 'primary' | 'secondary';
75
75
  hideLabel?: boolean;
76
+ primary?: boolean;
76
77
  }
77
78
  export {};
package/cjs/PageTable.js CHANGED
@@ -148,12 +148,14 @@ function TableHead(props) {
148
148
  }, stickyMinWidth: "45px", hasRightBorder: props.scrollLeft }, { children: "\u00A0" }))), columns
149
149
  .filter(function (column) { return column.enabled !== false; })
150
150
  .map(function (column, index) {
151
+ var _a;
151
152
  return ((0, jsx_runtime_1.jsx)(react_table_1.Th, __assign({ modifier: "fitContent", style: {
152
- minWidth: column.minWidth,
153
+ minWidth: (_a = column.minWidth) !== null && _a !== void 0 ? _a : 0,
153
154
  maxWidth: column.maxWidth,
154
155
  backgroundColor: settings.theme === 'dark'
155
156
  ? 'var(--pf-global--BackgroundColor--300)'
156
157
  : undefined,
158
+ width: index === 0 ? '0%' : undefined,
157
159
  }, sort: getColumnSort(index, column) }, { children: column.header }), column.header));
158
160
  }), itemActions !== undefined && ((0, jsx_runtime_1.jsx)(react_table_1.Th, __assign({ style: {
159
161
  paddingRight: 8,
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { LabelColor } from './components/patternfly-colors';
2
+ import { LabelColor } from './components/pfcolors';
3
3
  import { ITableColumn } from './PageTable';
4
4
  import { ITypedAction } from './TypedActions';
5
5
  export interface IPageTableCard {
@@ -59,8 +59,10 @@ function PageTableCard(props) {
59
59
  exports.PageTableCard = PageTableCard;
60
60
  function useColumnsToTableCardFn(columns, keyFn) {
61
61
  var cardData = (0, react_1.useMemo)(function () {
62
+ var _a;
62
63
  var cols = columns.filter(function (column) { return column.card !== 'hidden'; });
63
- var nameColumn = cols.shift();
64
+ var nameColumn = (_a = cols.find(function (column) { return column.primary; })) !== null && _a !== void 0 ? _a : cols[0];
65
+ cols = cols.filter(function (column) { return column !== nameColumn; });
64
66
  var descriptionColumn = cols.find(function (column) { return column.card === 'description'; });
65
67
  if (descriptionColumn) {
66
68
  cols = cols.filter(function (column) { return column !== descriptionColumn; });
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { PageTableProps } from './PageTable';
3
- export declare type PageTableCardsProps<T extends object> = PageTableProps<T>;
3
+ export type PageTableCardsProps<T extends object> = PageTableProps<T>;
4
4
  export declare function PageTableCards<T extends object>(props: PageTableCardsProps<T>): JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ITableColumn, PageTableProps } from './PageTable';
3
3
  import { ITypedAction } from './TypedActions';
4
- export declare type PageTableListProps<T extends object> = PageTableProps<T>;
4
+ export type PageTableListProps<T extends object> = PageTableProps<T>;
5
5
  export declare function PageTableList<T extends object>(props: PageTableListProps<T>): JSX.Element;
6
6
  export declare function useColumnsToDataList<T extends object>(tableColumns: ITableColumn<T>[], keyFn: (item: T) => string | number, isSelected?: (item: T) => boolean, selectItem?: (item: T) => void, unselectItem?: (item: T) => void, rowActions?: ITypedAction<T>[], defaultCardSubtitle?: ReactNode, showSelect?: boolean): (item: T) => ReactNode;
@@ -24,8 +24,10 @@ function PageTableList(props) {
24
24
  exports.PageTableList = PageTableList;
25
25
  function useColumnsToDataList(tableColumns, keyFn, isSelected, selectItem, unselectItem, rowActions, defaultCardSubtitle, showSelect) {
26
26
  var data = (0, react_1.useMemo)(function () {
27
+ var _a;
27
28
  var cols = tableColumns.filter(function (column) { return column.card !== 'hidden'; });
28
- var nameColumn = cols.shift();
29
+ var nameColumn = (_a = cols.find(function (column) { return column.primary; })) !== null && _a !== void 0 ? _a : cols[0];
30
+ cols = cols.filter(function (column) { return column !== nameColumn; });
29
31
  var descriptionColumn = cols.find(function (column) { return column.card === 'description'; });
30
32
  if (descriptionColumn) {
31
33
  cols = cols.filter(function (column) { return column !== descriptionColumn; });
@@ -50,17 +52,17 @@ function useColumnsToDataList(tableColumns, keyFn, isSelected, selectItem, unsel
50
52
  var key = keyFn(item);
51
53
  var isItemSelected = isSelected === null || isSelected === void 0 ? void 0 : isSelected(item);
52
54
  return ((0, jsx_runtime_1.jsx)(react_core_1.DataListItem, __assign({ "aria-labelledby": "data-list-".concat(key), isExpanded: isItemSelected }, { children: (0, jsx_runtime_1.jsxs)(react_core_1.DataListItemRow, { children: [showSelect && ((0, jsx_runtime_1.jsx)(react_core_1.DataListCheck, { "aria-labelledby": "data-list-check-".concat(key), name: "data-list-check-".concat(key), isChecked: isSelected === null || isSelected === void 0 ? void 0 : isSelected(item), onClick: function () { return onSelectClick(item); } })), (0, jsx_runtime_1.jsx)(react_core_1.DataListItemCells, { dataListCells: [
53
- (0, jsx_runtime_1.jsx)(react_core_1.DataListCell, { children: (0, jsx_runtime_1.jsx)(react_core_1.Flex, { children: (0, jsx_runtime_1.jsxs)(react_core_1.Stack, __assign({ hasGutter: true }, { children: [(0, jsx_runtime_1.jsxs)(react_core_1.Stack, { children: [(0, jsx_runtime_1.jsx)(react_core_1.Title, __assign({ headingLevel: "h2", style: { marginTop: -4 } }, { children: (0, jsx_runtime_1.jsx)("span", __assign({ id: "data-list-".concat(key) }, { children: (_a = data.nameColumn) === null || _a === void 0 ? void 0 : _a.cell(item) })) })), data.descriptionColumn ? ((0, jsx_runtime_1.jsx)(react_core_1.Text, __assign({ component: "small", style: { opacity: 0.7 } }, { children: data.descriptionColumn.cell(item) }))) : (defaultCardSubtitle && ((0, jsx_runtime_1.jsx)(react_core_1.Text, __assign({ component: "small", style: { opacity: 0.7 } }, { children: defaultCardSubtitle }))))] }), (0, jsx_runtime_1.jsx)(react_core_1.DescriptionList, __assign({ isCompact: true }, { children: data.columns.map(function (column) {
55
+ (0, jsx_runtime_1.jsx)(react_core_1.DataListCell, __assign({ width: 5 }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Flex, { children: (0, jsx_runtime_1.jsxs)(react_core_1.Stack, __assign({ hasGutter: true }, { children: [(0, jsx_runtime_1.jsxs)(react_core_1.Stack, { children: [(0, jsx_runtime_1.jsx)(react_core_1.Title, __assign({ headingLevel: "h2", style: { marginTop: -4 } }, { children: (0, jsx_runtime_1.jsx)("span", __assign({ id: "data-list-".concat(key) }, { children: (_a = data.nameColumn) === null || _a === void 0 ? void 0 : _a.cell(item) })) })), data.descriptionColumn ? ((0, jsx_runtime_1.jsx)(react_core_1.Text, __assign({ component: "small", style: { opacity: 0.7 } }, { children: data.descriptionColumn.cell(item) }))) : (defaultCardSubtitle && ((0, jsx_runtime_1.jsx)(react_core_1.Text, __assign({ component: "small", style: { opacity: 0.7 } }, { children: defaultCardSubtitle }))))] }), (0, jsx_runtime_1.jsx)(react_core_1.DescriptionList, __assign({ isCompact: true }, { children: data.columns.map(function (column) {
54
56
  var value = column.cell(item);
55
57
  if (!value)
56
58
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
57
- return ((0, jsx_runtime_1.jsxs)(react_core_1.DescriptionListGroup, { children: [!column.hideLabel && ((0, jsx_runtime_1.jsx)(react_core_1.DescriptionListTerm, { children: (0, jsx_runtime_1.jsx)(react_core_1.Text, __assign({ component: "small", style: { opacity: 0.7 } }, { children: column.header })) })), (0, jsx_runtime_1.jsx)(react_core_1.DescriptionListDescription, { children: column.cell(item) })] }, column.header));
58
- }) }))] })) }) }, "primary"),
59
+ return ((0, jsx_runtime_1.jsxs)(react_core_1.DescriptionListGroup, { children: [!column.hideLabel && ((0, jsx_runtime_1.jsx)(react_core_1.DescriptionListTerm, { children: (0, jsx_runtime_1.jsx)(react_core_1.Text, __assign({ component: "small", style: { opacity: 0.7, whiteSpace: 'nowrap' } }, { children: column.header })) })), (0, jsx_runtime_1.jsx)(react_core_1.DescriptionListDescription, { children: column.cell(item) })] }, column.header));
60
+ }) }))] })) }) }), "primary"),
59
61
  data.secondary.length > 0 ? ((0, jsx_runtime_1.jsx)(react_core_1.DataListCell, { children: (0, jsx_runtime_1.jsx)(react_core_1.Flex, { children: (0, jsx_runtime_1.jsx)(react_core_1.DescriptionList, __assign({ isCompact: true }, { children: data.secondary.map(function (column) {
60
62
  var value = column.cell(item);
61
63
  if (!value)
62
64
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
63
- return ((0, jsx_runtime_1.jsxs)(react_core_1.DescriptionListGroup, { children: [!column.hideLabel && ((0, jsx_runtime_1.jsx)(react_core_1.DescriptionListTerm, { children: (0, jsx_runtime_1.jsx)(react_core_1.Text, __assign({ component: "small", style: { opacity: 0.7 } }, { children: column.header })) })), (0, jsx_runtime_1.jsx)(react_core_1.DescriptionListDescription, { children: column.cell(item) })] }, column.header));
65
+ return ((0, jsx_runtime_1.jsxs)(react_core_1.DescriptionListGroup, { children: [!column.hideLabel && ((0, jsx_runtime_1.jsx)(react_core_1.DescriptionListTerm, { children: (0, jsx_runtime_1.jsx)(react_core_1.Text, __assign({ component: "small", style: { opacity: 0.7, whiteSpace: 'nowrap' } }, { children: column.header })) })), (0, jsx_runtime_1.jsx)(react_core_1.DescriptionListDescription, { children: column.cell(item) })] }, column.header));
64
66
  }) })) }) }, "secondary")) : null,
65
67
  ] }), rowActions && ((0, jsx_runtime_1.jsx)(react_core_1.DataListAction, __assign({ "aria-labelledby": "check-action-item1 check-action-action1", id: "check-action-action1", "aria-label": "Actions", isPlainButtonAction: true, style: { whiteSpace: 'nowrap' } }, { children: (0, jsx_runtime_1.jsx)(TypedActions_1.TypedActions, { actions: rowActions, position: react_core_1.DropdownPosition.right, selectedItem: item }) })))] }) }), key));
66
68
  }, [
@@ -3,4 +3,4 @@ export declare enum PageTableViewTypeE {
3
3
  List = "list",
4
4
  Cards = "cards"
5
5
  }
6
- export declare type PageTableViewType = 'table' | 'list' | 'cards';
6
+ export type PageTableViewType = 'table' | 'list' | 'cards';
@@ -10,7 +10,7 @@ export interface IItemFilter<T extends object> {
10
10
  }[];
11
11
  filter: (item: T, values: string[]) => boolean;
12
12
  }
13
- export declare type SetFilterValues<T extends object> = (filter: IItemFilter<T>, values: string[]) => void;
13
+ export type SetFilterValues<T extends object> = (filter: IItemFilter<T>, values: string[]) => void;
14
14
  export declare function toolbarActionsHaveBulkActions<T extends object>(actions?: ITypedAction<T>[]): boolean;
15
15
  export interface IToolbarStringFilter {
16
16
  key: string;
@@ -30,9 +30,9 @@ export interface IToolbarSelectFilter {
30
30
  query: string;
31
31
  placeholder?: string;
32
32
  }
33
- export declare type IToolbarFilter = IToolbarStringFilter | IToolbarSelectFilter;
34
- export declare type IFilterState = Record<string, string[] | undefined>;
35
- export declare type PagetableToolbarProps<T extends object> = {
33
+ export type IToolbarFilter = IToolbarStringFilter | IToolbarSelectFilter;
34
+ export type IFilterState = Record<string, string[] | undefined>;
35
+ export type PagetableToolbarProps<T extends object> = {
36
36
  openColumnModal?: () => void;
37
37
  keyFn: (item: T) => string | number;
38
38
  itemCount?: number;
@@ -19,27 +19,27 @@ interface ITypedActionCommon {
19
19
  tooltip?: string;
20
20
  isDanger?: boolean;
21
21
  }
22
- export declare type ITypedActionButton = ITypedActionCommon & {
22
+ export type ITypedActionButton = ITypedActionCommon & {
23
23
  type: TypedActionType.button;
24
24
  variant?: ButtonVariant;
25
25
  onClick: () => void;
26
26
  };
27
- export declare type ITypedBulkAction<T extends object> = ITypedActionCommon & {
27
+ export type ITypedBulkAction<T extends object> = ITypedActionCommon & {
28
28
  type: TypedActionType.bulk;
29
29
  variant?: ButtonVariant;
30
30
  onClick: (selectedItems: T[]) => void;
31
31
  };
32
- export declare type ITypedSingleAction<T extends object> = ITypedActionCommon & {
32
+ export type ITypedSingleAction<T extends object> = ITypedActionCommon & {
33
33
  type: TypedActionType.single;
34
34
  variant?: ButtonVariant;
35
35
  onClick: (item: T) => void;
36
36
  };
37
- export declare type ITypedDropdownAction<T extends object> = ITypedActionCommon & {
37
+ export type ITypedDropdownAction<T extends object> = ITypedActionCommon & {
38
38
  type: TypedActionType.dropdown;
39
39
  variant?: ButtonVariant;
40
40
  options: ITypedAction<T>[];
41
41
  };
42
- export declare type ITypedAction<T extends object> = ITypedActionSeperator | ITypedActionButton | ITypedBulkAction<T> | ITypedSingleAction<T> | ITypedDropdownAction<T>;
42
+ export type ITypedAction<T extends object> = ITypedActionSeperator | ITypedActionButton | ITypedBulkAction<T> | ITypedSingleAction<T> | ITypedDropdownAction<T>;
43
43
  export declare function TypedActionsDropdown<T extends object>(props: {
44
44
  actions: ITypedAction<T>[];
45
45
  label?: string;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare function ElapsedTimeCell(props: {
3
+ start?: number | string;
4
+ finish?: number | string;
5
+ }): JSX.Element;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.ElapsedTimeCell = void 0;
20
+ var jsx_runtime_1 = require("react/jsx-runtime");
21
+ var react_core_1 = require("@patternfly/react-core");
22
+ var react_1 = require("react");
23
+ var react_i18next_1 = require("react-i18next");
24
+ function ElapsedTimeCell(props) {
25
+ var t = (0, react_i18next_1.useTranslation)().t;
26
+ var start = (0, react_1.useMemo)(function () { var _a; return new Date((_a = props.start) !== null && _a !== void 0 ? _a : 0).valueOf(); }, [props.start]);
27
+ var finish = (0, react_1.useMemo)(function () { var _a; return new Date((_a = props.finish) !== null && _a !== void 0 ? _a : 0).valueOf(); }, [props.finish]);
28
+ var _a = __read((0, react_1.useState)(Math.max(0, finish - start.valueOf())), 2), elapsed = _a[0], setElapsed = _a[1];
29
+ (0, react_1.useEffect)(function () {
30
+ var timeout = setInterval(function () {
31
+ if (start) {
32
+ if (!props.finish)
33
+ setElapsed(Math.max(0, Date.now() - start));
34
+ else
35
+ setElapsed(Math.max(0, finish - start));
36
+ }
37
+ }, 1000);
38
+ return function () { return clearTimeout(timeout); };
39
+ }, [start, finish, props.finish]);
40
+ var totalSeconds = Math.floor(elapsed / 1000);
41
+ var seconds = Math.floor(totalSeconds % 60);
42
+ var minutes = Math.floor((totalSeconds / 60) % 60);
43
+ var hours = Math.floor((totalSeconds / 60 / 60) % 24);
44
+ var days = Math.floor(totalSeconds / 60 / 60 / 24);
45
+ if (!start)
46
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
47
+ return ((0, jsx_runtime_1.jsxs)(react_core_1.Split, { children: [days !== 0 && ((0, jsx_runtime_1.jsxs)(react_core_1.SplitItem, { children: [days, t('d'), "\u00A0"] })), hours !== 0 && ((0, jsx_runtime_1.jsxs)(react_core_1.SplitItem, { children: [hours, t('h'), "\u00A0"] })), minutes !== 0 && ((0, jsx_runtime_1.jsxs)(react_core_1.SplitItem, { children: [minutes, t('m'), "\u00A0"] })), (0, jsx_runtime_1.jsxs)(react_core_1.SplitItem, { children: [seconds, t('s')] })] }));
48
+ }
49
+ exports.ElapsedTimeCell = ElapsedTimeCell;
@@ -1,12 +1,13 @@
1
1
  import { ReactNode } from 'react';
2
- import { PatternFlyColor } from '../components/patternfly-colors';
2
+ import { PFColor } from '../components/pfcolors';
3
3
  export interface TextCellProps {
4
4
  icon?: ReactNode;
5
5
  iconSize?: 'sm' | 'md' | 'lg';
6
6
  text?: string;
7
7
  to?: string;
8
8
  onClick?: () => void;
9
- textColor?: PatternFlyColor;
9
+ color?: PFColor;
10
+ iconColor?: PFColor;
10
11
  maxWidth?: number;
11
12
  disableLinks?: boolean;
12
13
  }
@@ -15,17 +15,17 @@ exports.TextCell = void 0;
15
15
  var jsx_runtime_1 = require("react/jsx-runtime");
16
16
  var react_core_1 = require("@patternfly/react-core");
17
17
  var IconWrapper_1 = require("../components/IconWrapper");
18
- var patternfly_colors_1 = require("../components/patternfly-colors");
18
+ var pfcolors_1 = require("../components/pfcolors");
19
19
  var usePageNavigate_1 = require("../components/usePageNavigate");
20
20
  function TextCell(props) {
21
- var _a, _b;
21
+ var _a, _b, _c;
22
22
  var navigate = (0, usePageNavigate_1.usePageNavigate)();
23
- return ((0, jsx_runtime_1.jsxs)(react_core_1.Split, __assign({ style: { maxWidth: '100%' } }, { children: [props.icon && ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, { children: (0, jsx_runtime_1.jsx)(IconWrapper_1.IconWrapper, __assign({ size: (_a = props.iconSize) !== null && _a !== void 0 ? _a : 'sm' }, { children: props.icon })) })), props.text && ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, __assign({ style: { maxWidth: '100%' } }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ style: {
24
- maxWidth: (_b = props.maxWidth) !== null && _b !== void 0 ? _b : '100%',
23
+ return ((0, jsx_runtime_1.jsxs)(react_core_1.Split, __assign({ style: { maxWidth: '100%' } }, { children: [props.icon && ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, { children: (0, jsx_runtime_1.jsx)(IconWrapper_1.IconWrapper, __assign({ size: (_a = props.iconSize) !== null && _a !== void 0 ? _a : 'sm', color: (_b = props.iconColor) !== null && _b !== void 0 ? _b : props.color }, { children: props.icon })) })), props.text && ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, __assign({ style: { maxWidth: '100%' } }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ style: {
24
+ maxWidth: (_c = props.maxWidth) !== null && _c !== void 0 ? _c : '100%',
25
25
  whiteSpace: 'nowrap',
26
26
  textOverflow: 'ellipsis',
27
27
  overflow: 'hidden',
28
- color: props.textColor ? (0, patternfly_colors_1.getPatternflyColor)(props.textColor) : undefined,
28
+ color: props.color ? (0, pfcolors_1.getPatternflyColor)(props.color) : undefined,
29
29
  } }, { children: !props.disableLinks && (props.to || props.onClick) ? ((0, jsx_runtime_1.jsx)("a", __assign({ href: props.to, onClick: function (e) {
30
30
  e.preventDefault();
31
31
  if (props.onClick) {
@@ -24,7 +24,7 @@ export interface IDetailListItem {
24
24
  helpTitle?: string;
25
25
  help?: ReactNode;
26
26
  }
27
- export declare type IDetail = IDetailText | IDetailList;
27
+ export type IDetail = IDetailText | IDetailList;
28
28
  export declare function DetailsList(props: {
29
29
  children?: ReactNode;
30
30
  }): JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { ReactNode } from 'react';
2
- import { PatternFlyColor } from './patternfly-colors';
2
+ import { PFColor } from './pfcolors';
3
3
  export declare function IconWrapper(props: {
4
4
  children: ReactNode;
5
- color?: PatternFlyColor;
5
+ color?: PFColor;
6
6
  size?: 'sm' | 'md' | 'lg';
7
7
  noPadding?: boolean;
8
8
  }): JSX.Element;
@@ -14,11 +14,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.IconWrapper = void 0;
15
15
  var jsx_runtime_1 = require("react/jsx-runtime");
16
16
  var react_1 = require("react");
17
- var patternfly_colors_1 = require("./patternfly-colors");
17
+ var pfcolors_1 = require("./pfcolors");
18
18
  function IconWrapper(props) {
19
19
  var newProps = {};
20
20
  if (props.color) {
21
- newProps.color = (0, patternfly_colors_1.getPatternflyColor)(props.color);
21
+ newProps.color = (0, pfcolors_1.getPatternflyColor)(props.color);
22
22
  }
23
23
  var marginOffset = undefined;
24
24
  var marginRight = undefined;
@@ -0,0 +1,29 @@
1
+ export declare enum PFColorE {
2
+ Green = "green",
3
+ Success = "success",
4
+ Blue = "blue",
5
+ Info = "info",
6
+ Red = "red",
7
+ Danger = "danger",
8
+ Yellow = "yellow",
9
+ Warning = "warning",
10
+ Grey = "grey",
11
+ Disabled = "disabled"
12
+ }
13
+ export type PFColor = 'green' | 'success' | 'blue' | 'info' | 'red' | 'danger' | 'yellow' | 'warning' | 'grey' | 'disabled';
14
+ export declare function getPatternflyColor(color: PFColor): "var(--pf-global--success-color--100)" | "var(--pf-global--danger-color--100)" | "var(--pf-global--warning-color--100)" | "var(--pf-global--info-color--100)" | "var(--pf-global--disabled-color--100)";
15
+ export declare const pfSuccess = "var(--pf-global--success-color--100)";
16
+ export declare const pfDanger = "var(--pf-global--danger-color--100)";
17
+ export declare const pfWarning = "var(--pf-global--warning-color--100)";
18
+ export declare const pfInfo = "var(--pf-global--info-color--100)";
19
+ export declare const pfDisabled = "var(--pf-global--disabled-color--100)";
20
+ export declare enum LabelColorE {
21
+ blue = "blue",
22
+ cyan = "cyan",
23
+ green = "green",
24
+ orange = "orange",
25
+ purple = "purple",
26
+ red = "red",
27
+ grey = "grey"
28
+ }
29
+ export type LabelColor = 'blue' | 'cyan' | 'green' | 'orange' | 'purple' | 'red' | 'grey';
@@ -1,28 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LabelColorE = exports.pfDisabled = exports.pfInfo = exports.pfWarning = exports.pfDanger = exports.pfSuccess = exports.getPatternflyColor = exports.PatternFlyColor = void 0;
4
- var PatternFlyColor;
5
- (function (PatternFlyColor) {
6
- PatternFlyColor["Green"] = "green";
7
- PatternFlyColor["Blue"] = "blue";
8
- PatternFlyColor["Red"] = "red";
9
- PatternFlyColor["Yellow"] = "yellow";
10
- PatternFlyColor["Grey"] = "grey";
11
- })(PatternFlyColor = exports.PatternFlyColor || (exports.PatternFlyColor = {}));
3
+ exports.LabelColorE = exports.pfDisabled = exports.pfInfo = exports.pfWarning = exports.pfDanger = exports.pfSuccess = exports.getPatternflyColor = exports.PFColorE = void 0;
4
+ var PFColorE;
5
+ (function (PFColorE) {
6
+ PFColorE["Green"] = "green";
7
+ PFColorE["Success"] = "success";
8
+ PFColorE["Blue"] = "blue";
9
+ PFColorE["Info"] = "info";
10
+ PFColorE["Red"] = "red";
11
+ PFColorE["Danger"] = "danger";
12
+ PFColorE["Yellow"] = "yellow";
13
+ PFColorE["Warning"] = "warning";
14
+ PFColorE["Grey"] = "grey";
15
+ PFColorE["Disabled"] = "disabled";
16
+ })(PFColorE = exports.PFColorE || (exports.PFColorE = {}));
12
17
  function getPatternflyColor(color) {
13
18
  switch (color) {
14
19
  case 'green':
20
+ case 'success':
15
21
  return exports.pfSuccess;
16
22
  case 'red':
23
+ case 'danger':
17
24
  return exports.pfDanger;
18
25
  case 'yellow':
26
+ case 'warning':
19
27
  return exports.pfWarning;
20
28
  case 'blue':
29
+ case 'info':
21
30
  return exports.pfInfo;
22
31
  case 'grey':
32
+ case 'disabled':
23
33
  return exports.pfDisabled;
24
34
  }
25
- return undefined;
26
35
  }
27
36
  exports.getPatternflyColor = getPatternflyColor;
28
37
  exports.pfSuccess = 'var(--pf-global--success-color--100)';
@@ -1,4 +1,4 @@
1
- export declare type WindowSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
1
+ export type WindowSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
2
2
  export declare function useWindowSize(): WindowSize;
3
3
  /** Returns true if the window size is equal to or larger than the indicated size. */
4
4
  export declare function useBreakpoint(size: WindowSize): boolean;
package/cjs/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './cells/BytesCell';
3
3
  export * from './cells/CapacityCell';
4
4
  export * from './cells/CopyCell';
5
5
  export * from './cells/DateTimeCell';
6
+ export * from './cells/ElapsedTimeCell';
6
7
  export * from './cells/LabelsCell';
7
8
  export * from './cells/TextCell';
8
9
  export * from './components/BulkSelector';
@@ -10,7 +11,7 @@ export * from './components/Collapse';
10
11
  export * from './components/Details';
11
12
  export * from './components/Help';
12
13
  export * from './components/icons/RunningIcon';
13
- export * from './components/patternfly-colors';
14
+ export * from './components/pfcolors';
14
15
  export * from './components/Scrollable';
15
16
  export * from './components/useBreakPoint';
16
17
  export * from './PageAlertToaster';
package/cjs/index.js CHANGED
@@ -19,6 +19,7 @@ __exportStar(require("./cells/BytesCell"), exports);
19
19
  __exportStar(require("./cells/CapacityCell"), exports);
20
20
  __exportStar(require("./cells/CopyCell"), exports);
21
21
  __exportStar(require("./cells/DateTimeCell"), exports);
22
+ __exportStar(require("./cells/ElapsedTimeCell"), exports);
22
23
  __exportStar(require("./cells/LabelsCell"), exports);
23
24
  __exportStar(require("./cells/TextCell"), exports);
24
25
  __exportStar(require("./components/BulkSelector"), exports);
@@ -26,7 +27,7 @@ __exportStar(require("./components/Collapse"), exports);
26
27
  __exportStar(require("./components/Details"), exports);
27
28
  __exportStar(require("./components/Help"), exports);
28
29
  __exportStar(require("./components/icons/RunningIcon"), exports);
29
- __exportStar(require("./components/patternfly-colors"), exports);
30
+ __exportStar(require("./components/pfcolors"), exports);
30
31
  __exportStar(require("./components/Scrollable"), exports);
31
32
  __exportStar(require("./components/useBreakPoint"), exports);
32
33
  __exportStar(require("./PageAlertToaster"), exports);
@@ -2,7 +2,7 @@ import { ITableColumn } from './PageTable';
2
2
  import { IToolbarFilter } from './PageToolbar';
3
3
  import { ISelected } from './useTableItems';
4
4
  import { IView } from './useView';
5
- export declare type IInMemoryView<T extends object> = IView & ISelected<T> & {
5
+ export type IInMemoryView<T extends object> = IView & ISelected<T> & {
6
6
  itemCount: number | undefined;
7
7
  pageItems: T[] | undefined;
8
8
  };
@@ -17,7 +17,7 @@ interface ISelectDialogOptions<T extends object> {
17
17
  export declare function useSelectDialog<T extends {
18
18
  id: number;
19
19
  }>(options: ISelectDialogOptions<T>): (onSelect?: ((item: T) => void) | undefined, title?: string) => void;
20
- export declare type SelectDialogProps<T extends object> = {
20
+ export type SelectDialogProps<T extends object> = {
21
21
  title: string;
22
22
  open: boolean;
23
23
  setOpen: (open: boolean) => void;
@@ -3,7 +3,7 @@ import { ITableColumn } from './PageTable';
3
3
  import { IToolbarFilter } from './PageToolbar';
4
4
  import { ISelected } from './useTableItems';
5
5
  import { IView } from './useView';
6
- export declare type SelectMultipleDialogProps<T extends object> = {
6
+ export type SelectMultipleDialogProps<T extends object> = {
7
7
  title: string;
8
8
  view: IView & ISelected<T> & {
9
9
  itemCount?: number;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ansible/ansible-ui-framework",
3
3
  "description": "Framework for building consistent responsive web applications using PatternFly.",
4
- "version": "0.0.275",
4
+ "version": "0.0.277",
5
5
  "author": "Red Hat",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -1,23 +0,0 @@
1
- export declare enum PatternFlyColor {
2
- Green = "green",
3
- Blue = "blue",
4
- Red = "red",
5
- Yellow = "yellow",
6
- Grey = "grey"
7
- }
8
- export declare function getPatternflyColor(color: PatternFlyColor): "var(--pf-global--success-color--100)" | "var(--pf-global--danger-color--100)" | "var(--pf-global--warning-color--100)" | "var(--pf-global--info-color--100)" | "var(--pf-global--disabled-color--100)" | undefined;
9
- export declare const pfSuccess = "var(--pf-global--success-color--100)";
10
- export declare const pfDanger = "var(--pf-global--danger-color--100)";
11
- export declare const pfWarning = "var(--pf-global--warning-color--100)";
12
- export declare const pfInfo = "var(--pf-global--info-color--100)";
13
- export declare const pfDisabled = "var(--pf-global--disabled-color--100)";
14
- export declare enum LabelColorE {
15
- blue = "blue",
16
- cyan = "cyan",
17
- green = "green",
18
- orange = "orange",
19
- purple = "purple",
20
- red = "red",
21
- grey = "grey"
22
- }
23
- export declare type LabelColor = 'blue' | 'cyan' | 'green' | 'orange' | 'purple' | 'red' | 'grey';