__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
var wp;
(wp ||= {}).preferencesPersistence = (() => {
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// package-external:@wordpress/api-fetch
var require_api_fetch = __commonJS({
"package-external:@wordpress/api-fetch"(exports, module) {
module.exports = window.wp.apiFetch;
}
});
// packages/preferences-persistence/build-module/index.mjs
var index_exports = {};
__export(index_exports, {
__unstableCreatePersistenceLayer: () => __unstableCreatePersistenceLayer,
create: () => create
});
// packages/preferences-persistence/build-module/create/index.mjs
var import_api_fetch = __toESM(require_api_fetch(), 1);
// packages/preferences-persistence/build-module/create/debounce-async.mjs
function debounceAsync(func, delayMS) {
let timeoutId;
let activePromise;
return async function debounced(...args) {
if (!activePromise && !timeoutId) {
return new Promise((resolve, reject) => {
activePromise = func(...args).then((...thenArgs) => {
resolve(...thenArgs);
}).catch((error) => {
reject(error);
}).finally(() => {
activePromise = null;
});
});
}
if (activePromise) {
await activePromise;
}
if (timeoutId) {
clearTimeout(timeoutId);
timeoutId = null;
}
return new Promise((resolve, reject) => {
timeoutId = setTimeout(() => {
activePromise = func(...args).then((...thenArgs) => {
resolve(...thenArgs);
}).catch((error) => {
reject(error);
}).finally(() => {
activePromise = null;
timeoutId = null;
});
}, delayMS);
});
};
}
// packages/preferences-persistence/build-module/create/index.mjs
var EMPTY_OBJECT = {};
var localStorage = window.localStorage;
function create({
preloadedData,
localStorageRestoreKey = "WP_PREFERENCES_RESTORE_DATA",
requestDebounceMS = 2500
} = {}) {
let cache = preloadedData;
const debouncedApiFetch = debounceAsync(import_api_fetch.default, requestDebounceMS);
async function get() {
if (cache) {
return cache;
}
const user = await (0, import_api_fetch.default)({
path: "/wp/v2/users/me?context=edit"
});
const serverData = user?.meta?.persisted_preferences;
const localData = JSON.parse(
localStorage.getItem(localStorageRestoreKey)
);
const serverTimestamp = Date.parse(serverData?._modified) || 0;
const localTimestamp = Date.parse(localData?._modified) || 0;
if (serverData && serverTimestamp >= localTimestamp) {
cache = serverData;
} else if (localData) {
cache = localData;
} else {
cache = EMPTY_OBJECT;
}
return cache;
}
function set(newData) {
const dataWithTimestamp = {
...newData,
_modified: (/* @__PURE__ */ new Date()).toISOString()
};
cache = dataWithTimestamp;
localStorage.setItem(
localStorageRestoreKey,
JSON.stringify(dataWithTimestamp)
);
debouncedApiFetch({
path: "/wp/v2/users/me",
method: "PUT",
// `keepalive` will still send the request in the background,
// even when a browser unload event might interrupt it.
// This should hopefully make things more resilient.
// This does have a size limit of 64kb, but the data is usually
// much less.
keepalive: true,
data: {
meta: {
persisted_preferences: dataWithTimestamp
}
}
}).catch(() => {
});
}
return {
get,
set
};
}
// packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/move-feature-preferences.mjs
function moveFeaturePreferences(state, sourceStoreName) {
const preferencesStoreName = "core/preferences";
const interfaceStoreName = "core/interface";
const interfaceFeatures = state?.[interfaceStoreName]?.preferences?.features?.[sourceStoreName];
const sourceFeatures = state?.[sourceStoreName]?.preferences?.features;
const featuresToMigrate = interfaceFeatures ? interfaceFeatures : sourceFeatures;
if (!featuresToMigrate) {
return state;
}
const existingPreferences = state?.[preferencesStoreName]?.preferences;
if (existingPreferences?.[sourceStoreName]) {
return state;
}
let updatedInterfaceState;
if (interfaceFeatures) {
const otherInterfaceState = state?.[interfaceStoreName];
const otherInterfaceScopes = state?.[interfaceStoreName]?.preferences?.features;
updatedInterfaceState = {
[interfaceStoreName]: {
...otherInterfaceState,
preferences: {
features: {
...otherInterfaceScopes,
[sourceStoreName]: void 0
}
}
}
};
}
let updatedSourceState;
if (sourceFeatures) {
const otherSourceState = state?.[sourceStoreName];
const sourcePreferences = state?.[sourceStoreName]?.preferences;
updatedSourceState = {
[sourceStoreName]: {
...otherSourceState,
preferences: {
...sourcePreferences,
features: void 0
}
}
};
}
return {
...state,
[preferencesStoreName]: {
preferences: {
...existingPreferences,
[sourceStoreName]: featuresToMigrate
}
},
...updatedInterfaceState,
...updatedSourceState
};
}
// packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/move-third-party-feature-preferences.mjs
function moveThirdPartyFeaturePreferencesToPreferences(state) {
const interfaceStoreName = "core/interface";
const preferencesStoreName = "core/preferences";
const interfaceScopes = state?.[interfaceStoreName]?.preferences?.features;
const interfaceScopeKeys = interfaceScopes ? Object.keys(interfaceScopes) : [];
if (!interfaceScopeKeys?.length) {
return state;
}
return interfaceScopeKeys.reduce(function(convertedState, scope) {
if (scope.startsWith("core")) {
return convertedState;
}
const featuresToMigrate = interfaceScopes?.[scope];
if (!featuresToMigrate) {
return convertedState;
}
const existingMigratedData = convertedState?.[preferencesStoreName]?.preferences?.[scope];
if (existingMigratedData) {
return convertedState;
}
const otherPreferencesScopes = convertedState?.[preferencesStoreName]?.preferences;
const otherInterfaceState = convertedState?.[interfaceStoreName];
const otherInterfaceScopes = convertedState?.[interfaceStoreName]?.preferences?.features;
return {
...convertedState,
[preferencesStoreName]: {
preferences: {
...otherPreferencesScopes,
[scope]: featuresToMigrate
}
},
[interfaceStoreName]: {
...otherInterfaceState,
preferences: {
features: {
...otherInterfaceScopes,
[scope]: void 0
}
}
}
};
}, state);
}
// packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/move-individual-preference.mjs
var identity = (arg) => arg;
function moveIndividualPreferenceToPreferences(state, { from: sourceStoreName, to: scope }, key, convert = identity) {
const preferencesStoreName = "core/preferences";
const sourcePreference = state?.[sourceStoreName]?.preferences?.[key];
if (sourcePreference === void 0) {
return state;
}
const targetPreference = state?.[preferencesStoreName]?.preferences?.[scope]?.[key];
if (targetPreference) {
return state;
}
const otherScopes = state?.[preferencesStoreName]?.preferences;
const otherPreferences = state?.[preferencesStoreName]?.preferences?.[scope];
const otherSourceState = state?.[sourceStoreName];
const allSourcePreferences = state?.[sourceStoreName]?.preferences;
const convertedPreferences = convert({ [key]: sourcePreference });
return {
...state,
[preferencesStoreName]: {
preferences: {
...otherScopes,
[scope]: {
...otherPreferences,
...convertedPreferences
}
}
},
[sourceStoreName]: {
...otherSourceState,
preferences: {
...allSourcePreferences,
[key]: void 0
}
}
};
}
// packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/move-interface-enable-items.mjs
function moveInterfaceEnableItems(state) {
const interfaceStoreName = "core/interface";
const preferencesStoreName = "core/preferences";
const sourceEnableItems = state?.[interfaceStoreName]?.enableItems;
if (!sourceEnableItems) {
return state;
}
const allPreferences = state?.[preferencesStoreName]?.preferences ?? {};
const sourceComplementaryAreas = sourceEnableItems?.singleEnableItems?.complementaryArea ?? {};
const preferencesWithConvertedComplementaryAreas = Object.keys(
sourceComplementaryAreas
).reduce((accumulator, scope) => {
const data = sourceComplementaryAreas[scope];
if (accumulator?.[scope]?.complementaryArea) {
return accumulator;
}
return {
...accumulator,
[scope]: {
...accumulator[scope],
complementaryArea: data
}
};
}, allPreferences);
const sourcePinnedItems = sourceEnableItems?.multipleEnableItems?.pinnedItems ?? {};
const allConvertedData = Object.keys(sourcePinnedItems).reduce(
(accumulator, scope) => {
const data = sourcePinnedItems[scope];
if (accumulator?.[scope]?.pinnedItems) {
return accumulator;
}
return {
...accumulator,
[scope]: {
...accumulator[scope],
pinnedItems: data
}
};
},
preferencesWithConvertedComplementaryAreas
);
const otherInterfaceItems = state[interfaceStoreName];
return {
...state,
[preferencesStoreName]: {
preferences: allConvertedData
},
[interfaceStoreName]: {
...otherInterfaceItems,
enableItems: void 0
}
};
}
// packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/convert-edit-post-panels.mjs
function convertEditPostPanels(preferences) {
const panels = preferences?.panels ?? {};
return Object.keys(panels).reduce(
(convertedData, panelName) => {
const panel = panels[panelName];
if (panel?.enabled === false) {
convertedData.inactivePanels.push(panelName);
}
if (panel?.opened === true) {
convertedData.openPanels.push(panelName);
}
return convertedData;
},
{ inactivePanels: [], openPanels: [] }
);
}
// packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/index.mjs
function getLegacyData(userId) {
const key = `WP_DATA_USER_${userId}`;
const unparsedData = window.localStorage.getItem(key);
return JSON.parse(unparsedData);
}
function convertLegacyData(data) {
if (!data) {
return;
}
data = moveFeaturePreferences(data, "core/edit-widgets");
data = moveFeaturePreferences(data, "core/customize-widgets");
data = moveFeaturePreferences(data, "core/edit-post");
data = moveFeaturePreferences(data, "core/edit-site");
data = moveThirdPartyFeaturePreferencesToPreferences(data);
data = moveInterfaceEnableItems(data);
data = moveIndividualPreferenceToPreferences(
data,
{ from: "core/edit-post", to: "core/edit-post" },
"hiddenBlockTypes"
);
data = moveIndividualPreferenceToPreferences(
data,
{ from: "core/edit-post", to: "core/edit-post" },
"editorMode"
);
data = moveIndividualPreferenceToPreferences(
data,
{ from: "core/edit-post", to: "core/edit-post" },
"panels",
convertEditPostPanels
);
data = moveIndividualPreferenceToPreferences(
data,
{ from: "core/editor", to: "core" },
"isPublishSidebarEnabled"
);
data = moveIndividualPreferenceToPreferences(
data,
{ from: "core/edit-post", to: "core" },
"isPublishSidebarEnabled"
);
data = moveIndividualPreferenceToPreferences(
data,
{ from: "core/edit-site", to: "core/edit-site" },
"editorMode"
);
return data?.["core/preferences"]?.preferences;
}
function convertLegacyLocalStorageData(userId) {
const data = getLegacyData(userId);
return convertLegacyData(data);
}
// packages/preferences-persistence/build-module/migrations/preferences-package-data/convert-complementary-areas.mjs
function convertComplementaryAreas(state) {
return Object.keys(state).reduce((stateAccumulator, scope) => {
const scopeData = state[scope];
if (scopeData?.complementaryArea) {
const updatedScopeData = { ...scopeData };
delete updatedScopeData.complementaryArea;
updatedScopeData.isComplementaryAreaVisible = true;
stateAccumulator[scope] = updatedScopeData;
return stateAccumulator;
}
return stateAccumulator;
}, state);
}
// packages/preferences-persistence/build-module/migrations/preferences-package-data/convert-editor-settings.mjs
function convertEditorSettings(data) {
let newData = data;
const settingsToMoveToCore = [
"allowRightClickOverrides",
"distractionFree",
"editorMode",
"fixedToolbar",
"focusMode",
"hiddenBlockTypes",
"inactivePanels",
"keepCaretInsideBlock",
"mostUsedBlocks",
"openPanels",
"showBlockBreadcrumbs",
"showIconLabels",
"showListViewByDefault",
"isPublishSidebarEnabled",
"isComplementaryAreaVisible",
"pinnedItems"
];
settingsToMoveToCore.forEach((setting) => {
if (data?.["core/edit-post"]?.[setting] !== void 0) {
newData = {
...newData,
core: {
...newData?.core,
[setting]: data["core/edit-post"][setting]
}
};
delete newData["core/edit-post"][setting];
}
if (data?.["core/edit-site"]?.[setting] !== void 0) {
delete newData["core/edit-site"][setting];
}
});
if (Object.keys(newData?.["core/edit-post"] ?? {})?.length === 0) {
delete newData["core/edit-post"];
}
if (Object.keys(newData?.["core/edit-site"] ?? {})?.length === 0) {
delete newData["core/edit-site"];
}
return newData;
}
// packages/preferences-persistence/build-module/migrations/preferences-package-data/index.mjs
function convertPreferencesPackageData(data) {
let newData = convertComplementaryAreas(data);
newData = convertEditorSettings(newData);
return newData;
}
// packages/preferences-persistence/build-module/index.mjs
function __unstableCreatePersistenceLayer(serverData, userId) {
const localStorageRestoreKey = `WP_PREFERENCES_USER_${userId}`;
const localData = JSON.parse(
window.localStorage.getItem(localStorageRestoreKey)
);
const serverModified = Date.parse(serverData && serverData._modified) || 0;
const localModified = Date.parse(localData && localData._modified) || 0;
let preloadedData;
if (serverData && serverModified >= localModified) {
preloadedData = convertPreferencesPackageData(serverData);
} else if (localData) {
preloadedData = convertPreferencesPackageData(localData);
} else {
preloadedData = convertLegacyLocalStorageData(userId);
}
return create({
preloadedData,
localStorageRestoreKey
});
}
return __toCommonJS(index_exports);
})();
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| development | Folder | 0755 |
|
|
| script-modules | Folder | 0755 |
|
|
| vendor | Folder | 0755 |
|
|
| a11y.js | File | 5.45 KB | 0644 |
|
| a11y.min.js | File | 2.41 KB | 0644 |
|
| annotations.js | File | 15.13 KB | 0644 |
|
| annotations.min.js | File | 5.58 KB | 0644 |
|
| api-fetch.js | File | 17.46 KB | 0644 |
|
| api-fetch.min.js | File | 6.29 KB | 0644 |
|
| autop.js | File | 9.73 KB | 0644 |
|
| autop.min.js | File | 5.47 KB | 0644 |
|
| base-styles.js | File | 48 B | 0644 |
|
| base-styles.min.js | File | 40 B | 0644 |
|
| blob.js | File | 2.3 KB | 0644 |
|
| blob.min.js | File | 1.13 KB | 0644 |
|
| block-directory.js | File | 55.67 KB | 0644 |
|
| block-directory.min.js | File | 21.92 KB | 0644 |
|
| block-editor.js | File | 2.7 MB | 0644 |
|
| block-editor.min.js | File | 1.01 MB | 0644 |
|
| block-library.js | File | 2.57 MB | 0644 |
|
| block-library.min.js | File | 1.09 MB | 0644 |
|
| block-serialization-default-parser.js | File | 6.54 KB | 0644 |
|
| block-serialization-default-parser.min.js | File | 2.36 KB | 0644 |
|
| block-serialization-spec-parser.js | File | 50.48 KB | 0644 |
|
| block-serialization-spec-parser.min.js | File | 10.34 KB | 0644 |
|
| blocks.js | File | 381.06 KB | 0644 |
|
| blocks.min.js | File | 180.58 KB | 0644 |
|
| commands.js | File | 151.71 KB | 0644 |
|
| commands.min.js | File | 63.1 KB | 0644 |
|
| components.js | File | 3.83 MB | 0644 |
|
| components.min.js | File | 786.24 KB | 0644 |
|
| compose.js | File | 80.84 KB | 0644 |
|
| compose.min.js | File | 28.21 KB | 0644 |
|
| core-commands.js | File | 28.68 KB | 0644 |
|
| core-commands.min.js | File | 11.83 KB | 0644 |
|
| core-data.js | File | 612.03 KB | 0644 |
|
| core-data.min.js | File | 210.43 KB | 0644 |
|
| customize-widgets.js | File | 91.57 KB | 0644 |
|
| customize-widgets.min.js | File | 36.58 KB | 0644 |
|
| data-controls.js | File | 4.13 KB | 0644 |
|
| data-controls.min.js | File | 1.74 KB | 0644 |
|
| data.js | File | 82.78 KB | 0644 |
|
| data.min.js | File | 25.88 KB | 0644 |
|
| date.js | File | 176.34 KB | 0644 |
|
| date.min.js | File | 141.18 KB | 0644 |
|
| deprecated.js | File | 3.04 KB | 0644 |
|
| deprecated.min.js | File | 1.25 KB | 0644 |
|
| dom-ready.js | File | 1.47 KB | 0644 |
|
| dom-ready.min.js | File | 783 B | 0644 |
|
| dom.js | File | 34.61 KB | 0644 |
|
| dom.min.js | File | 12.62 KB | 0644 |
|
| edit-post.js | File | 117.4 KB | 0644 |
|
| edit-post.min.js | File | 49.07 KB | 0644 |
|
| edit-site.js | File | 1.69 MB | 0644 |
|
| edit-site.min.js | File | 684.42 KB | 0644 |
|
| edit-widgets.js | File | 160.25 KB | 0644 |
|
| edit-widgets.min.js | File | 61.83 KB | 0644 |
|
| editor.js | File | 2.5 MB | 0644 |
|
| editor.min.js | File | 1021.22 KB | 0644 |
|
| element.js | File | 27.93 KB | 0644 |
|
| element.min.js | File | 12.13 KB | 0644 |
|
| escape-html.js | File | 2.29 KB | 0644 |
|
| escape-html.min.js | File | 1.03 KB | 0644 |
|
| format-library.js | File | 73.34 KB | 0644 |
|
| format-library.min.js | File | 28.85 KB | 0644 |
|
| hooks.js | File | 11.96 KB | 0644 |
|
| hooks.min.js | File | 4.9 KB | 0644 |
|
| html-entities.js | File | 1.65 KB | 0644 |
|
| html-entities.min.js | File | 844 B | 0644 |
|
| i18n.js | File | 15.3 KB | 0644 |
|
| i18n.min.js | File | 5.56 KB | 0644 |
|
| is-shallow-equal.js | File | 2.69 KB | 0644 |
|
| is-shallow-equal.min.js | File | 1.06 KB | 0644 |
|
| keyboard-shortcuts.js | File | 9.68 KB | 0644 |
|
| keyboard-shortcuts.min.js | File | 3.41 KB | 0644 |
|
| keycodes.js | File | 8.3 KB | 0644 |
|
| keycodes.min.js | File | 2.87 KB | 0644 |
|
| list-reusable-blocks.js | File | 13.06 KB | 0644 |
|
| list-reusable-blocks.min.js | File | 5.21 KB | 0644 |
|
| media-utils.js | File | 637.15 KB | 0644 |
|
| media-utils.min.js | File | 237.61 KB | 0644 |
|
| notices.js | File | 10.11 KB | 0644 |
|
| notices.min.js | File | 4.35 KB | 0644 |
|
| nux.js | File | 10.32 KB | 0644 |
|
| nux.min.js | File | 3.92 KB | 0644 |
|
| patterns.js | File | 58.25 KB | 0644 |
|
| patterns.min.js | File | 21.6 KB | 0644 |
|
| plugins.js | File | 11.67 KB | 0644 |
|
| plugins.min.js | File | 4.72 KB | 0644 |
|
| preferences-persistence.js | File | 17.22 KB | 0644 |
|
| preferences-persistence.min.js | File | 5.46 KB | 0644 |
|
| preferences.js | File | 21.07 KB | 0644 |
|
| preferences.min.js | File | 7.68 KB | 0644 |
|
| primitives.js | File | 5.08 KB | 0644 |
|
| primitives.min.js | File | 1.94 KB | 0644 |
|
| priority-queue.js | File | 10.02 KB | 0644 |
|
| priority-queue.min.js | File | 3.32 KB | 0644 |
|
| private-apis.js | File | 4.09 KB | 0644 |
|
| private-apis.min.js | File | 2.63 KB | 0644 |
|
| react-i18n.js | File | 3.91 KB | 0644 |
|
| react-i18n.min.js | File | 1.49 KB | 0644 |
|
| redux-routine.js | File | 24.68 KB | 0644 |
|
| redux-routine.min.js | File | 9.62 KB | 0644 |
|
| reusable-blocks.js | File | 20.51 KB | 0644 |
|
| reusable-blocks.min.js | File | 7.19 KB | 0644 |
|
| rich-text.js | File | 97.04 KB | 0644 |
|
| rich-text.min.js | File | 39.86 KB | 0644 |
|
| router.js | File | 36.12 KB | 0644 |
|
| router.min.js | File | 14.1 KB | 0644 |
|
| server-side-render.js | File | 10.97 KB | 0644 |
|
| server-side-render.min.js | File | 3.91 KB | 0644 |
|
| shortcode.js | File | 7.96 KB | 0644 |
|
| shortcode.min.js | File | 3.25 KB | 0644 |
|
| style-engine.js | File | 17.62 KB | 0644 |
|
| style-engine.min.js | File | 6.38 KB | 0644 |
|
| sync.js | File | 359.4 KB | 0644 |
|
| sync.min.js | File | 118.11 KB | 0644 |
|
| theme.js | File | 127.65 KB | 0644 |
|
| theme.min.js | File | 56.08 KB | 0644 |
|
| token-list.js | File | 6.12 KB | 0644 |
|
| token-list.min.js | File | 1.58 KB | 0644 |
|
| undo-manager.js | File | 5.29 KB | 0644 |
|
| undo-manager.min.js | File | 1.66 KB | 0644 |
|
| upload-media.js | File | 55.67 KB | 0644 |
|
| upload-media.min.js | File | 23.02 KB | 0644 |
|
| url.js | File | 23.39 KB | 0644 |
|
| url.min.js | File | 10.09 KB | 0644 |
|
| viewport.js | File | 6.61 KB | 0644 |
|
| viewport.min.js | File | 2.21 KB | 0644 |
|
| warning.js | File | 1.52 KB | 0644 |
|
| warning.min.js | File | 720 B | 0644 |
|
| widgets.js | File | 50.08 KB | 0644 |
|
| widgets.min.js | File | 20.79 KB | 0644 |
|
| wordcount.js | File | 6.93 KB | 0644 |
|
| wordcount.min.js | File | 2.41 KB | 0644 |
|