griffincss-utils 0.28.0 → 0.28.2
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/dist/griffincss-utils.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! Griffincss Utils | MIT | https://gitverse.ru/BarneyScott/GriffinCSS */
|
|
2
|
-
(()=>{"use strict";var r=(()=>{var r={"gr-radius-":{base:.25,unit:"rem",steps:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],literal:{full:"9999px"}},"gr-p-":{base:.25,unit:"rem",steps:[0,1,2,3,4,5,6,7,8,10,12,16]}};function e(e){if(-1!==e.indexOf("[")){var t=
|
|
2
|
+
(()=>{"use strict";var r=(()=>{var r={"gr-radius-":{base:.25,unit:"rem",steps:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],literal:{full:"9999px"}},"gr-p-":{base:.25,unit:"rem",steps:[0,1,2,3,4,5,6,7,8,10,12,16]}};function e(e){if(-1!==e.indexOf("[")){var t=x(e);return t?t.value:null}for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)&&0===e.indexOf(n)){var i=e.slice(n.length),a=r[n];if(a.literal&&Object.prototype.hasOwnProperty.call(a.literal,i))return a.literal[i];var l=Number(i);if(""!==i&&!isNaN(l)&&-1!==a.steps.indexOf(l))return l*a.base+a.unit}return null}var t="griffincss.utils",n="gr-radius",i=/^gr-r-[0-9a-z]+$/,a=null,l={};function s(r){Object.prototype.hasOwnProperty.call(l,r)||(l[r]=!0,"undefined"!=typeof console&&console.warn&&console.warn("Griffincss: "+r))}function u(){var r="undefined"!=typeof window?window.Griffincss:null;return r&&"function"==typeof r._emit?r:(s("the radius cascade needs griffincss.js: include the core"),null)}function o(){if(a)return a;var r=u();return r&&"function"==typeof r._scanner?a=r._scanner({delay:16,hasWork:j,handleAdded:S,flush:r._flush,refresh:_}):null}function d(r,t,n){var i,a=r.style?r.style.getPropertyValue(t).trim():"",l=null;for(a&&(a.length>m||!b(a))&&(s(t+" in style rejected: "+a.slice(0,h)),a=""),i=0;i<r.classList.length;i++){var u=r.classList.item(i),o=e(u);null!==o&&0===u.indexOf(n)&&(l=o)}return a&&l&&a!==l&&s(t+" is set both by a class ("+l+") and in style ("+a+"); the values differ"),a||l||null}function f(r,e){return r?e?"max(0px,calc("+r+" - "+e+"))":r:null}function g(r,e){return!(!r.classList||!r.classList.contains(e))}function c(r){var e=u();if(!e)return!1;var a=d(r,"--gr-r","gr-radius-");d(r,"--gr-p","gr-p-");var l,s=a?null:(r=>{var e=(r=>{for(var e,t=[],i=r,a=null;i&&i.classList;)g(i,n)&&t.push(i),i=i.parentNode;for(e=t.length-1;e>=0;e--)a={radius:d(t[e],"--gr-r","gr-radius-")||(a?f(a.radius,a.gap):null),gap:d(t[e],"--gr-p","gr-p-")};return a})(r.parentNode);return e?f(e.radius,e.gap):null})(r),o=s?"gr-r-"+e._hash(s):null;for(l=r.classList.length-1;l>=0;l--){var c=r.classList.item(l);i.test(c)&&c!==o&&r.classList.remove(c)}if(!o)return!1;var p=e._emit(t,s,"."+o+"{--gr-r:"+s+"}");return r.classList.add(o),p}function p(r){var e,t=(r||document).querySelectorAll("."+n),i=!1;for(e=0;e<t.length;e++)c(t[e])&&(i=!0);return i}var v={"gr-m-":"margin:{}","gr-mt-":"margin-top:{}","gr-mb-":"margin-bottom:{}","gr-ms-":"margin-inline-start:{}","gr-me-":"margin-inline-end:{}","gr-mx-":"margin-inline:{}","gr-my-":"margin-top:{};margin-bottom:{}","gr-p-":"--gr-p:{};padding:var(--gr-p)","gr-pt-":"padding-top:{}","gr-pb-":"padding-bottom:{}","gr-ps-":"padding-inline-start:{}","gr-pe-":"padding-inline-end:{}","gr-px-":"padding-inline:{}","gr-py-":"padding-top:{};padding-bottom:{}","gr-radius-":"--gr-r:{};border-radius:{}","gr-gap-":"gap:{}","gr-w-":"width:{}","gr-h-":"height:{}","gr-min-w-":"min-width:{}","gr-max-w-":"max-width:{}","gr-min-h-":"min-height:{}","gr-max-h-":"max-height:{}","gr-top-":"top:{}","gr-bottom-":"bottom:{}","gr-start-":"inset-inline-start:{}","gr-end-":"inset-inline-end:{}","gr-inset-":"inset:{}","gr-z-":"z-index:{}"},h=48,m=128,y=/[{};"'\\[\]]|\/\*/;function b(r){for(var e=0,t=0;t<r.length&&e>=0;t++)"("===r.charAt(t)?e++:")"===r.charAt(t)&&e--;return!e&&!y.test(r)}var w='[class*="["]';function x(r){var e=r.indexOf("[");if(-1===e||"]"!==r.charAt(r.length-1))return null;var t=r.slice(e+1,r.length-1);if(""===t||t.length>h||/\s/.test(t)||!b(t))return s("arbitrary value in ."+r+" rejected"),null;var n=(r=>{var e,t=null;for(e in v)Object.prototype.hasOwnProperty.call(v,e)&&0===r.indexOf(e)&&(!t||e.length>t.length)&&(t=e);return t})(r.slice(0,e));return n?{prefix:n,value:t}:(s("arbitrary value ."+r+": unknown property"),null)}function O(r){var e=x(r);return e?"."+(r=>r.replace(/[^\w-]/g,r=>"\\"+r))(r)+"{"+v[e.prefix].split("{}").join(e.value)+"}":null}function A(r){var e,n=u(),i=!1;if(!n||!r.classList)return!1;for(e=0;e<r.classList.length;e++){var a=r.classList.item(e);if(-1!==a.indexOf("[")){var l=O(a);l&&n._emit(t,a,l)&&(i=!0)}}return i}function L(r){var e,t=(r=r||document).querySelectorAll(w),n=A(r);for(e=0;e<t.length;e++)A(t[e])&&(n=!0);return n}function _(r){var e=u();if(e){var t=L(r);p(r)&&(t=!0),t&&e._flush()}}function S(r){var e,t,i=!1;for(e=0;e<r.length;e++){var a=r[e];if(a&&1===a.nodeType&&(A(a)&&(i=!0),g(a,n)&&c(a)&&(i=!0),a.querySelectorAll)){var l=a.querySelectorAll(w);for(t=0;t<l.length;t++)A(l[t])&&(i=!0);var s=a.querySelectorAll("."+n);for(t=0;t<s.length;t++)c(s[t])&&(i=!0)}}return i}function j(r){var e;for(e=0;e<r.length;e++){var t,i=r[e].addedNodes;for(t=0;t<i.length;t++){var a=i[t];if(a&&1===a.nodeType){if(g(a,n))return!0;if(a.className&&-1!==a.className.indexOf("["))return!0;if(a.querySelectorAll){if(a.querySelectorAll("."+n).length>0)return!0;if(a.querySelectorAll(w).length>0)return!0}}}}return!1}function N(r){var e=o();e&&e.observe(r)}return{radiusCascade:r=>{var e=u();e&&p(r)&&e._flush()},arbitrary:r=>{var e=u();e&&L(r)&&e._flush()},observe:N,stop:()=>{a&&a.stop()},classValue:e,version:"0.28.2",_rules:r,_props:v,_autoStart:()=>{var r,e=!0,t=!0,n=!0;try{var i=document.currentScript;i&&"SCRIPT"===i.tagName&&("false"===i.getAttribute("data-auto")&&(e=!1),"false"===i.getAttribute("data-stream")&&(t=!1),"false"===i.getAttribute("data-observe")&&(n=!1))}catch(r){}function l(){a&&a.stopParseObserver(),_(document),n&&N(document.body)}e&&("loading"===document.readyState?(t&&(r=o())&&r.observeParsing(),document.addEventListener("DOMContentLoaded",l)):l())}}})();"object"==typeof module&&module.exports&&(module.exports=r),"undefined"!=typeof window&&"undefined"!=typeof document&&(window.Griffincss||(window.Griffincss={}),window.Griffincss.utils=r,r._autoStart())})();
|
|
3
3
|
//# sourceMappingURL=griffincss-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["api","RULES","base","unit","steps","literal","full","classValue","cls","indexOf","custom","arbitraryOf","value","prefix","Object","prototype","hasOwnProperty","call","rest","slice","length","rule","step","Number","isNaN","LAYER","CONTAINER","DERIVED","scanner","warned","warn","message","console","core","G","window","Griffincss","_emit","scannerOf","_scanner","delay","hasWork","handleAdded","flush","_flush","refresh","sweep","declared","el","prop","i","inline","style","getPropertyValue","trim","fromClass","classList","item","childRadius","radius","gap","hasClass","node","name","contains","apply","own","expr","above","chain","cur","level","push","parentNode","levelOf","derivedRadius","_hash","existing","test","remove","fresh","add","scanRadius","root","containers","document","querySelectorAll","dirty","PROPS","
|
|
1
|
+
{"version":3,"names":["api","RULES","base","unit","steps","literal","full","classValue","cls","indexOf","custom","arbitraryOf","value","prefix","Object","prototype","hasOwnProperty","call","rest","slice","length","rule","step","Number","isNaN","LAYER","CONTAINER","DERIVED","scanner","warned","warn","message","console","core","G","window","Griffincss","_emit","scannerOf","_scanner","delay","hasWork","handleAdded","flush","_flush","refresh","sweep","declared","el","prop","i","inline","style","getPropertyValue","trim","fromClass","MAX_STYLE_LENGTH","safeValue","MAX_VALUE_LENGTH","classList","item","childRadius","radius","gap","hasClass","node","name","contains","apply","own","expr","above","chain","cur","level","push","parentNode","levelOf","derivedRadius","_hash","existing","test","remove","fresh","add","scanRadius","root","containers","document","querySelectorAll","dirty","PROPS","BAD_VALUE","depth","charAt","ARBITRARY_SELECTOR","open","best","propFor","arbitraryRule","parsed","replace","ch","escapeClass","split","join","applyArbitrary","scanArbitrary","nodes","j","nodeType","inner","mutations","addedNodes","className","observe","s","radiusCascade","arbitrary","stop","version","_rules","_props","_autoStart","auto","streaming","watching","script","currentScript","tagName","getAttribute","e","settle","stopParseObserver","body","readyState","observeParsing","addEventListener","factory","module","exports","utils"],"sources":["src/griffincss-utils.js"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "griffincss-utils",
|
|
3
|
-
"version": "0.28.
|
|
3
|
+
"version": "0.28.2",
|
|
4
4
|
"description": "Griffincss Utils — утилитарные классы: отступы, типографика, цвета, видимость, скругления",
|
|
5
5
|
"homepage": "https://gitverse.ru/BarneyScott/GriffinCSS",
|
|
6
6
|
"repository": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"src/"
|
|
32
32
|
],
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"griffincss-core": "^0.28.
|
|
34
|
+
"griffincss-core": "^0.28.2"
|
|
35
35
|
},
|
|
36
36
|
"keywords": [
|
|
37
37
|
"css",
|
package/src/griffincss-utils.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Griffincss Utils — Runtime v0.28.
|
|
2
|
+
* Griffincss Utils — Runtime v0.28.2
|
|
3
3
|
* Достраивает то, чего статический CSS выразить не может.
|
|
4
4
|
* Пишется руками и не компилируется — правится этот файл.
|
|
5
5
|
*/
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
})(function () {
|
|
24
24
|
'use strict';
|
|
25
25
|
|
|
26
|
-
var VERSION = '0.28.
|
|
26
|
+
var VERSION = '0.28.2';
|
|
27
27
|
|
|
28
28
|
// Таблица правил выводится из SCSS-карт скриптом scripts/sync-rule-table.mjs.
|
|
29
29
|
// Правьте карты в SCSS, а не этот блок: npm run sync -- --fix перепишет его.
|
|
@@ -131,12 +131,21 @@
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
// Объявленное значение переменной: инлайн сильнее класса. Оба чтения —
|
|
134
|
-
// разбор атрибута: раскладка не трогается.
|
|
134
|
+
// разбор атрибута: раскладка не трогается. Значение из style уходит
|
|
135
|
+
// в текст правила, как и значение класса, и проверяется так же: иначе
|
|
136
|
+
// строку или комментарий одного контейнера закрыла бы кавычка другого,
|
|
137
|
+
// а остаток стал бы правилами с любыми селекторами для всей страницы.
|
|
135
138
|
function declared(el, prop, prefix) {
|
|
136
139
|
var inline = el.style ? el.style.getPropertyValue(prop).trim() : '';
|
|
137
140
|
var fromClass = null;
|
|
138
141
|
var i;
|
|
139
142
|
|
|
143
|
+
// В предупреждение — только начало: значение может быть любой длины.
|
|
144
|
+
if (inline && (inline.length > MAX_STYLE_LENGTH || !safeValue(inline))) {
|
|
145
|
+
warn(prop + ' in style rejected: ' + inline.slice(0, MAX_VALUE_LENGTH));
|
|
146
|
+
inline = '';
|
|
147
|
+
}
|
|
148
|
+
|
|
140
149
|
for (i = 0; i < el.classList.length; i++) {
|
|
141
150
|
var cls = el.classList.item(i);
|
|
142
151
|
var value = classValue(cls);
|
|
@@ -319,13 +328,34 @@
|
|
|
319
328
|
};
|
|
320
329
|
|
|
321
330
|
// Содержимое скобок — ввод из разметки, и проверяется он так же, как
|
|
322
|
-
// строка раскладки в ядре: длина и
|
|
323
|
-
//
|
|
324
|
-
//
|
|
325
|
-
//
|
|
326
|
-
//
|
|
331
|
+
// строка раскладки в ядре: длина и одно правило — значение не может
|
|
332
|
+
// изменить вложенность блоков общего листа. Кавычка открыла бы строку,
|
|
333
|
+
// обратная косая — экранирование, «/*» — комментарий, непарная «(»
|
|
334
|
+
// (функция, url() без «)») или «[» — блок; любой из них поглотил бы «}»
|
|
335
|
+
// и все следующие правила листа. Квадратные скобки не нужны ни одному
|
|
336
|
+
// свойству таблицы, круглые — только парные. Ту же проверку проходит
|
|
337
|
+
// значение из style в каскаде скруглений. Пробел законен в style,
|
|
338
|
+
// а в имени класса его не бывает — проверяется отдельно: classValue
|
|
339
|
+
// вызывают и напрямую. Длина ограничена до разбора: классу — 48 знаков,
|
|
340
|
+
// значению из style — 128 (выражению с var() и пробелами 48 мало,
|
|
341
|
+
// а килобайты радиусу и зазору не нужны).
|
|
327
342
|
var MAX_VALUE_LENGTH = 48;
|
|
328
|
-
var
|
|
343
|
+
var MAX_STYLE_LENGTH = 128;
|
|
344
|
+
var BAD_VALUE = /[{};"'\\[\]]|\/\*/;
|
|
345
|
+
|
|
346
|
+
// Скобки — счётчиком за один проход: в минус он не уходит, в конце — ноль.
|
|
347
|
+
// Проверка линейна при любой длине: значение из style сверяется у каждого
|
|
348
|
+
// предка каждого контейнера, и квадратичный разбор занимал поток на секунды.
|
|
349
|
+
function safeValue(value) {
|
|
350
|
+
var depth = 0;
|
|
351
|
+
|
|
352
|
+
for (var i = 0; i < value.length && depth >= 0; i++) {
|
|
353
|
+
if (value.charAt(i) === '(') depth++;
|
|
354
|
+
else if (value.charAt(i) === ')') depth--;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
return !depth && !BAD_VALUE.test(value);
|
|
358
|
+
}
|
|
329
359
|
|
|
330
360
|
// Элементы с произвольным значением: скобка в имени класса.
|
|
331
361
|
var ARBITRARY_SELECTOR = '[class*="["]';
|
|
@@ -355,7 +385,7 @@
|
|
|
355
385
|
|
|
356
386
|
var value = cls.slice(open + 1, cls.length - 1);
|
|
357
387
|
|
|
358
|
-
if (value === '' || value.length > MAX_VALUE_LENGTH ||
|
|
388
|
+
if (value === '' || value.length > MAX_VALUE_LENGTH || /\s/.test(value) || !safeValue(value)) {
|
|
359
389
|
warn('arbitrary value in .' + cls + ' rejected');
|
|
360
390
|
|
|
361
391
|
return null;
|