@orangelogic/design-system 3.11.0 → 3.13.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 (183) hide show
  1. package/library/chunks/{AxisLabelRadial.fe7zjixN.js → AxisLabelRadial.WmAEaa1v.js} +1 -1
  2. package/library/chunks/{BaseColumnSeries.8Mpxz385.js → BaseColumnSeries.CA7CJ3dz.js} +1 -1
  3. package/library/chunks/{CandlestickSeries.DuadaOTa.js → CandlestickSeries.DXRjCTbq.js} +2 -2
  4. package/library/chunks/{Circle.6LomW0ej.js → Circle.D0OhNxs6.js} +1 -1
  5. package/library/chunks/{ColumnSeries.D1NLfRh5.js → ColumnSeries.B9RPnhH2.js} +2 -2
  6. package/library/chunks/{EditableAxisLabel.Bi9vxLDV.js → EditableAxisLabel.BMw-UWXO.js} +2 -2
  7. package/library/chunks/{EditableLabel.CMR3O9E-.js → EditableLabel.C4IbcCqP.js} +1 -1
  8. package/library/chunks/{Gradient.CquE8_a4.js → Gradient.B8nYUJGr.js} +1 -1
  9. package/library/chunks/{LinearGradient.CVN1VJp-.js → LinearGradient.D35vPMt3.js} +2 -2
  10. package/library/chunks/{Picture.BYTZ_I8g.js → Picture.BK1LgzpJ.js} +1 -1
  11. package/library/chunks/{Polygon.CU2sMltE.js → Polygon.sDQ7eTW_.js} +1 -1
  12. package/library/chunks/{ProgressPie.Dd74dbmm.js → ProgressPie.WR8hKkuu.js} +5 -5
  13. package/library/chunks/{RadialLabel.7ka6ND-t.js → RadialLabel.CUDs8pwi.js} +1 -1
  14. package/library/chunks/{Scrollbar.DqUnZReo.js → Scrollbar.CBeC4QOU.js} +1 -1
  15. package/library/chunks/{Slice.BVI8rfHI.js → Slice.A9JOqhaa.js} +1 -1
  16. package/library/chunks/{Slider.DtjYaJOw.js → Slider.IR4xGxTB.js} +1 -1
  17. package/library/chunks/{SpriteResizer.Ci2Wt2YJ.js → SpriteResizer.C4Pr8M2O.js} +1 -1
  18. package/library/chunks/{Triangle.C75emy3D.js → Triangle.B8AHSXVN.js} +1 -1
  19. package/library/chunks/{ZoomTools.CA9mtHI8.js → ZoomTools.Bc-o69p-.js} +1 -1
  20. package/library/chunks/{am-chart.Cr-vMjcY.js → am-chart._tN87j9G.js} +252 -252
  21. package/library/chunks/{animation.BD-1xugN.js → animation.C44TQFrM.js} +1 -1
  22. package/library/chunks/{asset-link-format.CxDu37Om.js → asset-link-format.DGRqjqpk.js} +134 -133
  23. package/library/chunks/{button.-Jl_NdgM.js → button.BQoebhw_.js} +2 -2
  24. package/library/chunks/{color-swatch-group.DGPlxYsp.js → color-swatch-group.D25fjSK-.js} +12 -12
  25. package/library/chunks/{color-swatch.Dc-IqxsX.js → color-swatch.DxxOpJXT.js} +2 -2
  26. package/library/chunks/{colorPicker.Cg6Zxf8f.js → colorPicker.DkLlH4Wq.js} +5 -5
  27. package/library/chunks/{component.styles.CRO4Odto.js → component.styles.CAS3c9pM.js} +1 -1
  28. package/library/chunks/{confirm-popover.mgYIjZdo.js → confirm-popover.C35rVtVI.js} +4 -4
  29. package/library/chunks/{dialog.YFc-HBc5.js → dialog.Dl9aHLD4.js} +2 -2
  30. package/library/chunks/{document-viewer.DhJ4jBNe.js → document-viewer.sz5uTo3c.js} +9 -9
  31. package/library/chunks/{dot-pagination.BgETAL2j.js → dot-pagination.BNoG-qx7.js} +1 -1
  32. package/library/chunks/{exporting.Djsoh75g.js → exporting.AEbCtXAu.js} +2 -2
  33. package/library/chunks/{flow.aZRVH3p1.js → flow.C_iJT08S.js} +5 -5
  34. package/library/chunks/{folder-select.Hl51n0ge.js → folder-select.CHY44KlA.js} +5 -5
  35. package/library/chunks/{gantt.Bv6_3H9y.js → gantt.MUysUK5v.js} +8 -8
  36. package/library/chunks/{header.BeZml2NV.js → header.v8maWlzT.js} +1 -1
  37. package/library/chunks/{hierarchy.C4LxmFxx.js → hierarchy.C5iJ2TzI.js} +5 -5
  38. package/library/chunks/{icon-button.ENVA7x3u.js → icon-button.5-oAlIkv.js} +2 -2
  39. package/library/chunks/{icon.CpHbi8tH.js → icon.BLXWp6CU.js} +1 -1
  40. package/library/chunks/{iframe.Cgy_DE7W.js → iframe.DOwG9Q7o.js} +1 -1
  41. package/library/chunks/{image.1ufrCtW1.js → image.BSh7WAGF.js} +3 -3
  42. package/library/chunks/{index.2SOQHTpX.js → index.D5h7hksG.js} +17 -17
  43. package/library/chunks/{index.BAJfz5QI.js → index.Nlc7Fj2h.js} +16 -16
  44. package/library/chunks/{input.BJ5LN8of.js → input.BRZzv6Zk.js} +2 -2
  45. package/library/chunks/{json.Dz5QFEi5.js → json.DF7pARBV.js} +3 -3
  46. package/library/chunks/{map.CBcV0WVq.js → map.BXDkCMzZ.js} +2 -2
  47. package/library/chunks/{markdown.CrIkpd0h.js → markdown.b03AOvFT.js} +1 -1
  48. package/library/chunks/{menu-item.DfsfX25P.js → menu-item.HtTWOcq4.js} +2 -2
  49. package/library/chunks/{option.B34is9Z5.js → option.DgxoCq1j.js} +2 -2
  50. package/library/chunks/{pagination.DMAcWRyI.js → pagination.DtdNeZZD.js} +6 -6
  51. package/library/chunks/{percent.D8mkiJ2G.js → percent.DRsIolhK.js} +3 -3
  52. package/library/chunks/{radar.B3p5bRix.js → radar.D-c6oTy6.js} +4 -4
  53. package/library/chunks/{sliceGrouper.CcRqQhZX.js → sliceGrouper.CV7jLsd5.js} +1 -1
  54. package/library/chunks/{stock.CQbn6zW4.js → stock.Bf_BuveB.js} +9 -9
  55. package/library/chunks/{tab-group.D14m1Kel.js → tab-group.BQh_hMDd.js} +4 -4
  56. package/library/chunks/{timeline.Czz_uBEd.js → timeline.CBzTbwCn.js} +5 -5
  57. package/library/chunks/{toast.CCWVobz5.js → toast.CGIDPKV8.js} +1 -1
  58. package/library/chunks/transformation.OaRYixzE.js +385 -0
  59. package/library/chunks/{tree.BEFWro0D.js → tree.DKofDMGu.js} +39 -37
  60. package/library/chunks/{types.D0NvE1EB.js → types.C96J8khO.js} +22431 -21719
  61. package/library/chunks/{typography.IqHbnd3C.js → typography.T72DuoCa.js} +1 -1
  62. package/library/chunks/{venn.B5Jl-c4i.js → venn.CTDnALBD.js} +1 -1
  63. package/library/chunks/{wc.B2THb2Kk.js → wc.DJeU7GL0.js} +1 -1
  64. package/library/chunks/{xy.BO6U5QrZ.js → xy.CW6DZQA8.js} +10 -10
  65. package/library/components/alert.js +2 -2
  66. package/library/components/am-chart.js +2 -2
  67. package/library/components/animated-image.js +2 -2
  68. package/library/components/animation.js +2 -2
  69. package/library/components/array-line-clamp.js +1 -1
  70. package/library/components/asset-link-format.js +5 -5
  71. package/library/components/atoms.js +22 -22
  72. package/library/components/audio.js +3 -3
  73. package/library/components/avatar.js +2 -2
  74. package/library/components/badge.js +1 -1
  75. package/library/components/bicolor-picker.js +1 -1
  76. package/library/components/border-input-group.js +2 -2
  77. package/library/components/breadcrumb-item.js +1 -1
  78. package/library/components/breadcrumb.js +2 -2
  79. package/library/components/button-group.js +1 -1
  80. package/library/components/button.js +3 -3
  81. package/library/components/card.js +1 -1
  82. package/library/components/checkbox.js +2 -2
  83. package/library/components/color-picker.js +4 -4
  84. package/library/components/color-swatch-group.js +6 -6
  85. package/library/components/color-swatch.js +3 -3
  86. package/library/components/confirm-popover.js +5 -5
  87. package/library/components/copy-button.js +2 -2
  88. package/library/components/corner-position-input-group.js +3 -3
  89. package/library/components/cropper.js +1 -1
  90. package/library/components/date-calendar.js +2 -2
  91. package/library/components/details.js +2 -2
  92. package/library/components/dialog.js +3 -3
  93. package/library/components/diff.js +1 -1
  94. package/library/components/divider.js +1 -1
  95. package/library/components/document-viewer.js +5 -5
  96. package/library/components/dot-pagination.js +2 -2
  97. package/library/components/dot-status.js +1 -1
  98. package/library/components/drawer.js +2 -2
  99. package/library/components/dropdown.js +2 -2
  100. package/library/components/dynamic-select.js +3 -3
  101. package/library/components/e-chart.js +1 -1
  102. package/library/components/element-clamp.js +2 -2
  103. package/library/components/file-on-demand.js +11 -11
  104. package/library/components/folder-select.js +5 -5
  105. package/library/components/format-time.js +1 -1
  106. package/library/components/grid-item.js +1 -1
  107. package/library/components/grid.js +1 -1
  108. package/library/components/header.js +2 -2
  109. package/library/components/icon-button.js +3 -3
  110. package/library/components/icon.js +2 -2
  111. package/library/components/iframe.js +2 -2
  112. package/library/components/image-comparer.js +2 -2
  113. package/library/components/image.js +3 -3
  114. package/library/components/include.js +1 -1
  115. package/library/components/input-group.js +1 -1
  116. package/library/components/input.js +3 -3
  117. package/library/components/line-clamp.js +2 -2
  118. package/library/components/markdown.js +2 -2
  119. package/library/components/masonry.js +3 -3
  120. package/library/components/menu-item.js +3 -3
  121. package/library/components/menu-label.js +1 -1
  122. package/library/components/menu-section.js +1 -1
  123. package/library/components/menu.js +2 -2
  124. package/library/components/molecules.js +3 -3
  125. package/library/components/mutation-observer.js +1 -1
  126. package/library/components/option.js +3 -3
  127. package/library/components/organisms.js +2 -2
  128. package/library/components/padding-input-group.js +2 -2
  129. package/library/components/pagination.js +6 -6
  130. package/library/components/popup.js +1 -1
  131. package/library/components/position-picker.js +1 -1
  132. package/library/components/progress-bar.js +1 -1
  133. package/library/components/progress-ring.js +1 -1
  134. package/library/components/qr-code.js +1 -1
  135. package/library/components/radio-button.js +1 -1
  136. package/library/components/radio-card.js +1 -1
  137. package/library/components/radio-group.js +1 -1
  138. package/library/components/radio.js +2 -2
  139. package/library/components/range.js +1 -1
  140. package/library/components/rating.js +2 -2
  141. package/library/components/relative-time.js +1 -1
  142. package/library/components/resize-observer.js +1 -1
  143. package/library/components/select.js +4 -4
  144. package/library/components/shadow-input-group.js +2 -2
  145. package/library/components/share-option-list.js +3 -3
  146. package/library/components/sidebar.js +3 -3
  147. package/library/components/size-input-group.js +3 -3
  148. package/library/components/skeleton.js +1 -1
  149. package/library/components/space.js +1 -1
  150. package/library/components/spinner.js +1 -1
  151. package/library/components/split-panel.js +1 -1
  152. package/library/components/step.js +2 -2
  153. package/library/components/stepper-wizard.js +2 -2
  154. package/library/components/stepper.js +1 -1
  155. package/library/components/switch.js +1 -1
  156. package/library/components/tab-group.js +5 -5
  157. package/library/components/tab-panel.js +1 -1
  158. package/library/components/tab.js +2 -2
  159. package/library/components/tag.js +2 -2
  160. package/library/components/textarea.js +1 -1
  161. package/library/components/timecode.js +2 -2
  162. package/library/components/tooltip.js +1 -1
  163. package/library/components/tree-item.js +3 -3
  164. package/library/components/tree.js +2 -2
  165. package/library/components/typeface.js +3 -3
  166. package/library/components/types.js +150 -151
  167. package/library/components/typography.js +2 -2
  168. package/library/components/video.js +2 -2
  169. package/library/components/visually-hidden.js +1 -1
  170. package/library/package.json +1 -1
  171. package/library/packages/molecules/src/icon-picker/icon-picker.d.ts +33 -0
  172. package/library/packages/organisms/src/content-builder/blocks/image/image.d.ts +2 -0
  173. package/library/packages/organisms/src/content-builder/blocks/video/video.d.ts +1 -0
  174. package/library/packages/organisms/src/content-builder/plugins/rich-text-editor/extensions/index.d.ts +13 -2
  175. package/library/packages/tools/src/tiptap/extensions/google/index.d.ts +4 -0
  176. package/library/packages/tools/src/tiptap/extensions/paste-inline-filter/index.d.ts +28 -0
  177. package/library/packages/tools/src/tiptap/utils/flatten-spans.d.ts +5 -0
  178. package/library/packages/tools/src/tiptap/utils/normalize-tabs.d.ts +7 -0
  179. package/library/packages/utils/src/transformation/transformation.d.ts +10 -29
  180. package/library/react-web-component.d.ts +20 -0
  181. package/library/utils.js +94 -95
  182. package/package.json +1 -1
  183. package/library/chunks/transformation.D27sTUdZ.js +0 -392
