@orangelogic/design-system 4.16.0 → 4.18.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.
- package/library/assets/validation.worker-DnJlaA8S.js +1 -0
- package/library/chunks/{asset-link-format.QScvoSeH.js → asset-link-format.B-wi80wk.js} +1 -1
- package/library/chunks/{bicolor-picker.DxvwdlPy.js → bicolor-picker.BHwn7qgI.js} +1 -1
- package/library/chunks/{border-input-group.BG6WuXiC.js → border-input-group.DlxLP_Yi.js} +1 -1
- package/library/chunks/{color-picker.DVCwSWmW.js → color-picker.NFpX0hDd.js} +2 -2
- package/library/chunks/{color-swatch-group.CYwte4Jm.js → color-swatch-group.DHrDL5W4.js} +15 -16
- package/library/chunks/{config-manager.Bgo1T59U.js → config-manager.j-83Ts1D.js} +12 -12
- package/library/chunks/{config-manager.utils.D7HXAqjy.js → config-manager.utils.C-G0Iimp.js} +246 -233
- package/library/chunks/{configs-controller.vXw3EK_q.js → configs-controller.FjT3LVI8.js} +342 -348
- package/library/chunks/{confirm-popover.Blq5LRa-.js → confirm-popover.B60_VW9E.js} +1 -1
- package/library/chunks/{document-viewer.CdWveLvo.js → document-viewer.BUAq7eW6.js} +3 -3
- package/library/chunks/{dropdown.DJXWFtei.js → dropdown.Yz1dFrzN.js} +1 -1
- package/library/chunks/{endpoints.Cyg4JQcE.js → endpoints.jOHOmF_t.js} +1 -1
- package/library/chunks/{file-on-demand.SOeN9tQJ.js → file-on-demand.DgSknSTy.js} +2 -2
- package/library/chunks/{folder-select.rWIoC8P3.js → folder-select.CmyEyzfA.js} +1 -1
- package/library/chunks/{menu-item.Dvh8F11T.js → menu-item.BXd8ZyH5.js} +1 -1
- package/library/chunks/{menu.qVOsnelB.js → menu.yAc9YFlN.js} +1 -1
- package/library/chunks/{shadow-input-group.Dyq74iNl.js → shadow-input-group.ClTseaRz.js} +1 -1
- package/library/chunks/{src.AeZ0-viY.js → src.BQQW1rcJ.js} +6 -6
- package/library/chunks/{tab-group.8ElFsJYM.js → tab-group.CPL6IRZr.js} +3 -3
- package/library/components/asset-link-format.js +1 -1
- package/library/components/atoms.js +7 -7
- package/library/components/bicolor-picker.js +1 -1
- package/library/components/border-input-group.js +1 -1
- package/library/components/color-picker.js +1 -1
- package/library/components/color-swatch-group.js +1 -1
- package/library/components/confirm-popover.js +1 -1
- package/library/components/document-viewer.js +1 -1
- package/library/components/dropdown.js +1 -1
- package/library/components/file-on-demand.js +1 -1
- package/library/components/folder-select.js +1 -1
- package/library/components/menu-item.js +1 -1
- package/library/components/menu.js +1 -1
- package/library/components/molecules.js +5 -5
- package/library/components/organisms.js +3 -3
- package/library/components/shadow-input-group.js +1 -1
- package/library/components/tab-group.js +1 -1
- package/library/components/types.js +7114 -7106
- package/library/package.json +1 -1
- package/library/packages/organisms/src/dam-custom-toolbar-buttons-editor/dam-custom-toolbar-buttons-editor.d.ts +16 -1
- package/library/packages/organisms/src/downloader/data/core/WorkerProxy.d.ts +1 -0
- package/library/packages/organisms/src/downloader/data/core/worker/app/DownloadManager.d.ts +6 -0
- package/library/packages/organisms/src/downloader/downloader.d.ts +2 -0
- package/library/packages/services/src/api/cms5/cms5.d.ts +9 -0
- package/library/packages/services/src/api/cms5/cms5.types.d.ts +3 -0
- package/library/packages/services/src/api/endpoints.d.ts +1 -0
- package/package.json +1 -1
- package/library/assets/validation.worker-BSuTSsWh.js +0 -1
package/library/package.json
CHANGED
|
@@ -73,6 +73,7 @@ export default class CxDamCustomToolbarButtonsEditor extends CortexElement {
|
|
|
73
73
|
private apiGetDamViewAvailableForms;
|
|
74
74
|
private apiGetDamViewAvailableLevelsOfAccess;
|
|
75
75
|
private apiGetDamViewAvailablePages;
|
|
76
|
+
private apiGetDamViewCustomButtonDetail;
|
|
76
77
|
/** Tracks whether `subTypesApi` has resolved at least once for the current API. */
|
|
77
78
|
private subTypesLoaded;
|
|
78
79
|
/**
|
|
@@ -81,6 +82,15 @@ export default class CxDamCustomToolbarButtonsEditor extends CortexElement {
|
|
|
81
82
|
* `handleAvailableButtonSelect` to pre-fill the edit form for an existing button.
|
|
82
83
|
*/
|
|
83
84
|
private availableButtonDetailsByValue;
|
|
85
|
+
/**
|
|
86
|
+
* Tail of the in-flight existing-button additions. Each one may wait on a detail fetch, so they
|
|
87
|
+
* resolve in pick order and the last of them emits them all in one list. Hosts write an emitted
|
|
88
|
+
* list back into `data` later (the content builder after its next update, a server-rendered host
|
|
89
|
+
* after a round trip), so a second list built from `data` before then would drop the first.
|
|
90
|
+
*/
|
|
91
|
+
private pendingAvailableButtonSelect;
|
|
92
|
+
/** Buttons resolved by picks that a later, still-pending pick will emit along with its own. */
|
|
93
|
+
private resolvedAvailableButtons;
|
|
84
94
|
private readonly formApi;
|
|
85
95
|
private readonly spaceApi;
|
|
86
96
|
private readonly accessLevelApi;
|
|
@@ -133,7 +143,7 @@ export default class CxDamCustomToolbarButtonsEditor extends CortexElement {
|
|
|
133
143
|
private get addSelectColumns();
|
|
134
144
|
private get typeSubtypeOptions();
|
|
135
145
|
handleCreateNewClick(): void;
|
|
136
|
-
handleAvailableButtonSelect(event: CustomEvent<Option>): void
|
|
146
|
+
handleAvailableButtonSelect(event: CustomEvent<Option>): Promise<void>;
|
|
137
147
|
handleListEditorEdit(event: CxListEditorRowActionEvent): void;
|
|
138
148
|
handleListEditorDelete(event: CxListEditorRowActionEvent): void;
|
|
139
149
|
handleAddClick(): void;
|
|
@@ -159,6 +169,11 @@ export default class CxDamCustomToolbarButtonsEditor extends CortexElement {
|
|
|
159
169
|
handleSaveClick(): void;
|
|
160
170
|
handleDialogFormSubmit(event: SubmitEvent): void;
|
|
161
171
|
private loadSubTypesIfNeeded;
|
|
172
|
+
/**
|
|
173
|
+
* Page-level buttons are listed with a null detail (reading it builds the page's module), so
|
|
174
|
+
* fetch the picked one's configuration; every other option already carries it.
|
|
175
|
+
*/
|
|
176
|
+
private resolveAvailableButtonDetail;
|
|
162
177
|
private createNewButton;
|
|
163
178
|
private updateEditedItem;
|
|
164
179
|
/**
|
|
@@ -29,6 +29,7 @@ export declare class WorkerProxy implements IDownloadManager {
|
|
|
29
29
|
start(enableRocketMode: boolean, keepDownloading: boolean): Promise<void>;
|
|
30
30
|
restart(): Promise<void>;
|
|
31
31
|
handleCookiesRejected(): void;
|
|
32
|
+
handleCookiesAccepted(): Promise<void>;
|
|
32
33
|
registerDownload(transactionID: string): Promise<string | null>;
|
|
33
34
|
startDownload(transactionID: string, location: string): Promise<void>;
|
|
34
35
|
pauseFile(fileID: string): Promise<void>;
|
|
@@ -35,6 +35,11 @@ export type IDownloadManager = {
|
|
|
35
35
|
getChunkSize: () => Promise<number>;
|
|
36
36
|
getDefaultRootName: () => Promise<string | null>;
|
|
37
37
|
getFile: (id: string) => Promise<GetFileQuery.QueryResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Do necessary handling when the user has accepted cookies for downloader again
|
|
40
|
+
* after previously rejecting them
|
|
41
|
+
*/
|
|
42
|
+
handleCookiesAccepted: () => Promise<void>;
|
|
38
43
|
/**
|
|
39
44
|
* Do necessary handling when the user has rejected cookies for downloader
|
|
40
45
|
*/
|
|
@@ -81,6 +86,7 @@ export declare class DownloadManager implements IDownloadManager {
|
|
|
81
86
|
private databaseDiscarded;
|
|
82
87
|
constructor(context: DownloadContext, downloadDatabase: DownloadDatabase, downloadTransactionsRepo: IDownloadTransactionsRepository, downloadFilesRepo: IDownloadFilesRepository, downloadChunksRepo: IDownloadChunksRepository, downloadApiClient: IDownloadApiClient, storage: IStorage, eventHub: IEventHub, logger: ILogger, retrier: IRetrier, locker: ILocker);
|
|
83
88
|
handleCookiesRejected(): void;
|
|
89
|
+
handleCookiesAccepted(): Promise<void>;
|
|
84
90
|
private setupBackgroundJobs;
|
|
85
91
|
isRocketModeEnabled(): Promise<boolean>;
|
|
86
92
|
private internalToggleRocketMode;
|
|
@@ -145,6 +145,8 @@ export default class CxDownloader extends CortexElement {
|
|
|
145
145
|
setCheckDefaultRootNameInterval(): void;
|
|
146
146
|
checkCookiesRejectedInterval: NodeJS.Timer | undefined;
|
|
147
147
|
setCheckCookiesRejectedInterval(): void;
|
|
148
|
+
checkCookiesAcceptedInterval: NodeJS.Timer | undefined;
|
|
149
|
+
setCheckCookiesAcceptedInterval(): void;
|
|
148
150
|
cancelSingle: (id: string) => void;
|
|
149
151
|
onCancelAll: () => Promise<void>;
|
|
150
152
|
onClear: (id: string) => void;
|
|
@@ -31,6 +31,15 @@ export declare function apiGetDamViewAvailableForms(params?: {
|
|
|
31
31
|
export declare function apiGetDamViewAvailableButtons(params?: {
|
|
32
32
|
teamspaceModule?: string;
|
|
33
33
|
}): Promise<GetDamViewAvailableButtonsResponse>;
|
|
34
|
+
/**
|
|
35
|
+
* Resolves one `getavailablebuttons_42JU_v1` option into its full button configuration.
|
|
36
|
+
* Page-level buttons are listed with a null `detail` (reading it builds the page's module),
|
|
37
|
+
* so the one the user picks is fetched here. Returns null when the token matches nothing.
|
|
38
|
+
*/
|
|
39
|
+
export declare function apiGetDamViewCustomButtonDetail(params: {
|
|
40
|
+
teamspaceModule?: string;
|
|
41
|
+
value: string;
|
|
42
|
+
}): Promise<DamViewAvailableButtonDetail | null>;
|
|
34
43
|
/**
|
|
35
44
|
* Maps the `detail` (backend `QuickAction`) of a `getavailablebuttons_42JU_v1` option
|
|
36
45
|
* onto the custom-toolbar-button editor's field shape, so selecting an existing button
|
|
@@ -131,6 +131,9 @@ export type GetDamViewAvailableButtonsResponse = Array<{
|
|
|
131
131
|
type: DamViewCustomButtonSourceType;
|
|
132
132
|
value: string;
|
|
133
133
|
}>;
|
|
134
|
+
export type GetDamViewCustomButtonDetailRawResponse = {
|
|
135
|
+
detail: DamViewAvailableButtonDetail | null;
|
|
136
|
+
};
|
|
134
137
|
export type GetDamViewAssetStatusesRawResponse = {
|
|
135
138
|
statuses: Array<{
|
|
136
139
|
categoryId: string;
|
|
@@ -55,6 +55,7 @@ export declare enum CMS5_API_ENDPOINT {
|
|
|
55
55
|
GET_DAM_VIEW_AVAILABLE_PANELS = "webapi/cms/cms5/damview/getavailablepanels_42JT_v1",
|
|
56
56
|
GET_DAM_VIEW_AVAILABLE_SPACES = "webapi/cms/cms5/damview/getavailablespaces_42JW_v1",
|
|
57
57
|
GET_DAM_VIEW_AVAILABLE_TEMPLATES = "webapi/cms/cms5/damview/getavailabletemplates_42JN_v1",
|
|
58
|
+
GET_DAM_VIEW_CUSTOM_BUTTON_DETAIL = "webapi/cms/cms5/damview/getcustombuttondetail_444N_v1",
|
|
58
59
|
GET_DAM_VIEW_DISPLAY_MODE_OPTIONS = "webapi/cms/cms5/damview/getdisplaymodeoptions_42JS_v1",
|
|
59
60
|
GET_PAGES_FOR_BLOCK_TEMPLATE = "webapi/cms/cms5/blocktemplate/getpagesforblocktemplate_41ig_v1",
|
|
60
61
|
GET_PERMISSION = "webapi/cms/cms5/blocktemplate/getpermission_419r_v1",
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(function(){function e(e){return e===``||e==null}function t(e){return Number.isFinite(Number(e))}function n(e,t){if(!t||typeof t!=`object`)return!0;let n=Number(e);return!(t.min!==void 0&&n<t.min||t.max!==void 0&&n>t.max)}function r(e){return e instanceof Date?e.getTime():typeof e==`number`?Number.isFinite(e)?e:NaN:typeof e==`string`?Date.parse(e):NaN}let i=[{groupName:`year`,token:`YYYY`},{groupName:`month`,token:`MM`},{groupName:`day`,token:`DD`},{groupName:`hour`,token:`HH`},{groupName:`minute`,token:`mm`},{groupName:`second`,token:`ss`}];function a(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function o(e){let t=``,n=0;for(;n<e.length;){let r=i.find(({token:t})=>e.startsWith(t,n));if(r){let e=r.token.length;t+=`(?<${r.groupName}>\\d{${e}})`,n+=e}else t+=a(e[n]),n+=1}return RegExp(`^${t}$`)}function s(e,t){let n=o(t).exec(e);if(!n?.groups)return!1;let r=Number(n.groups.year??`1970`),i=Number(n.groups.month??`1`),a=Number(n.groups.day??`1`),s=Number(n.groups.hour??`0`),c=Number(n.groups.minute??`0`),l=Number(n.groups.second??`0`);if(i<1||i>12||s>23||c>59||l>59)return!1;let u=new Date(r,i-1,a,s,c,l);return u.getFullYear()===r&&u.getMonth()===i-1&&u.getDate()===a}let c={alphanumeric(t){return e(t)?!0:/^[a-z0-9]+$/i.test(String(t))},boolean(t){return e(t)?!0:typeof t==`boolean`||t===`true`||t===`false`},date(t,n){if(e(t))return!0;if(n&&typeof n==`object`&&n.format!==void 0&&!s(String(t),n.format))return!1;let i=r(t);if(Number.isNaN(i))return!1;if(!n||typeof n!=`object`)return!0;if(n.starts!==void 0){let e=r(n.starts);if(Number.isNaN(e)||i<e)return!1}if(n.ends!==void 0){let e=r(n.ends);if(Number.isNaN(e)||i>e)return!1}return!0},ends(t,n){return e(t)?!0:String(t).toLowerCase().endsWith(String(n).toLowerCase())},float(r,i){if(e(r))return!0;let a=Number(r);return t(r)&&a%1!=0&&n(r,i)},in(t,n){if(e(t))return!0;let r=typeof n==`string`?n.split(`|`):n;return Array.isArray(r)&&r.includes(t)},integer(r,i){if(e(r))return!0;let a=Number(r);return t(r)&&Math.floor(a)===a&&n(r,i)},max(t,n){return e(t)?!0:Number.parseFloat(String(t))<=Number(n)},maxLength(t,n){return e(t)?!0:String(t).length<=Number(n)},min(t,n){return e(t)?!0:Number.parseFloat(String(t))>=Number(n)},minLength(t,n){return e(t)?!0:String(t).length>=Number(n)},numeric(t,r){return e(t)?!0:!Number.isNaN(Number(t))&&n(t,r)},regex(t,n){if(e(t))return!0;let r;r=n instanceof RegExp?n:n===void 0?``:String(n);try{return new RegExp(r).test(String(t))}catch{return!1}},required(t){return!e(t)},starts(t,n){return e(t)?!0:String(t).toLowerCase().startsWith(String(n).toLowerCase())},string(t,n){if(e(t))return!0;if(!Number.isNaN(Number(t)))return!1;if(!n||typeof n!=`object`)return!0;let r=String(t).length;return!(n.minLength!==void 0&&r<n.minLength||n.maxLength!==void 0&&r>n.maxLength)},unique(t,n,r){return e(t)||!r?.columnValues?!0:!r.columnValues.some(e=>e===t)}},l=1e3;function u(e){return e===``||e==null}function d(e){let t=/* @__PURE__ */ new Map;return e.forEach(e=>{u(e)||t.set(e,(t.get(e)??0)+1)}),t}function f(e,t,n){let r=[];return t.forEach(t=>{let i;if(t.type===`unique`)i=u(e)||(n.get(e)??0)<=1;else{let n=c[t.type];i=!n||n(e,t.parameters)}i||r.push({message:t.message,parameters:t.parameters,type:t.type})}),r}globalThis.addEventListener(`message`,e=>{if(e.origin!==``||e.data?.type!==`cx-validation-request`)return;let{fields:t,id:n}=e.data.payload,r=t.map(e=>e.rules.some(e=>e.type===`unique`)?d(e.values):/* @__PURE__ */ new Map),i=t.reduce((e,t)=>Math.max(e,t.values.length),0);for(let e=0;e<i||e===0;e+=l){let a=Math.min(e+l,i),o=[];for(let n=e;n<a;n++)t.forEach((e,t)=>{let i=f(e.values[n],e.rules,r[t]);i.length&&o.push({failures:i,fieldIndex:t,rowIndex:n})});let s={done:a>=i,id:n,results:o};if(globalThis.postMessage({payload:s,type:`cx-validation-response`}),a>=i)break}})})();
|