@simai-studio/ui 5.20261022.1303 → 5.20261022.1534

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 (31) hide show
  1. package/README.md +4 -4
  2. package/distr/component/country-code/js/country-code.min.js +1 -1
  3. package/distr/component/dropdown/js/dropdown.min.js +1 -1
  4. package/distr/component/sf-system/js/sf-system.min.js +1 -1
  5. package/distr/component/textarea/css/textarea.min.css +1 -1
  6. package/distr/component/textarea/js/textarea.min.js +1 -1
  7. package/distr/core/contracts/public-js-api.json +7 -2
  8. package/distr/core/js/core-loader.js +1 -1
  9. package/distr/core/js/core-loader.min.js +1 -1
  10. package/distr/core/js/core-system.js +8 -28
  11. package/distr/core/js/core-system.min.js +1 -1
  12. package/distr/core/js/core.js +131 -9
  13. package/distr/core/js/core.min.js +2 -2
  14. package/distr/core/js/template-utilities.generated.json +1 -0
  15. package/distr/smart/context-menu/js/context-menu.min.js +1 -1
  16. package/distr/smart/context-menu/smart.manifest.json +1 -1
  17. package/distr/smart/country-code/js/country-code.min.js +1 -1
  18. package/distr/smart/datepicker/js/datepicker.min.js +8 -8
  19. package/distr/smart/datepicker/smart.manifest.json +2 -2
  20. package/distr/smart/dropdown/js/dropdown.min.js +19 -19
  21. package/distr/smart/help-mark/js/help-mark.min.js +3 -3
  22. package/distr/smart/help-mark/smart.manifest.json +1 -1
  23. package/distr/smart/popover/js/popover.min.js +1 -1
  24. package/distr/smart/popover/smart.manifest.json +1 -1
  25. package/distr/smart/profile-picker/js/profile-picker.min.js +2 -2
  26. package/distr/smart/profile-picker/smart.manifest.json +1 -1
  27. package/distr/smart/textarea/js/textarea.min.js +26 -23
  28. package/distr/smart/textarea/smart.manifest.json +21 -2
  29. package/distr/smart/textarea/template/default.js +8 -1
  30. package/package-manifest.json +31 -31
  31. package/package.json +4 -4
@@ -49,37 +49,17 @@ SF.__internal.receive = receive;
49
49
 
50
50
  __webpack_require__.r(__webpack_exports__);
51
51
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
52
- /* harmony export */ "default": () => (/* binding */ ready),
53
- /* harmony export */ isReady: () => (/* binding */ isReady)
52
+ /* harmony export */ "default": () => (/* binding */ readyCallback)
54
53
  /* harmony export */ });
55
- let stack = [];
56
- let isReady = false;
57
- function ready(handler = function () {}) {
58
- switch (document.readyState) {
59
- case 'loading':
60
- stack.push(handler);
61
- break;
54
+ /* harmony import */ var _core_js_ready_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5effd0d9c238");
55
+ // The callback form of SF.ready, kept for the components that call it. SF.ready
56
+ // itself lives on the shared global, created once by whichever bundle runs
57
+ // first (core.js does, before this chunk): src/core/js/ready.js.
62
58
 
63
- case 'interactive':
64
- case 'complete':
65
- if (typeof handler == 'function') {
66
- handler();
67
- }
68
-
69
- isReady = true;
70
- break;
71
-
72
- default:
73
- break;
74
- }
59
+ const ready = (0,_core_js_ready_js__WEBPACK_IMPORTED_MODULE_0__.installReady)();
60
+ function readyCallback(handler) {
61
+ return (window.SF?.ready || ready)?.(handler);
75
62
  }
76
- document.addEventListener('readystatechange', () => {
77
- if (!isReady) {
78
- stack.forEach(ready);
79
- stack = [];
80
- }
81
- });
82
- SF.ready = ready;
83
63
 
84
64
  /***/ }