@@ -93,6 +93,39 @@ export default class CxIconPicker extends CortexElement {
93
93
  * When true, adds a Font Awesome section alongside the default Cortex icon library.
94
94
  */
95
95
  fontAwesome: boolean;
96
+ /**
97
+ * Icon shown in the selection area while nothing is selected. Accepts any `cx-icon` name.
98
+ * When empty, button mode keeps an invisible icon that reserves the trigger's width and select
99
+ * mode keeps its `search` icon.
100
+ * @default ''
101
+ */
102
+ emptySelectionIcon: string;
103
+ /**
104
+ * Placeholder text for the search field, in both variants.
105
+ * When empty, the localized `search` term is used.
106
+ * @default ''
107
+ */
108
+ searchPlaceholder: string;
109
+ /**
110
+ * Icon shown before the search field inside the button-mode panel. Accepts any `cx-icon` name.
111
+ * When empty, no icon is rendered. Select mode has no separate search field — its trigger icon is
112
+ * `empty-selection-icon`.
113
+ * @default ''
114
+ */
115
+ panelSearchIcon: string;
116
+ /**
117
+ * Label of the custom (asset picker) option, in both variants.
118
+ * When empty, the localized `custom` term is used.
119
+ * @default ''
120
+ */
121
+ customOptionLabel: string;
122
+ /**
123
+ * Icon shown before the custom option's label. Accepts any `cx-icon` name.
124
+ * When empty, no icon is rendered. An uploaded custom image takes precedence over this icon, so
125
+ * the option previews the picked asset instead.
126
+ * @default ''
127
+ */
128
+ customOptionIcon: string;
96
129
  /**
97
130
  * When true, hides the "Custom" icon option (asset picker) from the select footer and button-mode menu.
98
131
  */
@@ -48,6 +48,8 @@ export default class CxSbImage extends CxImage {
48
48
  retryOnError: boolean;
49
49
  /** Content-builder images keep their measured box visible while the asset loads. */
50
50
  skeleton: boolean;
51
+ /** Content-builder blocks hold the box without an animated sheen. */
52
+ protected placeholderSkeletonEffect: "none";
51
53
  /**
52
54
  * The path to the image to load in dark mode.
53
55
  */
@@ -193,6 +193,7 @@ export default class CxSbVideo extends CxVideo {
193
193
  */
194
194
  private resolveClickSpace;
195
195
  handleThumbnailChange(): void;
196
+ handlePosterChange(): Promise<void>;
196
197
  handleFetchedAssetDataChange(): void;
197
198
  handleSrcChange(): Promise<void>;
198
199
  /**
@@ -1,4 +1,6 @@
1
- export declare const baseExtensions: (import('@tiptap/core').Node<any, any> | import('@tiptap/core').Extension<any, any> | import('@tiptap/core').Mark<import('../../../../../../tools/src/tiptap/extensions/text-style').TextStyleOptions, any>)[];
1
+ import { RTE_CONFIG } from '../../../../../../types/src/content-builder';
2
+
3
+ export declare const baseExtensions: (import('@tiptap/core').Mark<any, any> | import('@tiptap/core').Node<any, any> | import('@tiptap/core').Extension<any, any>)[];
2
4
  export declare const basicFormatExtensions: import('@tiptap/core').Mark<import('@tiptap/extension-bold').BoldOptions, any>[];
3
5
  export declare const textScriptExtensions: import('@tiptap/core').Mark<import('@tiptap/extension-subscript').SubscriptExtensionOptions, any>[];
4
6
  export declare const linkExtensions: import('@tiptap/core').Mark<import('@tiptap/extension-link').LinkOptions, any>[];
@@ -25,4 +27,13 @@ export declare const lineHeightExtensions: import('@tiptap/core').Extension<{
25
27
  export declare const blockFormatExtensions: import('@tiptap/core').Node<any, any>[];
26
28
  export declare const listExtensions: import('@tiptap/core').Node<any, any>[];
27
29
  export declare const customNodes: import('@tiptap/core').Node<any, any>[];
28
- export declare const testingExtensions: (import('@tiptap/core').Mark<import('@tiptap/extension-bold').BoldOptions, any> | import('@tiptap/core').Node<any, any> | import('@tiptap/core').Extension<any, any>)[];
30
+ /**
31
+ * Inline styling a paste may keep, derived from the same `rteConfigs` flags that
32
+ * decide which extensions are loaded. Anything not enabled at inline level is
33
+ * stripped on paste so the block-level setting stays in control — notably
34
+ * `font-family`, which has no inline config and is block-only.
35
+ *
36
+ * Keep in sync with the extension branches in `rich-text-editor/index.ts`.
37
+ */
38
+ export declare const buildPasteInlineFilter: (rteConfigs?: RTE_CONFIG) => import('@tiptap/core').Extension<import('../../../../../../tools/src/tiptap/extensions/paste-inline-filter').PasteInlineFilterOptions, any>;
39
+ export declare const testingExtensions: (import('@tiptap/core').Mark<any, any> | import('@tiptap/core').Node<any, any> | import('@tiptap/core').Extension<any, any>)[];
@@ -0,0 +1,4 @@
1
+ import { Mark } from '@tiptap/core';
2
+
3
+ declare const Google: Mark<any, any>;
4
+ export default Google;
@@ -0,0 +1,28 @@
1
+ import { Extension } from '@tiptap/core';
2
+
3
+ export type PasteInlineFilterOptions = {
4
+ /**
5
+ * Mark names that may survive a paste, e.g. `['bold', 'link']`.
6
+ * `textStyle` is always kept (it is filtered by `allowedStyles` instead) so
7
+ * that allowed declarations have a mark to live on.
8
+ */
9
+ allowedMarks: string[];
10
+ /**
11
+ * Inline CSS properties that may survive a paste, e.g. `['color', 'font-size']`.
12
+ * Every other declaration on a `textStyle` mark is dropped so the block-level
13
+ * setting stays in control. An empty set strips all inline styling.
14
+ */
15
+ allowedStyles: string[];
16
+ };
17
+ /**
18
+ * Removes inline styling that the host has not enabled, so block-level settings
19
+ * (font family, line height, …) are not overridden by whatever the clipboard
20
+ * carried. Pasted content from Google Docs, Word, and web pages all arrive as
21
+ * `<span style="...">` runs; without this filter those inline declarations win
22
+ * over the block setting and the setting appears to have no effect.
23
+ *
24
+ * Runs on `transformPasted`, so it covers every paste source rather than a
25
+ * single vendor-specific handler.
26
+ */
27
+ declare const PasteInlineFilter: Extension<PasteInlineFilterOptions, any>;
28
+ export default PasteInlineFilter;
@@ -0,0 +1,5 @@
1
+ declare function flattenSpans(htmlString: string, options?: {
2
+ normalizeTabs?: boolean;
3
+ removeSuggestionTrack?: boolean;
4
+ }): string;
5
+ export default flattenSpans;
@@ -0,0 +1,7 @@
1
+ /**
2
+ *
3
+ * @param html
4
+ * Prevents whitespace collapse by converting consecutive spaces and literal tabs to non-breaking spaces
5
+ */
6
+ declare function normalizeTabs(html: string): string;
7
+ export default normalizeTabs;
@@ -18,6 +18,11 @@ export declare function buildTransformationString({ asset, baseUrl, extension, o
18
18
  transformations?: Transformation[];
19
19
  useSession?: string;
20
20
  }): string;
21
+ /**
22
+ * Extension marker that asks the backend to serve whichever rendition suits the asset,
23
+ * rather than the exact file the delivery URL names.
24
+ */
25
+ export declare const AUTO_FORMAT_EXTENSION = ".auto";
21
26
  /**
22
27
  * Applies transformations to a (possibly finished) asset URL and returns the display URL.
23
28
  *
@@ -25,7 +30,11 @@ export declare function buildTransformationString({ asset, baseUrl, extension, o
25
30
  * URLs the transform is anchored right after the access key (before any prettyName/ext tail)
26
31
  * and merged into an existing `/t/`. Other URLs keep the plain append behavior.
27
32
  */
28
- export declare function applyTransformationsToUrl(url: string, transformations: Transformation[]): string;
33
+ export declare function applyTransformationsToUrl(url: string, transformations: Transformation[], options?: {
34
+ autoFormat?: boolean;
35
+ extension?: string | null;
36
+ format?: string;
37
+ }): string;
29
38
  /**
30
39
  * Inserts a width-only resize into an asset-link URL, preserving any transformations
31
40
  * already present.
@@ -97,34 +106,6 @@ export declare function resolveAutoMaxWidth(manualFormat: boolean, proxyWidth: s
97
106
  * silently downgrades an image away from its original.
98
107
  */
99
108
  export declare function resolveAutoFormat(extension: string | null | undefined, size?: string | number | null): string;
100
- /**
101
- * Extension marker that asks the backend to serve whichever rendition suits the asset,
102
- * rather than the exact file the delivery URL names.
103
- */
104
- export declare const AUTO_FORMAT_EXTENSION = ".auto";
105
- /**
106
- * Appends the `.auto` marker to an asset-link URL, letting the backend pick a rendition
107
- * suited to the source instead of returning the file exactly as named.
108
- *
109
- * The existing extension is kept (`photo.jpg` becomes `photo.jpg.auto`): the URL names a
110
- * real proxy file, and rewriting that name is the backend's business, not ours. Only the
111
- * final path segment is touched, so the access key and any `/t/` transform segment are
112
- * preserved and a configured crop or resize still applies.
113
- *
114
- * An animated GIF served as the original file is left alone: whatever rendition the
115
- * backend picked instead would be a still frame, so the marker would cost the animation.
116
- * A GIF under any other format is already a rendered still, so it has nothing left to
117
- * lose and takes the marker like anything else — the same distinction `buildAssetSrcset`
118
- * draws before it resizes.
119
- *
120
- * Returns the URL unchanged when it is not an asset link (arbitrary external sources are
121
- * never rewritten), when there is no final segment to append to, or when the marker is
122
- * already present, so the call is safe to repeat.
123
- */
124
- export declare function applyAutoFormatToAssetUrl(url: string, options?: {
125
- extension?: string | null;
126
- format?: string;
127
- }): string;
128
109
  /**
129
110
  * Builds a `srcset` value for an asset-link URL by emitting one width-only resize
130
111
  * candidate per ladder entry, letting the browser fetch and decode only the pixels
@@ -6648,6 +6648,26 @@
6648
6648
  * When true, adds a Font Awesome section alongside the default Cortex icon library.
6649
6649
  */
6650
6650
  fontAwesome?: boolean;
6651
+ /**
6652
+ * Icon shown in the selection area while nothing is selected. Accepts any `cx-icon` name. When empty, button mode keeps an invisible icon that reserves the trigger's width and select mode keeps its `search` icon. <br/>@default ''
6653
+ */
6654
+ emptySelectionIcon?: string;
6655
+ /**
6656
+ * Placeholder text for the search field, in both variants. When empty, the localized `search` term is used. <br/>@default ''
6657
+ */
6658
+ searchPlaceholder?: string;
6659
+ /**
6660
+ * Icon shown before the search field inside the button-mode panel. Accepts any `cx-icon` name. When empty, no icon is rendered. Select mode has no separate search field — its trigger icon is `empty-selection-icon`. <br/>@default ''
6661
+ */
6662
+ panelSearchIcon?: string;
6663
+ /**
6664
+ * Label of the custom (asset picker) option, in both variants. When empty, the localized `custom` term is used. <br/>@default ''
6665
+ */
6666
+ customOptionLabel?: string;
6667
+ /**
6668
+ * Icon shown before the custom option's label. Accepts any `cx-icon` name. When empty, no icon is rendered. An uploaded custom image takes precedence over this icon, so the option previews the picked asset instead. <br/>@default ''
6669
+ */
6670
+ customOptionIcon?: string;
6651
6671
  /**
6652
6672
  * When true, hides the "Custom" icon option (asset picker) from the select footer and button-mode menu.
6653
6673
  */
package/library/utils.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { b as k } from "./chunks/url.CGdWC06g.js";
2
- import { R as Ct, f as xt, g as Et, h as It, U as Lt, a as Ft, d as Rt, c as Ot, i as bt, r as Vt, t as vt, e as _t } from "./chunks/url.CGdWC06g.js";
3
- import { j as Ut, f as Yt, b as Nt, c as Pt, g as Wt, e as Xt, i as Ht, a as Bt, h as Gt, m as $t, d as zt, r as qt, t as Qt } from "./chunks/toast.CCWVobz5.js";
2
+ import { R as xt, f as At, g as Et, h as It, U as Lt, a as Ft, d as Rt, c as Ot, i as bt, r as Vt, t as vt, e as _t } from "./chunks/url.CGdWC06g.js";
3
+ import { j as Ut, f as Yt, b as Nt, c as Pt, g as Wt, e as Xt, i as Ht, a as Bt, h as Gt, m as $t, d as zt, r as qt, t as Qt } from "./chunks/toast.CGIDPKV8.js";
4
4
  import { e as jt, a as Jt, f as Kt, g as te, d as ee, b as re, c as ae, i as se, p as oe, s as ne } from "./chunks/browser.BHOCIF_A.js";
5
5
  import { d as le, C as ce, e as ue, H as me, R as fe, c as he, h as ge, f as de, g as pe, l as De, a as Te, p as we, b as Me } from "./chunks/color.LzSGBy7o.js";
6
- import { a as ye, g as Ae } from "./chunks/active-elements.jTVWtBDp.js";
7
- import { a as xe, p as Ee, c as Ie, b as Le, s as Fe, w as Re } from "./chunks/event.BeKOsirN.js";
6
+ import { a as Ce, g as ye } from "./chunks/active-elements.jTVWtBDp.js";
7
+ import { a as Ae, p as Ee, c as Ie, b as Le, s as Fe, w as Re } from "./chunks/event.BeKOsirN.js";
8
8
  import { t as be } from "./chunks/converters.DkDtLstb.js";
9
9
  import { c as ve } from "./chunks/custom-element.L4WJXn1j.js";
10
10
  import { d as ke } from "./chunks/debounce.DaHuiSGU.js";
@@ -17,35 +17,35 @@ import { L as Ze, r as je } from "./chunks/i18n.CNnI4-0K.js";
17
17
  import { c as Ke, q as tr } from "./chunks/math.DuKzLacZ.js";
18
18
  import { g as rr } from "./chunks/modal.Ct0bJBSe.js";
19
19
  import { g as sr, l as or, s as nr, u as ir } from "./chunks/scroll.xtO5yojm.js";
20
- import { k as A } from "./chunks/dom.DShN_5Jh.js";
20
+ import { k as y } from "./chunks/dom.DShN_5Jh.js";
21
21
  import { c as cr, d as ur, h as mr, m as fr, a as hr, g as gr, j as dr, b as pr, f as Dr, i as Tr, e as wr, l as Mr, s as Sr } from "./chunks/dom.DShN_5Jh.js";
22
- import { H as Ar, a as Cr, g as xr } from "./chunks/slot.j5oheLJC.js";
22
+ import { H as yr, a as xr, g as Ar } from "./chunks/slot.j5oheLJC.js";
23
23
  import { a as Ir, g as Lr } from "./chunks/tabbable.BwnZBHrm.js";
24
24
  import { i as Rr } from "./chunks/user-agent.D9aPuOyL.js";
25
25
  import { w as br } from "./chunks/watch.DJF5K-8U.js";
26
26
  import { C as vr } from "./chunks/calendar-grid.BWjcZL5W.js";
27
27
  import { b as kr, c as Ur, f as Yr, h as Nr, g as Pr, a as Wr, i as Xr, d as Hr, n as Br, e as Gr, p as $r, t as zr } from "./chunks/date.iWq_pkIk.js";
28
28
  import { f as c, a as u, D as m } from "./chunks/date-picker.BGHn6qg8.js";
29
- import { o as Qr, s as Zr, p as jr, l as Jr, b as Kr, a as ta, m as ea, c as ra, h as aa, e as sa, g as oa, n as na, q as ia, r as la, d as ca } from "./chunks/transformation.D27sTUdZ.js";
30
- import { c as ma, f as fa, e as ha, b as ga, g as da, d as pa, i as Da, r as Ta, a as wa } from "./chunks/image.Y5c_hFx8.js";
31
- import { b as Sa, e as ya } from "./chunks/waveform.1U9U_0rd.js";
32
- import { c as Ca, b as xa, a as Ea, e as Ia, d as La, f as Fa, g as Ra, r as Oa, s as ba } from "./chunks/number.Cx2ncfJJ.js";
33
- import { s as va } from "./chunks/parse.Cu5nBDTb.js";
34
- import { b as ka, n as Ua, d as Ya, e as Na, f as Pa, y as Wa, o as Xa, g as Ha, h as Ba, l as Ga, p as $a, z as za, x as qa, a as Qa, c as Za, s as ja, w as Ja, r as Ka, t as ts, q as es, v as rs, i as as, m as ss, u as os } from "./chunks/string.Demn8Xmk.js";
35
- import { g as is, a as ls } from "./chunks/template.ClovJacp.js";
36
- import { c as us, f as ms, a as fs, g as hs } from "./chunks/time.DYWuX2id.js";
29
+ import { o as Qr, l as Zr, p as jr, k as Jr, a as Kr, m as ta, b as ea, g as ra, d as aa, f as sa, n as oa, q as na, r as ia, c as la } from "./chunks/transformation.OaRYixzE.js";
30
+ import { c as ua, f as ma, e as fa, b as ha, g as ga, d as da, i as pa, r as Da, a as Ta } from "./chunks/image.Y5c_hFx8.js";
31
+ import { b as Ma, e as Sa } from "./chunks/waveform.1U9U_0rd.js";
32
+ import { c as ya, b as xa, a as Aa, e as Ea, d as Ia, f as La, g as Fa, r as Ra, s as Oa } from "./chunks/number.Cx2ncfJJ.js";
33
+ import { s as Va } from "./chunks/parse.Cu5nBDTb.js";
34
+ import { b as _a, n as ka, d as Ua, e as Ya, f as Na, y as Pa, o as Wa, g as Xa, h as Ha, l as Ba, p as Ga, z as $a, x as za, a as qa, c as Qa, s as Za, w as ja, r as Ja, t as Ka, q as ts, v as es, i as rs, m as as, u as ss } from "./chunks/string.Demn8Xmk.js";
35
+ import { g as ns, a as is } from "./chunks/template.ClovJacp.js";
36
+ import { c as cs, f as us, a as ms, g as fs } from "./chunks/time.DYWuX2id.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}`;
40
40
  }
41
- function C(t) {
41
+ function x(t) {
42
42
  const e = String(t.getHours()).padStart(2, "0"), r = String(t.getMinutes()).padStart(2, "0"), s = String(t.getSeconds()).padStart(2, "0");
43
43
  return `${e}:${r}:${s}`;
44
44
  }
45
45
  function h(t, e) {
46
46
  return new Date(t.getFullYear(), t.getMonth(), t.getDate() + e);
47
47
  }
48
- function x(t) {
48
+ function A(t) {
49
49
  const e = t.getDay(), r = e === 0 ? -6 : 1 - e;
50
50
  return h(t, r);
51
51
  }
@@ -86,9 +86,9 @@ class Q {
86
86
  const a = new Date(r.getTime() - 18e5);
87
87
  return {
88
88
  fromDate: n(a),
89
- fromTime: C(a),
89
+ fromTime: x(a),
90
90
  toDate: s,
91
- toTime: C(r)
91
+ toTime: x(r)
92
92
  };
93
93
  }
94
94
  case c.today:
@@ -136,7 +136,7 @@ class Q {
136
136
  toTime: u
137
137
  };
138
138
  case c.thisWeek: {
139
- const a = x(r);
139
+ const a = A(r);
140
140
  return {
141
141
  fromDate: n(a),
142
142
  fromTime: m,
@@ -145,7 +145,7 @@ class Q {
145
145
  };
146
146
  }
147
147
  case c.lastWeek: {
148
- const a = h(x(r), -7);
148
+ const a = h(A(r), -7);
149
149
  return {
150
150
  fromDate: n(a),
151
151
  fromTime: m,
@@ -289,14 +289,14 @@ function et(t, e) {
289
289
  }
290
290
  class rt {
291
291
  constructor(e) {
292
- this.currentZIndex = A(), (this.host = e).addController(this);
292
+ this.currentZIndex = y(), (this.host = e).addController(this);
293
293
  }
294
294
  hostConnected() {
295
295
  }
296
296
  hostDisconnected() {
297
297
  }
298
298
  async activatePopup() {
299
- this.currentZIndex = A();
299
+ this.currentZIndex = y();
300
300
  }
301
301
  }
302
302
  class at {
@@ -546,8 +546,8 @@ async function* Mt({
546
546
  const T = g * i + d, D = T * s;
547
547
  if (D >= r)
548
548
  continue;
549
- const w = d * p, M = g * l, S = H(t[a] ?? [], d, g), y = d === i - 1 && g === f - 1 || D + s >= r;
550
- S ? yield { ...S, isLastFrame: y } : (await B(o, D, s), _.drawImage(
549
+ const w = d * p, M = g * l, S = H(t[a] ?? [], d, g), C = d === i - 1 && g === f - 1 || D + s >= r;
550
+ S ? yield { ...S, isLastFrame: C } : (await B(o, D, s), _.drawImage(
551
551
  o,
552
552
  w,
553
553
  M,
@@ -559,7 +559,7 @@ async function* Mt({
559
559
  frameHeight: l,
560
560
  frameWidth: p,
561
561
  index: T,
562
- isLastFrame: y,
562
+ isLastFrame: C,
563
563
  row: g,
564
564
  rows: f,
565
565
  time: Number(D.toFixed(X)),
@@ -592,41 +592,40 @@ export {
592
592
  Be as FormControlController,
593
593
  ue as HEX_ALPHA_VALIDATION_REGEX,
594
594
  me as HEX_VALIDATION_REGEX,
595
- Ar as HasSlotController,
595
+ yr as HasSlotController,
596
596
  ft as HistoryManager,
597
597
  W as KeyboardKey,
598
598
  Ze as LocalizeController,
599
599
  X as PRECISION,
600
- Ct as RELATIVE_URL_REGEX,
600
+ xt as RELATIVE_URL_REGEX,
601
601
  fe as RGB_VALIDATION_REGEX,
602
602
  Jr as SRCSET_WIDTH_LADDER,
603
- xt as URL_DOMAIN_VALIDATION_REGEX,
603
+ At as URL_DOMAIN_VALIDATION_REGEX,
604
604
  Et as URL_INTRANET_DOMAIN_VALIDATION_REGEX,
605
605
  It as URL_PROTOCOL_VALIDATION_REGEX,
606
606
  Lt as URL_VALIDATION_REGEX,
607
- ye as activeElements,
607
+ Ce as activeElements,
608
608
  kr as addMonths,
609
609
  Ut as adjustRelativeValues,
610
- xe as animateTo,
610
+ Ae as animateTo,
611
611
  k as appendProtocol,
612
612
  Ft as appendQueryParam,
613
- Kr as applyAutoFormatToAssetUrl,
614
- ta as applyTransformationsToUrl,
615
- ea as applyWidthToAssetUrl,
616
- ra as buildAssetSrcset,
617
- aa as buildSizesFromDisplayWidth,
618
- sa as buildTransformationString,
619
- Sa as buildWaveformPath,
620
- ma as calculateAspectRatioFit,
613
+ Kr as applyTransformationsToUrl,
614
+ ta as applyWidthToAssetUrl,
615
+ ea as buildAssetSrcset,
616
+ ra as buildSizesFromDisplayWidth,
617
+ aa as buildTransformationString,
618
+ Ma as buildWaveformPath,
619
+ ua as calculateAspectRatioFit,
621
620
  Ke as clamp,
622
- fa as cleanImageFileName,
623
- us as clearZeroDurationParts,
621
+ ma as cleanImageFileName,
622
+ cs as clearZeroDurationParts,
624
623
  he as convertColor,
625
- Ca as convertDataUnits,
624
+ ya as convertDataUnits,
626
625
  xa as convertDurationToMilliseconds,
627
- Ea as convertPixelsToAspectRatio,
628
- ha as convertSrcToBlob,
629
- ga as cropImage,
626
+ Aa as convertPixelsToAspectRatio,
627
+ fa as convertSrcToBlob,
628
+ ha as cropImage,
630
629
  cr as cssValueToPx,
631
630
  ve as customElement,
632
631
  Ge as customErrorValidityState,
@@ -634,15 +633,15 @@ export {
634
633
  Ye as defaultValue,
635
634
  et as downloadAsset,
636
635
  Pe as drag,
637
- ka as emptyToSpace,
638
- Ua as escapeXML,
636
+ _a as emptyToSpace,
637
+ ka as escapeXML,
639
638
  ge as extractColor,
640
- Ya as extractExtension,
639
+ Ua as extractExtension,
641
640
  Mt as extractFrames,
642
- Na as extractRootData,
643
- Ia as extractValueAndUnit,
644
- ya as extractWaveformPeaks,
645
- oa as fetchCortexApi,
641
+ Ya as extractRootData,
642
+ Ea as extractValueAndUnit,
643
+ Sa as extractWaveformPeaks,
644
+ sa as fetchCortexApi,
646
645
  jt as findAncestorWithBuggyStyle,
647
646
  Jt as findContainingBlock,
648
647
  Kt as findCuttingAncestor,
@@ -650,54 +649,54 @@ export {
650
649
  Yt as findIndexByProp,
651
650
  Xe as focusWhenVisible,
652
651
  U as formCollections,
653
- La as formatAspectRatioString,
654
- ms as formatDurationPartsManually,
652
+ Ia as formatAspectRatioString,
653
+ us as formatDurationPartsManually,
655
654
  Ur as formatIsoToDisplay,
656
655
  Yr as formatMonthYearLabel,
657
- Fa as formatNumberWithGrouping,
658
- Pa as formatSecondsToTime,
659
- Wa as formatTimeToSeconds,
660
- fs as formatWithIntlDurationFormat,
661
- Ra as gcd,
656
+ La as formatNumberWithGrouping,
657
+ Na as formatSecondsToTime,
658
+ Pa as formatTimeToSeconds,
659
+ ms as formatWithIntlDurationFormat,
660
+ Fa as gcd,
662
661
  ur as getActiveElement,
663
662
  rr as getActiveModals,
664
663
  $e as getAssociatedForm,
665
664
  mr as getAttributes,
666
- Xa as getAttributesString,
665
+ Wa as getAttributesString,
667
666
  Nt as getBreakpointsFromCSS,
668
667
  ct as getBrowserFontVariants,
669
668
  de as getColorType,
670
- da as getContainedImageSize,
669
+ ga as getContainedImageSize,
671
670
  fr as getCortexPopupLayer,
672
- A as getCurrentZIndex,
671
+ y as getCurrentZIndex,
673
672
  Nr as getDateMask,
674
- Ae as getDeepestActiveElement,
673
+ ye as getDeepestActiveElement,
675
674
  Pt as getDeviceType,
676
- hs as getDurationPartsByUnitsFormat,
675
+ fs as getDurationPartsByUnitsFormat,
677
676
  hr as getElementFromHTMLString,
678
677
  gr as getElementFromTemplate,
679
678
  Pr as getFirstDayOfWeek,
680
679
  nt as getFontFamilyOptionValue,
681
680
  P as getFormControls,
682
- is as getHighlightedTitle,
683
- ls as getHighlightedTitleHtml,
684
- Cr as getInnerHTML,
681
+ ns as getHighlightedTitle,
682
+ is as getHighlightedTitleHtml,
683
+ xr as getInnerHTML,
685
684
  St as getInterval,
686
685
  pe as getLightDarkCssString,
687
- pa as getNaturalWidthHeight,
686
+ da as getNaturalWidthHeight,
688
687
  dr as getNeededPaddingForBoxShadow,
689
688
  te as getNextAncestor,
690
689
  sr as getOffset,
691
690
  pr as getRelativeClickPercentage,
692
- Ha as getRootIDString,
691
+ Xa as getRootIDString,
693
692
  Ir as getTabbableBoundary,
694
693
  Lr as getTabbableElements,
695
- xr as getTextContent,
694
+ Ar as getTextContent,
696
695
  Wr as getTodayIsoDate,
697
696
  ot as getTypefaceOptionValue,
698
697
  Wt as groupBy,
699
- na as hasTransformSegment,
700
- Ba as htmlToPlainText,
698
+ oa as hasTransformSegment,
699
+ Ha as htmlToPlainText,
701
700
  Xt as insertAtIndex,
702
701
  wt as insertFrameToCache,
703
702
  Ht as insertMultipleAtIndex,
@@ -709,12 +708,12 @@ export {
709
708
  re as isFirefox,
710
709
  lt as isFontFamilyAvailable,
711
710
  mt as isFormInteracted,
712
- Ga as isGalleryItemCardType,
711
+ Ba as isGalleryItemCardType,
713
712
  ae as isIOS,
714
713
  wr as isInElement,
715
714
  st as isModKey,
716
715
  se as isSafari,
717
- Da as isSaveSrcValid,
716
+ pa as isSaveSrcValid,
718
717
  Ot as isValidDomainOrIntranetUrl,
719
718
  Xr as isValidIsoDate,
720
719
  bt as isValidUrl,
@@ -731,12 +730,12 @@ export {
731
730
  j as openAssetOverview,
732
731
  J as openFolderOverview,
733
732
  K as openLink,
734
- $a as padPath,
735
- za as parseBooleanString,
733
+ Ga as padPath,
734
+ $a as parseBooleanString,
736
735
  Te as parseBorder,
737
736
  Gr as parseDisplayToIso,
738
737
  Ee as parseDuration,
739
- ia as parseFileSizeToBytes,
738
+ na as parseFileSizeToBytes,
740
739
  $r as parseIsoDate,
741
740
  dt as parseJsonString,
742
741
  we as parseLightDark,
@@ -748,45 +747,45 @@ export {
748
747
  tr as quantizeLargestRemainder,
749
748
  Y as quoteFontFamily,
750
749
  Dt as readLocalStorageValue,
751
- qa as reducePathToDirectChild,
750
+ za as reducePathToDirectChild,
752
751
  je as registerTranslation,
753
752
  zt as removeAtIndex,
754
753
  qt as removeMultipleAtIndex,
755
- Ta as resizeImage,
756
- la as resolveAutoFormat,
757
- ca as resolveAutoMaxWidth,
754
+ Da as resizeImage,
755
+ ia as resolveAutoFormat,
756
+ la as resolveAutoMaxWidth,
758
757
  Vt as resolveSpaceUrl,
759
- Oa as rotateBox,
760
- wa as rotateImage,
761
- Qa as safeExtension,
762
- Za as safeString,
763
- ja as sanitizeHTML,
764
- ba as sanitizeRotation,
758
+ Ra as rotateBox,
759
+ Ta as rotateImage,
760
+ qa as safeExtension,
761
+ Qa as safeString,
762
+ Za as sanitizeHTML,
763
+ Oa as sanitizeRotation,
765
764
  nr as scrollIntoView,
766
765
  ut as serialize,
767
766
  tt as shareAsset,
768
767
  Le as shimKeyframesHeightAuto,
769
768
  Sr as sortByTopPosition,
770
769
  N as sortTypefaceVariants,
771
- va as splitBoxValues,
772
- Ja as splitCamelCaseFormatted,
770
+ Va as splitBoxValues,
771
+ ja as splitCamelCaseFormatted,
773
772
  Fe as stopAnimations,
774
773
  ne as supportHLS,
775
774
  v as testFontAvailability,
776
775
  be as timecodeConverter,
777
- Ka as toCamelCase,
776
+ Ja as toCamelCase,
778
777
  zr as toIsoDate,
779
- ts as toKebabCase,
780
- es as toPascalCase,
778
+ Ka as toKebabCase,
779
+ ts as toPascalCase,
781
780
  vt as toRelativeUrl,
782
- rs as toTitleCase,
781
+ es as toTitleCase,
783
782
  _t as toUrlPathKey,
784
783
  Qt as toast,
785
- as as truncateTextMiddle,
786
- ss as unescapeXML,
784
+ rs as truncateTextMiddle,
785
+ as as unescapeXML,
787
786
  ir as unlockBodyScrolling,
788
787
  it as unquoteFontFamily,
789
- os as upperFirst,
788
+ ss as upperFirst,
790
789
  ze as validValidityState,
791
790
  qe as valueMissingValidityState,
792
791
  Re as waitForEvent,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orangelogic/design-system",
3
3
  "type": "module",
4
- "version": "3.11.0",
4
+ "version": "3.13.0",
5
5
  "license": "UNLICENSED",
6
6
  "types": "library/types.d.ts",
7
7
  "scripts": {