@orangelogic/design-system 2.146.0 → 2.147.0

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 (106) hide show
  1. package/library/chunks/{asset-link-format.CU3qvBEO.js → asset-link-format.DyUDG8er.js} +864 -771
  2. package/library/chunks/{button.Bx7AnUu4.js → button.W0tW1LJ-.js} +1 -1
  3. package/library/chunks/{color-swatch-group.DORzYTrn.js → color-swatch-group.BQYOjoiA.js} +1571 -1529
  4. package/library/chunks/{color-swatch.Pczcitrc.js → color-swatch.B7X9wSl2.js} +1 -1
  5. package/library/chunks/{confirm-popover.DLb5agj9.js → confirm-popover.DWLFTk2n.js} +3 -3
  6. package/library/chunks/{dialog.B1uHEUsi.js → dialog.yZCtJRtl.js} +2 -2
  7. package/library/chunks/{document-viewer.CMHuC2Di.js → document-viewer.Cr-tkwYo.js} +5 -5
  8. package/library/chunks/{dot-pagination.171qk-p2.js → dot-pagination.C8dxu87e.js} +1 -1
  9. package/library/chunks/{folder-select.COFTAu2f.js → folder-select.CLDy4FKy.js} +4 -4
  10. package/library/chunks/{header.DP4ZGEwN.js → header.BJnsijee.js} +1 -1
  11. package/library/chunks/{i18n.DYXys45m.js → i18n.D07sG_CU.js} +2 -1
  12. package/library/chunks/{icon-button.B0L-_zT9.js → icon-button.CaUkGny9.js} +1 -1
  13. package/library/chunks/{iframe._3_Z5IJc.js → iframe.Bj3JzA9b.js} +1 -1
  14. package/library/chunks/{image.DVbY2O89.js → image.DaYfKRf4.js} +1 -1
  15. package/library/chunks/{input.CSI9KLz7.js → input.CtpPKmen.js} +1 -1
  16. package/library/chunks/{option.BweUpygr.js → option.DoCfNbP9.js} +1 -1
  17. package/library/chunks/{pagination.CyY982g0.js → pagination.B0VIa8Pm.js} +5 -5
  18. package/library/chunks/{tab-group.BJImZf-n.js → tab-group.CRIY9Wby.js} +3 -3
  19. package/library/chunks/transformation.DGzjBg6V.js +163 -0
  20. package/library/chunks/{tree.CvxvKWUm.js → tree.uSEgW--4.js} +1 -1
  21. package/library/components/alert.js +2 -2
  22. package/library/components/asset-link-format.js +4 -4
  23. package/library/components/atoms.js +13 -13
  24. package/library/components/audio.js +2 -2
  25. package/library/components/border-input-group.js +2 -2
  26. package/library/components/breadcrumb.js +1 -1
  27. package/library/components/button.js +2 -2
  28. package/library/components/color-picker.js +3 -3
  29. package/library/components/color-swatch-group.js +3 -3
  30. package/library/components/color-swatch.js +2 -2
  31. package/library/components/confirm-popover.js +4 -4
  32. package/library/components/copy-button.js +1 -1
  33. package/library/components/corner-position-input-group.js +3 -3
  34. package/library/components/date-calendar.js +1 -1
  35. package/library/components/details.js +1 -1
  36. package/library/components/dialog.js +3 -3
  37. package/library/components/document-viewer.js +3 -3
  38. package/library/components/dot-pagination.js +2 -2
  39. package/library/components/drawer.js +2 -2
  40. package/library/components/dropdown.js +2 -2
  41. package/library/components/dynamic-select.js +4 -4
  42. package/library/components/e-chart.js +1 -1
  43. package/library/components/element-clamp.js +2 -2
  44. package/library/components/file-on-demand.js +9 -9
  45. package/library/components/folder-select.js +4 -4
  46. package/library/components/format-bytes.js +1 -1
  47. package/library/components/format-date.js +1 -1
  48. package/library/components/format-number.js +1 -1
  49. package/library/components/format-time.js +1 -1
  50. package/library/components/header.js +2 -2
  51. package/library/components/icon-button.js +2 -2
  52. package/library/components/iframe.js +2 -2
  53. package/library/components/image-comparer.js +1 -1
  54. package/library/components/image.js +2 -2
  55. package/library/components/input.js +2 -2
  56. package/library/components/line-clamp.js +1 -1
  57. package/library/components/masonry.js +2 -2
  58. package/library/components/menu-item.js +1 -1
  59. package/library/components/menu.js +1 -1
  60. package/library/components/molecules.js +3 -3
  61. package/library/components/option.js +2 -2
  62. package/library/components/organisms.js +2 -2
  63. package/library/components/padding-input-group.js +1 -1
  64. package/library/components/pagination.js +6 -6
  65. package/library/components/popup.js +1 -1
  66. package/library/components/position-picker.js +1 -1
  67. package/library/components/progress-bar.js +1 -1
  68. package/library/components/progress-ring.js +1 -1
  69. package/library/components/range.js +1 -1
  70. package/library/components/rating.js +1 -1
  71. package/library/components/relative-time.js +1 -1
  72. package/library/components/select.js +2 -2
  73. package/library/components/shadow-input-group.js +1 -1
  74. package/library/components/share-option-list.js +1 -1
  75. package/library/components/sidebar.js +1 -1
  76. package/library/components/size-input-group.js +3 -3
  77. package/library/components/spinner.js +1 -1
  78. package/library/components/split-panel.js +1 -1
  79. package/library/components/tab-group.js +4 -4
  80. package/library/components/tab.js +2 -2
  81. package/library/components/tag.js +2 -2
  82. package/library/components/tooltip.js +1 -1
  83. package/library/components/tree-item.js +2 -2
  84. package/library/components/tree.js +2 -2
  85. package/library/components/typeface.js +2 -2
  86. package/library/components/types.js +3452 -3410
  87. package/library/components/video.js +2 -2
  88. package/library/package.json +1 -1
  89. package/library/packages/events/src/cx-faceted-filter-remove.d.ts +9 -0
  90. package/library/packages/events/src/cx-table-applied-filter-remove.d.ts +9 -0
  91. package/library/packages/events/src/events.d.ts +2 -0
  92. package/library/packages/hybrid/table-core/src/table/styles/table-clickable-cell.styles.d.ts +3 -1
  93. package/library/packages/hybrid/table-core/src/table/table.d.ts +13 -0
  94. package/library/packages/molecules/src/faceted-filter/faceted-filter.d.ts +13 -1
  95. package/library/packages/molecules/src/search-box/search-box.d.ts +7 -1
  96. package/library/packages/organisms/src/asset-link-format/asset-link-format.d.ts +12 -0
  97. package/library/packages/organisms/src/content-builder/configs/search-box.d.ts +2 -2
  98. package/library/packages/types/src/asset-link-format.d.ts +2 -0
  99. package/library/packages/types/src/faceted-filter.d.ts +4 -0
  100. package/library/packages/types/src/search-box.d.ts +1 -0
  101. package/library/packages/types/src/table.d.ts +3 -0
  102. package/library/packages/utils/src/custom-element/i18n.d.ts +1 -0
  103. package/library/react-web-component.d.ts +4 -4
  104. package/library/utils.js +2 -2
  105. package/package.json +1 -1
  106. package/library/chunks/transformation.c-RS37zA.js +0 -151