85
65
 
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk=self.webpackChunk||[]).push([[88616323197113],{fedbedd6b87f(e,t,n){async function a(e,t){return new Promise(n=>{let a;if(document.createEvent)a=new Event(e,{bubbles:!0,cancelable:!1});else{if(!document.createEventObject())return void n(!0);a=document.createEventObject()}t.dispatchEvent?t.dispatchEvent(a):t.fireEvent&&t.fireEvent(e,a),n(!0)})}function c(e,t,n){window.addEventListener?t.addEventListener(e,n,!1):window.attachEvent&&t.attachEvent(e,n)}n.r(t),n.d(t,{receive:()=>c,send:()=>a}),SF.__internal.send=a,SF.__internal.receive=c},d55d5a9f332f(e,t,n){n.r(t),n.d(t,{default:()=>d,isReady:()=>c});let a=[],c=!1;function d(e=function(){}){switch(document.readyState){case"loading":a.push(e);break;case"interactive":case"complete":"function"==typeof e&&e(),c=!0}}document.addEventListener("readystatechange",()=>{c||(a.forEach(d),a=[])}),SF.ready=d}}]);
1
+ "use strict";(self.webpackChunk=self.webpackChunk||[]).push([[88616323197113],{fedbedd6b87f(e,n,t){async function d(e,n){return new Promise(t=>{let d;if(document.createEvent)d=new Event(e,{bubbles:!0,cancelable:!1});else{if(!document.createEventObject())return void t(!0);d=document.createEventObject()}n.dispatchEvent?n.dispatchEvent(d):n.fireEvent&&n.fireEvent(e,d),t(!0)})}function c(e,n,t){window.addEventListener?n.addEventListener(e,t,!1):window.attachEvent&&n.attachEvent(e,t)}t.r(n),t.d(n,{receive:()=>c,send:()=>d}),SF.__internal.send=d,SF.__internal.receive=c},d55d5a9f332f(e,n,t){t.r(n),t.d(n,{default:()=>c});const d=(0,t("5effd0d9c238").L)();function c(e){return(window.SF?.ready||d)?.(e)}}}]);
@@ -1989,7 +1989,9 @@ __webpack_require__.r(__webpack_exports__);
1989
1989
  /* harmony import */ var _region_navigation_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("9edc14a11fec");
1990
1990
  /* harmony import */ var _effects_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("4f52f56c9555");
1991
1991
  /* harmony import */ var _notify_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("b4bff8456ce0");
1992
- /* harmony import */ var _preloader__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("6c7f357fe960");
1992
+ /* harmony import */ var _ready_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("5effd0d9c238");
1993
+ /* harmony import */ var _preloader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("6c7f357fe960");
1994
+
1993
1995
 
1994
1996
 
1995
1997
 
@@ -2008,7 +2010,9 @@ __webpack_require__.r(__webpack_exports__);
2008
2010
 
