spec-up-t 1.6.3-beta.1 → 1.6.4
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/.github/copilot-instructions.md +2 -0
- package/assets/compiled/body.js +9 -7
- package/assets/compiled/head.css +6 -6
- package/assets/css/adjust-font-size.css +0 -4
- package/assets/css/download-pdf-docx.css +19 -20
- package/assets/css/header-navbar.css +0 -4
- package/assets/css/index.css +36 -0
- package/assets/css/terms-and-definitions.css +0 -1
- package/assets/css/validate-external-refs.css +198 -3
- package/assets/js/add-href-to-snapshot-link.js +11 -5
- package/assets/js/download-pdf-docx.js +20 -9
- package/assets/js/edit-term-buttons.js +71 -68
- package/assets/js/github-issues.js +27 -27
- package/assets/js/insert-irefs.js +1 -1
- package/assets/js/validate-external-refs.js +356 -7
- package/package.json +3 -3
- package/src/add-remove-xref-source.js +0 -5
- package/src/collect-external-references.test.js +98 -0
- package/src/install-from-boilerplate/boilerplate/gitignore +2 -2
- package/src/install-from-boilerplate/boilerplate/menu-wrapper.sh +19 -0
- package/src/install-from-boilerplate/boilerplate/specs.json +3 -6
- package/src/install-from-boilerplate/config-scripts-keys.js +1 -1
- package/src/install-from-boilerplate/config-system-files.js +1 -0
- package/src/install-from-boilerplate/custom-update.js +6 -3
- package/src/install-from-boilerplate/update-dependencies.js +105 -0
- package/src/pipeline/references/collect-external-references.js +12 -0
- package/src/pipeline/references/external-references-service.js +1 -1
- package/src/pipeline/rendering/render-spec-document.js +5 -1
- package/templates/template.html +43 -10
- package/src/health-check/destination-gitignore-checker.js +0 -414
- package/src/health-check/external-specs-checker.js +0 -287
- package/src/health-check/specs-configuration-checker.js +0 -387
- package/src/health-check/term-references-checker.js +0 -270
- package/src/health-check/terms-intro-checker.js +0 -82
- package/src/health-check/tref-term-checker.js +0 -549
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
- All code will have to pass SonarQube analysis
|
|
2
|
+
- Always choose native browser API's over another NPM package
|
|
2
3
|
- Cognitive complexity should be kept ideally below 15
|
|
3
4
|
- Remove code if possible, instead of adding code
|
|
4
5
|
- If you create files, explain why they are not deleted, why they should stay, and how to use them
|
|
5
6
|
- This repository runs as an npm package in other repos that have this package installed via `package.json`; these other repos thus are the consuming projects
|
|
6
7
|
- When working on client side JS or CSS (in `assets`), please remind me to run `gulp compile`
|
|
8
|
+
- Oftentimes `specification` means `repo` meanse `index.html`
|
|
7
9
|
- When using the term `tref` we mean this construction: `[[tref: externalreference, term, alias]]`
|
|
8
10
|
- When using the term `xref` we mean this construction: `[[tref: externalreference, term]]`
|
|
9
11
|
- When using the term `def` we mean this construction: `[[def: term, alias]]`
|
package/assets/compiled/body.js
CHANGED
|
@@ -90,12 +90,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
90
90
|
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).Diff={})}(this,(function(e){"use strict";function n(){}function t(e,n,t,r,i){for(var o,l=[];n;)l.push(n),o=n.previousComponent,delete n.previousComponent,n=o;l.reverse();for(var a=0,u=l.length,s=0,f=0;a<u;a++){var c,d=l[a];d.removed?(d.value=e.join(r.slice(f,f+d.count)),f+=d.count):(!d.added&&i?(c=(c=t.slice(s,s+d.count)).map((function(e,n){return(n=r[f+n]).length>e.length?n:e})),d.value=e.join(c)):d.value=e.join(t.slice(s,s+d.count)),s+=d.count,d.added||(f+=d.count))}return l}n.prototype={diff:function(e,n){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},i=r.callback,o=("function"==typeof r&&(i=r,r={}),this);function l(e){return e=o.postProcess(e,r),i?(setTimeout((function(){i(e)}),0),!0):e}e=this.castInput(e,r),n=this.castInput(n,r),e=this.removeEmpty(this.tokenize(e,r));var a=(n=this.removeEmpty(this.tokenize(n,r))).length,u=e.length,s=1,f=a+u,c=(null!=r.maxEditLength&&(f=Math.min(f,r.maxEditLength)),null!=(c=r.timeout)?c:1/0),d=Date.now()+c,h=[{oldPos:-1,lastComponent:void 0}],p=this.extractCommon(h[0],n,e,0,r);if(h[0].oldPos+1>=u&&a<=p+1)return l(t(o,h[0].lastComponent,n,e,o.useLongestToken));var v=-1/0,g=1/0;function m(){for(var i=Math.max(v,-s);i<=Math.min(g,s);i+=2){var f=void 0,c=h[i-1],d=h[i+1],m=(c&&(h[i-1]=void 0),!1),w=(d&&(w=d.oldPos-i,m=d&&0<=w&&w<a),c&&c.oldPos+1<u);if(m||w){if(f=!w||m&&c.oldPos<d.oldPos?o.addToPath(d,!0,!1,0,r):o.addToPath(c,!1,!0,1,r),p=o.extractCommon(f,n,e,i,r),f.oldPos+1>=u&&a<=p+1)return l(t(o,f.lastComponent,n,e,o.useLongestToken));(h[i]=f).oldPos+1>=u&&(g=Math.min(g,i-1)),a<=p+1&&(v=Math.max(v,i+1))}else h[i]=void 0}s++}if(i)!function e(){setTimeout((function(){if(f<s||Date.now()>d)return i();m()||e()}),0)}();else for(;s<=f&&Date.now()<=d;){var w=m();if(w)return w}},addToPath:function(e,n,t,r,i){var o=e.lastComponent;return o&&!i.oneChangePerToken&&o.added===n&&o.removed===t?{oldPos:e.oldPos+r,lastComponent:{count:o.count+1,added:n,removed:t,previousComponent:o.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:n,removed:t,previousComponent:o}}},extractCommon:function(e,n,t,r,i){for(var o=n.length,l=t.length,a=e.oldPos,u=a-r,s=0;u+1<o&&a+1<l&&this.equals(t[a+1],n[u+1],i);)u++,a++,s++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return s&&!i.oneChangePerToken&&(e.lastComponent={count:s,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=a,u},equals:function(e,n,t){return t.comparator?t.comparator(e,n):e===n||t.ignoreCase&&e.toLowerCase()===n.toLowerCase()},removeEmpty:function(e){for(var n=[],t=0;t<e.length;t++)e[t]&&n.push(e[t]);return n},castInput:function(e){return e},tokenize:function(e){return Array.from(e)},join:function(e){return e.join("")},postProcess:function(e){return e}};var r=new n;function i(e,n){for(var t=0;t<e.length&&t<n.length;t++)if(e[t]!=n[t])return e.slice(0,t);return e.slice(0,t)}function o(e,n){var t;if(!e||!n||e[e.length-1]!=n[n.length-1])return"";for(t=0;t<e.length&&t<n.length;t++)if(e[e.length-(t+1)]!=n[n.length-(t+1)])return e.slice(-t);return e.slice(-t)}function l(e,n,t){if(e.slice(0,n.length)!=n)throw Error("string ".concat(JSON.stringify(e)," doesn't start with prefix ").concat(JSON.stringify(n),"; this is a bug"));return t+e.slice(n.length)}function a(e,n,t){if(!n)return e+t;if(e.slice(-n.length)!=n)throw Error("string ".concat(JSON.stringify(e)," doesn't end with suffix ").concat(JSON.stringify(n),"; this is a bug"));return e.slice(0,-n.length)+t}function u(e,n){return l(e,n,"")}function s(e,n){return a(e,n,"")}function f(e,n){return n.slice(0,function(e,n){var t=0;e.length>n.length&&(t=e.length-n.length);var r=n.length;e.length<n.length&&(r=e.length);var i=Array(r),o=0;i[0]=0;for(var l=1;l<r;l++){for(n[l]==n[o]?i[l]=i[o]:i[l]=o;0<o&&n[l]!=n[o];)o=i[o];n[l]==n[o]&&o++}o=0;for(var a=t;a<e.length;a++){for(;0<o&&e[a]!=n[o];)o=i[o];e[a]==n[o]&&o++}return o}(e,n))}var c="a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",d=new RegExp("[".concat(c,"]+|\\s+|[^").concat(c,"]"),"ug"),h=new n;function p(e,n,t,r){var c,d,h,p;n&&t?(c=n.value.match(/^\s*/)[0],d=n.value.match(/\s*$/)[0],h=t.value.match(/^\s*/)[0],p=t.value.match(/\s*$/)[0],e&&(c=i(c,h),e.value=a(e.value,h,c),n.value=u(n.value,c),t.value=u(t.value,c)),r&&(h=o(d,p),r.value=l(r.value,p,h),n.value=s(n.value,h),t.value=s(t.value,h))):t?(e&&(t.value=t.value.replace(/^\s*/,"")),r&&(r.value=r.value.replace(/^\s*/,""))):e&&r?(c=r.value.match(/^\s*/)[0],d=n.value.match(/^\s*/)[0],p=n.value.match(/\s*$/)[0],h=i(c,d),n.value=u(n.value,h),t=o(u(c,h),p),n.value=s(n.value,t),r.value=l(r.value,c,t),e.value=a(e.value,c,c.slice(0,c.length-t.length))):r?(d=r.value.match(/^\s*/)[0],h=f(n.value.match(/\s*$/)[0],d),n.value=s(n.value,h)):e&&(p=f(e.value.match(/\s*$/)[0],n.value.match(/^\s*/)[0]),n.value=u(n.value,p))}h.equals=function(e,n,t){return t.ignoreCase&&(e=e.toLowerCase(),n=n.toLowerCase()),e.trim()===n.trim()},h.tokenize=function(e){var n,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(t.intlSegmenter){if("word"!=t.intlSegmenter.resolvedOptions().granularity)throw new Error('The segmenter passed must have a granularity of "word"');n=Array.from(t.intlSegmenter.segment(e),(function(e){return e.segment}))}else n=e.match(d)||[];var r=[],i=null;return n.forEach((function(e){/\s/.test(e)?r.push(null==i?e:r.pop()+e):/\s/.test(i)?r.push(r[r.length-1]==i?r.pop()+e:i+e):r.push(e),i=e})),r},h.join=function(e){return e.map((function(e,n){return 0==n?e:e.replace(/^\s+/,"")})).join("")},h.postProcess=function(e,n){var t,r,i;return e&&!n.oneChangePerToken&&(i=r=t=null,e.forEach((function(e){e.added?r=e:i=e.removed?e:((r||i)&&p(t,i,r,e),t=e,r=null)})),r||i)&&p(t,i,r,null),e};var v=new n;function g(e,n,t){return v.diff(e,n,t)}v.tokenize=function(e){var n=new RegExp("(\\r?\\n)|[".concat(c,"]+|[^\\S\\n\\r]+|[^").concat(c,"]"),"ug");return e.match(n)||[]};var m=new n;function w(e,n,t){return m.diff(e,n,t)}m.tokenize=function(e,n){var t=[],r=(e=n.stripTrailingCr?e.replace(/\r\n/g,"\n"):e).split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i<r.length;i++){var o=r[i];i%2&&!n.newlineIsToken?t[t.length-1]+=o:t.push(o)}return t},m.equals=function(e,t,r){return r.ignoreWhitespace?(r.newlineIsToken&&e.includes("\n")||(e=e.trim()),r.newlineIsToken&&t.includes("\n")||(t=t.trim())):r.ignoreNewlineAtEof&&!r.newlineIsToken&&(e.endsWith("\n")&&(e=e.slice(0,-1)),t.endsWith("\n"))&&(t=t.slice(0,-1)),n.prototype.equals.call(this,e,t,r)};var y=new n;y.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var b=new n;function L(e,n){var t,r=Object.keys(e);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(e),n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)),r}function k(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?L(Object(t),!0).forEach((function(n){var r,i;r=e,i=t[n],(n=function(e){return e=function(e){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return String(e);if("object"!=typeof(n=n.call(e,"string")))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(e),"symbol"==typeof e?e:e+""}(n))in r?Object.defineProperty(r,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[n]=i})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):L(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function S(e){return(S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function x(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){var t;if(e)return"string"==typeof e?P(e,n):"Map"===(t="Object"===(t=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?P(e,n):void 0}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}b.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var F=new n;function N(e,n,t,r,i){var o,l;for(n=n||[],t=t||[],r&&(e=r(i,e)),o=0;o<n.length;o+=1)if(n[o]===e)return t[o];if("[object Array]"===Object.prototype.toString.call(e)){for(n.push(e),l=new Array(e.length),t.push(l),o=0;o<e.length;o+=1)l[o]=N(e[o],n,t,r,i);n.pop(),t.pop()}else if("object"===S(e=e&&e.toJSON?e.toJSON():e)&&null!==e){n.push(e),t.push(l={});var a,u=[];for(a in e)Object.prototype.hasOwnProperty.call(e,a)&&u.push(a);for(u.sort(),o=0;o<u.length;o+=1)l[a=u[o]]=N(e[a],n,t,r,a);n.pop(),t.pop()}else l=e;return l}F.useLongestToken=!0,F.tokenize=m.tokenize,F.castInput=function(e,n){var t=n.undefinedReplacement;n=void 0===(n=n.stringifyReplacer)?function(e,n){return void 0===n?t:n}:n;return"string"==typeof e?e:JSON.stringify(N(e,null,null,n),n," ")},F.equals=function(e,t,r){return n.prototype.equals.call(F,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"),r)};var C=new n;function j(e){return Array.isArray(e)?e.map(j):k(k({},e),{},{hunks:e.hunks.map((function(e){return k(k({},e),{},{lines:e.lines.map((function(n,t){return n.startsWith("\\")||n.endsWith("\r")||null!=(t=e.lines[t+1])&&t.startsWith("\\")?n:n+"\r"}))})}))})}function O(e){return Array.isArray(e)?e.map(O):k(k({},e),{},{hunks:e.hunks.map((function(e){return k(k({},e),{},{lines:e.lines.map((function(e){return e.endsWith("\r")?e.substring(0,e.length-1):e}))})}))})}function E(e){var n=e.split(/\n/),t=[],r=0;function i(){var e={};for(t.push(e);r<n.length;){var i=n[r];if(/^(\-\-\-|\+\+\+|@@)\s/.test(i))break;(i=/^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(i))&&(e.index=i[1]),r++}for(o(e),o(e),e.hunks=[];r<n.length;){var l=n[r];if(/^(Index:\s|diff\s|\-\-\-\s|\+\+\+\s|===================================================================)/.test(l))break;if(/^@@/.test(l))e.hunks.push(function(){var e=r,t=n[r++].split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/),i={oldStart:+t[1],oldLines:void 0===t[2]?1:+t[2],newStart:+t[3],newLines:void 0===t[4]?1:+t[4],lines:[]};0===i.oldLines&&(i.oldStart+=1),0===i.newLines&&(i.newStart+=1);for(var o=0,l=0;r<n.length&&(l<i.oldLines||o<i.newLines||null!=(a=n[r])&&a.startsWith("\\"));r++){var a=0==n[r].length&&r!=n.length-1?" ":n[r][0];if("+"!==a&&"-"!==a&&" "!==a&&"\\"!==a)throw new Error("Hunk at line ".concat(e+1," contained invalid line ").concat(n[r]));i.lines.push(n[r]),"+"===a?o++:"-"===a?l++:" "===a&&(o++,l++)}if(o||1!==i.newLines||(i.newLines=0),l||1!==i.oldLines||(i.oldLines=0),o!==i.newLines)throw new Error("Added line count did not match for hunk at line "+(e+1));if(l===i.oldLines)return i;throw new Error("Removed line count did not match for hunk at line "+(e+1))}());else{if(l)throw new Error("Unknown line "+(r+1)+" "+JSON.stringify(l));r++}}}function o(e){var t,i,o=/^(---|\+\+\+)\s+(.*)\r?$/.exec(n[r]);o&&(t="---"===o[1]?"old":"new",i=(o=o[2].split("\t",2))[0].replace(/\\\\/g,"\\"),/^".*"$/.test(i)&&(i=i.substr(1,i.length-2)),e[t+"FileName"]=i,e[t+"Header"]=(o[1]||"").trim(),r++)}for(;r<n.length;)i();return t}function A(e,n){var t,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof n&&(n=E(n)),Array.isArray(n)){if(1<n.length)throw new Error("applyPatch only works with a single input.");n=n[0]}!r.autoConvertLineEndings&&null!=r.autoConvertLineEndings||(!(t=e).includes("\r\n")||t.startsWith("\n")||t.match(/[^\r]\n/)||(t=n,(t=Array.isArray(t)?t:[t]).some((function(e){return e.hunks.some((function(e){return e.lines.some((function(e){return!e.startsWith("\\")&&e.endsWith("\r")}))}))})))?!(t=e).includes("\r\n")&&t.includes("\n")&&(t=n,(t=Array.isArray(t)?t:[t]).some((function(e){return e.hunks.some((function(e){return e.lines.some((function(e){return e.endsWith("\r")}))}))})))&&t.every((function(e){return e.hunks.every((function(e){return e.lines.every((function(n,t){return n.startsWith("\\")||n.endsWith("\r")||(null==(n=e.lines[t+1])?void 0:n.startsWith("\\"))}))}))}))&&(n=O(n)):n=j(n));var i=e.split("\n"),o=n.hunks,l=r.compareLine||function(e,n,t,r){return n===r},a=r.fuzzFactor||0,u=0;if(a<0||!Number.isInteger(a))throw new Error("fuzzFactor must be a non-negative integer");if(!o.length)return e;for(var s="",f=!1,c=!1,d=0;d<o[o.length-1].lines.length;d++){var h=o[o.length-1].lines[d];"\\"==h[0]&&("+"==s[0]?f=!0:"-"==s[0]&&(c=!0)),s=h}if(f){if(c){if(!a&&""==i[i.length-1])return!1}else if(""==i[i.length-1])i.pop();else if(!a)return!1}else if(c)if(""!=i[i.length-1])i.push("");else if(!a)return!1;for(var p=[],v=0,g=0;g<o.length;g++){for(var m=o[g],w=void 0,y=i.length-m.oldLines+a,b=void 0,L=0;L<=a;L++){for(var k=function(e,n,t){var r=!0,i=!1,o=!1,l=1;return function a(){if(r&&!o){if(i?l++:r=!1,e+l<=t)return e+l;o=!0}if(!i)return o||(r=!0),n<=e-l?e-l++:(i=!0,a())}}(b=m.oldStart+v-1,u,y);void 0!==b&&!(w=function e(n,t,r,o,a,u,s){for(var f=3<arguments.length&&void 0!==o?o:0,c=!(4<arguments.length&&void 0!==a)||a,d=5<arguments.length&&void 0!==u?u:[],h=6<arguments.length&&void 0!==s?s:0,p=0,v=!1;f<n.length;f++){var g=0<(m=n[f]).length?m[0]:" ",m=0<m.length?m.substr(1):m;if("-"===g){if(!l(t+1,i[t],g,m))return r&&null!=i[t]?(d[h]=i[t],e(n,t+1,r-1,f,!1,d,h+1)):null;t++,p=0}if("+"===g){if(!c)return null;d[h]=m,h++,v=!(p=0)}if(" "===g){if(p++,d[h]=i[t],!l(t+1,i[t],g,m))return v||!r?null:i[t]&&(e(n,t+1,r-1,f+1,!1,d,h+1)||e(n,t+1,r-1,f,!1,d,h+1))||e(n,t,r-1,f+1,!1,d,h);h++,v=!(c=!0),t++}}return t-=p,d.length=h-=p,{patchedLines:d,oldLineLastI:t-1}}(m.lines,b,L));b=k());if(w)break}if(!w)return!1;for(var S=u;S<b;S++)p.push(i[S]);for(var x=0;x<w.patchedLines.length;x++){var P=w.patchedLines[x];p.push(P)}u=w.oldLineLastI+1,v=b+1-m.oldStart}for(var F=u;F<i.length;F++)p.push(i[F]);return p.join("\n")}function H(e,n,t,r,i,o,l){if(void 0===(l="function"==typeof(l=l||{})?{callback:l}:l).context&&(l.context=4),l.newlineIsToken)throw new Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(!l.callback)return u(w(t,r,l));var a=l.callback;function u(t){if(t){t.push({value:"",lines:[]});for(var r=[],a=0,u=0,s=[],f=1,c=1,d=function(){var e,n=t[h],i=n.lines||function(e){var n=e.endsWith("\n");e=e.split("\n").map((function(e){return e+"\n"}));return n?e.pop():e.push(e.pop().slice(0,-1)),e}(n.value);n.lines=i,n.added||n.removed?(a||(e=t[h-1],a=f,u=c,e&&(s=0<l.context?w(e.lines.slice(-l.context)):[],a-=s.length,u-=s.length)),s.push.apply(s,x(i.map((function(e){return(n.added?"+":"-")+e})))),n.added?c+=i.length:f+=i.length):(a&&(i.length<=2*l.context&&h<t.length-2?s.push.apply(s,x(w(i))):(e=Math.min(i.length,l.context),s.push.apply(s,x(w(i.slice(0,e)))),e={oldStart:a,oldLines:f-a+e,newStart:u,newLines:c-u+e,lines:s},r.push(e),u=a=0,s=[])),f+=i.length,c+=i.length)},h=0;h<t.length;h++)d();for(var p=0,v=r;p<v.length;p++)for(var g=v[p],m=0;m<g.lines.length;m++)g.lines[m].endsWith("\n")?g.lines[m]=g.lines[m].slice(0,-1):(g.lines.splice(m+1,0,"\"),m++);return{oldFileName:e,newFileName:n,oldHeader:i,newHeader:o,hunks:r}}function w(e){return e.map((function(e){return" "+e}))}}w(t,r,k(k({},l),{},{callback:function(e){e=u(e),a(e)}}))}function T(e){if(Array.isArray(e))return e.map(T).join("\n");var n=[];e.oldFileName==e.newFileName&&n.push("Index: "+e.oldFileName),n.push("==================================================================="),n.push("--- "+e.oldFileName+(void 0===e.oldHeader?"":"\t"+e.oldHeader)),n.push("+++ "+e.newFileName+(void 0===e.newHeader?"":"\t"+e.newHeader));for(var t=0;t<e.hunks.length;t++){var r=e.hunks[t];0===r.oldLines&&--r.oldStart,0===r.newLines&&--r.newStart,n.push("@@ -"+r.oldStart+","+r.oldLines+" +"+r.newStart+","+r.newLines+" @@"),n.push.apply(n,r.lines)}return n.join("\n")+"\n"}function W(e,n,t,r,i,o,l){if(null!=(u=l="function"==typeof l?{callback:l}:l)&&u.callback){var a=l.callback;H(e,n,t,r,i,o,k(k({},l),{},{callback:function(e){e?a(T(e)):a()}}))}else{var u=H(e,n,t,r,i,o,l);if(u)return T(u)}}function I(e,n){if(n.length>e.length)return!1;for(var t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}function z(e){var n=function e(n){var t=0,r=0;return n.forEach((function(n){var i,o;"string"!=typeof n?(i=e(n.mine),o=e(n.theirs),void 0!==t&&(i.oldLines===o.oldLines?t+=i.oldLines:t=void 0),void 0!==r&&(i.newLines===o.newLines?r+=i.newLines:r=void 0)):(void 0===r||"+"!==n[0]&&" "!==n[0]||r++,void 0===t||"-"!==n[0]&&" "!==n[0]||t++)})),{oldLines:t,newLines:r}}(e.lines),t=n.oldLines;n=n.newLines;void 0!==t?e.oldLines=t:delete e.oldLines,void 0!==n?e.newLines=n:delete e.newLines}function D(e,n){if("string"!=typeof e)return e;if(/^@@/m.test(e)||/^Index:/m.test(e))return E(e)[0];if(n)return H(void 0,void 0,n,e);throw new Error("Must provide a base reference or pass in a patch")}function M(e){return e.newFileName&&e.newFileName!==e.oldFileName}function $(e,n,t){return n===t?n:(e.conflict=!0,{mine:n,theirs:t})}function J(e,n){return e.oldStart<n.oldStart&&e.oldStart+e.oldLines<n.oldStart}function q(e,n){return{oldStart:e.oldStart,oldLines:e.oldLines,newStart:e.newStart+n,newLines:e.newLines,lines:e.lines}}function R(e,n,t,r){var i;t=function(e,n){for(var t=[],r=[],i=0,o=!1,l=!1;i<n.length&&e.index<e.lines.length;){var a=e.lines[e.index],u=n[i];if("+"===u[0])break;if(o=o||" "!==a[0],r.push(u),i++,"+"===a[0])for(l=!0;"+"===a[0];)t.push(a),a=e.lines[++e.index];u.substr(1)===a.substr(1)?(t.push(a),e.index++):l=!0}if("+"===(n[i]||"")[0]&&o&&(l=!0),l)return t;for(;i<n.length;)r.push(n[i++]);return{merged:r,changes:t}}(t,n=_(n));t.merged?(i=e.lines).push.apply(i,x(t.merged)):U(e,r?t:n,r?n:t)}function U(e,n,t){e.conflict=!0,e.lines.push({conflict:!0,mine:n,theirs:t})}function X(e,n,t){for(;n.offset<t.offset&&n.index<n.lines.length;){var r=n.lines[n.index++];e.lines.push(r),n.offset++}}function Z(e,n){for(;n.index<n.lines.length;){var t=n.lines[n.index++];e.lines.push(t)}}function _(e){for(var n=[],t=e.lines[e.index][0];e.index<e.lines.length;){var r=e.lines[e.index];if((t="-"===t&&"+"===r[0]?"+":t)!==r[0])break;n.push(r),e.index++}return n}function B(e){return e.reduce((function(e,n){return e&&"-"===n[0]}),!0)}function G(e,n,t){for(var r=0;r<t;r++){var i=n[n.length-t+r].substr(1);if(e.lines[e.index+r]!==" "+i)return}return e.index+=t,1}C.tokenize=function(e){return e.slice()},C.join=C.removeEmpty=function(e){return e},e.Diff=n,e.applyPatch=A,e.applyPatches=function(e,n){"string"==typeof e&&(e=E(e));var t=0;!function r(){var i=e[t++];if(!i)return n.complete();n.loadFile(i,(function(e,t){if(e)return n.complete(e);e=A(t,i,n),n.patched(i,e,(function(e){if(e)return n.complete(e);r()}))}))}()},e.canonicalize=N,e.convertChangesToDMP=function(e){for(var n,t,r=[],i=0;i<e.length;i++)t=(n=e[i]).added?1:n.removed?-1:0,r.push([t,n.value]);return r},e.convertChangesToXML=function(e){for(var n=[],t=0;t<e.length;t++){var r=e[t];r.added?n.push("<ins>"):r.removed&&n.push("<del>"),n.push(r.value.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")),r.added?n.push("</ins>"):r.removed&&n.push("</del>")}return n.join("")},e.createPatch=function(e,n,t,r,i,o){return W(e,e,n,t,r,i,o)},e.createTwoFilesPatch=W,e.diffArrays=function(e,n,t){return C.diff(e,n,t)},e.diffChars=function(e,n,t){return r.diff(e,n,t)},e.diffCss=function(e,n,t){return b.diff(e,n,t)},e.diffJson=function(e,n,t){return F.diff(e,n,t)},e.diffLines=w,e.diffSentences=function(e,n,t){return y.diff(e,n,t)},e.diffTrimmedLines=function(e,n,t){return t=function(e,n){if("function"==typeof e)n.callback=e;else if(e)for(var t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}(t,{ignoreWhitespace:!0}),m.diff(e,n,t)},e.diffWords=function(e,n,t){return null==(null==t?void 0:t.ignoreWhitespace)||t.ignoreWhitespace?h.diff(e,n,t):g(e,n,t)},e.diffWordsWithSpace=g,e.formatPatch=T,e.merge=function(e,n,t){e=D(e,t),n=D(n,t);for(var r={},i=((e.index||n.index)&&(r.index=e.index||n.index),(e.newFileName||n.newFileName)&&(M(e)?M(n)?(r.oldFileName=$(r,e.oldFileName,n.oldFileName),r.newFileName=$(r,e.newFileName,n.newFileName),r.oldHeader=$(r,e.oldHeader,n.oldHeader),r.newHeader=$(r,e.newHeader,n.newHeader)):(r.oldFileName=e.oldFileName,r.newFileName=e.newFileName,r.oldHeader=e.oldHeader,r.newHeader=e.newHeader):(r.oldFileName=n.oldFileName||e.oldFileName,r.newFileName=n.newFileName||e.newFileName,r.oldHeader=n.oldHeader||e.oldHeader,r.newHeader=n.newHeader||e.newHeader)),r.hunks=[],0),o=0,l=0,a=0;i<e.hunks.length||o<n.hunks.length;){var u=e.hunks[i]||{oldStart:1/0},s=n.hunks[o]||{oldStart:1/0};if(J(u,s))r.hunks.push(q(u,l)),i++,a+=u.newLines-u.oldLines;else if(J(s,u))r.hunks.push(q(s,a)),o++,l+=s.newLines-s.oldLines;else{var f,c={oldStart:Math.min(u.oldStart,s.oldStart),oldLines:0,newStart:Math.min(u.newStart+l,s.oldStart+a),newLines:0,lines:[]},d=(f=b=y=w=m=d=void 0,c),h=u.oldStart,p=u.lines,v=s.oldStart,g=s.lines,m={offset:h,lines:p,index:0},w={offset:v,lines:g,index:0};for(X(d,m,w),X(d,w,m);m.index<m.lines.length&&w.index<w.lines.length;){var y=m.lines[m.index],b=w.lines[w.index];"-"!==y[0]&&"+"!==y[0]||"-"!==b[0]&&"+"!==b[0]?"+"===y[0]&&" "===b[0]?(f=d.lines).push.apply(f,x(_(m))):"+"===b[0]&&" "===y[0]?(f=d.lines).push.apply(f,x(_(w))):"-"===y[0]&&" "===b[0]?R(d,m,w):"-"===b[0]&&" "===y[0]?R(d,w,m,!0):y===b?(d.lines.push(y),m.index++,w.index++):U(d,_(m),_(w)):function(e,n,t){var r=_(n),i=_(t);if(B(r)&&B(i)){if(I(r,i)&&G(t,r,r.length-i.length))return(t=e.lines).push.apply(t,x(r));if(I(i,r)&&G(n,i,i.length-r.length))return(t=e.lines).push.apply(t,x(i))}else if(function(e,n){return e.length===n.length&&I(e,n)}(r,i))return(n=e.lines).push.apply(n,x(r));U(e,r,i)}(d,m,w)}Z(d,m),Z(d,w),z(d),o++,i++,r.hunks.push(c)}}return r},e.parsePatch=E,e.reversePatch=function e(n){return Array.isArray(n)?n.map(e).reverse():k(k({},n),{},{oldFileName:n.newFileName,oldHeader:n.newHeader,newFileName:n.oldFileName,newHeader:n.oldHeader,hunks:n.hunks.map((function(e){return{oldLines:e.newLines,oldStart:e.newStart,newLines:e.oldLines,newStart:e.oldStart,lines:e.lines.map((function(e){return e.startsWith("-")?"+".concat(e.slice(1)):e.startsWith("+")?"-".concat(e.slice(1)):e}))}}))})},e.structuredPatch=H}));
|
|
91
91
|
/**
|
|
92
92
|
* @file This file creates links to the terms definitions on GitHub via client side JS DOM manipulation.
|
|
93
|
+
* Repository information (account, repo name, branch) is obtained from the meta tag
|
|
94
|
+
* 'spec-up-t:github-repo-info' using the getGithubRepoInfo() function.
|
|
93
95
|
* @author Kor Dwarshuis
|
|
94
|
-
* @version 0.0.
|
|
96
|
+
* @version 0.0.2
|
|
95
97
|
* @license MIT
|
|
96
98
|
* @since 2024-06-09
|
|
97
99
|
*/
|
|
98
|
-
function editTermButtons(){
|
|
100
|
+
function editTermButtons(){function e(e){let t=e;for(;t.querySelector('span[id^="term:"]');)t=t.querySelector('span[id^="term:"]');return t}function t(...e){return e.filter((e=>e)).join("/").replace(/\/+/g,"/")}const n=getGithubRepoInfo();n?(document.querySelectorAll("dt.term-local").forEach((r=>{const i=e(r),o=i.getAttribute("id").split(":")[1],l=t(specConfig.spec_directory,specConfig.spec_terms_directory,o+".md");i.innerHTML+=`<span class="edit-term-buttons">\n <a title="Link to the term file in the Github repo in a new tab" target="_blank" rel="noopener" \n href="https://github.com/${n.username}/${n.repo}/blob/${n.branch}/${l}" \n class="p-1 edit-term-button btn">\n <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 16 16" style="shape-rendering: geometricPrecision;">\n <path fill-rule="evenodd" d="M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z"/>\n </svg>\n </a>\n <a title="Link to a GitHub page that shows a history of the edits in a new tab" target="_blank" rel="noopener" \n href="https://github.com/${n.username}/${n.repo}/commits/${n.branch}/${l}" \n class="p-1 history-term-button btn">\n <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 16 16" style="shape-rendering: geometricPrecision;">\n <path fill-rule="evenodd" d="M8 1a7 7 0 1 0 4.95 11.95l.707.707A8.001 8.001 0 1 1 8 0v1z"/>\n <path fill-rule="evenodd" d="M7.5 3a.5.5 0 0 1 .5.5v5.21l3.248 1.856a.5.5 0 0 1-.496.868l-3.5-2A.5.5 0 0 1 7 9V3.5a.5.5 0 0 1 .5-.5z"/>\n <circle cx="8" cy="8" r="0.3"/>\n </svg>\n </a>\n </span>`})),document.querySelectorAll("dt.term-external").forEach((r=>{const i=e(r),o=i.getAttribute("id"),l=i.dataset.originalTerm||o.split(":")[2],a=(allXTrefs?.xtrefs||[]).filter((e=>e.term===l));if(a.length>0){const e=a.map((e=>{const r=e.sourceFiles?.filter((e=>"tref"===e.type))||[];return 0===r.length?"":r.map((e=>{const r=t(specConfig.spec_directory,specConfig.spec_terms_directory,e.file);return`\n <a title="Link to the term file in the Github repo in a new tab" target="_blank" rel="noopener" \n href="${`https://github.com/${n.username}/${n.repo}/blob/${n.branch}/${r}`}" \n class="p-1 edit-term-button btn">\n <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 16 16" style="shape-rendering: geometricPrecision;">\n <path fill-rule="evenodd" d="M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z"/>\n </svg>\n </a>\n <a title="Link to a GitHub page that shows a history of the edits in a new tab" target="_blank" rel="noopener" \n href="${`https://github.com/${n.username}/${n.repo}/commits/${n.branch}/${r}`}" \n class="p-1 history-term-button btn">\n <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 16 16" style="shape-rendering: geometricPrecision;">\n <path fill-rule="evenodd" d="M8 1a7 7 0 1 0 4.95 11.95l.707.707A8.001 8.001 0 1 1 8 0v1z"/>\n <path fill-rule="evenodd" d="M7.5 3a.5.5 0 0 1 .5.5v5.21l3.248 1.856a.5.5 0 0 1-.496.868l-3.5-2A.5.5 0 0 1 7 9V3.5a.5.5 0 0 1 .5-.5z"/>\n <circle cx="8" cy="8" r="0.3"/>\n </svg>\n </a>\n `})).join("")})).join("");e&&(i.innerHTML+=`<span class="edit-term-buttons">${e}</span>`)}}))):console.warn("GitHub repository information not available, edit buttons will not be added")}document.addEventListener("DOMContentLoaded",(function(){editTermButtons()}));
|
|
99
101
|
function hideShowUtilityContainer(){const e=document.querySelector(".terms-and-definitions-list");0===(e?e.querySelectorAll("dt"):[]).length&&document.getElementById("terminology-section-utility-container")?.remove()}
|
|
100
102
|
function attachAlphabetIndexFunctionality(){}
|
|
101
103
|
function attachTermFilterFunctionality(e){const t=document.querySelector(".terms-and-definitions-list");0!==(t?t.querySelectorAll("dt"):[]).length&&e.addEventListener("change",(function(t){t.target.matches('input[type="checkbox"]')&&function(t){const c=e.querySelectorAll('input[type="checkbox"]'),o=Array.from(c).filter((e=>e.checked));t.target.checked||0===o.length&&c.forEach((e=>{e!==t.target&&(e.checked=!0)})),c.forEach((e=>{const t=document.querySelector("html");"showLocalTermsCheckbox"===e.id?t.classList.toggle("hide-local-terms",!e.checked):"showExternalTermsCheckbox"===e.id&&t.classList.toggle("hide-external-terms",!e.checked)}))}(t)}))}
|
|
@@ -109,9 +111,9 @@ function copyAnchorToCliboard(){document.addEventListener("click",(function(o){i
|
|
|
109
111
|
var Notyf=function(){"use strict";var t,i=function(){return(i=Object.assign||function(t){for(var i,e=1,n=arguments.length;e<n;e++)for(var o in i=arguments[e])Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o]);return t}).apply(this,arguments)},e=(n.prototype.on=function(t,i){var e=this.listeners[t]||[];this.listeners[t]=e.concat([i])},n.prototype.triggerEvent=function(t,i){var e=this;(this.listeners[t]||[]).forEach((function(t){return t({target:e,event:i})}))},n);function n(t){this.options=t,this.listeners={}}(s=t=t||{})[s.Add=0]="Add",s[s.Remove=1]="Remove";var o,s,a=(r.prototype.push=function(i){this.notifications.push(i),this.updateFn(i,t.Add,this.notifications)},r.prototype.splice=function(i,e){return e=this.notifications.splice(i,e)[0],this.updateFn(e,t.Remove,this.notifications),e},r.prototype.indexOf=function(t){return this.notifications.indexOf(t)},r.prototype.onUpdate=function(t){this.updateFn=t},r);function r(){this.notifications=[]}(s=o=o||{}).Dismiss="dismiss";var c={types:[{type:"success",className:"notyf__toast--success",backgroundColor:"#3dc763",icon:{className:"notyf__icon--success",tagName:"i"}},{type:"error",className:"notyf__toast--error",backgroundColor:"#ed3d3d",icon:{className:"notyf__icon--error",tagName:"i"}}],duration:2e3,ripple:!0,position:{x:"right",y:"bottom"},dismissible:!(s.Click="click")},p=(d.prototype.on=function(t,e){var n;this.events=i(i({},this.events),((n={})[t]=e,n))},d.prototype.update=function(i,e){e===t.Add?this.addNotification(i):e===t.Remove&&this.removeNotification(i)},d.prototype.removeNotification=function(t){var i,e,n=this;(t=this._popRenderedNotification(t))&&((e=t.node).classList.add("notyf__toast--disappear"),e.addEventListener(this.animationEndEventName,i=function(t){t.target===e&&(e.removeEventListener(n.animationEndEventName,i),n.container.removeChild(e))}))},d.prototype.addNotification=function(t){var i=this._renderNotification(t);this.notifications.push({notification:t,node:i}),this._announce(t.options.message||"Notification")},d.prototype._renderNotification=function(t){var i=this._buildNotificationCard(t),e=t.options.className;return e&&(t=i.classList).add.apply(t,e.split(" ")),this.container.appendChild(i),i},d.prototype._popRenderedNotification=function(t){for(var i=-1,e=0;e<this.notifications.length&&i<0;e++)this.notifications[e].notification===t&&(i=e);if(-1!==i)return this.notifications.splice(i,1)[0]},d.prototype.getXPosition=function(t){return(null===(t=null==t?void 0:t.position)||void 0===t?void 0:t.x)||"right"},d.prototype.getYPosition=function(t){return(null===(t=null==t?void 0:t.position)||void 0===t?void 0:t.y)||"bottom"},d.prototype.adjustContainerAlignment=function(t){var i=this.X_POSITION_FLEX_MAP[this.getXPosition(t)],e=this.Y_POSITION_FLEX_MAP[this.getYPosition(t)];(t=this.container.style).setProperty("justify-content",e),t.setProperty("align-items",i)},d.prototype._buildNotificationCard=function(t){var i=this,e=t.options,n=e.icon;this.adjustContainerAlignment(e);var s=this._createHTMLElement({tagName:"div",className:"notyf__toast"}),a=this._createHTMLElement({tagName:"div",className:"notyf__ripple"}),r=this._createHTMLElement({tagName:"div",className:"notyf__wrapper"}),c=this._createHTMLElement({tagName:"div",className:"notyf__message"});c.innerHTML=e.message||"";var p,d,l,u,f=e.background||e.backgroundColor;return n&&(p=this._createHTMLElement({tagName:"div",className:"notyf__icon"}),("string"==typeof n||n instanceof String)&&(p.innerHTML=new String(n).valueOf()),"object"==typeof n&&(d=n.tagName,l=n.className,u=n.text,n=void 0===(n=n.color)?f:n,u=this._createHTMLElement({tagName:void 0===d?"i":d,className:l,text:u}),n&&(u.style.color=n),p.appendChild(u)),r.appendChild(p)),r.appendChild(c),s.appendChild(r),f&&(e.ripple?(a.style.background=f,s.appendChild(a)):s.style.background=f),e.dismissible&&(a=this._createHTMLElement({tagName:"div",className:"notyf__dismiss"}),f=this._createHTMLElement({tagName:"button",className:"notyf__dismiss-btn"}),a.appendChild(f),r.appendChild(a),s.classList.add("notyf__toast--dismissible"),f.addEventListener("click",(function(e){var n,s;null!==(s=(n=i.events)[o.Dismiss])&&void 0!==s&&s.call(n,{target:t,event:e}),e.stopPropagation()}))),s.addEventListener("click",(function(e){var n,s;return null===(s=(n=i.events)[o.Click])||void 0===s?void 0:s.call(n,{target:t,event:e})})),e="top"===this.getYPosition(e)?"upper":"lower",s.classList.add("notyf__toast--"+e),s},d.prototype._createHTMLElement=function(t){var i=t.tagName,e=t.className;t=t.text,i=document.createElement(i);return e&&(i.className=e),i.textContent=t||null,i},d.prototype._createA11yContainer=function(){var t=this._createHTMLElement({tagName:"div",className:"notyf-announcer"});t.setAttribute("aria-atomic","true"),t.setAttribute("aria-live","polite"),t.style.border="0",t.style.clip="rect(0 0 0 0)",t.style.height="1px",t.style.margin="-1px",t.style.overflow="hidden",t.style.padding="0",t.style.position="absolute",t.style.width="1px",t.style.outline="0",document.body.appendChild(t),this.a11yContainer=t},d.prototype._announce=function(t){var i=this;this.a11yContainer.textContent="",setTimeout((function(){i.a11yContainer.textContent=t}),100)},d.prototype._getAnimationEndEventName=function(){var t,i=document.createElement("_fake"),e={MozTransition:"animationend",OTransition:"oAnimationEnd",WebkitTransition:"webkitAnimationEnd",transition:"animationend"};for(t in e)if(void 0!==i.style[t])return e[t];return"animationend"},d);function d(){this.notifications=[],this.events={},this.X_POSITION_FLEX_MAP={left:"flex-start",center:"center",right:"flex-end"},this.Y_POSITION_FLEX_MAP={top:"flex-start",center:"center",bottom:"flex-end"};var t=document.createDocumentFragment(),i=this._createHTMLElement({tagName:"div",className:"notyf"});t.appendChild(i),document.body.appendChild(t),this.container=i,this.animationEndEventName=this._getAnimationEndEventName(),this._createA11yContainer()}function l(t){var e=this;this.dismiss=this._removeNotification,this.notifications=new a,this.view=new p;var n=this.registerTypes(t);this.options=i(i({},c),t),this.options.types=n,this.notifications.onUpdate((function(t,i){return e.view.update(t,i)})),this.view.on(o.Dismiss,(function(t){var i=t.target;t=t.event;e._removeNotification(i),i.triggerEvent(o.Dismiss,t)})),this.view.on(o.Click,(function(t){var i=t.target;t=t.event;return i.triggerEvent(o.Click,t)}))}return l.prototype.error=function(t){return t=this.normalizeOptions("error",t),this.open(t)},l.prototype.success=function(t){return t=this.normalizeOptions("success",t),this.open(t)},l.prototype.open=function(t){var n=this.options.types.find((function(i){return i.type===t.type}))||{};n=i(i({},n),t);return this.assignProps(["ripple","position","dismissible"],n),n=new e(n),this._pushNotification(n),n},l.prototype.dismissAll=function(){for(;this.notifications.splice(0,1););},l.prototype.assignProps=function(t,i){var e=this;t.forEach((function(t){i[t]=(null==i[t]?e.options:i)[t]}))},l.prototype._pushNotification=function(t){var i=this;this.notifications.push(t);var e=(void 0!==t.options.duration?t:this).options.duration;e&&setTimeout((function(){return i._removeNotification(t)}),e)},l.prototype._removeNotification=function(t){-1!==(t=this.notifications.indexOf(t))&&this.notifications.splice(t,1)},l.prototype.normalizeOptions=function(t,e){return t={type:t},"string"==typeof e?t.message=e:"object"==typeof e&&(t=i(i({},t),e)),t},l.prototype.registerTypes=function(t){var e=(t&&t.types||[]).slice();return c.types.map((function(t){var n=-1;e.forEach((function(i,e){i.type===t.type&&(n=e)}));var o=-1!==n?e.splice(n,1)[0]:{};return i(i({},t),o)})).concat(e)},l}(),notyf=new Notyf({types:[{type:"success",background:"#1D6DAE",duration:3e3},{type:"error",background:"orange",duration:1e7,dismissible:!0}]});
|
|
110
112
|
function showModal(e){const n=document.createElement("div");n.className="spec-up-t-modal-overlay";const c=document.createElement("div");c.className="spec-up-t-modal";const t=document.createElement("button");function o(){document.body.removeChild(n)}t.className="spec-up-t-modal-close",t.innerHTML="×",t.onclick=o,c.innerHTML=e,c.appendChild(t),n.appendChild(c),document.body.appendChild(n),n.onclick=function(e){e.target===n&&o()},document.addEventListener("keydown",(function(e){"Escape"===e.key&&o()}),{once:!0})}
|
|
111
113
|
function tokenInput(){document.querySelector(".button-token-input").addEventListener("click",(()=>{const t=prompt("Please enter your GitHub token:");t?(localStorage.setItem("githubToken",t),console.log("GitHub token is set.")):alert("GitHub token is not set.")}))}document.addEventListener("DOMContentLoaded",(function(){tokenInput()}));
|
|
112
|
-
!function(){"use strict";const
|
|
114
|
+
!function(){"use strict";const t=t=>document.querySelector(t);async function e(){const e=t(".service-menu");if(!e)return;const n=[{href:"./index.pdf",title:"Download this page as a PDF",cls:"button-pdf-download",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="currentColor" class="me-1"> <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z" fill="#e74c3c"/> <path d="M14 2v6h6" fill="none" stroke="#c0392b" stroke-width="1.5"/> <text x="12" y="17" font-size="6" font-weight="bold" text-anchor="middle" fill="white">PDF</text> </svg>',label:"PDF"},{href:"./index.docx",title:"Download this page as a DOCX",cls:"button-docx-download",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="currentColor" class="me-1"> <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z" fill="#2b579a"/> <path d="M14 2v6h6" fill="none" stroke="#1e4378" stroke-width="1.5"/> <text x="12" y="17" font-size="5" font-weight="bold" text-anchor="middle" fill="white">DOCX</text> </svg>',label:"DOCX"}],o=await Promise.all(n.map((t=>{return e=t.href,fetch(e,{method:"HEAD"}).then((t=>t.ok)).catch((()=>!1));var e})));let l=e.firstElementChild;n.forEach(((n,a)=>{if(!o[a])return;if(i=n.cls,t(`.service-menu .${i}`))return;var i;const s=function(t,e,n,o,l){const a=document.createElement("a");return a.classList.add(n,"btn","btn-sm"),a.target="_blank",a.rel="noopener noreferrer",a.href=t,a.title=e,a.setAttribute("aria-label",e),a.innerHTML=o+'<span class="button-label visually-hidden">'+l+"</span>",a}(n.href,n.title,n.cls,n.icon,n.label);e.insertBefore(s,l),l=s}))}window.SpecUpDownloads={addButtons:e},document.addEventListener("DOMContentLoaded",e,{once:!1});try{document.dispatchEvent(new CustomEvent("specup-downloads-ready"))}catch(t){}}();
|
|
113
115
|
function insertTrefs(e){!function(e){const n=[];document.querySelectorAll("dl.terms-and-definitions-list dt span.term-external").forEach((e=>{const t=e.dataset.originalTerm,r=e.closest("dt");if(r){const e=r.nextElementSibling;if(e?.classList.contains("term-external")&&e.classList.contains("meta-info-content-wrapper"))return}n.push({element:e,textContent:t,dt:r,parent:r?.parentNode})}));const t=n.map((n=>{const{textContent:t,dt:r,parent:o}=n;if(!r||!o)return null;const i=e.xtrefs.find((e=>e.term===t)),a=document.createDocumentFragment(),s=document.createElement("dd");if(s.classList.add("term-external","meta-info-content-wrapper","collapsed"),i){const e=i.avatarUrl?``:"",n=i.owner||"Unknown",r=i.repo&&i.repoUrl?`[${i.repo}](${i.repoUrl})`:"Unknown",o=i.commitHash||"Unknown",d=i.ghPageUrl?new URL(`#term:${i.term}`,i.ghPageUrl).href:"Unknown",l=`\n| Property | Value |\n| -------- | ----- |\n| Original Term | ${t} |\n| Link | ${d} |\n| Owner | ${e} ${n} |\n| Repo | ${r} |\n| Commit hash | ${o} |\n `;s.innerHTML=md.render(l),a.appendChild(s);let c=i.content.split("\n").map((e=>e.replace(/^\s*~\s*/,""))).join("\n").replace(/\]\]/g,"");const m=document.createElement("div");m.innerHTML=md.render(c),m.querySelectorAll("a").forEach((e=>{const n=e=>{try{return null!==document.getElementById(e)}catch{return!1}};try{const t=new URL(e.href);if(t.hostname!==window.location.hostname)return;if(t.hash&&n(t.hash.slice(1)))return;e.replaceWith(...e.childNodes)}catch{if(e.href.startsWith("#")&&n(e.href.slice(1)))return;e.replaceWith(...e.childNodes)}})),c=m.innerHTML;const f=document.createElement("div");f.innerHTML=md.render(c);const p=f.querySelectorAll("dd");if(p.length>0)Array.from(p).forEach((e=>{const n=e.cloneNode(!0);n.classList.add("term-external","term-external-embedded"),a.appendChild(n)}));else{const e=document.createElement("dd");e.classList.add("term-external","term-external-embedded"),e.innerHTML=f.innerHTML,a.appendChild(e)}}else{s.innerHTML=md.render("\n| Property | Value |\n| -------- | ----- |\n| Owner | Unknown |\n| Repo | Unknown |\n| Commit hash | not found |\n "),a.appendChild(s);const e=document.createElement("dd");e.innerHTML="<p>This term was not found in the external repository.</p>",a.appendChild(e)}return{dt:r,parent:o,fragment:a}})).filter(Boolean);requestAnimationFrame((()=>{t.forEach((e=>{const{dt:n,parent:t,fragment:r}=e;t.insertBefore(r,n.nextSibling)})),document.dispatchEvent(new CustomEvent("trefs-inserted",{detail:{count:t.length}}))}))}(e)}function initializeOnTrefsInserted(e){let n=!1;document.addEventListener("trefs-inserted",(function(t){n||(n=!0,e(),t.detail&&console.log(`Collapsible definitions initialized after ${t.detail.count} xrefs were inserted`))})),setTimeout((()=>{n||(console.warn("trefs-inserted event was not received, initializing collapsible definitions anyway"),e(),n=!0)}),1e3)}document.addEventListener("DOMContentLoaded",(()=>{"undefined"!=typeof allXTrefs&&allXTrefs?.xtrefs?insertTrefs(allXTrefs):(console.error("allXTrefs is undefined or missing xtrefs property"),document.dispatchEvent(new CustomEvent("trefs-inserted",{detail:{count:0,error:"Missing xtrefs data"}})))}));
|
|
114
|
-
function insertIrefs(){!function(){const e=document.querySelectorAll("span.iref-placeholder");if(0===e.length)return void document.dispatchEvent(new CustomEvent("irefs-inserted",{detail:{count:0}}));const t=[];e.forEach((e=>{const n=e.dataset.irefTerm,r=e.dataset.irefOriginal;if(!n)return void console.warn("iref placeholder missing data-iref-term attribute",e);const o=`term:${n}`,i=document.getElementById(o);if(!i){console.warn(`iref: term "${r}" (id: ${n}) not found in terms-and-definitions-list`);const o=document.createElement("div");o.className="iref-not-found",o.innerHTML=`<p class="text-warning"><em>[[iref: ${r}]] - Term not found in definitions list</em></p>`;const i=document.createDocumentFragment();return i.appendChild(o),void t.push({placeholder:e,fragment:i})}const d=i.closest("dt");if(!d)return void console.warn(`iref: could not find <dt> element for term "${r}"`);const
|
|
116
|
+
function insertIrefs(){!function(){const e=document.querySelectorAll("span.iref-placeholder");if(0===e.length)return void document.dispatchEvent(new CustomEvent("irefs-inserted",{detail:{count:0}}));const t=[];e.forEach((e=>{const n=e.dataset.irefTerm,r=e.dataset.irefOriginal;if(!n)return void console.warn("iref placeholder missing data-iref-term attribute",e);const o=`term:${n}`,i=document.getElementById(o);if(!i){console.warn(`iref: term "${r}" (id: ${n}) not found in terms-and-definitions-list`);const o=document.createElement("div");o.className="iref-not-found",o.innerHTML=`<p class="text-warning"><em>[[iref: ${r}]] - Term not found in definitions list</em></p>`;const i=document.createDocumentFragment();return i.appendChild(o),void t.push({placeholder:e,fragment:i})}const d=i.closest("dt");if(!d)return void console.warn(`iref: could not find <dt> element for term "${r}"`);const l=document.createDocumentFragment(),s=document.createElement("div");s.className="iref-content";const c=document.createElement("dl");c.className="iref-definition-list";const a=d.cloneNode(!0);a.classList.add("iref-term"),a.classList.add("term-reference");const m=a.querySelector("a.toc-anchor");m&&m.remove();a.querySelectorAll("[id]").forEach((e=>{e.removeAttribute("id")}));a.querySelectorAll(".edit-term-buttons").forEach((e=>{e.remove()}));const f=d.querySelector('[id^="term:"]');if(f){const e=f.getAttribute("id"),t=document.createElement("a");t.href=`#${e}`,t.className="iref-go-to-glossary-button btn btn-sm btn-outline-secondary py-1",t.innerHTML="Glossary",t.title=`Go to original definition of ${r}`,a.appendChild(t)}c.appendChild(a);let u=d.nextElementSibling;for(;u&&"dd"===u.tagName.toLowerCase();){const e=u.cloneNode(!0);e.classList.add("iref-definition"),c.appendChild(e),u=u.nextElementSibling}s.appendChild(c),l.appendChild(s),t.push({placeholder:e,fragment:l})})),requestAnimationFrame((()=>{t.forEach((e=>{const{placeholder:t,fragment:n}=e;t.parentNode.replaceChild(n,t)})),document.dispatchEvent(new CustomEvent("irefs-inserted",{detail:{count:t.length}})),console.log(`Inserted ${t.length} inline reference(s)`)}))}()}document.addEventListener("DOMContentLoaded",(()=>{document.querySelectorAll("span.iref-placeholder").length>0&&document.querySelectorAll("dl.terms-and-definitions-list dt.term-external").length>0?document.addEventListener("trefs-inserted",(()=>{insertIrefs()}),{once:!0}):insertIrefs()}));
|
|
115
117
|
function getOrCreateButtonContainer(t){let n=t.querySelector(".definition-buttons-container");return n||(n=document.createElement("div"),n.classList.add("definition-buttons-container"),t.appendChild(n)),n}function addButtonToContainer(t,n,e=!1){const i=getOrCreateButtonContainer(t);return e?i.insertBefore(n,i.firstChild):i.appendChild(n),i}
|
|
116
118
|
function collapseDefinitions(){let{dds:t,dts:e,regularDds:s,specialDds:a}=function(){const t=document.querySelectorAll("#content dl.terms-and-definitions-list > dd");return{dds:t,dts:document.querySelectorAll("#content dl.terms-and-definitions-list > dt"),regularDds:Array.from(t).filter((t=>!i(t.textContent.trim()))),specialDds:Array.from(t).filter((t=>i(t.textContent.trim())))}}();function i(t){return["Source","See also","More in","Also see","See:","Mind you:","Explanation:","See also","See more","See more in","See more about","See more on","See more at","More:","Note:","Paraphrased by","Beware:","eSSIF-Lab: ","W3C VC:","NIST:","Supporting definitions:"].some((e=>t.startsWith(e)))}a.forEach((t=>{t.classList.add("terms-def-extra-info")})),e.forEach((t=>{if(t.querySelector(".collapse-all-defs-button"))return;const e=document.createElement("button");e.classList.add("collapse-all-defs-button","btn-outline-secondary","d-print-none","btn","p-0","fs-5","d-flex","align-items-center","justify-content-center"),e.innerHTML='<span class="state-indicator" data-state="0">①</span><span class="state-indicator" data-state="1">②</span><span class="state-indicator" data-state="2">③</span>',e.setAttribute("id","toggleButton"),e.setAttribute("title","Change how much info is shown"),e.setAttribute("data-state","2"),e.querySelector('.state-indicator[data-state="2"]').classList.add("active"),addButtonToContainer(t,e)})),document.addEventListener("click",(e=>{if(e.target.classList.contains("collapse-all-defs-button")||e.target.classList.contains("state-indicator")){const i=e.target.classList.contains("collapse-all-defs-button")?e.target:e.target.closest(".collapse-all-defs-button"),n=i.getBoundingClientRect();document.documentElement.classList.add("definitions-transitioning"),i.style.position="fixed",i.style.top=`${n.top}px`,i.style.right=window.innerWidth-n.right+"px",i.style.zIndex="1000",function(){const e=document.querySelectorAll(".collapse-all-defs-button");switch((parseInt(e[0].dataset.state||0)+1)%3){case 0:t.forEach((t=>{t.classList.add("hidden"),t.classList.remove("visible")})),e.forEach((t=>{t.dataset.state=0,t.title="Show basic definitions",t.querySelectorAll(".state-indicator").forEach((t=>{0===parseInt(t.dataset.state)?t.classList.add("active"):t.classList.remove("active")}))})),document.querySelector("html").classList.add("defs-hidden");break;case 1:s.forEach((t=>{t.classList.remove("hidden"),t.classList.add("visible")})),a.forEach((t=>{t.classList.add("hidden"),t.classList.remove("visible")})),e.forEach((t=>{t.dataset.state=1,t.title="Show all definitions",t.querySelectorAll(".state-indicator").forEach((t=>{1===parseInt(t.dataset.state)?t.classList.add("active"):t.classList.remove("active")}))})),document.querySelector("html").classList.remove("defs-hidden");break;case 2:t.forEach((t=>{t.classList.remove("hidden"),t.classList.add("visible")})),a.forEach((t=>{t.classList.add("terms-def-extra-info")})),e.forEach((t=>{t.dataset.state=2,t.title="Hide all definitions",t.querySelectorAll(".state-indicator").forEach((t=>{2===parseInt(t.dataset.state)?t.classList.add("active"):t.classList.remove("active")}))})),document.querySelector("html").classList.remove("defs-hidden")}}(),requestAnimationFrame((()=>{i.style.position="",i.style.top="",i.style.right="",i.style.zIndex="",document.documentElement.classList.remove("definitions-transitioning");const t=i.getBoundingClientRect();window.scrollTo({top:window.scrollY+(t.top-n.top),behavior:"instant"})}))}}))}document.addEventListener("DOMContentLoaded",(function(){initializeOnTrefsInserted(collapseDefinitions)}));
|
|
117
119
|
function createToggleButton(e){const t=document.createElement("button");t.classList.add("meta-info-toggle-button","btn","fs-1","d-flex","align-items-center","justify-content-center"),t.innerHTML='<i class="bi bi-info-circle" style="margin-top: -0.5em;"></i>',t.title="Meta info",t.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation();e.classList.contains("collapsed")?(e.classList.remove("collapsed"),e.getBoundingClientRect()):e.classList.add("collapsed")}));let n=e.previousElementSibling;for(;n&&"DT"!==n.tagName;)n=n.previousElementSibling;n?addButtonToContainer(n,t,!0):e.insertBefore(t,e.firstChild)}function collapseMetaInfo(){document.querySelectorAll("dl > dd:has(table)").forEach((function(e){e.classList.add("meta-info-content-wrapper");const t=document.createElement("div");for(t.classList.add("meta-info-inner-wrapper");e.firstChild&&e.firstChild!==e.querySelector(".meta-info-toggle-button");)t.appendChild(e.firstChild);e.querySelector(".meta-info-toggle-button")||createToggleButton(e),e.appendChild(t),e.classList.add("collapsed")}))}document.addEventListener("DOMContentLoaded",(function(){initializeOnTrefsInserted(collapseMetaInfo)}));
|
|
@@ -123,12 +125,12 @@ function fixLastDd(){document.querySelectorAll("dl.terms-and-definitions-list").
|
|
|
123
125
|
* @license MIT
|
|
124
126
|
* @since 2024-09-25
|
|
125
127
|
*/
|
|
126
|
-
function addHrefToSnapshotLink(){const e=document.querySelector("#snapshot-link-in-content")
|
|
128
|
+
function addHrefToSnapshotLink(){const e=document.querySelector("#snapshot-link-in-content");let n;try{const e=new URL(window.location.href);n=e.origin+e.pathname}catch(e){n=window.location.href.split("?")[0].split("#")[0]}const t=new RegExp("^([^?#]+)/versions/(?:[^/?#]+/?)*").exec(n);let o;if(t)o=`${t[1]}/versions/index.html`;else{o=n.replace(/\/index\.html$/,"").replace(/\/$/,"").replace(/\/versions+$/,"")+"/versions/index.html"}e&&e.setAttribute("href",o)}document.addEventListener("DOMContentLoaded",(function(){addHrefToSnapshotLink()}));
|
|
127
129
|
function adjustFontSize(){const e=document.body;function t(t){let n=parseFloat(window.getComputedStyle(e).fontSize)+t;n>=10&&n<=50&&(e.style.fontSize=`${n}px`)}document.getElementById("decreaseBtn").addEventListener("click",(()=>t(-2))),document.getElementById("increaseBtn").addEventListener("click",(()=>t(2)))}document.addEventListener("DOMContentLoaded",(function(){adjustFontSize()}));
|
|
128
130
|
document.addEventListener("DOMContentLoaded",(function(){const e=document.getElementById("container_toggle"),t=document.querySelector(".container"),n=document.documentElement;"container-fluid"===localStorage.getItem("container_width_preference")&&(t.classList.remove("container"),t.classList.add("container-fluid"),n.classList.add("dense-info"),e.querySelector("i").classList.remove("bi-arrows-angle-expand"),e.querySelector("i").classList.add("bi-arrows-angle-contract")),e.addEventListener("click",(function(){t.classList.contains("container")?(t.classList.remove("container"),t.classList.add("container-fluid"),n.classList.add("dense-info"),e.querySelector("i").classList.remove("bi-arrows-angle-expand"),e.querySelector("i").classList.add("bi-arrows-angle-contract"),localStorage.setItem("container_width_preference","container-fluid")):(t.classList.remove("container-fluid"),t.classList.add("container"),n.classList.remove("dense-info"),e.querySelector("i").classList.remove("bi-arrows-angle-contract"),e.querySelector("i").classList.add("bi-arrows-angle-expand"),localStorage.setItem("container_width_preference","container"))}))}));
|
|
129
131
|
function closeOffCanvasMenu(){document.querySelectorAll("#sidebarMenu a").forEach((e=>{e.addEventListener("click",(function(){const e=document.querySelector("#sidebarMenu");bootstrap.Offcanvas.getOrCreateInstance(e).hide()}))}))}document.addEventListener("DOMContentLoaded",(function(){closeOffCanvasMenu()}));
|
|
130
132
|
function getGithubRepoInfo(){try{const t=document.querySelector('meta[property="spec-up-t:github-repo-info"]');if(!t)return console.warn("GitHub repository meta tag not found"),null;const e=t.getAttribute("content");if(!e)return console.warn("GitHub repository meta tag has no content"),null;const[n,o,r]=e.split(",");return n&&o&&r?{username:n.trim(),repo:o.trim(),branch:r.trim()}:(console.warn("Invalid GitHub repository meta tag format"),null)}catch(t){return console.error("Error extracting GitHub repository information:",t),null}}function getGithubUrl(t=""){const e=getGithubRepoInfo();if(!e)return null;const n=`https://github.com/${e.username}/${e.repo}`;return t?`${n}/${t}`:n}function getCurrentBranchUrl(){const t=getGithubRepoInfo();return t?`https://github.com/${t.username}/${t.repo}/tree/${t.branch}`:null}function populateRepoInfoInSettings(){const t=getGithubRepoInfo(),e=document.getElementById("repo-account"),n=document.getElementById("repo-name"),o=document.getElementById("repo-branch"),r=document.getElementById("repo-url");if(e&&n&&o&&r)if(t){e.textContent=t.username,n.textContent=t.repo,o.textContent=t.branch;const u=getGithubUrl();u?(r.href=u,r.style.display="inline-block"):r.style.display="none"}else e.textContent="Not available",n.textContent="Not available",o.textContent="Not available",r.style.display="none";else console.warn("Repository info elements not found in settings menu")}document.addEventListener("DOMContentLoaded",(function(){populateRepoInfoInSettings()})),"undefined"!=typeof window&&(window.getGithubRepoInfo=getGithubRepoInfo,window.getGithubUrl=getGithubUrl,window.getCurrentBranchUrl=getCurrentBranchUrl,window.populateRepoInfoInSettings=populateRepoInfoInSettings),"undefined"!=typeof module&&module.exports&&(module.exports={getGithubRepoInfo:getGithubRepoInfo,getGithubUrl:getGithubUrl,getCurrentBranchUrl:getCurrentBranchUrl});
|
|
131
|
-
!function(){"use strict";
|
|
133
|
+
!function(){"use strict";const e=getGithubRepoInfo();e&&fetch(`https://api.github.com/repos/${e.username}/${e.repo}/issues`).then((e=>e.json())).then((e=>{let s=e.length;document.querySelectorAll("[data-issue-count]").forEach((e=>{e.setAttribute("data-issue-count",s)})),repo_issue_list.innerHTML=e.map((e=>`<li class="repo-issue">\n <detail-box>\n <div>${md.render(e.body||"")}</div>\n <header class="repo-issue-title">\n <span class="repo-issue-number">${e.number}</span>\n <span class="repo-issue-link">\n <a href="${e.html_url}" target="_blank">${e.title}</a>\n </span>\n <span detail-box-toggle></span>\n </header>\n </detail-box>\n </li>`)).join(""),Prism.highlightAllUnder(repo_issue_list)}))}();
|
|
132
134
|
!function(){"use strict";mermaid.initialize({startOnLoad:!0,theme:"neutral"})}();
|
|
133
135
|
!function(){"use strict";document.querySelectorAll(".chartjs").forEach((t=>{new Chart(t,JSON.parse(t.textContent))}))}();
|
|
134
136
|
!function(){"use strict";let e=new WeakMap;delegateEvent("pointerover",".term-reference, .spec-reference",((t,n)=>{const r=n.getAttribute("data-local-href")||n.getAttribute("href")||"";let l=document.getElementById(r.replace("#","")),a={allowHTML:!0,inlinePositioning:!0};if(!e.has(n)){if(l){let e=l.closest("dt, td:first-child");if(!e)return;switch(e.tagName){case"DT":let t=e.nextElementSibling;t&&"DD"===t.tagName&&t.classList.contains("meta-info-content-wrapper")&&(t=t.nextElementSibling),t&&"DD"===t.tagName&&(a.content=t.textContent);break;case"TD":let n=e.closest("table"),r=Array.from(e.closest("tr").children);if(r.shift(),n){let t=Array.from(n.querySelectorAll("thead th"));t.shift(),t.length&&(a.content=`\n <header>${e.textContent}</header>\n <table>\n ${t.map(((e,t)=>`<tr><td>${e.textContent}:</td><td>${r[t]?r[t].textContent:""}</td></tr>`)).join("")}\n </table>`)}}}else{const e=(n.getAttribute("data-local-href")||"").match(/#term:([^:]+):(.+)/);if(e){const[,t,n]=e;if("undefined"!=typeof allXTrefs&&allXTrefs.xtrefs&&allXTrefs.xtrefs.length>0){const e=allXTrefs.xtrefs.find((e=>e.externalSpec===t&&e.term.toLowerCase()===n.toLowerCase()));if(e&&e.content){const t=document.createElement("div");t.innerHTML=e.content,a.content=t.textContent||t.innerText||""}}}}a.content&&e.set(n,tippy(n,a))}}),{passive:!0})}();
|
|
@@ -185,7 +187,7 @@ const horizontalScrollHint=A=>{if(!document.getElementById("horizontalScrollHint
|
|
|
185
187
|
function addBootstrapClassesToImages(){document.querySelectorAll("#content img").forEach((e=>{if(e.classList.add("img-fluid"),e.classList.add("rounded"),e.classList.add("shadow-sm"),e.classList.add("my-3"),!e.closest("figure")&&!e.parentElement.classList.contains("image-container")){const t=document.createElement("figure");t.classList.add("figure","text-center");if(e.parentElement.replaceChild(t,e),t.appendChild(e),e.alt&&""!==e.alt.trim()){const s=document.createElement("figcaption");s.classList.add("figure-caption","text-center"),s.textContent=e.alt,t.appendChild(s)}}}))}function initImageBootstrapClasses(){const e=document.querySelector("#content");if(e&&(addBootstrapClassesToImages(),"undefined"!=typeof MutationObserver)){new MutationObserver((e=>{let t=!1;e.forEach((e=>{"childList"===e.type&&e.addedNodes.length>0&&e.addedNodes.forEach((e=>{1===e.nodeType&&(t="IMG"===e.tagName||e.querySelector?.("img"))}))})),t&&addBootstrapClassesToImages()})).observe(e,{childList:!0,subtree:!0})}}document.addEventListener("DOMContentLoaded",(()=>{initImageBootstrapClasses()}));
|
|
186
188
|
const imageFullSize=()=>{const e=document.querySelector("#content");function t(){let e=document.querySelector(".image-container-full-page");e&&document.body.removeChild(e)}e?(e.addEventListener("click",(e=>{if("IMG"===e.target.tagName){let n=e.target;if(null===document.querySelector(".image-container-full-page")){const e=n.cloneNode(!0),o=document.createElement("div");o.classList.add("image-container"),o.classList.add("image-container-full-page"),o.appendChild(e),document.body.appendChild(o),o.addEventListener("click",(function e(){o.removeEventListener("click",e),t()}))}n.classList.toggle("image-full-page")}})),document.addEventListener("keydown",(e=>{"Escape"===e.key&&t()}))):console.log("Element with class '.markdown' not found.")};document.addEventListener("DOMContentLoaded",(()=>{imageFullSize()}));
|
|
187
189
|
function highlightHeadingSection(i){if(!i||"string"!=typeof i||!i.startsWith("#"))return console.warn("Invalid anchor provided:",i),!1;removeExistingHighlights();const e=i.substring(1),t=document.getElementById(e);if(!t)return console.warn("Element with ID not found:",e),!1;const n=getHeadingLevel(t);if(null===n)return!1;return wrapNodesWithHighlight(collectHeadingSiblings(t,n)),!0}function getHeadingLevel(i){const e=i.tagName.toLowerCase().match(/^h([2-6])$/);return e?parseInt(e[1],10):null}function collectHeadingSiblings(i,e){const t=[i];let n=i.nextElementSibling;for(;n;){const i=getHeadingLevel(n);if(null!==i&&i<=e)break;t.push(n),n=n.nextElementSibling}return t}function wrapNodesWithHighlight(i){if(!i||0===i.length)return null;const e=document.createElement("div");e.className="highlight2";const t=i[0];return t.parentNode.insertBefore(e,t),i.forEach((i=>{e.appendChild(i)})),e}function removeExistingHighlights(){const i=document.querySelectorAll(".highlight2");let e=0;return i.forEach((i=>{const t=i.parentNode;for(;i.firstChild;)t.insertBefore(i.firstChild,i);t.removeChild(i),e++})),e}function handleAnchorClick(i){const e=i.target;if("a"!==e.tagName.toLowerCase())return;const t=e.getAttribute("href");if(!t||!t.includes("#"))return;const n=t.substring(t.indexOf("#"));n.startsWith("#")&&n.length>1&&setTimeout((()=>{highlightHeadingSection(n)}),100)}function initializeAnchorHighlighting(){document.addEventListener("click",handleAnchorClick),window.location.hash&&setTimeout((()=>{highlightHeadingSection(window.location.hash)}),200),window.addEventListener("hashchange",(()=>{window.location.hash?highlightHeadingSection(window.location.hash):removeExistingHighlights()}))}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",initializeAnchorHighlighting):initializeAnchorHighlighting(),"undefined"!=typeof module&&module.exports&&(module.exports={highlightHeadingSection:highlightHeadingSection,getHeadingLevel:getHeadingLevel,collectHeadingSiblings:collectHeadingSiblings,wrapNodesWithHighlight:wrapNodesWithHighlight,removeExistingHighlights:removeExistingHighlights,initializeAnchorHighlighting:initializeAnchorHighlighting});
|
|
188
|
-
const VALIDATOR_CONFIG={classes:{indicator:"external-ref-validation-indicator",missing:"external-ref-missing",changed:"external-ref-changed",valid:"external-ref-valid",error:"external-ref-error"},labels:{missing:"⚠️ Term not found",changed:"🔄 Definition changed",error:"❌ Could not verify",valid:"✓ Verified"},showValidIndicators:!1,cacheTimeout:3e5,similarityThreshold:.95,debug:!0},fetchCache=new Map;function normalizeContent(e){if(!e)return"";const t=document.createElement("div");t.innerHTML=e;let n=t.textContent||t.innerText||"";return n=n.toLowerCase().replace(/[\u200B-\u200D\uFEFF]/g,"").replace(/\s+/g," ").replace(/\s*([.,;:!?])\s*/g,"$1 ").trim(),n}function calculateSimilarity(e,t){if(e===t)return 1;if(!e||!t)return 0;const n=e.length>t.length?e:t,i=e.length>t.length?t:e;if(0===n.length)return 1;const a=levenshteinDistance(i,n);return(n.length-a)/n.length}function levenshteinDistance(e,t){const n=[];for(let e=0;e<=t.length;e++)n[e]=[e];for(let t=0;t<=e.length;t++)n[0][t]=t;for(let i=1;i<=t.length;i++)for(let a=1;a<=e.length;a++)t.charAt(i-1)===e.charAt(a-1)?n[i][a]=n[i-1][a-1]:n[i][a]=Math.min(n[i-1][a-1]+1,n[i][a-1]+1,n[i-1][a]+1);return n[t.length][e.length]}function extractTermsFromHtml(e){const t=new Map;return(new DOMParser).parseFromString(e,"text/html").querySelectorAll("dl.terms-and-definitions-list dt").forEach((e=>{const n=e.querySelector('[id^="term:"]');if(!n)return;const i=n.id,a=i.split(":").pop(),r=[];let o="",l="",s=e.nextElementSibling;for(;s&&"DD"===s.tagName;)s.classList.contains("meta-info-content-wrapper")||r.push(s),s=s.nextElementSibling;r.length>0&&(l=r.map((e=>e.outerHTML)).join("\n"),o=r.map((e=>e.textContent)).join("\n")),t.set(a.toLowerCase(),{content:o.trim(),rawContent:l,termId:i})})),t}async function fetchExternalSpec(e,t){const n=fetchCache.get(e);if(n&&Date.now()-n.timestamp<VALIDATOR_CONFIG.cacheTimeout)return n.data;try{const n=await fetch(e,{mode:"cors",headers:{Accept:"text/html"}});if(!n.ok)return console.warn(`[External Ref Validator] Failed to fetch ${t}: ${n.status}`),null;const i=extractTermsFromHtml(await n.text());return fetchCache.set(e,{timestamp:Date.now(),data:i}),i}catch(e){return console.warn(`[External Ref Validator] Error fetching ${t}:`,e.message),null}}function findTextDifferences(e,t){const n=e.split(/\n+/).filter((e=>e.trim())),i=t.split(/\n+/).filter((e=>e.trim())),a=n.filter((e=>!i.includes(e))),r=i.filter((e=>!n.includes(e)));return{oldUnique:a.length>0?a.join("\n"):"(no removed content)",newUnique:r.length>0?r.join("\n"):"(no added content)",hasDifferences:a.length>0||r.length>0}}function createIndicator(e,t={}){const n=document.createElement("span");n.classList.add(VALIDATOR_CONFIG.classes.indicator,VALIDATOR_CONFIG.classes[e]);const i=t.message||VALIDATOR_CONFIG.labels[e];n.setAttribute("title",i);const a=document.createElement("span");if(a.classList.add("indicator-icon"),a.textContent=VALIDATOR_CONFIG.labels[e].split(" ")[0],n.appendChild(a),"changed"===e&&t.oldContent&&t.newContent){n.classList.add("has-details");const e=findTextDifferences(t.oldContent,t.newContent),i=document.createElement("div");i.classList.add("validation-details");const a=t.similarity?`<div class="validation-similarity">Similarity: ${t.similarity}</div>`:"";e.hasDifferences?i.innerHTML=`\n <div class="validation-details-header">Definition Changed - Showing Differences</div>\n ${a}\n <div class="validation-details-section">\n <strong>Removed from cached version:</strong>\n <div class="validation-content-old">${escapeHtml(truncateText(e.oldUnique,300))}</div>\n </div>\n <div class="validation-details-section">\n <strong>Added in live version:</strong>\n <div class="validation-content-new">${escapeHtml(truncateText(e.newUnique,300))}</div>\n </div>\n <div class="validation-details-footer">\n <em>Rebuild the spec to update the definition</em>\n </div>\n `:i.innerHTML=`\n <div class="validation-details-header">Definition Changed</div>\n ${a}\n <div class="validation-details-section">\n <strong>Cached (at build time):</strong>\n <div class="validation-content-old">${escapeHtml(truncateText(t.oldContent,500))}</div>\n </div>\n <div class="validation-details-section">\n <strong>Current (live):</strong>\n <div class="validation-content-new">${escapeHtml(truncateText(t.newContent,500))}</div>\n </div>\n <div class="validation-details-footer">\n <em>Rebuild the spec to update the definition</em>\n </div>\n `,n.appendChild(i)}if("missing"===e){n.classList.add("has-details");const e=document.createElement("div");e.classList.add("validation-details"),e.innerHTML='\n <div class="validation-details-header">Term Not Found</div>\n <div class="validation-details-section">\n The term referenced here no longer exists in the external specification.\n It may have been renamed, moved, or removed.\n </div>\n <div class="validation-details-footer">\n <em>Check the external specification for updates</em>\n </div>\n ',n.appendChild(e)}return n}function escapeHtml(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}function truncateText(e,t){return!e||e.length<=t?e||"":e.substring(0,t)+"..."}function validateXref(e,t,n){if(!n||!n.ghPageUrl)return;const i=t.get(n.ghPageUrl);if(null===i){return void insertIndicatorAfterElement(e,createIndicator("error"))}if(!i)return;const a=n.term.toLowerCase(),r=i.get(a);if(!r){return void insertIndicatorAfterElement(e,createIndicator("missing"))}const o=normalizeContent(n.content),l=normalizeContent(r.rawContent);VALIDATOR_CONFIG.debug&&(console.log("[External Ref Validator] Comparing xref:",n.term),console.log(" Cached length:",o.length,"chars"),console.log(" Live length: ",l.length,"chars"),console.log(" Cached:",o.substring(0,100)),console.log(" Live: ",l.substring(0,100)),o.length!==l.length&&console.log(" Length diff:",Math.abs(o.length-l.length),"chars"));const s=calculateSimilarity(o,l);if(VALIDATOR_CONFIG.debug&&console.log(" Similarity:",(100*s).toFixed(2)+"%"),s<VALIDATOR_CONFIG.similarityThreshold){insertIndicatorAfterElement(e,createIndicator("changed",{oldContent:n.content?extractTextFromHtml(n.content):"No cached content",newContent:r.content||"No live content",similarity:(100*s).toFixed(1)+"%"}))}else if(VALIDATOR_CONFIG.showValidIndicators){insertIndicatorAfterElement(e,createIndicator("valid"))}}function validateTref(e,t,n){if(!n||!n.ghPageUrl)return;const i=t.get(n.ghPageUrl);if(null===i){return void insertIndicatorIntoTref(e,createIndicator("error"))}if(!i)return;const a=n.term.toLowerCase(),r=i.get(a);if(!r){return void insertIndicatorIntoTref(e,createIndicator("missing"))}const o=normalizeContent(n.content),l=normalizeContent(r.rawContent);VALIDATOR_CONFIG.debug&&(console.log("[External Ref Validator] Comparing tref:",n.term),console.log(" Cached length:",o.length,"chars"),console.log(" Live length: ",l.length,"chars"),console.log(" Cached:",o.substring(0,100)),console.log(" Live: ",l.substring(0,100)),o.length!==l.length&&console.log(" Length diff:",Math.abs(o.length-l.length),"chars"));const s=calculateSimilarity(o,l);if(VALIDATOR_CONFIG.debug&&console.log(" Similarity:",(100*s).toFixed(2)+"%"),s<VALIDATOR_CONFIG.similarityThreshold){insertIndicatorIntoTref(e,createIndicator("changed",{oldContent:n.content?extractTextFromHtml(n.content):"No cached content",newContent:r.content||"No live content",similarity:(100*s).toFixed(1)+"%"}))}else if(VALIDATOR_CONFIG.showValidIndicators){insertIndicatorIntoTref(e,createIndicator("valid"))}}function extractTextFromHtml(e){const t=document.createElement("div");return t.innerHTML=e,t.textContent||""}function insertIndicatorAfterElement(e,t){e.nextElementSibling?.classList.contains(VALIDATOR_CONFIG.classes.indicator)||e.insertAdjacentElement("afterend",t)}function insertIndicatorIntoTref(e,t){const n=e.querySelector("span.term-external");n&&(n.querySelector("."+VALIDATOR_CONFIG.classes.indicator)||n.appendChild(t))}function collectExternalSpecs(){const e=new Map;return"undefined"!=typeof allXTrefs&&allXTrefs?.xtrefs?(allXTrefs.xtrefs.forEach((t=>{t.ghPageUrl&&!e.has(t.ghPageUrl)&&e.set(t.ghPageUrl,{url:t.ghPageUrl,specName:t.externalSpec})})),e):(console.warn("[External Ref Validator] allXTrefs data not available"),e)}function findCachedXtrefForXref(e){if("undefined"==typeof allXTrefs||!allXTrefs?.xtrefs)return null;const t=(e.getAttribute("data-local-href")||"").match(/#term:([^:]+):(.+)/);if(!t)return null;const[,n,i]=t;return allXTrefs.xtrefs.find((e=>e.externalSpec===n&&e.term.toLowerCase()===i.toLowerCase()))}function findCachedXtrefForTref(e){if("undefined"==typeof allXTrefs||!allXTrefs?.xtrefs)return null;const t=e.querySelector("[data-original-term]")||e.closest("[data-original-term]");if(!t)return null;const n=t.dataset.originalTerm;return allXTrefs.xtrefs.find((e=>e.term.toLowerCase()===n.toLowerCase()&&e.sourceFiles?.some((e=>"tref"===e.type))))}async function validateExternalRefs(){console.log("[External Ref Validator] Starting validation...");const e=collectExternalSpecs();if(0===e.size)return void console.log("[External Ref Validator] No external specifications to validate");console.log(`[External Ref Validator] Found ${e.size} external specification(s) to validate`);const t=Array.from(e.entries()).map((async([e,t])=>[e,await fetchExternalSpec(e,t.specName)])),n=await Promise.all(t),i=new Map(n),a=document.querySelectorAll("a.x-term-reference");a.forEach((e=>{const t=findCachedXtrefForXref(e);t&&validateXref(e,i,t)}));const r=document.querySelectorAll("dt.term-external");r.forEach((e=>{const t=findCachedXtrefForTref(e);t&&validateTref(e,i,t)})),console.log("[External Ref Validator] Validation complete"),document.dispatchEvent(new CustomEvent("external-refs-validated",{detail:{specsValidated:e.size,xrefsValidated:a.length,trefsValidated:r.length}}))}function initializeValidator(){document.addEventListener("trefs-inserted",(()=>{setTimeout(validateExternalRefs,100)})),setTimeout((()=>{document.querySelector("."+VALIDATOR_CONFIG.classes.indicator)||(console.warn("[External Ref Validator] trefs-inserted event not received, validating anyway"),validateExternalRefs())}),3e3)}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",initializeValidator):initializeValidator();
|
|
190
|
+
const VALIDATOR_CONFIG={classes:{indicator:"external-ref-validation-indicator",missing:"external-ref-missing",changed:"external-ref-changed",valid:"external-ref-valid",error:"external-ref-error"},labels:{missing:"⚠️ Term not found",changed:"🔄 Definition changed",error:"❌ Could not verify",valid:"✓ Verified"},showValidIndicators:!1,cacheTimeout:3e5,similarityThreshold:.95,debug:!0},fetchCache=new Map,validationResults=[];function normalizeContent(e){if(!e)return"";const t=document.createElement("div");t.innerHTML=e;let n=t.textContent||t.innerText||"";return n=n.toLowerCase().replace(/[\u200B-\u200D\uFEFF]/g,"").replace(/\s+/g," ").replace(/\s*([.,;:!?])\s*/g,"$1 ").trim(),n}function calculateSimilarity(e,t){if(e===t)return 1;if(!e||!t)return 0;const n=e.length>t.length?e:t,a=e.length>t.length?t:e;if(0===n.length)return 1;const i=levenshteinDistance(a,n);return(n.length-i)/n.length}function levenshteinDistance(e,t){const n=[];for(let e=0;e<=t.length;e++)n[e]=[e];for(let t=0;t<=e.length;t++)n[0][t]=t;for(let a=1;a<=t.length;a++)for(let i=1;i<=e.length;i++)t.charAt(a-1)===e.charAt(i-1)?n[a][i]=n[a-1][i-1]:n[a][i]=Math.min(n[a-1][i-1]+1,n[a][i-1]+1,n[a-1][i]+1);return n[t.length][e.length]}function extractTermsFromHtml(e){const t=new Map;return(new DOMParser).parseFromString(e,"text/html").querySelectorAll("dl.terms-and-definitions-list dt").forEach((e=>{const n=e.querySelector('[id^="term:"]');if(!n)return;const a=n.id,i=a.split(":").pop(),r=[];let l="",s="",o=e.nextElementSibling;for(;o&&"DD"===o.tagName;)o.classList.contains("meta-info-content-wrapper")||r.push(o),o=o.nextElementSibling;r.length>0&&(s=r.map((e=>e.outerHTML)).join("\n"),l=r.map((e=>e.textContent)).join("\n")),t.set(i.toLowerCase(),{content:l.trim(),rawContent:s,termId:a})})),t}async function fetchExternalSpec(e,t){const n=fetchCache.get(e);if(n&&Date.now()-n.timestamp<VALIDATOR_CONFIG.cacheTimeout)return n.data;try{const n=await fetch(e,{mode:"cors",headers:{Accept:"text/html"}});if(!n.ok)return console.warn(`[External Ref Validator] Failed to fetch ${t}: ${n.status}`),null;const a=extractTermsFromHtml(await n.text());return fetchCache.set(e,{timestamp:Date.now(),data:a}),a}catch(e){return console.warn(`[External Ref Validator] Error fetching ${t}:`,e.message),null}}function findTextDifferences(e,t){const n=e.split(/\n+/).filter((e=>e.trim())),a=t.split(/\n+/).filter((e=>e.trim())),i=n.filter((e=>!a.includes(e))),r=a.filter((e=>!n.includes(e)));return{oldUnique:i.length>0?i.join("\n"):"(no removed content)",newUnique:r.length>0?r.join("\n"):"(no added content)",hasDifferences:i.length>0||r.length>0}}function createIndicator(e,t={}){const n=document.createElement("span");n.classList.add(VALIDATOR_CONFIG.classes.indicator,VALIDATOR_CONFIG.classes[e]);const a=t.message||VALIDATOR_CONFIG.labels[e];n.setAttribute("title",a);const i=document.createElement("span");if(i.classList.add("indicator-icon"),i.textContent=VALIDATOR_CONFIG.labels[e].split(" ")[0],n.appendChild(i),"changed"===e&&t.oldContent&&t.newContent){n.classList.add("has-details");const e=findTextDifferences(t.oldContent,t.newContent),a=document.createElement("div");a.classList.add("validation-details");const i=t.similarity?`<div class="validation-similarity">Similarity: ${t.similarity}</div>`:"";e.hasDifferences?a.innerHTML=`\n <div class="validation-details-header">Definition Changed - Showing Differences</div>\n ${i}\n <div class="validation-details-section">\n <strong>Removed from cached version:</strong>\n <div class="validation-content-old">${escapeHtml(truncateText(e.oldUnique,300))}</div>\n </div>\n <div class="validation-details-section">\n <strong>Added in live version:</strong>\n <div class="validation-content-new">${escapeHtml(truncateText(e.newUnique,300))}</div>\n </div>\n <div class="validation-details-footer">\n <em>Rebuild the spec to update the definition</em>\n </div>\n `:a.innerHTML=`\n <div class="validation-details-header">Definition Changed</div>\n ${i}\n <div class="validation-details-section">\n <strong>Cached (at build time):</strong>\n <div class="validation-content-old">${escapeHtml(truncateText(t.oldContent,500))}</div>\n </div>\n <div class="validation-details-section">\n <strong>Current (live):</strong>\n <div class="validation-content-new">${escapeHtml(truncateText(t.newContent,500))}</div>\n </div>\n <div class="validation-details-footer">\n <em>Rebuild the spec to update the definition</em>\n </div>\n `,n.appendChild(a)}if("missing"===e){n.classList.add("has-details");const e=document.createElement("div");e.classList.add("validation-details"),e.innerHTML='\n <div class="validation-details-header">Term Not Found</div>\n <div class="validation-details-section">\n The term referenced here no longer exists in the external specification.\n It may have been renamed, moved, or removed.\n </div>\n <div class="validation-details-footer">\n <em>Check the external specification for updates</em>\n </div>\n ',n.appendChild(e)}return n}function escapeHtml(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}function truncateText(e,t){return!e||e.length<=t?e||"":e.substring(0,t)+"..."}function recordValidationResult(e){validationResults.push(e)}function validateXref(e,t,n){if(!n||!n.ghPageUrl)return;const a=t.get(n.ghPageUrl);if(null===a){return insertIndicatorAfterElement(e,createIndicator("error")),void recordValidationResult({type:"error",refType:"xref",term:n.term,externalSpec:n.externalSpec,element:e})}if(!a)return;const i=n.term.toLowerCase(),r=a.get(i);if(!r){return insertIndicatorAfterElement(e,createIndicator("missing")),void recordValidationResult({type:"missing",refType:"xref",term:n.term,externalSpec:n.externalSpec,element:e})}const l=normalizeContent(n.content),s=normalizeContent(r.rawContent);VALIDATOR_CONFIG.debug&&(console.log("[External Ref Validator] Comparing xref:",n.term),console.log(" Cached length:",l.length,"chars"),console.log(" Live length: ",s.length,"chars"),console.log(" Cached:",l.substring(0,100)),console.log(" Live: ",s.substring(0,100)),l.length!==s.length&&console.log(" Length diff:",Math.abs(l.length-s.length),"chars"));const o=calculateSimilarity(l,s);if(VALIDATOR_CONFIG.debug&&console.log(" Similarity:",(100*o).toFixed(2)+"%"),o<VALIDATOR_CONFIG.similarityThreshold){const t=n.content?extractTextFromHtml(n.content):"No cached content",a=r.content||"No live content",i=(100*o).toFixed(1)+"%";return insertIndicatorAfterElement(e,createIndicator("changed",{oldContent:t,newContent:a,similarity:i})),void recordValidationResult({type:"changed",refType:"xref",term:n.term,externalSpec:n.externalSpec,similarity:i,oldContent:t,newContent:a,element:e})}if(VALIDATOR_CONFIG.showValidIndicators){insertIndicatorAfterElement(e,createIndicator("valid"))}}function validateTref(e,t,n){if(!n||!n.ghPageUrl)return;const a=t.get(n.ghPageUrl);if(null===a){return insertIndicatorIntoTref(e,createIndicator("error")),void recordValidationResult({type:"error",refType:"tref",term:n.term,externalSpec:n.externalSpec,element:e})}if(!a)return;const i=n.term.toLowerCase(),r=a.get(i);if(!r){return insertIndicatorIntoTref(e,createIndicator("missing")),void recordValidationResult({type:"missing",refType:"tref",term:n.term,externalSpec:n.externalSpec,element:e})}const l=normalizeContent(n.content),s=normalizeContent(r.rawContent);VALIDATOR_CONFIG.debug&&(console.log("[External Ref Validator] Comparing tref:",n.term),console.log(" Cached length:",l.length,"chars"),console.log(" Live length: ",s.length,"chars"),console.log(" Cached:",l.substring(0,100)),console.log(" Live: ",s.substring(0,100)),l.length!==s.length&&console.log(" Length diff:",Math.abs(l.length-s.length),"chars"));const o=calculateSimilarity(l,s);if(VALIDATOR_CONFIG.debug&&console.log(" Similarity:",(100*o).toFixed(2)+"%"),o<VALIDATOR_CONFIG.similarityThreshold){const t=n.content?extractTextFromHtml(n.content):"No cached content",a=r.content||"No live content",i=(100*o).toFixed(1)+"%";return insertIndicatorIntoTref(e,createIndicator("changed",{oldContent:t,newContent:a,similarity:i})),void recordValidationResult({type:"changed",refType:"tref",term:n.term,externalSpec:n.externalSpec,similarity:i,oldContent:t,newContent:a,element:e})}if(VALIDATOR_CONFIG.showValidIndicators){insertIndicatorIntoTref(e,createIndicator("valid"))}}function extractTextFromHtml(e){const t=document.createElement("div");return t.innerHTML=e,t.textContent||""}function insertIndicatorAfterElement(e,t){e.nextElementSibling?.classList.contains(VALIDATOR_CONFIG.classes.indicator)||(e.insertAdjacentElement("afterend",t),attachClickHandler(t))}function insertIndicatorIntoTref(e,t){const n=e.querySelector("span.term-external");n&&(n.querySelector("."+VALIDATOR_CONFIG.classes.indicator)||(n.appendChild(t),attachClickHandler(t)))}function attachClickHandler(e){e.classList.contains("has-details")&&e.addEventListener("click",(t=>{t.stopPropagation();const n=document.querySelectorAll(".external-ref-validation-indicator.active");for(const t of n)t!==e&&t.classList.remove("active");e.classList.toggle("active")}))}function collectExternalSpecs(){const e=new Map;return"undefined"!=typeof allXTrefs&&allXTrefs?.xtrefs?(allXTrefs.xtrefs.forEach((t=>{t.ghPageUrl&&!e.has(t.ghPageUrl)&&e.set(t.ghPageUrl,{url:t.ghPageUrl,specName:t.externalSpec})})),e):(console.warn("[External Ref Validator] allXTrefs data not available"),e)}function findCachedXtrefForXref(e){if("undefined"==typeof allXTrefs||!allXTrefs?.xtrefs)return null;const t=(e.getAttribute("data-local-href")||"").match(/#term:([^:]+):(.+)/);if(!t)return null;const[,n,a]=t;return allXTrefs.xtrefs.find((e=>e.externalSpec===n&&e.term.toLowerCase()===a.toLowerCase()))}function findCachedXtrefForTref(e){if("undefined"==typeof allXTrefs||!allXTrefs?.xtrefs)return null;const t=e.querySelector("[data-original-term]")||e.closest("[data-original-term]");if(!t)return null;const n=t.dataset.originalTerm;return allXTrefs.xtrefs.find((e=>e.term.toLowerCase()===n.toLowerCase()&&e.sourceFiles?.some((e=>"tref"===e.type))))}async function validateExternalRefs(){console.log("[External Ref Validator] Starting validation...");const e=collectExternalSpecs();if(0===e.size)return void console.log("[External Ref Validator] No external specifications to validate");console.log(`[External Ref Validator] Found ${e.size} external specification(s) to validate`);const t=Array.from(e.entries()).map((async([e,t])=>[e,await fetchExternalSpec(e,t.specName)])),n=await Promise.all(t),a=new Map(n),i=document.querySelectorAll("a.x-term-reference");i.forEach((e=>{const t=findCachedXtrefForXref(e);t&&validateXref(e,a,t)}));const r=document.querySelectorAll("dt.term-external");r.forEach((e=>{const t=findCachedXtrefForTref(e);t&&validateTref(e,a,t)})),console.log("[External Ref Validator] Validation complete"),populateChangesReport(),document.dispatchEvent(new CustomEvent("external-refs-validated",{detail:{specsValidated:e.size,xrefsValidated:i.length,trefsValidated:r.length,issuesFound:validationResults.length}}))}function populateChangesReport(){const e=document.getElementById("external-ref-changes-section"),t=document.getElementById("external-ref-changes-container"),n=document.getElementById("external-ref-changes-badge"),a=document.getElementById("external-ref-validation-status"),i=document.getElementById("external-ref-changes-divider");if(!e||!t)return void console.log("[External Ref Validator] Changes report section not found in template");if(e.style.display="block",i&&(i.style.display="block"),a&&(0===validationResults.length?a.innerHTML='<i class="bi bi-check-circle-fill text-success me-1"></i>All external references are up to date':a.innerHTML=`<i class="bi bi-exclamation-triangle-fill text-warning me-1"></i>${validationResults.length} issue(s) found`),n)if(n.textContent=validationResults.length,0===validationResults.length)n.classList.remove("bg-warning","bg-danger"),n.classList.add("bg-success");else{const e=validationResults.some((e=>"missing"===e.type||"error"===e.type));n.classList.remove("bg-success",e?"bg-warning":"bg-danger"),n.classList.add(e?"bg-danger":"bg-warning")}if(0===validationResults.length)return void(t.innerHTML='<p class="small text-success mb-0"><i class="bi bi-check-circle me-1"></i>No changes detected</p>');const r=buildChangesTable(validationResults);t.innerHTML="",t.appendChild(r)}function buildChangesTable(e){const t=document.createElement("table");t.classList.add("table","table-sm","table-hover","external-ref-changes-table"),t.setAttribute("role","table"),t.setAttribute("aria-label","External reference changes report");const n=document.createElement("thead");n.innerHTML='\n <tr>\n <th scope="col" class="col-status">Status</th>\n <th scope="col" class="col-term">Term</th>\n <th scope="col" class="col-spec">Source</th>\n <th scope="col" class="col-similarity">Match</th>\n <th scope="col" class="col-action">Action</th>\n </tr>\n ',t.appendChild(n);const a=document.createElement("tbody");return e.forEach(((e,t)=>{const n=createResultRow(e,t);a.appendChild(n)})),t.appendChild(a),t}function createResultRow(e,t){const n=document.createElement("tr");n.classList.add(`result-${e.type}`),n.setAttribute("data-result-index",t);const a=document.createElement("td");a.classList.add("col-status"),a.innerHTML=getStatusIcon(e.type),a.setAttribute("title",getStatusTitle(e.type)),n.appendChild(a);const i=document.createElement("td");i.classList.add("col-term"),i.innerHTML=`<span class="term-name">${escapeHtml(e.term)}</span>`,n.appendChild(i);const r=document.createElement("td");r.classList.add("col-spec"),r.innerHTML=`<span class="spec-badge">${escapeHtml(e.externalSpec)}</span>`,n.appendChild(r);const l=document.createElement("td");l.classList.add("col-similarity"),"changed"===e.type&&e.similarity?l.innerHTML=`<span class="similarity-value">${e.similarity}</span>`:l.innerHTML='<span class="similarity-na">—</span>',n.appendChild(l);const s=document.createElement("td");s.classList.add("col-action");const o=document.createElement("button");return o.classList.add("btn","btn-sm","btn-outline-primary","go-to-ref-btn"),o.innerHTML='<i class="bi bi-arrow-right-circle"></i>',o.setAttribute("title","Go to reference"),o.setAttribute("aria-label",`Go to ${e.term} reference`),o.addEventListener("click",(()=>scrollToElement(e.element))),s.appendChild(o),n.appendChild(s),n}function getStatusIcon(e){switch(e){case"changed":return'<span class="status-icon status-changed" aria-label="Changed">🔄</span>';case"missing":return'<span class="status-icon status-missing" aria-label="Missing">⚠️</span>';case"error":return'<span class="status-icon status-error" aria-label="Error">❌</span>';default:return'<span class="status-icon" aria-label="Unknown">❓</span>'}}function getStatusTitle(e){switch(e){case"changed":return"Definition has changed in the external specification";case"missing":return"Term no longer exists in the external specification";case"error":return"Could not fetch external specification for validation";default:return"Unknown status"}}function scrollToElement(e){if(!e)return;const t=document.getElementById("offcanvasSettings");if(t){const e=bootstrap.Offcanvas.getInstance(t);e&&e.hide()}setTimeout((()=>{e.scrollIntoView({behavior:"smooth",block:"center"}),e.classList.add("highlight-ref"),setTimeout((()=>{e.classList.remove("highlight-ref")}),2e3)}),300)}function initializeValidator(){document.addEventListener("trefs-inserted",(()=>{setTimeout(validateExternalRefs,100)})),setTimeout((()=>{document.querySelector("."+VALIDATOR_CONFIG.classes.indicator)||(console.warn("[External Ref Validator] trefs-inserted event not received, validating anyway"),validateExternalRefs())}),3e3)}document.addEventListener("click",(()=>{const e=document.querySelectorAll(".external-ref-validation-indicator.active");for(const t of e)t.classList.remove("active")})),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",initializeValidator):initializeValidator();
|
|
189
191
|
/*!
|
|
190
192
|
* Bootstrap v5.3.3 (https://getbootstrap.com/)
|
|
191
193
|
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
package/assets/compiled/head.css
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
slide-panels{position:fixed;top:0;left:0;height:100%;width:100%;pointer-events:none;z-index:100;contain:paint}slide-panels:before{content:" ";display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);transition:opacity .35s ease;opacity:0;cursor:pointer;pointer-events:none}slide-panels[open]:before{opacity:1;pointer-events:all}slide-panel{display:flex;flex-direction:column;box-sizing:border-box;position:absolute;top:0;left:0;bottom:0;background:#fff;box-shadow:0 0 5px 1px rgba(0,0,0,.15);transform:translate3d(-100%,0,0);transition:transform .35s ease;z-index:1;pointer-events:all}slide-panel[options~=right]{left:auto;right:0;transform:translate3d(100%,0,0)}slide-panel[open]{transform:translate3d(0,0,0)}detail-box{display:block}detail-box>header [detail-box-toggle]{width:2em;height:2em;text-align:center;cursor:pointer}detail-box>header [detail-box-toggle]:before{content:" ";display:inline-block;width:0;height:0;border-left:.55em solid transparent;border-right:.55em solid transparent;border-top:.8em solid;vertical-align:sub;cursor:pointer}detail-box[open] header [detail-box-toggle]:before{border-top:none;border-bottom:.8em solid}detail-box>section{height:0;opacity:0;min-width:100%;transition:height .3s ease,opacity .3s;overflow:hidden}detail-box[open]>section{opacity:1}tab-panels>nav{display:flex}tab-panels>nav>*{margin-left:-2px;padding:.5em 1em;background:#e0e0e0;border:1px solid #aaa;border-radius:0;cursor:pointer}tab-panels>nav>:focus{outline:0;background:#ccc}tab-panels>nav>:first-child{border-top-left-radius:5px;border-bottom-left-radius:5px}tab-panels>nav>:last-child{border-top-right-radius:5px;border-bottom-right-radius:5px}tab-panels>nav>[selected]{color:var(--themed-element-text);background:var(--themed-element-bk);border:var(--themed-element-border);opacity:.9999}tab-panels>section{display:none}tab-panels>section[selected]{display:block}
|
|
8
8
|
code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}
|
|
9
9
|
@keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}
|
|
10
|
-
#logo img{width:100px}.bi{display:inline-block;width:1.2rem;height:1.2rem}#header,#header *{background-color:var(--header-navbar-bg);color:var(--header-navbar-text)}[data-issue-count]:after{content:"(" attr(data-issue-count) ")";margin:0 0 0 .3em;padding:.1em 0 0}[data-issue-count=""][data-animate]{display:none;opacity:0}[data-issue-count][data-animate]:not([data-issue-count=""]){animation:display-show 1s}
|
|
10
|
+
#logo img{width:100px}.bi{display:inline-block;width:1.2rem;height:1.2rem}#header,#header *{background-color:var(--header-navbar-bg);color:var(--header-navbar-text)}[data-issue-count]:after{content:"(" attr(data-issue-count) ")";margin:0 0 0 .3em;padding:.1em 0 0}[data-issue-count=""][data-animate]{display:none;opacity:0}[data-issue-count][data-animate]:not([data-issue-count=""]){animation:display-show 1s}
|
|
11
11
|
.container{min-height:100vh}@media (min-width:768px){.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;z-index:100}}ul.toc{padding:1em 0 1.75em;font-size:.85em}ul.toc,ul.toc ul{margin:0;padding:0;list-style:none}ul.toc li a{display:block;padding:.4em .8em;text-decoration:none;color:var(--toc-text);transition:background .2s ease,padding-left .2s ease,border-left .2s ease;padding-left:.8em;border-left:3px solid transparent;border-bottom:1px solid rgba(0,0,0,.03)}ul.toc ul{margin-left:1.2em!important;margin-top:.3em}ul.toc a:hover{background:#f9f9f9;padding-left:1em;border-left:3px solid #007bff}ul.toc>li>ul>li>a{padding-left:1.5em}ul.toc>li>ul>li>ul>li>a{padding-left:2em}ul.toc a:focus{outline:2px solid #007bff;outline-offset:-2px;box-shadow:0 0 0 3px rgba(0,123,255,.25);position:relative;z-index:1}.spec-footer{font-size:.7em;text-align:center}ul.toc li a.active,ul.toc li a[aria-current=page]{border-left:3px solid #007bff;font-weight:500;background:#f0f0f0}ul.toc li:last-child a{border-bottom:none}#toc ul li{position:relative}#toc ul li.has-children{position:relative}.collapse-toggle{position:absolute;top:.35em;right:0;width:28px;height:28px;background:0 0;border:1px solid transparent;border-radius:3px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,border-color .2s;z-index:2}.collapse-toggle:hover{background-color:rgba(0,0,0,.05)}.collapse-toggle:focus{outline:2px solid #007bff;outline-offset:1px;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.25)}.collapse-toggle::after{content:"";border-style:solid;border-width:.15em .15em 0 0;display:inline-block;height:.5em;width:.5em;position:relative;transform:rotate(135deg);transition:transform .2s ease}.collapse-toggle.collapsed::after{transform:rotate(45deg)}#toc ul li.has-children>ul{max-height:1000px;overflow:hidden;transition:max-height .3s ease-in-out,opacity .3s ease-in-out;opacity:1}#toc ul li.has-children.collapsed>ul{max-height:0;overflow:hidden;opacity:.6}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{width:auto;height:auto;clip:auto;display:block;padding:15px 23px 14px;background-color:#fff;color:#007bff;z-index:100000;font-size:1em;font-weight:700;text-decoration:none;line-height:normal;box-shadow:0 0 2px 2px rgba(0,0,0,.2)}
|
|
12
|
-
h2,h3,h4,h5,h6{margin-top:1.5em!important}#terminology-section-utility-container{margin:1em auto;width:100%}@media (min-width:576px){#terminology-section-utility-container{position:sticky;top:3.5em;z-index:10}}.toc-anchor{font-size:.875em;color:#73c2df;text-decoration:none;transition:opacity .3s ease}.toc-anchor:hover{opacity:1}dl.terms-and-definitions-list{margin:0;padding:0;position:relative;z-index:1}dl.terms-and-definitions-list>dt{font-weight:700;margin:0;background-color:var(--card-bg-dt);border:1px solid var(--card-border);padding:.5rem 1.25rem;border-radius:.375rem .375rem 0 0;color:var(--card-text);position:relative;line-height:1.5;font-size:1.05em;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:2.5rem}dl.terms-and-definitions-list>dt>span{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .2s ease-in-out}dl.terms-and-definitions-list>dt:focus>span,dl.terms-and-definitions-list>dt:hover>span,dl.terms-and-definitions-list>dt>span:focus,dl.terms-and-definitions-list>dt>span:hover{white-space:normal;overflow:visible;text-overflow:initial;word-wrap:break-word;line-height:1.4}dl.terms-and-definitions-list>dt:active>span,dl.terms-and-definitions-list>dt>span:active{white-space:normal;overflow:visible;text-overflow:initial;word-wrap:break-word;line-height:1.4}dl.terms-and-definitions-list>dt .btn{font-size:1.2em!important}dl.terms-and-definitions-list>dt:hover{background-color:var(--card-hover-bg);transition:background-color .2s ease-in-out}dl.terms-and-definitions-list>dd{margin:0;background-color:var(--card-bg);border:1px solid var(--card-border);border-top:none;padding:.5rem 2rem;color:var(--card-text);width:100%;position:relative}dl.terms-and-definitions-list dd p{margin:0;color:var(--card-text);padding-left:.5rem}dl.terms-and-definitions-list>dd::before{display:none}dl.terms-and-definitions-list dd table{margin:.5em 0;width:100%;border-collapse:collapse}dl.terms-and-definitions-list dd table td,dl.terms-and-definitions-list dd table th{padding:.5em;border:1px solid var(--table-border)}dl.terms-and-definitions-list dd table th{background-color:var(--table-header-bg)}dl>dd:has(table).meta-info-content-wrapper{display:block;font-size:.7em;position:relative;max-height:none;height:auto;overflow:visible;transition:all .3s ease-out}dl>dd:has(table).meta-info-content-wrapper td,dl>dd:has(table).meta-info-content-wrapper th{padding:.3em}dl>dd:has(table).collapsed.meta-info-content-wrapper{max-height:0;height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;overflow:hidden;transition:all .3s ease-out;line-height:0}dl>dd:has(table).meta-info-content-wrapper>div{display:block;padding:inherit}.meta-info-toggle-button{position:relative;cursor:pointer}dl.terms-and-definitions-list dt+dd{border-bottom:none}dl.terms-and-definitions-list dd+dd{border-top:none;border-bottom:none}dl.terms-and-definitions-list dd+dt{margin-top:1rem}dl.terms-and-definitions-list dd.last-dd{border-radius:0 0 .375rem .375rem;border-bottom:1px solid var(--card-border)}html.dense-info dl.terms-and-definitions-list>dt{padding:.1rem 1.25rem;line-height:inherit;font-size:inherit;min-height:auto}html.dense-info dl.terms-and-definitions-list dd+dt{margin-top:.3rem}html.dense-info dl.terms-and-definitions-list>dt::before{display:none}html.dense-info dl.terms-and-definitions-list>dt>span{flex:1 1 auto;min-width:0}.term-external{position:relative}dl.terms-and-definitions-list>dd.term-external,dl.terms-and-definitions-list>dt.term-external{background:var(--external-term-bg)}.term-local{position:relative}dl.terms-and-definitions-list>dd.term-local,dl.terms-and-definitions-list>dt.term-local{background:var(--local-term-bg)}dl.terms-and-definitions-list .term-original-term{font-style:italic}dl.terms-and-definitions-list .term-external-parenthetical-terms{font-weight:400}dl.terms-and-definitions-list .term-local-original-term{font-style:italic}dl.terms-and-definitions-list .term-local-parenthetical-terms{font-weight:400}.btn{font-variant:small-caps;text-transform:uppercase;position:relative;z-index:5}.transclusion-heading{font-size:1.3em;font-weight:700;margin:.2em 0 .2em}dl.terms-and-definitions-list>dd.term-external-embedded{position:relative;padding-left:2.5rem;padding-top:.3rem;padding-bottom:.3rem}dl.terms-and-definitions-list span.term-external::after{content:"";position:absolute;top:50%;transform:translateY(-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' class='bi bi-box-arrow-right' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z'/%3E%3Cpath fill-rule='evenodd' d='M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;width:.8rem;height:.8rem;left:.2rem}dl.terms-and-definitions-list span.term-external{padding-left:1.5rem;display:inline-block}.placeholder-tref{display:none}.no-xref-found-message{background:var(--error-message-bg);color:var(--error-message-text);margin:0 .5em;padding:0 .8em;border-radius:.25rem;font-size:.8rem;font-variant:small-caps;text-transform:uppercase}.term-reference{text-decoration:none;transition:box-shadow .3s ease-in-out;border-bottom:1px dashed var(--term-reference-border);padding:0 1px;margin-left:.1rem;margin-right:.1em}.term-reference:hover{box-shadow:inset 0 0 0 3px var(--term-reference-border)}dt .term-reference::after,dt.term-reference::after{display:none}.iref-content{margin:1rem 0}dl.iref-definition-list{margin:0;padding:0}dl.iref-definition-list>dt.iref-term{background-color:rgba(var(--card-bg-dt-rgb,248,249,250),.5);border:none;box-shadow:none;padding:1rem 2.25rem .5rem 0;border-radius:.375rem .375rem 0 0;transition:background-color .3s ease-in-out,transform .2s ease-in-out}dl.iref-definition-list>dt.iref-term:hover{background-color:rgba(var(--card-bg-dt-rgb,248,249,250),.5);transform:translateX(2px)}dl.iref-definition-list>dd.iref-definition{margin:0;background-color:rgba(var(--card-bg-rgb,255,255,255),.5);padding:0 2rem;transition:background-color .3s ease-in-out,transform .2s ease-in-out}dl.iref-definition-list>dd.iref-definition,dl.iref-definition-list>dt.iref-term{font-size:.8em}dl.iref-definition-list>dd.iref-definition:hover{background-color:rgba(var(--card-bg-rgb,255,255,255),.5);transform:translateX(2px)}dl.iref-definition-list>dd.iref-definition+dd.iref-definition{border-top:1px dashed rgba(0,0,0,.1)}dl.iref-definition-list>dd.iref-definition:last-child{border-radius:0 0 .375rem .375rem}dl.iref-definition-list dd.iref-definition p{margin:0;color:var(--card-text);padding-left:.5rem}a.iref-go-to-glossary-button{margin-left:.5rem;white-space:nowrap;text-decoration:none;position:relative
|
|
12
|
+
h2,h3,h4,h5,h6{margin-top:1.5em!important}#terminology-section-utility-container{margin:1em auto;width:100%}@media (min-width:576px){#terminology-section-utility-container{position:sticky;top:3.5em;z-index:10}}.toc-anchor{font-size:.875em;color:#73c2df;text-decoration:none;transition:opacity .3s ease}.toc-anchor:hover{opacity:1}dl.terms-and-definitions-list{margin:0;padding:0;position:relative;z-index:1}dl.terms-and-definitions-list>dt{font-weight:700;margin:0;background-color:var(--card-bg-dt);border:1px solid var(--card-border);padding:.5rem 1.25rem;border-radius:.375rem .375rem 0 0;color:var(--card-text);position:relative;line-height:1.5;font-size:1.05em;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:2.5rem}dl.terms-and-definitions-list>dt>span{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .2s ease-in-out}dl.terms-and-definitions-list>dt:focus>span,dl.terms-and-definitions-list>dt:hover>span,dl.terms-and-definitions-list>dt>span:focus,dl.terms-and-definitions-list>dt>span:hover{white-space:normal;overflow:visible;text-overflow:initial;word-wrap:break-word;line-height:1.4}dl.terms-and-definitions-list>dt:active>span,dl.terms-and-definitions-list>dt>span:active{white-space:normal;overflow:visible;text-overflow:initial;word-wrap:break-word;line-height:1.4}dl.terms-and-definitions-list>dt .btn{font-size:1.2em!important}dl.terms-and-definitions-list>dt:hover{background-color:var(--card-hover-bg);transition:background-color .2s ease-in-out}dl.terms-and-definitions-list>dd{margin:0;background-color:var(--card-bg);border:1px solid var(--card-border);border-top:none;padding:.5rem 2rem;color:var(--card-text);width:100%;position:relative}dl.terms-and-definitions-list dd p{margin:0;color:var(--card-text);padding-left:.5rem}dl.terms-and-definitions-list>dd::before{display:none}dl.terms-and-definitions-list dd table{margin:.5em 0;width:100%;border-collapse:collapse}dl.terms-and-definitions-list dd table td,dl.terms-and-definitions-list dd table th{padding:.5em;border:1px solid var(--table-border)}dl.terms-and-definitions-list dd table th{background-color:var(--table-header-bg)}dl>dd:has(table).meta-info-content-wrapper{display:block;font-size:.7em;position:relative;max-height:none;height:auto;overflow:visible;transition:all .3s ease-out}dl>dd:has(table).meta-info-content-wrapper td,dl>dd:has(table).meta-info-content-wrapper th{padding:.3em}dl>dd:has(table).collapsed.meta-info-content-wrapper{max-height:0;height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;overflow:hidden;transition:all .3s ease-out;line-height:0}dl>dd:has(table).meta-info-content-wrapper>div{display:block;padding:inherit}.meta-info-toggle-button{position:relative;cursor:pointer}dl.terms-and-definitions-list dt+dd{border-bottom:none}dl.terms-and-definitions-list dd+dd{border-top:none;border-bottom:none}dl.terms-and-definitions-list dd+dt{margin-top:1rem}dl.terms-and-definitions-list dd.last-dd{border-radius:0 0 .375rem .375rem;border-bottom:1px solid var(--card-border)}html.dense-info dl.terms-and-definitions-list>dt{padding:.1rem 1.25rem;line-height:inherit;font-size:inherit;min-height:auto}html.dense-info dl.terms-and-definitions-list dd+dt{margin-top:.3rem}html.dense-info dl.terms-and-definitions-list>dt::before{display:none}html.dense-info dl.terms-and-definitions-list>dt>span{flex:1 1 auto;min-width:0}.term-external{position:relative}dl.terms-and-definitions-list>dd.term-external,dl.terms-and-definitions-list>dt.term-external{background:var(--external-term-bg)}.term-local{position:relative}dl.terms-and-definitions-list>dd.term-local,dl.terms-and-definitions-list>dt.term-local{background:var(--local-term-bg)}dl.terms-and-definitions-list .term-original-term{font-style:italic}dl.terms-and-definitions-list .term-external-parenthetical-terms{font-weight:400}dl.terms-and-definitions-list .term-local-original-term{font-style:italic}dl.terms-and-definitions-list .term-local-parenthetical-terms{font-weight:400}.btn{font-variant:small-caps;text-transform:uppercase;position:relative;z-index:5}.transclusion-heading{font-size:1.3em;font-weight:700;margin:.2em 0 .2em}dl.terms-and-definitions-list>dd.term-external-embedded{position:relative;padding-left:2.5rem;padding-top:.3rem;padding-bottom:.3rem}dl.terms-and-definitions-list span.term-external::after{content:"";position:absolute;top:50%;transform:translateY(-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' class='bi bi-box-arrow-right' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z'/%3E%3Cpath fill-rule='evenodd' d='M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;width:.8rem;height:.8rem;left:.2rem}dl.terms-and-definitions-list span.term-external{padding-left:1.5rem;display:inline-block}.placeholder-tref{display:none}.no-xref-found-message{background:var(--error-message-bg);color:var(--error-message-text);margin:0 .5em;padding:0 .8em;border-radius:.25rem;font-size:.8rem;font-variant:small-caps;text-transform:uppercase}.term-reference{text-decoration:none;transition:box-shadow .3s ease-in-out;border-bottom:1px dashed var(--term-reference-border);padding:0 1px;margin-left:.1rem;margin-right:.1em}.term-reference:hover{box-shadow:inset 0 0 0 3px var(--term-reference-border)}dt .term-reference::after,dt.term-reference::after{display:none}.iref-content{margin:1rem 0}dl.iref-definition-list{margin:0;padding:0}dl.iref-definition-list>dt.iref-term{background-color:rgba(var(--card-bg-dt-rgb,248,249,250),.5);border:none;box-shadow:none;padding:1rem 2.25rem .5rem 0;border-radius:.375rem .375rem 0 0;transition:background-color .3s ease-in-out,transform .2s ease-in-out}dl.iref-definition-list>dt.iref-term:hover{background-color:rgba(var(--card-bg-dt-rgb,248,249,250),.5);transform:translateX(2px)}dl.iref-definition-list>dd.iref-definition{margin:0;background-color:rgba(var(--card-bg-rgb,255,255,255),.5);padding:0 2rem;transition:background-color .3s ease-in-out,transform .2s ease-in-out}dl.iref-definition-list>dd.iref-definition,dl.iref-definition-list>dt.iref-term{font-size:.8em}dl.iref-definition-list>dd.iref-definition:hover{background-color:rgba(var(--card-bg-rgb,255,255,255),.5);transform:translateX(2px)}dl.iref-definition-list>dd.iref-definition+dd.iref-definition{border-top:1px dashed rgba(0,0,0,.1)}dl.iref-definition-list>dd.iref-definition:last-child{border-radius:0 0 .375rem .375rem}dl.iref-definition-list dd.iref-definition p{margin:0;color:var(--card-text);padding-left:.5rem}a.iref-go-to-glossary-button{margin-left:.5rem;white-space:nowrap;text-decoration:none;position:relative}a.iref-go-to-glossary-button:hover{text-decoration:none}a.iref-go-to-glossary-button .iref-button-icon{position:absolute;top:50%;left:.3rem;transform:translateY(-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' class='bi bi-box-arrow-right' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z'/%3E%3Cpath fill-rule='evenodd' d='M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;width:.8rem;height:.8rem;display:inline-block;content:""}.iref-not-found{margin:.5rem 0;padding:.5rem 1rem;background-color:var(--warning-message-bg);border:1px solid var(--warning-message-border);border-radius:.375rem;color:var(--warning-message-text)}
|
|
13
13
|
.btn{font-size:.7em!important;margin:0 0 0 .5em!important}
|
|
14
14
|
.highlight-matches-search{font-size:1em;outline:3px solid #1d6dae39;outline-offset:5px;transition:outline .3s ease-in-out}.highlight-matches-search.active{outline:3px solid #1d6dae;transition:outline .3s ease-in-out}.highlight-matches-DIF-search{background-color:#1d6dae11}.highlight-matches-ToIP-search{background-color:#a9dde0b0}.highlight-matches-BTC-search{background-color:#f19019a1}.highlight-matches-KERI-search{background-color:#b5d070d5}.highlight-matches-SSI-search{background-color:#ff0}.highlight-matches-GLEIF-search{background-color:#52dac6a6}
|
|
15
15
|
ul.toc li a.menu-item-highlighted{background-color:rgba(29,109,174,.08);border-left:3px solid #007bff;padding-left:1em}
|
|
@@ -20,15 +20,15 @@ ul.toc li a.menu-item-highlighted{background-color:rgba(29,109,174,.08);border-l
|
|
|
20
20
|
.hide-local-terms #content dl.terms-and-definitions-list>dd:not(.term-external),.hide-local-terms #content dl.terms-and-definitions-list>dt:not(.term-external){display:none!important}.hide-external-terms #content dl.terms-and-definitions-list>dd.term-external,.hide-external-terms #content dl.terms-and-definitions-list>dt.term-external{display:none!important}
|
|
21
21
|
.spec-up-t-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.spec-up-t-modal{background-color:#fff;padding:2rem 20px 20px;border-radius:8px;max-width:80%;max-height:80%;overflow-y:auto;position:relative;box-shadow:0 2px 10px rgba(0,0,0,.1)}.spec-up-t-modal-close{position:absolute;top:0;right:5px;background-color:transparent;border:none;font-size:2rem;line-height:1;cursor:pointer}
|
|
22
22
|
.alphabet-index-container{margin-bottom:1em}.alphabet-index-container,.number-of-terms{font-size:.8em;text-align:center;width:100%}.alphabet-index-container a{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:50%;color:#333;display:inline-block;font-size:.9rem;height:30px;line-height:30px;margin:2px;text-align:center;text-decoration:none;width:30px}
|
|
23
|
-
.button-docx-download
|
|
23
|
+
#header a.button-docx-download,#header a.button-pdf-download{display:inline-flex;align-items:center;transition:opacity .2s ease,transform .15s ease;cursor:pointer;padding:3px;background:0 0;border:none;text-decoration:none;opacity:.9}.button-docx-download:hover,.button-pdf-download:hover{opacity:1;transform:scale(1.1)}.button-docx-download:active,.button-pdf-download:active{transform:scale(1.05)}.button-docx-download svg,.button-pdf-download svg{display:block}
|
|
24
24
|
.loader{width:20px;height:20px;margin:auto;display:block;text-align:center;border:8px solid #ccc;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}.loadertext{text-align:center;margin:.5em 0}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
|
|
25
25
|
article a[href^="https://"]:not(.btn)::after,article a[href^=http]:not(.btn)::after{content:'';width:12px;height:12px;margin-left:4px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:contain;display:inline-block}
|
|
26
26
|
#repo_issues>header{background:#eee;border-bottom:1px solid #ddd}#repo_issues>header span:first-of-type{font-weight:700;padding-top:.1em}#repo_issues>header .repo-issue-toggle{margin-left:auto;color:inherit;font-weight:700;text-decoration:none}#repo_issue_list{list-style:none;margin:0;padding:0 1.25em 1.25em;font-size:.85em;overflow:auto;-ms-overflow-style:none;scrollbar-width:none}#repo_issue_list::-webkit-scrollbar{display:none}#repo_issue_list:empty:before{content:"No issues found";display:block;text-align:center;font-size:1.1em;color:#aaa;margin:1em 0 0}.repo-issue detail-box{display:flex;flex-direction:column;padding:1em 0;border-bottom:1px solid #ddd}.repo-issue detail-box>section{order:1}.repo-issue detail-box>section:empty+.repo-issue-title [detail-box-toggle]{display:none}.repo-issue-title{display:flex;align-items:center}.repo-issue-link{flex:1;margin:0 0 0 .5em}.repo-issue-number{height:1em;margin:0 .4em 0 0;padding:.3em .25em 0;border-radius:3px;font-weight:700;background:#eee;border:1px solid #ddd;text-align:center;line-height:1em}.repo-issue-number:before{content:"#";font-weight:400;margin:0 .1em 0 0}.repo-issue [detail-box-toggle]{margin:0 0 0 1em;opacity:.35;transition:opacity .4s}.repo-issue [detail-box-toggle]:hover,.repo-issue detail-box[open] [detail-box-toggle]{opacity:1}
|
|
27
|
-
.adjust-font-size #decreaseBtn{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" xmlns:xlink="http://www.w3.org/1999/xlink"><text x="50%" y="50%" font-family="Times New Roman" font-size="50" fill="black" dominant-baseline="middle" text-anchor="middle">A</text></svg>') no-repeat center;
|
|
27
|
+
.adjust-font-size #decreaseBtn{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" xmlns:xlink="http://www.w3.org/1999/xlink"><text x="50%" y="50%" font-family="Times New Roman" font-size="50" fill="black" dominant-baseline="middle" text-anchor="middle">A</text></svg>') no-repeat center;padding:14px 14px;border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:0}.adjust-font-size #increaseBtn{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" xmlns:xlink="http://www.w3.org/1999/xlink"><text x="50%" y="50%" font-family="Times New Roman" font-size="80" fill="black" dominant-baseline="middle" text-anchor="middle">A</text></svg>') no-repeat center;padding:14px 14px;border-bottom-left-radius:0;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:4px;margin-left:-1px!important}.adjust-font-size.btn-group{display:inline-flex}.adjust-font-size.btn-group .btn{position:relative}
|
|
28
28
|
.image-container-full-page{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.9);display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px;box-sizing:border-box;cursor:zoom-out;animation:fadeIn .3s ease-in-out}.image-container-full-page img{max-width:90%;max-height:90%;object-fit:contain;box-shadow:0 0 20px rgba(0,0,0,.5)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}
|
|
29
29
|
#content .figure{width:100%;margin-bottom:1.5rem}#content .figure img{transition:all .3s ease}#content .figure img:hover{transform:scale(1.01);cursor:pointer}#content img.img-fluid{max-width:100%;height:auto}#content .figure-caption{margin-top:.5rem;font-style:italic;color:#6c757d}
|
|
30
30
|
#content .figure:has(.scrollHintImage){padding:0;margin:0;width:auto;height:auto}
|
|
31
31
|
.highlight2{padding-left:1em;padding-right:1em;border:1px dashed #71bbe6;background:#f3f5f53b}
|
|
32
32
|
#toc ul.toc{counter-reset:toc-section}#toc ul.toc>li{counter-reset:toc-subsection}#toc ul.toc>li>ul>li{counter-reset:toc-subsubsection}#toc ul.toc>li>a::before{counter-increment:toc-section;content:counter(toc-section) ". ";font-weight:700;margin-right:.5em}#toc ul.toc>li>ul>li>a::before{counter-increment:toc-subsection;content:counter(toc-section) "." counter(toc-subsection) " ";font-weight:700;margin-right:.5em}#toc ul.toc>li>ul>li>ul>li>a::before{counter-increment:toc-subsubsection;content:counter(toc-section) "." counter(toc-subsection) "." counter(toc-subsubsection) " ";font-weight:700;margin-right:.5em}main article{counter-reset:main-section}main article h2{counter-reset:main-subsection}main article h3{counter-reset:main-subsubsection}main article h2 .toc-anchor::after{counter-increment:main-section;content:" " counter(main-section) ".";font-weight:700}main article h3 .toc-anchor::after{counter-increment:main-subsection;content:" " counter(main-section) "." counter(main-subsection);font-weight:700}main article h4 .toc-anchor::after{counter-increment:main-subsubsection;content:" " counter(main-section) "." counter(main-subsection) "." counter(main-subsubsection);font-weight:700}main article h5::before,main article h6::before{font-weight:700;margin-right:.5em}@media print{#toc ul.toc>li>a::before,#toc ul.toc>li>ul>li>a::before,#toc ul.toc>li>ul>li>ul>li>a::before,main article h2 .toc-anchor::after,main article h3 .toc-anchor::after,main article h4 .toc-anchor::after{color:#000!important}}
|
|
33
|
-
.external-ref-validation-indicator{display:inline-flex;align-items:center;justify-content:center;position:relative;margin-left:.5em;font-size:1.1em;vertical-align:middle;cursor:help;z-index:10}.external-ref-validation-indicator .indicator-icon{display:inline-flex;align-items:center;justify-content:center;width:1.8em;height:1.8em;border-radius:50%;line-height:1;font-size:1.2em;font-weight:700;transition:all .2s ease-in-out}.external-ref-validation-indicator.external-ref-missing .indicator-icon{background-color:#dc3545;color:#fff;box-shadow:0 0 8px rgba(220,53,69,.6),inset 0 0 4px rgba(0,0,0,.2);animation:pulse-red 2s infinite}.external-ref-validation-indicator.external-ref-changed .indicator-icon{background-color:#ff6b35;color:#fff;box-shadow:0 0 10px rgba(255,107,53,.7),inset 0 0 4px rgba(0,0,0,.2);animation:pulse-orange 2s infinite}.external-ref-validation-indicator.external-ref-error .indicator-icon{background-color:#6c757d;color:#fff;box-shadow:0 0 6px rgba(108,117,125,.5)}.external-ref-validation-indicator.external-ref-valid .indicator-icon{background-color:#28a745;color:#fff;opacity:1;box-shadow:0 0 6px rgba(40,167,69,.4)}.external-ref-validation-indicator:hover .indicator-icon{transform:scale(1.15);box-shadow:0 0 15px rgba(0,0,0,.3)}@keyframes pulse-red{0%,100%{box-shadow:0 0 8px rgba(220,53,69,.6),inset 0 0 4px rgba(0,0,0,.2)}50%{box-shadow:0 0 15px rgba(220,53,69,.9),inset 0 0 4px rgba(0,0,0,.2)}}@keyframes pulse-orange{0%,100%{box-shadow:0 0 10px rgba(255,107,53,.7),inset 0 0 4px rgba(0,0,0,.2)}50%{box-shadow:0 0 18px #ff6b35,inset 0 0 4px rgba(0,0,0,.2)}}.validation-details{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:300px;max-width:450px;padding:12px;margin-top:8px;background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#dee2e6);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:.85rem;text-align:left;line-height:1.4;z-index:1000;color:var(--bs-body-color,#212529)}.validation-details::before{content:'';position:absolute;top:-8px;left:50%;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--bs-border-color,#dee2e6)}.validation-details::after{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--bs-body-bg,#fff)}.external-ref-validation-indicator.has-details
|
|
34
|
-
html{scroll-behavior:smooth;scroll-padding-top:50vh}body:not([hashscroll]) :target{animation:highlight-target 3.5s .25s ease}body:not([hashscroll]) dt:has(:target){animation:highlight-target-parent-dt 3.5s .25s ease}dl.terms-and-definitions-list>.highlight{background-color:#ff0!important;transition:background-color .3s ease-in-out}svg[icon]{width:1.25em;height:1.25em;vertical-align:text-top}@keyframes highlight-target{50%{background-color:#ff0}}@keyframes highlight-target-parent-dt{50%{background-color:#ff0;border:1px solid #00c8ff}}#svg{display:none}main *{overflow-wrap:anywhere;word-break:normal}.table-responsive{overflow-x:auto!important;-webkit-overflow-scrolling:touch;width:100%;max-width:100%}.table-responsive *{overflow-wrap:normal!important;word-break:normal!important;white-space:nowrap!important}dd td img{max-width:30px}.notice{margin:1em 0;padding:.5em .9em .55em .65em;border-left:.5em solid}.notice p{margin:.4em 0 0}.note{background:var(--note-bg);border-color:var(--note-border)}.note .notice-link{display:block;color:var(--note-text)}.issue{background:var(--issue-bg);border-color:var(--issue-border)}.issue .notice-link:before{display:block;color:var(--issue-text)}.warning{background:var(--warning-notice-bg);border-color:var(--warning-notice-border)}.warning .notice-link{display:block;color:var(--warning-notice-text)}.example{color:#cebe00;background:#1a1e23;border-left:.5em solid}.example .notice-link{display:block;color:inherit;font-size:1.1em;font-family:Heebo,sans-serif}.example pre[class*=language-]{padding:0;border-radius:0}.todo{background:var(--todo-bg);border-color:var(--todo-border)}.todo .notice-link{display:block;color:var(--todo-text)}.informative{background:var(--informative-bg);border-color:var(--informative-border)}.informative .notice-link{display:block;color:var(--informative-text)}.alert-primary{background-color:#f9fcff;border-color:#b2ebf2;color:#00838f}.alert-secondary{background-color:#f5f5f5;border-color:#e0e0e0;color:#616161}.alert-success{background-color:#e8f5e9;border-color:#c8e6c9;color:#388e3c}.alert-danger{background-color:#ffebee;border-color:#ef9a9a;color:#d32f2f}.alert-warning{background-color:#fffde7;border-color:#fff9c4;color:#f9a825}.alert-info{background-color:#e1f5fe;border-color:#b3e5fc;color:#0288d1}.alert-light{background-color:#f9f9f9;border-color:#eee;color:#424242}.alert-dark{background-color:#e0e0e0;border-color:#bdbdbd;color:#212121}.alert a{color:inherit;font-weight:700}.alert-primary a{color:#006064}.alert-success a{color:#2e7d32}.alert-danger a{color:#b71c1c}.alert-warning a{color:#f57f17}.alert-info a{color:#01579b}.alert-dark a{color:#000}[data-bs-theme=dark] .alert-primary{background-color:#004d40;border-color:#00695c;color:#b2dfdb}[data-bs-theme=dark] .alert-secondary{background-color:#424242;border-color:#616161;color:#e0e0e0}[data-bs-theme=dark] .alert-success{background-color:#1b5e20;border-color:#2e7d32;color:#a5d6a7}[data-bs-theme=dark] .alert-danger{background-color:#b71c1c;border-color:#c62828;color:#ef9a9a}[data-bs-theme=dark] .alert-warning{background-color:#f57f17;border-color:#ffb300;color:#ffe082}[data-bs-theme=dark] .alert-info{background-color:#01579b;border-color:#0277bd;color:#81d4fa}[data-bs-theme=dark] .alert-light{background-color:#303030;border-color:#424242;color:#e0e0e0}[data-bs-theme=dark] .alert-dark{background-color:#212121;border-color:#424242;color:#bdbdbd}[data-bs-theme=dark] .alert a{color:inherit;font-weight:700}[data-bs-theme=dark] .alert-primary a{color:#80cbc4}[data-bs-theme=dark] .alert-success a{color:#81c784}[data-bs-theme=dark] .alert-danger a{color:#ef5350}[data-bs-theme=dark] .alert-warning a{color:#ffca28}[data-bs-theme=dark] .alert-info a{color:#4fc3f7}[data-bs-theme=dark] .alert-dark a{color:#9e9e9e}#offcanvasSettings .btn-menu-item{border-radius:unset;width:100%;text-align:left;border:1px solid #dee2e6;background-color:var(--card-bg);color:var(--card-text);padding:10px 15px;margin-bottom:5px;transition:background-color .2s ease}#offcanvasSettings .btn-menu-item:hover{background-color:#e9ecef}
|
|
33
|
+
.external-ref-validation-indicator{display:inline-flex;align-items:center;justify-content:center;position:relative;margin-left:.5em;font-size:1.1em;vertical-align:middle;cursor:help;z-index:10}.external-ref-validation-indicator .indicator-icon{display:inline-flex;align-items:center;justify-content:center;width:1.8em;height:1.8em;border-radius:50%;line-height:1;font-size:1.2em;font-weight:700;transition:all .2s ease-in-out}.external-ref-validation-indicator.external-ref-missing .indicator-icon{background-color:#dc3545;color:#fff;box-shadow:0 0 8px rgba(220,53,69,.6),inset 0 0 4px rgba(0,0,0,.2);animation:pulse-red 2s infinite}.external-ref-validation-indicator.external-ref-changed .indicator-icon{background-color:#ff6b35;color:#fff;box-shadow:0 0 10px rgba(255,107,53,.7),inset 0 0 4px rgba(0,0,0,.2);animation:pulse-orange 2s infinite}.external-ref-validation-indicator.external-ref-error .indicator-icon{background-color:#6c757d;color:#fff;box-shadow:0 0 6px rgba(108,117,125,.5)}.external-ref-validation-indicator.external-ref-valid .indicator-icon{background-color:#28a745;color:#fff;opacity:1;box-shadow:0 0 6px rgba(40,167,69,.4)}.external-ref-validation-indicator:hover .indicator-icon{transform:scale(1.15);box-shadow:0 0 15px rgba(0,0,0,.3)}@keyframes pulse-red{0%,100%{box-shadow:0 0 8px rgba(220,53,69,.6),inset 0 0 4px rgba(0,0,0,.2)}50%{box-shadow:0 0 15px rgba(220,53,69,.9),inset 0 0 4px rgba(0,0,0,.2)}}@keyframes pulse-orange{0%,100%{box-shadow:0 0 10px rgba(255,107,53,.7),inset 0 0 4px rgba(0,0,0,.2)}50%{box-shadow:0 0 18px #ff6b35,inset 0 0 4px rgba(0,0,0,.2)}}.validation-details{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:300px;max-width:450px;padding:12px;margin-top:8px;background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#dee2e6);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:.85rem;text-align:left;line-height:1.4;z-index:1000;color:var(--bs-body-color,#212529)}.validation-details::before{content:'';position:absolute;top:-8px;left:50%;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--bs-border-color,#dee2e6)}.validation-details::after{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--bs-body-bg,#fff)}.external-ref-validation-indicator.has-details.active .validation-details{display:block}.validation-details-header{font-weight:600;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--bs-border-color,#dee2e6)}.validation-similarity{font-size:.75rem;margin-bottom:8px;padding:4px 8px;background:rgba(255,193,7,.1);border-radius:4px;text-align:center;font-weight:500}.external-ref-missing .validation-details-header{color:var(--bs-danger,#dc3545)}.external-ref-changed .validation-details-header{color:var(--bs-warning,#ffc107)}.validation-details-section{margin-bottom:10px}.validation-details-section:last-of-type{margin-bottom:8px}.validation-details-section strong{display:block;margin-bottom:4px;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.validation-content-new,.validation-content-old{padding:8px 10px;border-radius:4px;font-size:.85rem;max-height:100px;overflow-y:auto;word-break:break-word}.validation-content-old{background:rgba(220,53,69,.1);border-left:3px solid var(--bs-danger,#dc3545);text-decoration:line-through;opacity:.8}.validation-content-new{background:rgba(25,135,84,.1);border-left:3px solid var(--bs-success,#198754)}.validation-details-footer{padding-top:8px;border-top:1px solid var(--bs-border-color,#dee2e6);font-size:.75rem;opacity:.8}@media (max-width:576px){.validation-details{min-width:250px;max-width:90vw;left:0;transform:none;font-size:.8rem}.validation-details::after,.validation-details::before{left:15px;transform:none}}[data-bs-theme=dark] .validation-details{background:var(--bs-dark,#212529);border-color:var(--bs-gray-700,#495057)}[data-bs-theme=dark] .validation-details::after{border-bottom-color:var(--bs-dark,#212529)}[data-bs-theme=dark] .validation-content-old{background:rgba(220,53,69,.2)}[data-bs-theme=dark] .validation-content-new{background:rgba(25,135,84,.2)}@keyframes validation-pulse{0%,100%{opacity:1}50%{opacity:.6}}.external-ref-changed .indicator-icon,.external-ref-missing .indicator-icon{animation:validation-pulse 2s ease-in-out infinite}.external-ref-validation-indicator:hover .indicator-icon{animation-play-state:paused;opacity:1}dt.term-external .external-ref-validation-indicator{margin-left:.5em}a.x-term-reference+.external-ref-validation-indicator{margin-right:.25em}@media print{.validation-details{display:none!important}.external-ref-missing::after{content:' [MISSING]';color:#dc3545;font-size:.7em}.external-ref-changed::after{content:' [CHANGED]';color:#ffc107;font-size:.7em}}.external-ref-changes-report{max-height:300px;overflow-y:auto;border:1px solid var(--bs-border-color,#dee2e6);border-radius:6px;background:var(--bs-body-bg,#fff)}.external-ref-changes-table{margin-bottom:0;font-size:.8rem}.external-ref-changes-table th{position:sticky;top:0;background:var(--bs-secondary-bg,#e9ecef);border-bottom:2px solid var(--bs-border-color,#dee2e6);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;padding:.5rem .4rem}.external-ref-changes-table td{padding:.4rem;vertical-align:middle}.external-ref-changes-table .col-status{width:40px;text-align:center}.external-ref-changes-table .col-term{min-width:80px;max-width:120px}.external-ref-changes-table .col-spec{min-width:60px;max-width:100px}.external-ref-changes-table .col-similarity{width:50px;text-align:center}.external-ref-changes-table .col-action{width:40px;text-align:center}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;font-size:1rem}.term-name{display:block;font-weight:500;word-break:break-word;overflow:hidden;text-overflow:ellipsis}.spec-badge{display:inline-block;padding:.15em .4em;font-size:.7rem;background:var(--bs-secondary-bg,#e9ecef);border-radius:4px;word-break:break-word}.similarity-value{font-size:.75rem;font-weight:500;color:var(--bs-warning,#ffc107)}.similarity-na{color:var(--bs-secondary,#6c757d);font-size:.8rem}.go-to-ref-btn{padding:.15rem .35rem;font-size:.75rem;line-height:1}.external-ref-changes-table tr.result-changed{background-color:rgba(255,193,7,.08)}.external-ref-changes-table tr.result-missing{background-color:rgba(220,53,69,.08)}.external-ref-changes-table tr.result-error{background-color:rgba(108,117,125,.08)}.external-ref-changes-table tr:hover{background-color:rgba(0,0,0,.05)}@keyframes highlight-flash{0%,100%{background-color:transparent}50%{background-color:rgba(255,193,7,.3)}}.highlight-ref{animation:highlight-flash .5s ease-in-out 3;outline:2px solid var(--bs-warning,#ffc107);outline-offset:2px;border-radius:4px}[data-bs-theme=dark] .external-ref-changes-report{border-color:var(--bs-gray-700,#495057)}[data-bs-theme=dark] .external-ref-changes-table th{background:var(--bs-gray-800,#343a40)}[data-bs-theme=dark] .spec-badge{background:var(--bs-gray-700,#495057)}[data-bs-theme=dark] .external-ref-changes-table tr:hover{background-color:rgba(255,255,255,.05)}[data-bs-theme=dark] .external-ref-changes-table tr.result-changed{background-color:rgba(255,193,7,.15)}[data-bs-theme=dark] .external-ref-changes-table tr.result-missing{background-color:rgba(220,53,69,.15)}[data-bs-theme=dark] .external-ref-changes-table tr.result-error{background-color:rgba(108,117,125,.15)}[data-bs-theme=dark] .highlight-ref{background-color:rgba(255,193,7,.4)}
|
|
34
|
+
html{scroll-behavior:smooth;scroll-padding-top:50vh}body:not([hashscroll]) :target{animation:highlight-target 3.5s .25s ease}body:not([hashscroll]) dt:has(:target){animation:highlight-target-parent-dt 3.5s .25s ease}dl.terms-and-definitions-list>.highlight{background-color:#ff0!important;transition:background-color .3s ease-in-out}svg[icon]{width:1.25em;height:1.25em;vertical-align:text-top}@keyframes highlight-target{50%{background-color:#ff0}}@keyframes highlight-target-parent-dt{50%{background-color:#ff0;border:1px solid #00c8ff}}#svg{display:none}main *{overflow-wrap:anywhere;word-break:normal}.table-responsive{overflow-x:auto!important;-webkit-overflow-scrolling:touch;width:100%;max-width:100%}.table-responsive *{overflow-wrap:normal!important;word-break:normal!important;white-space:nowrap!important}dd td img{max-width:30px}.notice{margin:1em 0;padding:.5em .9em .55em .65em;border-left:.5em solid}.notice p{margin:.4em 0 0}.note{background:var(--note-bg);border-color:var(--note-border)}.note .notice-link{display:block;color:var(--note-text)}.issue{background:var(--issue-bg);border-color:var(--issue-border)}.issue .notice-link:before{display:block;color:var(--issue-text)}.warning{background:var(--warning-notice-bg);border-color:var(--warning-notice-border)}.warning .notice-link{display:block;color:var(--warning-notice-text)}.example{color:#cebe00;background:#1a1e23;border-left:.5em solid}.example .notice-link{display:block;color:inherit;font-size:1.1em;font-family:Heebo,sans-serif}.example pre[class*=language-]{padding:0;border-radius:0}.todo{background:var(--todo-bg);border-color:var(--todo-border)}.todo .notice-link{display:block;color:var(--todo-text)}.informative{background:var(--informative-bg);border-color:var(--informative-border)}.informative .notice-link{display:block;color:var(--informative-text)}.alert-primary{background-color:#f9fcff;border-color:#b2ebf2;color:#00838f}.alert-secondary{background-color:#f5f5f5;border-color:#e0e0e0;color:#616161}.alert-success{background-color:#e8f5e9;border-color:#c8e6c9;color:#388e3c}.alert-danger{background-color:#ffebee;border-color:#ef9a9a;color:#d32f2f}.alert-warning{background-color:#fffde7;border-color:#fff9c4;color:#f9a825}.alert-info{background-color:#e1f5fe;border-color:#b3e5fc;color:#0288d1}.alert-light{background-color:#f9f9f9;border-color:#eee;color:#424242}.alert-dark{background-color:#e0e0e0;border-color:#bdbdbd;color:#212121}.alert a{color:inherit;font-weight:700}.alert-primary a{color:#006064}.alert-success a{color:#2e7d32}.alert-danger a{color:#b71c1c}.alert-warning a{color:#f57f17}.alert-info a{color:#01579b}.alert-dark a{color:#000}[data-bs-theme=dark] .alert-primary{background-color:#004d40;border-color:#00695c;color:#b2dfdb}[data-bs-theme=dark] .alert-secondary{background-color:#424242;border-color:#616161;color:#e0e0e0}[data-bs-theme=dark] .alert-success{background-color:#1b5e20;border-color:#2e7d32;color:#a5d6a7}[data-bs-theme=dark] .alert-danger{background-color:#b71c1c;border-color:#c62828;color:#ef9a9a}[data-bs-theme=dark] .alert-warning{background-color:#f57f17;border-color:#ffb300;color:#ffe082}[data-bs-theme=dark] .alert-info{background-color:#01579b;border-color:#0277bd;color:#81d4fa}[data-bs-theme=dark] .alert-light{background-color:#303030;border-color:#424242;color:#e0e0e0}[data-bs-theme=dark] .alert-dark{background-color:#212121;border-color:#424242;color:#bdbdbd}[data-bs-theme=dark] .alert a{color:inherit;font-weight:700}[data-bs-theme=dark] .alert-primary a{color:#80cbc4}[data-bs-theme=dark] .alert-success a{color:#81c784}[data-bs-theme=dark] .alert-danger a{color:#ef5350}[data-bs-theme=dark] .alert-warning a{color:#ffca28}[data-bs-theme=dark] .alert-info a{color:#4fc3f7}[data-bs-theme=dark] .alert-dark a{color:#9e9e9e}.menu-toggle-btn{position:fixed!important;right:0;top:50%;transform:translateY(-50%);z-index:1040;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none;padding:.75rem .5rem!important;margin:0!important;box-shadow:-2px 0 8px rgba(0,0,0,.15);transition:opacity .15s ease-in-out}body.offcanvas-backdrop .menu-toggle-btn,body:has(.offcanvas.show) .menu-toggle-btn,body:has(.offcanvas.showing) .menu-toggle-btn{opacity:0;pointer-events:none}@media print{.menu-toggle-btn{display:none!important}}#offcanvasSettings .btn-menu-item{border-radius:unset;width:100%;text-align:left;border:1px solid #dee2e6;background-color:var(--card-bg);color:var(--card-text);padding:10px 15px;margin-bottom:5px;transition:background-color .2s ease}#offcanvasSettings .btn-menu-item:hover{background-color:#e9ecef}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/* Styling for font size adjustment buttons */
|
|
2
2
|
.adjust-font-size #decreaseBtn {
|
|
3
3
|
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" xmlns:xlink="http://www.w3.org/1999/xlink"><text x="50%" y="50%" font-family="Times New Roman" font-size="50" fill="black" dominant-baseline="middle" text-anchor="middle">A</text></svg>') no-repeat center;
|
|
4
|
-
background-color: #a9dde0;
|
|
5
|
-
/* Set background color */
|
|
6
4
|
padding: 14px 14px;
|
|
7
5
|
border-bottom-left-radius: 4px;
|
|
8
6
|
border-bottom-right-radius: 0;
|
|
@@ -12,8 +10,6 @@
|
|
|
12
10
|
|
|
13
11
|
.adjust-font-size #increaseBtn {
|
|
14
12
|
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" xmlns:xlink="http://www.w3.org/1999/xlink"><text x="50%" y="50%" font-family="Times New Roman" font-size="80" fill="black" dominant-baseline="middle" text-anchor="middle">A</text></svg>') no-repeat center;
|
|
15
|
-
background-color: #a9dde0;
|
|
16
|
-
/* Set background color */
|
|
17
13
|
padding: 14px 14px;
|
|
18
14
|
border-bottom-left-radius: 0;
|
|
19
15
|
border-bottom-right-radius: 4px;
|
|
@@ -1,33 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Download Buttons (PDF/DOCX)
|
|
3
|
+
* Minimal styling - icons are self-explanatory with their built-in colors
|
|
3
4
|
*/
|
|
4
|
-
.button-pdf-download,
|
|
5
|
-
.button-docx-download {
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
#header a.button-pdf-download,
|
|
6
|
+
#header a.button-docx-download {
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
transition: opacity 0.2s ease, transform 0.15s ease;
|
|
8
10
|
cursor: pointer;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
padding: 3px;
|
|
12
|
+
background: transparent;
|
|
13
|
+
border: none;
|
|
14
|
+
text-decoration: none;
|
|
15
|
+
opacity: 0.9;
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
.button-pdf-download:hover,
|
|
15
19
|
.button-docx-download:hover {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
color: white !important;
|
|
19
|
-
transform: translateY(-1px);
|
|
20
|
-
box-shadow: 0 3px 5px rgba(0,0,0,0.15);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.button-pdf-download svg,
|
|
24
|
-
.button-docx-download svg {
|
|
25
|
-
vertical-align: middle;
|
|
26
|
-
margin-right: 4px;
|
|
20
|
+
opacity: 1;
|
|
21
|
+
transform: scale(1.1);
|
|
27
22
|
}
|
|
28
23
|
|
|
29
24
|
.button-pdf-download:active,
|
|
30
25
|
.button-docx-download:active {
|
|
31
|
-
transform:
|
|
32
|
-
|
|
26
|
+
transform: scale(1.05);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.button-pdf-download svg,
|
|
30
|
+
.button-docx-download svg {
|
|
31
|
+
display: block;
|
|
33
32
|
}
|
package/assets/css/index.css
CHANGED
|
@@ -338,6 +338,42 @@ dd td img {
|
|
|
338
338
|
/* End Custom styles for Bootstrap alerts */
|
|
339
339
|
|
|
340
340
|
/* Custom menu button styles */
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Menu toggle button positioned at right edge of viewport
|
|
344
|
+
* Uses hamburger icon to clearly indicate slide-in menu functionality
|
|
345
|
+
* Fixed to right edge for intuitive association with offcanvas-end panel
|
|
346
|
+
*/
|
|
347
|
+
.menu-toggle-btn {
|
|
348
|
+
position: fixed !important;
|
|
349
|
+
right: 0;
|
|
350
|
+
top: 50%;
|
|
351
|
+
transform: translateY(-50%);
|
|
352
|
+
z-index: 1040; /* Below offcanvas (1045) but above content */
|
|
353
|
+
border-top-right-radius: 0 !important;
|
|
354
|
+
border-bottom-right-radius: 0 !important;
|
|
355
|
+
border-right: none;
|
|
356
|
+
padding: 0.75rem 0.5rem !important;
|
|
357
|
+
margin: 0 !important;
|
|
358
|
+
box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
|
|
359
|
+
transition: opacity 0.15s ease-in-out;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/* Hide the fixed button when offcanvas is open (offcanvas adds backdrop to body) */
|
|
363
|
+
body.offcanvas-backdrop .menu-toggle-btn,
|
|
364
|
+
body:has(.offcanvas.show) .menu-toggle-btn,
|
|
365
|
+
body:has(.offcanvas.showing) .menu-toggle-btn {
|
|
366
|
+
opacity: 0;
|
|
367
|
+
pointer-events: none;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/* Hide in print mode */
|
|
371
|
+
@media print {
|
|
372
|
+
.menu-toggle-btn {
|
|
373
|
+
display: none !important;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
341
377
|
#offcanvasSettings .btn-menu-item {
|
|
342
378
|
border-radius: unset;
|
|
343
379
|
width: 100%;
|