@@ -1,13 +1,13 @@
1
1
  import { _ as kd, a as Sa, b as Be, c as Je } from "../chunks/inheritsLoose.BuSn_CvZ.js";
2
2
  import { c as ps, a as Bn } from "../chunks/_commonjsHelpers.DQNKXVTB.js";
3
3
  import { r as Sb } from "../chunks/___vite-browser-external_commonjs-proxy.C2tf3HsQ.js";
4
- import { C as Cb } from "../chunks/image.DVbY2O89.js";
4
+ import { C as Cb } from "../chunks/image.DaYfKRf4.js";
5
5
  import Mb from "./resize-observer.js";
6
6
  import { r as Db, R as Pb, a as Rp, b as Lb } from "../chunks/resizable-component.styles.CAfXABBc.js";
7
7
  import { c as Rb } from "../chunks/component.styles.CRO4Odto.js";
8
8
  import { b as Ib } from "../chunks/browser.BHOCIF_A.js";
9
9
  import { c as Ob } from "../chunks/custom-element.L4WJXn1j.js";
10
- import { L as kb } from "../chunks/i18n.DYXys45m.js";
10
+ import { L as kb } from "../chunks/i18n.D07sG_CU.js";
11
11
  import { w as Ki } from "../chunks/watch.K-dbDP6P.js";
12
12
  import { i as Bb, x as Qc } from "../chunks/lit-element.jLBm65_O.js";
13
13
  import { n as Ri } from "../chunks/lib-cortex-element.CVMmyPMC.js";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orangelogic/design-system",
3
3
  "type": "module",
4
- "version": "2.146.0",
4
+ "version": "2.147.0",
5
5
  "license": "UNLICENSED",
6
6
  "types": "library/types.d.ts",