2009
2011
  if (typeof window !== 'undefined') {
2010
2012
  window.SF = window.SF || {};
2011
- const SF = window.SF;
2013
+ const SF = window.SF; // SF.ready, before the Loader chunk is even asked for (simai/ui-source#16).
2014
+
2015
+ (0,_ready_js__WEBPACK_IMPORTED_MODULE_10__.installReady)(window);
2012
2016
 
2013
2017
  if (!SF.loadRuntime) {
2014
2018
  let loading = null;
@@ -2197,18 +2201,18 @@ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
2197
2201
  const mountPreloader = () => {
2198
2202
  const cfg = {
2199
2203
  enabled: true,
2200
- background: (0,_preloader__WEBPACK_IMPORTED_MODULE_10__.getPreloaderBackground)(),
2204
+ background: (0,_preloader__WEBPACK_IMPORTED_MODULE_11__.getPreloaderBackground)(),
2201
2205
  modifier: 'loader-default',
2202
2206
  tempStyles: 'inset: 0;position: fixed;width: 100%;height: 100vh;opacity: 1;z-index: 1000;background-color: var(--sf-color--surface-highest, var(--sf-surface-0, #fff));text-align: center;',
2203
- color: (0,_preloader__WEBPACK_IMPORTED_MODULE_10__.getPreloaderColor)(),
2204
- width: _preloader__WEBPACK_IMPORTED_MODULE_10__.DEFAULT_PRELOADER.width,
2205
- height: _preloader__WEBPACK_IMPORTED_MODULE_10__.DEFAULT_PRELOADER.height,
2207
+ color: (0,_preloader__WEBPACK_IMPORTED_MODULE_11__.getPreloaderColor)(),
2208
+ width: _preloader__WEBPACK_IMPORTED_MODULE_11__.DEFAULT_PRELOADER.width,
2209
+ height: _preloader__WEBPACK_IMPORTED_MODULE_11__.DEFAULT_PRELOADER.height,
2206
2210
  content: '',
2207
2211
  delay: 300,
2208
2212
  ...(window.SF_BOOT_CONFIG?.preloader || {})
2209
2213
  };
2210
2214
  if (cfg.enabled === false || document.querySelector('.sf-loader')) return;
2211
- const svgContent = cfg.content || (0,_preloader__WEBPACK_IMPORTED_MODULE_10__.createPreloaderContent)(cfg);
2215
+ const svgContent = cfg.content || (0,_preloader__WEBPACK_IMPORTED_MODULE_11__.createPreloaderContent)(cfg);
2212
2216
  let wrap = null;
2213
2217
  let preloaderWrap = null;
2214
2218
  let preloaderRun = false;
@@ -2222,7 +2226,7 @@ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
2222
2226
 
2223
2227
  const stopAnimation = () => {
2224
2228
  if (preloaderWrap) {
2225
- (0,_preloader__WEBPACK_IMPORTED_MODULE_10__.stopPreloaderMotion)(preloaderWrap);
2229
+ (0,_preloader__WEBPACK_IMPORTED_MODULE_11__.stopPreloaderMotion)(preloaderWrap);
2226
2230
  }
2227
2231
  };
2228
2232
 
@@ -2249,7 +2253,7 @@ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
2249
2253
  wrap: wrap,
2250
2254
  preloaderActive: true
2251
2255
  };
2252
- (0,_preloader__WEBPACK_IMPORTED_MODULE_10__.startPreloaderMotion)(preloaderWrap, () => preloaderRun, cfg);
2256
+ (0,_preloader__WEBPACK_IMPORTED_MODULE_11__.startPreloaderMotion)(preloaderWrap, () => preloaderRun, cfg);
2253
2257
  };
2254
2258
 
2255
2259
  const cancelBuild = () => {
@@ -4224,6 +4228,124 @@ function startPreloaderMotion(container, isActive = () => true, options = {}) {
4224
4228
 
4225
4229
  /***/ },
4226
4230
 
4231
+ /***/ "5effd0d9c238"
4232
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4233
+
4234
+ "use strict";
4235
+ __webpack_require__.r(__webpack_exports__);
4236
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4237
+ /* harmony export */ installReady: () => (/* binding */ installReady)
4238
+ /* harmony export */ });
4239
+ // SF.ready: the Loader's readiness, for a script that runs after core.js
4240
+ // (simai/ui-source#16).
4241
+ //
4242
+ // SF.Loader, SF.loadSmartBase and the other Loader names arrive with the
4243
+ // Loader, which core.js imports as a chunk of its own: they are on window.SF
4244
+ // at the window event sf-loader-init, not when core.js has run. A script that
4245
+ // waited for that event itself waited for ever when it ran after the event
4246
+ // had been sent. SF.ready is on window.SF as soon as core.js has run:
4247
+ //
4248
+ // await SF.ready; // settles with window.SF at sf-loader-init
4249
+ // SF.ready.then((SF) => ...); // the same, already settled once it was sent
4250
+ // SF.ready(fn); // fn() once the Loader is up and the
4251
+ // // document has been parsed (the old
4252
+ // // callback form, kept)
4253
+ //
4254
+ // A script that runs before core.js queues a function instead:
4255
+ // (window.SF_ON_READY ||= []).push((SF) => ...);
4256
+ //
4257
+ // Every bundle carries its own copy of this module (core, the core-system
4258
+ // chunk, the sf-system component, a second core.js on the page): the first one
4259
+ // to run puts SF.ready on the shared global, marked, and each later copy finds
4260
+ // the mark and keeps it. The property has a setter that ignores what it is
4261
+ // given, so an older bundle that still assigns SF.ready = ready cannot replace
4262
+ // it either.
4263
+ const MARK = Symbol.for('simai.sf.ready');
4264
+ function installReady(win = typeof window !== 'undefined' ? window : undefined) {
4265
+ if (!win) return undefined;
4266
+ win.SF = win.SF || {};
4267
+ const SF = win.SF;
4268
+ if (SF.ready && SF.ready[MARK]) return SF.ready;
4269
+ const doc = win.document;
4270
+ let settled = false;
4271
+ let resolveLoader;
4272
+ const loaderReady = new Promise(resolve => {
4273
+ resolveLoader = resolve;
4274
+ });
4275
+
4276
+ const settle = () => {
4277
+ if (settled) return;
4278
+ settled = true;
4279
+ resolveLoader(win.SF);
4280
+ };
4281
+
4282
+ const parsed = () => !doc || doc.readyState !== 'loading';
4283
+
4284
+ let waiting = [];
4285
+
4286
+ const flush = () => {
4287
+ if (!settled || !parsed() || !waiting.length) return;
4288
+ const run = waiting;
4289
+ waiting = [];
4290
+ run.forEach(handler => handler());
4291
+ };
4292
+
4293
+ function ready(handler) {
4294
+ if (typeof handler !== 'function') return; // Synchronously when both have happened, as the callback form always ran.
4295
+
4296
+ if (settled && parsed()) {
4297
+ handler();
4298
+ return;
4299
+ }
4300
+
4301
+ waiting.push(handler);
4302
+ }
4303
+
4304
+ Object.defineProperty(ready, MARK, {
4305
+ value: true
4306
+ });
4307
+
4308
+ ready.then = (onResolved, onRejected) => loaderReady.then(onResolved, onRejected);
4309
+
4310
+ ready.catch = onRejected => loaderReady.catch(onRejected);
4311
+
4312
+ ready.finally = onFinally => loaderReady.finally(onFinally);
4313
+
4314
+ win.addEventListener('sf-loader-init', () => {
4315
+ settle();
4316
+ flush();
4317
+ }, {
4318
+ once: true
4319
+ });
4320
+ doc?.addEventListener('readystatechange', flush); // Installed after the Loader started (a bundle that did not find the mark,
4321
+ // say): the event has been sent, so the names are the evidence.
4322
+
4323
+ if (SF.Loader && typeof SF.loadSmartBase === 'function') settle();
4324
+ Object.defineProperty(SF, 'ready', {
4325
+ configurable: false,
4326
+ enumerable: true,
4327
+ get: () => ready,
4328
+ set: () => {}
4329
+ }); // Functions a script queued before core.js ran; later pushes chain at once.
4330
+
4331
+ const queued = Array.isArray(win.SF_ON_READY) ? win.SF_ON_READY : [];
4332
+
4333
+ const take = fn => {
4334
+ if (typeof fn === 'function') ready.then(fn);
4335
+ };
4336
+
4337
+ win.SF_ON_READY = {
4338
+ push: (...fns) => {
4339
+ fns.forEach(take);
4340
+ return 0;
4341
+ }
4342
+ };
4343
+ queued.forEach(take);
4344
+ return ready;
4345
+ }
4346
+
4347
+ /***/ },
4348
+
4227
4349
  /***/ "9edc14a11fec"
4228
4350
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4229
4351