7
7
  "scripts": {
@@ -0,0 +1,9 @@
1
+ export type CxFacetedFilterRemoveEvent = CustomEvent<{
2
+ /** The `key` of the removed applied-filter tag (see `AppliedFilterTag`). */
3
+ key: string;
4
+ }>;
5
+ declare global {
6
+ interface GlobalEventHandlersEventMap {
7
+ 'cx-faceted-filter-remove': CxFacetedFilterRemoveEvent;
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ export type CxTableAppliedFilterRemoveEvent = CustomEvent<{
2
+ /** The `key` of the removed host-provided applied-filter tag (see `additionalAppliedFilters`). */
3
+ key: string;
4
+ }>;
5
+ declare global {
6
+ interface GlobalEventHandlersEventMap {
7
+ 'cx-table-applied-filter-remove': CxTableAppliedFilterRemoveEvent;
8
+ }
9
+ }
@@ -76,6 +76,7 @@ export * from './cx-expand';
76
76
  export * from './cx-export-settings';
77
77
  export * from './cx-facet-change';
78
78
  export * from './cx-faceted-filter-change';
79
+ export * from './cx-faceted-filter-remove';
79
80
  export * from './cx-file-on-demand-load-more';
80
81
  export * from './cx-file-on-demand-pin';
81
82
  export * from './cx-file-on-demand-unpin';
@@ -194,6 +195,7 @@ export * from './cx-swatch-add';
194
195
  export * from './cx-tab-hide';
195
196
  export * from './cx-tab-show';
196
197
  export * from './cx-table-advanced-search-click';
198
+ export * from './cx-table-applied-filter-remove';
197
199
  export * from './cx-table-column-editor-apply';
198
200
  export * from './cx-table-column-editor-cancel';
199
201
  export * from './cx-table-column-visibility-change';
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Styles for cells in columns with `clickable: true`. Renders text with a
3
3
  * link-like appearance (primary color, underline on hover) without using a
4
- * real anchor element. Consumers can override the text color via the
4
+ * real anchor element. The affordance is text-only: icons in the same cell
5
+ * keep the table's default color and are not tinted by the link style.
6
+ * Consumers can override the text color via the
5
7
  * `--clickable-cell-color` CSS custom property. For more involved styling
6
8
  * (font, padding, background) configure the column directly via `cssClass`,
7
9
  * `textFormatParams`, or a custom `formatter`.
@@ -9,6 +9,7 @@ import { default as CxSpinner } from '../../../../atoms/src/components/spinner/s
9
9
  import { default as CxTooltip } from '../../../../atoms/src/components/tooltip/tooltip.ts';
10
10
  import { default as CortexElement } from '../../../../base/src/cortex-element.ts';
11
11
  import { default as CxFacetedFilter } from '../../../../molecules/src/faceted-filter/faceted-filter.ts';
12
+ import { AppliedFilterTag } from '../../../../types/src/faceted-filter';
12
13
  import { PaginationCounter } from '../../../../types/src/pagination';
13
14
  import { DateFilterCompareFormat, HoverMenuOptions, HttpMethod, PaginationPlacement, TableClipboardAction, ColumnDefinition, Options, OptionsColumns, OptionsSpreadsheet, SheetDefinition, TableDataFormat } from '../../../../types/src/table';
14
15
  import { SavedSearchItem, TableDropdownFilterData, TableGroupByOption } from '../../../../types/src/table-toolbar';
@@ -73,6 +74,7 @@ import { CxTableColumnEditor, CxTableFooter, CxTableHeaderMenu, CxTableRowAction
73
74
  * @event {{ invalidCellCount: number, invalidCells: ICellComponent[] }} cx-table-validation-change - Emitted when the set of cells failing column `validator` rules changes (edit, load validation, or programmatic validate).
74
75
  * @event {{ field: string, visible: boolean }} cx-table-column-visibility-change - Emitted after a column's visibility changes via the header right-click "Hide column" action.
75
76
  * @event {{ field: string }} cx-table-edit-columns - Emitted when "Edit columns" is chosen from the header right-click menu. Extension point for a future manage-columns panel; no built-in panel is shown.
77
+ * @event {{ key: string }} cx-table-applied-filter-remove - Emitted when a host-provided chip from `additionalAppliedFilters` is removed (individually or via "Clear") in the faceted-filter panel. Carries the removed chip's `key`; the host owns the underlying filter and updates `additionalAppliedFilters` in response.
76
78
  */
77
79
  export default class CxTable extends CortexElement {
78
80
  #private;
@@ -331,6 +333,15 @@ export default class CxTable extends CortexElement {
331
333
  * Example: `"country:checkbox-multiple,createdAt|Create Date:datePicker-showTime,updatedAt|Updated At:dateRangePicker-showTime-showPreset"`
332
334
  */
333
335
  facetConfig: string | undefined;
336
+ /**
337
+ * Extra host-provided chips shown in the faceted-filter "Applied filters" panel,
338
+ * in addition to the ones the table manages itself (e.g. the search term). Push any
339
+ * number of `{ key, label }` entries; each renders as a removable tag. When one is
340
+ * removed (or "Clear" is clicked) the table emits `cx-table-applied-filter-remove`
341
+ * with its `key` — the host owns the underlying filter state and updates this list
342
+ * in response. Keys must be unique and must not clash with the reserved `search-keyword` key.
343
+ */
344
+ additionalAppliedFilters: AppliedFilterTag[];
334
345
  /**
335
346
  * Lookup list to link fields expected by the server to their function
336
347
  * ```typescript
@@ -823,6 +834,7 @@ export default class CxTable extends CortexElement {
823
834
  private columnEditorEntries;
824
835
  get initialized(): boolean | undefined;
825
836
  get searchValue(): string;
837
+ private get appliedFilterTags();
826
838
  get isBottomPlacement(): boolean;
827
839
  get showPaginationFooter(): boolean;
828
840
  /**
@@ -914,6 +926,7 @@ export default class CxTable extends CortexElement {
914
926
  isLoading(): boolean;
915
927
  search(searchText: string): void;
916
928
  private handleSearch;
929
+ private handleAppliedFilterRemove;
917
930
  handleSearchFieldsChange(): void;
918
931
  handleSearchMatchAnyKeywordChange(): void;
919
932
  handleDropdownFiltersPropChange(): void;
@@ -9,7 +9,7 @@ import { default as CxSpinner } from '../../../atoms/src/components/spinner/spin
9
9
  import { default as CxTag } from '../../../atoms/src/components/tag/tag.ts';
10
10
  import { default as CxTooltip } from '../../../atoms/src/components/tooltip/tooltip.ts';
11
11
  import { default as CortexElement } from '../../../base/src/cortex-element.ts';
12
- import { Facet, FacetDetails, FacetSelectionMode, SelectedDateRanges, SelectedFacets } from '../../../types/src/faceted-filter';
12
+ import { AppliedFilterTag, Facet, FacetDetails, FacetSelectionMode, SelectedDateRanges, SelectedFacets } from '../../../types/src/faceted-filter';
13
13
  import { CSSResultGroup } from 'lit';
14
14
 
15
15
  /**
@@ -18,6 +18,9 @@ import { CSSResultGroup } from 'lit';
18
18
  *
19
19
  * @event {{ selection: SelectedFacets }} cx-faceted-filter-change - Fired whenever
20
20
  * the user changes a selection, removes a tag, or clears all filters.
21
+ * @event {{ key: string }} cx-faceted-filter-remove - Fired when a host-provided
22
+ * applied-filter tag (see the `externalFilters` property) is removed, either individually
23
+ * or via "Clear". Carries the removed tag's `key`.
21
24
  *
22
25
  * @cssproperty [--panel-max-height=600px] - The maximum height of the dropdown panel and its content.
23
26
  */
@@ -49,6 +52,13 @@ export default class CxFacetedFilter extends CortexElement {
49
52
  selection: FacetSelectionMode;
50
53
  /** Whether the current selection is being applied by the consumer. */
51
54
  loading: boolean;
55
+ /**
56
+ * Removable chips supplied from OUTSIDE the component, shown in the applied-filters
57
+ * panel alongside the component's own facet/date selections (e.g. the table's
58
+ * free-text search term). Removing one — or clicking "Clear" — emits
59
+ * `cx-faceted-filter-remove` with its `key`; the owner updates this list in response.
60
+ */
61
+ externalFilters: AppliedFilterTag[];
52
62
  /** Total count of selected filter values that have a matching display name. */
53
63
  private appliedFiltersCount;
54
64
  /** Internal selection state maintained by the component. */
@@ -61,6 +71,7 @@ export default class CxFacetedFilter extends CortexElement {
61
71
  handleSelectedFacetsChange(): void;
62
72
  handleSelectedDateRangesChange(): void;
63
73
  handleInternalSelectionChange(): void;
74
+ handleExternalFiltersChange(): void;
64
75
  private updateAppliedFiltersCount;
65
76
  private getFacetSelectionMode;
66
77
  private buildRenderContext;
@@ -73,6 +84,7 @@ export default class CxFacetedFilter extends CortexElement {
73
84
  private getDateFacetLabel;
74
85
  private formatDateRangeDisplay;
75
86
  private renderDateTags;
87
+ private renderExternalFilterTags;
76
88
  private renderSelectionCheckboxTags;
77
89
  private renderFooter;
78
90
  render(): import('lit').TemplateResult<1>;
@@ -17,6 +17,12 @@ import { CSSResultGroup } from 'lit';
17
17
  var(--cx-color-neutral-1000),
18
18
  var(--cx-color-neutral-0)
19
19
  )] - pair of colors for light and dark theme
20
+ * @cssproperty [--search-box-custom-height=32px] - Input height when size is 'custom'.
21
+ * @cssproperty [--search-box-custom-padding=4px 8px 4px 8px] - Input padding when size is 'custom'.
22
+ * @cssproperty [--search-box-custom-font-size=var(--cx-font-size-medium)] - Input font size when size is 'custom'.
23
+ * @cssproperty [--search-box-custom-font-family] - Input font family when size is 'custom'.
24
+ * @cssproperty [--search-box-custom-font-style] - Input font style when size is 'custom'.
25
+ * @cssproperty [--search-box-custom-font-weight] - Input font weight when size is 'custom'.
20
26
  *
21
27
  * @event cx-input - Emitted when the control receives input.
22
28
  * @event cx-change - Emitted when an alteration to the control's value is committed by the user.
@@ -25,7 +31,7 @@ import { CSSResultGroup } from 'lit';
25
31
  * @csspart input - The input field for entering search queries.
26
32
  * @csspart icon - The icon displayed in the search box, typically a magnifying glass.
27
33
  *
28
- * @typedef SearchBoxSize - 'large' | 'medium' | 'small'
34
+ * @typedef SearchBoxSize - 'custom' | 'large' | 'medium' | 'small'
29
35
  */
30
36
  export default class CxSearchBox extends CortexElement {
31
37
  static readonly styles: CSSResultGroup;
@@ -190,6 +190,12 @@ export default class CxAssetLinkFormat extends CortexElement {
190
190
  private get hasUnfrozenTransformations();
191
191
  private apiGetTransformAssetLink;
192
192
  private apiGetCropFocusMode;
193
+ /**
194
+ * The unit of the last applied crop transformation, for the no-asset case only. Reflects
195
+ * whatever unit the last committed Crop transformation used, or Pixel when nothing has
196
+ * been applied yet.
197
+ */
198
+ get lastAppliedCropUnit(): Unit;
193
199
  /**
194
200
  * Checks if the crop apply button should be disabled.
195
201
  * This is determined by comparing the current crop size with the last crop size.
@@ -221,6 +227,12 @@ export default class CxAssetLinkFormat extends CortexElement {
221
227
  x: number;
222
228
  y: number;
223
229
  };
230
+ /**
231
+ * The last applied crop has no pixel size (only a ratio was ever committed, since
232
+ * there is no asset). Fall back to 1x1 (matching the width/height input mask's
233
+ * `min: 1`) instead of 0x0, so switching the unit selector back to Pixel and
234
+ * clicking Apply immediately still commits a meaningful crop instead of a no-op.
235
+ */
224
236
  px: {
225
237
  height: number;
226
238
  percentageHeight: number;
@@ -1,5 +1,5 @@
1
1
  import { default as CxSearchBox } from '../../../../molecules/src/search-box/search-box.ts';
2
- import { PropertyConfig } from '../../../../types/src/content-builder';
2
+ import { ConfigsOptions, PropertyConfig } from '../../../../types/src/content-builder';
3
3
  import { SearchBoxWidthType } from '../../../../types/src/search-box';
4
4
  import { LocalizeController } from '../../../../utils/src/custom-element/i18n';
5
5
 
@@ -10,7 +10,7 @@ type Attribute = {
10
10
  'width-type': SearchBoxWidthType;
11
11
  };
12
12
  declare const _default: {
13
- configs: (localize: LocalizeController) => Array<PropertyConfig<Attribute>>;
13
+ configs: (localize: LocalizeController, options?: ConfigsOptions) => Array<PropertyConfig<Attribute>>;
14
14
  defaultValue: Attribute;
15
15
  stylable: string[];
16
16
  };
@@ -64,6 +64,8 @@ export type Transformation = {
64
64
  keepMetadata?: boolean;
65
65
  mode?: string;
66
66
  quality?: number;
67
+ ratioHeight?: number;
68
+ ratioWidth?: number;
67
69
  rotation?: number;
68
70
  unit?: Unit;
69
71
  width?: number;
@@ -90,6 +90,10 @@ export type FacetRenderContext = {
90
90
  /** Selected checkbox values for this facet (`internalSelection[field]`). */
91
91
  selectionValues: string[];
92
92
  };
93
+ export type AppliedFilterTag = {
94
+ key: string;
95
+ label: string;
96
+ };
93
97
  /** The author-facing control token used in `cx-table`'s `facet-config` attribute. */
94
98
  export declare enum FacetConfigTableType {
95
99
  Checkbox = "checkbox",
@@ -1,4 +1,5 @@
1
1
  export declare enum SearchBoxSize {
2
+ Custom = "custom",
2
3
  Large = "large",
3
4
  Medium = "medium",
4
5
  Small = "small"
@@ -14,6 +14,9 @@ export type DropdownItem = {
14
14
  section?: string;
15
15
  style?: Record<string, string>;
16
16
  };
17
+ export declare enum AppliedFilterKey {
18
+ Search = "search-keyword"
19
+ }
17
20
  export declare enum PaginationPlacement {
18
21
  BottomCenter = "bottom-center",
19
22
  BottomEnd = "bottom-end",
@@ -852,6 +852,7 @@ export interface Translation extends DefaultTranslation {
852
852
  searchFolders: string;
853
853
  searchOptions: string;
854
854
  searchPlaceholder: string;
855
+ searchTerm: string;
855
856
  searching: string;
856
857
  second: string;
857
858
  secondary: string;
@@ -32,7 +32,7 @@
32
32
  export type CxAssetLinkFormatCropMode = { auto: boolean; disabledSize: boolean; label: string; value: string; };
33
33
  export type CxAssetLinkFormatFocusMode = { auto: boolean; label: string; value: string; };
34
34
  export type CxAssetLinkFormatProxy = { cdnName: string; extension: string; formatHeight: number; formatWidth: number; height: number; id: string; permanentLink: string; proxyLabel: string; proxyName: string; width: number; };
35
- export type CxAssetLinkFormatTransformation = { key: 'Crop' | 'Metadata' | 'Proxy' | 'Quality' | 'Resize' | 'Rotate'; value: { disabledSize: boolean; focusMode: string; height: number; isFocusModeAuto: boolean; keepMetadata: boolean; mode: string; quality: number; rotation: number; unit: '%' | 'px'; width: number; x: number; y: number; }; };
35
+ export type CxAssetLinkFormatTransformation = { key: 'Crop' | 'Metadata' | 'Proxy' | 'Quality' | 'Resize' | 'Rotate'; value: { disabledSize: boolean; focusMode: string; height: number; isFocusModeAuto: boolean; keepMetadata: boolean; mode: string; quality: number; ratioHeight: number; ratioWidth: number; rotation: number; unit: '%' | 'px'; width: number; x: number; y: number; }; };
36
36
  export type CxBentoGridGalleryItem = { additions: string[]; alt: string; cardType: 'asset' | 'folder' | 'link' | 'page' | 'space'; className: string; details: string; docType: '' | 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; filler: boolean; header: string; id: string; isClone: boolean; name: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; openInNewTab: boolean; pageId: string; rawId: string; size: string; src: string; url: string; };
37
37
  export type CxCarouselGalleryItem = { additions: string[]; alt: string; cardType: 'asset' | 'folder' | 'link' | 'page' | 'space'; className: string; details: string; docType: '' | 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; filler: boolean; header: string; id: string; isClone: boolean; name: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; openInNewTab: boolean; pageId: string; rawId: string; size: string; src: string; url: string; };
38
38
  export type CxChatbotChatbotEvent = { event: string; excludedFromPurposes: string[]; label: string; };
@@ -50,9 +50,9 @@
50
50
  export type CxColorSwatchGroupColorSwatchData = { cmyk: string; color: string; hex: string; id: string; name: string; palette: string; pms: string; rgb: string; };
51
51
  export type CxDamCustomToolbarButtonsEditorDamCustomToolbarButton = { accessLevel: string; action: 'create-record' | 'execute-workflow' | 'open-form' | 'open-link' | 'open-page' | 'open-space'; appearance: 'icon-and-label' | 'icon-only' | 'label-only'; completionMessage: string; formId: string; icon: string; id: string; label: string; link: string; name: string; openInNewTab: boolean; pageId: string; pageUrl: string; recordSubType: string; recordType: string; spaceId: string; tooltip: string; type: 'primary' | 'secondary'; workflowId: string; };
52
52
  export type CxGalleryGalleryRecord = { id: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; rawId: string; src: string; };
53
- export type CxGalleryTransformation = { key: 'Crop' | 'Metadata' | 'Proxy' | 'Quality' | 'Resize' | 'Rotate'; value: { disabledSize: boolean; focusMode: string; height: number; isFocusModeAuto: boolean; keepMetadata: boolean; mode: string; quality: number; rotation: number; unit: '%' | 'px'; width: number; x: number; y: number; }; };
53
+ export type CxGalleryTransformation = { key: 'Crop' | 'Metadata' | 'Proxy' | 'Quality' | 'Resize' | 'Rotate'; value: { disabledSize: boolean; focusMode: string; height: number; isFocusModeAuto: boolean; keepMetadata: boolean; mode: string; quality: number; ratioHeight: number; ratioWidth: number; rotation: number; unit: '%' | 'px'; width: number; x: number; y: number; }; };
54
54
  export type CxTimelineTimelineItem = { id: string; label: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; recordId: string; thumbnail: string; };
55
- export type CxTimelineTransformation = { key: 'Crop' | 'Metadata' | 'Proxy' | 'Quality' | 'Resize' | 'Rotate'; value: { disabledSize: boolean; focusMode: string; height: number; isFocusModeAuto: boolean; keepMetadata: boolean; mode: string; quality: number; rotation: number; unit: '%' | 'px'; width: number; x: number; y: number; }; };
55
+ export type CxTimelineTransformation = { key: 'Crop' | 'Metadata' | 'Proxy' | 'Quality' | 'Resize' | 'Rotate'; value: { disabledSize: boolean; focusMode: string; height: number; isFocusModeAuto: boolean; keepMetadata: boolean; mode: string; quality: number; ratioHeight: number; ratioWidth: number; rotation: number; unit: '%' | 'px'; width: number; x: number; y: number; }; };
56
56
  export type CxContentBuilderDevice = { canvasWidth: string; height: string; id: string; maxWidth: string; name: string; };
57
57
  export type CxDashboardFilterDashboardFilterControl = { controlId: string; controlType: string; id: string; label: string; maxOptionsVisible: number; optionColumnMapping: CxDashboardFilterPartial; options: CxDashboardFilterDashboardFilterOption[] | dictionary[]; placeholder: string; type: string; };
58
58
  export type CxDashboardFilterPartial = any;
@@ -6968,7 +6968,7 @@
6968
6968
  /**
6969
6969
  * Search input's size.
6970
6970
  */
6971
- size?: 'large' | 'medium' | 'small';
6971
+ size?: 'custom' | 'large' | 'medium' | 'small';
6972
6972
  /**
6973
6973
  * Placeholder for input
6974
6974
  */
package/library/utils.js CHANGED
@@ -13,7 +13,7 @@ import { d as Fe } from "./chunks/drag.DXEXVXPv.js";
13
13
  import { f as Oe } from "./chunks/focus-when-visible.jWSw9ks0.js";
14
14
  import { f as O } from "./chunks/form.BSqXLytJ.js";
15
15
  import { F as Ne, c as Ue, g as Pe, v as _e, a as He } from "./chunks/form.BSqXLytJ.js";
16
- import { L as We, r as Be } from "./chunks/i18n.DYXys45m.js";
16
+ import { L as We, r as Be } from "./chunks/i18n.D07sG_CU.js";
17
17
  import { c as Ge, q as ze } from "./chunks/math.DuKzLacZ.js";
18
18
  import { g as Qe, l as Ze, s as je, u as Je } from "./chunks/scroll.xtO5yojm.js";
19
19
  import { j as y } from "./chunks/dom.CU_mBy9D.js";
@@ -33,7 +33,7 @@ import { s as ca } from "./chunks/parse.Cu5nBDTb.js";
33
33
  import { b as ma, d as fa, e as ha, f as ga, m as da, g as pa, h as Da, l as Ta, p as wa, w as Ca, v as xa, a as Ma, c as ya, s as Sa, r as Ea, o as Aa, t as Ia, n as La, q as va, i as ba, u as Ra } from "./chunks/string.BmBJ_BLT.js";
34
34
  import { g as Fa, a as ka } from "./chunks/template.ClovJacp.js";
35
35
  import { c as Ya, f as Na, a as Ua, g as Pa } from "./chunks/time.DWfbnPnM.js";
36
- import { b as Ha } from "./chunks/transformation.c-RS37zA.js";
36
+ import { b as Ha } from "./chunks/transformation.DGzjBg6V.js";
37
37
  function n(t) {
38
38
  const e = t.getFullYear(), r = String(t.getMonth() + 1).padStart(2, "0"), s = String(t.getDate()).padStart(2, "0");
39
39
  return `${e}-${r}-${s}`;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orangelogic/design-system",
3
3
  "type": "module",
4
- "version": "2.146.0",
4
+ "version": "2.147.0",
5
5
  "license": "UNLICENSED",
6
6
  "types": "library/types.d.ts",
7
7
  "scripts": {
@@ -1,151 +0,0 @@
1
- import { T as r } from "./asset-link-format.QzzboHHE.js";
2
- function m({
3
- asset: k,
4
- baseUrl: h,
5
- extension: y,
6
- options: f,
7
- parameters: c,
8
- transformations: l,
9
- useSession: _ = ""
10
- }) {
11
- if (h == null)
12
- return "";
13
- let a = h;
14
- const v = l?.findLast(
15
- (i) => i.key === r.Quality
16
- );
17
- if (v && (l = [
18
- ...l?.filter(
19
- (i) => i.key !== r.Quality
20
- ) || [],
21
- v
22
- ]), l) {
23
- const i = [];
24
- for (let o = 0; o < l.length; o++) {
25
- const t = l[o];
26
- if (t.key === r.Rotate) {
27
- let e = t.value.rotation ?? 0;
28
- for (; l[o + 1]?.key === r.Rotate; )
29
- o++, e += l[o].value.rotation ?? 0;
30
- e !== 0 && i.push({ key: r.Rotate, value: { rotation: e } });
31
- } else
32
- i.push(t);
33
- }
34
- l = i;
35
- }
36
- l && l.length > 0 && (a += "/t/"), l?.forEach(({ key: i, value: o }) => {
37
- if (i === r.Resize) {
38
- const t = [
39
- ...[
40
- {
41
- key: "re_w_",
42
- value: Math.round(o.width ?? 0)
43
- },
44
- {
45
- key: "re_h_",
46
- value: Math.round(o.height ?? 0)
47
- }
48
- ].filter((e) => e.value !== void 0).map((e) => ({
49
- key: e.key,
50
- value: Math.round(Number(e.value))
51
- })),
52
- {
53
- key: "re_rm_",
54
- value: "stretch"
55
- }
56
- ];
57
- t.forEach(({ key: e, value: u }, n) => {
58
- a += `${e}${u}${n < t.length - 1 ? "," : ""}`;
59
- }), a += "/";
60
- }
61
- if (i === r.Crop) {
62
- const t = [
63
- ...[
64
- {
65
- key: "c_",
66
- value: o.mode
67
- },
68
- ...o.disabledSize ? [] : [
69
- {
70
- key: "c_w_",
71
- value: Math.round(o.width ?? 0)
72
- },
73
- {
74
- key: "c_h_",
75
- value: Math.round(o.height ?? 0)
76
- },
77
- {
78
- key: "c_x_",
79
- value: Math.round(o.x ?? 0) === 0 && f?.omitZeroXY ? void 0 : Math.round(o.x ?? 0)
80
- },
81
- {
82
- key: "c_y_",
83
- value: Math.round(o.y ?? 0) === 0 && f?.omitZeroXY ? void 0 : Math.round(o.y ?? 0)
84
- }
85
- ],
86
- ...o.focusMode && o.focusMode !== "manual" ? [
87
- {
88
- key: o.isFocusModeAuto ? "acm_" : "c_g_",
89
- value: o.focusMode
90
- }
91
- ] : []
92
- ].filter((e) => e.value !== void 0 && e.value !== null).map((e) => ({
93
- key: e.key,
94
- value: e.value
95
- })),
96
- {
97
- key: "c_whu_",
98
- value: "pixel"
99
- }
100
- ];
101
- t.forEach(({ key: e, value: u }, n) => {
102
- const s = ["c_w_", "c_h_", "c_x_", "c_y_"].includes(e);
103
- a += `${e}${s ? Math.round(Number(u)) : u}${n < t.length - 1 ? "," : ""}`;
104
- }), a += "/";
105
- }
106
- if (i === r.Rotate && ([
107
- {
108
- key: "r_a_",
109
- value: o.rotation
110
- }
111
- ].filter((e) => e.value !== void 0).map((e) => ({
112
- key: e.key,
113
- value: Math.round(Number(e.value))
114
- })).forEach(({ key: e, value: u }) => {
115
- a += `${e}${u}`;
116
- }), a += "/"), i === r.Quality) {
117
- const t = [
118
- {
119
- key: "q_level_",
120
- value: o.quality
121
- }
122
- ].filter((e) => e.value !== void 0).map((e) => ({
123
- key: e.key,
124
- value: Math.round(Number(e.value))
125
- }));
126
- t.forEach(({ key: e, value: u }, n) => {
127
- a += `${e}${u}${n < t.length - 1 ? "," : ""}`;
128
- }), a += "/";
129
- }
130
- if (i === r.Metadata) {
131
- const t = [
132
- {
133
- key: "fl_keep_metadata",
134
- value: o.keepMetadata
135
- }
136
- ].filter((e) => e.value !== void 0).map((e) => ({ key: e.key, value: e.value }));
137
- t.forEach(({ key: e }, u) => {
138
- a += `${e}${u < t.length - 1 ? "," : ""}`;
139
- }), a += "/";
140
- }
141
- }), y && (a += `${k?.identifier ?? crypto.randomUUID()}${y}`);
142
- const d = [];
143
- return c && c.length > 0 && c.forEach(({ key: i, value: o }) => {
144
- d.push(
145
- `${encodeURIComponent(i.trim())}=${encodeURIComponent(o.trim())}`
146
- );
147
- }), h && _ && d.push(`UseSession=${encodeURIComponent(_)}`), d.length > 0 && (a += `?${d.join("&")}`), a.endsWith("/") && (a = a.slice(0, -1)), a;
148
- }
149
- export {
150
- m as b
151
- };