data-navigator 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ var m=(a,e)=>{let b=Object.keys(a),t="";return b.forEach(c=>{t+=`${e&&e.omitKeyNames?"":c+": "}${a[c]}. `}),t+=e&&e.semanticLabel||"Data point.",t};export{m as a};
package/dist/index.js CHANGED
@@ -100,8 +100,8 @@ var __toCommonJS = function(mod) {
100
100
  // src/index.ts
101
101
  var src_exports = {};
102
102
  __export(src_exports, {
103
- dataNavigator: function() {
104
- return dataNavigator;
103
+ default: function() {
104
+ return src_default;
105
105
  }
106
106
  });
107
107
  module.exports = __toCommonJS(src_exports);
@@ -223,15 +223,15 @@ var describeNode = function(d, descriptionOptions) {
223
223
  var keys = Object.keys(d);
224
224
  var description = "";
225
225
  keys.forEach(function(key) {
226
- description += "".concat(descriptionOptions.omitKeyNames ? "" : key + ": ").concat(d[key], ". ");
226
+ description += "".concat(descriptionOptions && descriptionOptions.omitKeyNames ? "" : key + ": ").concat(d[key], ". ");
227
227
  });
228
- description += descriptionOptions.semanticLabel || "Data point.";
228
+ description += descriptionOptions && descriptionOptions.semanticLabel || "Data point.";
229
229
  return description;
230
230
  };
231
231
  // src/structure.ts
232
- var structure = function(structureOptions) {
233
- if (structureOptions.dataType === "vega-lite" || structureOptions.dataType === "vl" || structureOptions.dataType === "Vega-Lite") {
234
- return buildNodeStructureFromVegaLite(structureOptions);
232
+ var structure_default = function(options) {
233
+ if (options.dataType === "vega-lite" || options.dataType === "vl" || options.dataType === "Vega-Lite") {
234
+ return buildNodeStructureFromVegaLite(options);
235
235
  } else {
236
236
  console.warn("Apologies, we currently only have structure scaffolding for Vega-Lite, generic scaffolding coming soon!");
237
237
  return;
@@ -424,7 +424,7 @@ var buildNodeStructureFromVegaLite = function(options) {
424
424
  };
425
425
  };
426
426
  // src/input.ts
427
- var input = function(options) {
427
+ var input_default = function(options) {
428
428
  var inputHandler = {};
429
429
  var keyBindings = defaultKeyBindings;
430
430
  var directions = GenericFullNavigationRules;
@@ -522,7 +522,7 @@ var input = function(options) {
522
522
  return inputHandler;
523
523
  };
524
524
  // src/rendering.ts
525
- var rendering = function(options) {
525
+ var rendering_default = function(options) {
526
526
  var renderer = {};
527
527
  var initialized = false;
528
528
  var defaults = {
@@ -701,12 +701,8 @@ var rendering = function(options) {
701
701
  return renderer;
702
702
  };
703
703
  // src/index.ts
704
- var dataNavigator = {
705
- structure: structure,
706
- input: input,
707
- rendering: rendering
704
+ var src_default = {
705
+ structure: structure_default,
706
+ input: input_default,
707
+ rendering: rendering_default
708
708
  };
709
- // Annotate the CommonJS export names for ESM import in node:
710
- 0 && (module.exports = {
711
- dataNavigator: dataNavigator
712
- });
package/dist/index.mjs CHANGED
@@ -117,16 +117,16 @@ var describeNode = (d, descriptionOptions) => {
117
117
  const keys = Object.keys(d);
118
118
  let description = "";
119
119
  keys.forEach((key) => {
120
- description += `${descriptionOptions.omitKeyNames ? "" : key + ": "}${d[key]}. `;
120
+ description += `${descriptionOptions && descriptionOptions.omitKeyNames ? "" : key + ": "}${d[key]}. `;
121
121
  });
122
- description += descriptionOptions.semanticLabel || "Data point.";
122
+ description += descriptionOptions && descriptionOptions.semanticLabel || "Data point.";
123
123
  return description;
124
124
  };
125
125
 
126
126
  // src/structure.ts
127
- var structure = (structureOptions) => {
128
- if (structureOptions.dataType === "vega-lite" || structureOptions.dataType === "vl" || structureOptions.dataType === "Vega-Lite") {
129
- return buildNodeStructureFromVegaLite(structureOptions);
127
+ var structure_default = (options) => {
128
+ if (options.dataType === "vega-lite" || options.dataType === "vl" || options.dataType === "Vega-Lite") {
129
+ return buildNodeStructureFromVegaLite(options);
130
130
  } else {
131
131
  console.warn(
132
132
  "Apologies, we currently only have structure scaffolding for Vega-Lite, generic scaffolding coming soon!"
@@ -297,7 +297,7 @@ var buildNodeStructureFromVegaLite = (options) => {
297
297
  };
298
298
 
299
299
  // src/input.ts
300
- var input = (options) => {
300
+ var input_default = (options) => {
301
301
  let inputHandler = {};
302
302
  let keyBindings = defaultKeyBindings;
303
303
  let directions = GenericFullNavigationRules;
@@ -392,7 +392,7 @@ var input = (options) => {
392
392
  };
393
393
 
394
394
  // src/rendering.ts
395
- var rendering = (options) => {
395
+ var rendering_default = (options) => {
396
396
  let renderer = {};
397
397
  let initialized = false;
398
398
  let defaults = {
@@ -578,11 +578,7 @@ var rendering = (options) => {
578
578
  };
579
579
 
580
580
  // src/index.ts
581
- var dataNavigator = {
582
- structure,
583
- input,
584
- rendering
585
- };
581
+ var src_default = { structure: structure_default, input: input_default, rendering: rendering_default };
586
582
  export {
587
- dataNavigator
583
+ src_default as default
588
584
  };
package/dist/input.js CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var o=function(r,t){for(var n in t)e(r,n,{get:t[n],enumerable:!0})},i=function(o,i,u,a){var c=true,f=false,d=undefined;if(i&&typeof i=="object"||typeof i=="function")try{var s=function(){var t=l.value;!n.call(o,t)&&t!==u&&e(o,t,{get:function(){return i[t]},enumerable:!(a=r(i,t))||a.enumerable})};for(var v=t(i)[Symbol.iterator](),l;!(c=(l=v.next()).done);c=true)s()}catch(e){f=true;d=e}finally{try{if(!c&&v.return!=null){v.return()}}finally{if(f){throw d}}}return o};var u=function(r){return i(e({},"__esModule",{value:!0}),r)};var a={};o(a,{input:function(){return d}});module.exports=u(a);var c={ArrowLeft:"left",ArrowRight:"right",ArrowUp:"up",ArrowDown:"down",Period:"forward",Comma:"backward",Escape:"parent",Enter:"child"},f={down:{keyCode:"ArrowDown",direction:"target"},left:{keyCode:"ArrowLeft",direction:"source"},right:{keyCode:"ArrowRight",direction:"target"},up:{keyCode:"ArrowUp",direction:"source"},backward:{keyCode:"Comma",direction:"source"},child:{keyCode:"Enter",direction:"target"},parent:{keyCode:"Backspace",direction:"source"},forward:{keyCode:"Period",direction:"target"},exit:{keyCode:"Escape",direction:"target"}};var d=function(e){var r={},t=c,n=f;return r.moveTo=function(r){var t=e.structure.nodes[r];if(t)return t},r.move=function(t,o){if(t){var i=e.structure.nodes[t];if(i.edges){var u=function(){var r=e.structure.edges[i.edges[c]];if(r.navigationRules.forEach(function(e){a||(a=d(e,r))}),a)return"break"};var a=null,c=0,f=n[o];if(!f)return;var d=function(e,r){if(e!==o)return null;var n={target:typeof r.target=="string"?r.target:r.target(i,t),source:typeof r.source=="string"?r.source:r.source(i,t)};return n[f.direction]!==t?n[f.direction]:null};for(c=0;c<i.edges.length;c++){var s=u();if(s==="break")break}return a?r.moveTo(a):void 0}}},r.enter=function(){if(e.entryPoint)return r.moveTo(e.entryPoint);console.error("No entry point was specified in InputOptions, returning undefined")},r.exit=function(){if(e.exitPoint)return e.exitPoint;console.error("No exit point was specified in InputOptions, returning undefined")},r.keydownValidator=function(e){var r=t[e.code];if(r)return r},r.focus=function(e){var r=document.getElementById(e);r&&r.focus()},r.setNavigationKeyBindings=function(e){e?(t={},n=e,Object.keys(e).forEach(function(r){var n=e[r];t[n.key]=r})):(t=c,n=f)},r.setNavigationKeyBindings(e.navigationRules),r};0&&(module.exports={input:input});
1
+ var e=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var o=function(r,t){for(var n in t)e(r,n,{get:t[n],enumerable:!0})},i=function(o,i,a,u){var c=true,f=false,d=undefined;if(i&&typeof i=="object"||typeof i=="function")try{var s=function(){var t=l.value;!n.call(o,t)&&t!==a&&e(o,t,{get:function(){return i[t]},enumerable:!(u=r(i,t))||u.enumerable})};for(var v=t(i)[Symbol.iterator](),l;!(c=(l=v.next()).done);c=true)s()}catch(e){f=true;d=e}finally{try{if(!c&&v.return!=null){v.return()}}finally{if(f){throw d}}}return o};var a=function(r){return i(e({},"__esModule",{value:!0}),r)};var u={};o(u,{default:function(){return d}});module.exports=a(u);var c={ArrowLeft:"left",ArrowRight:"right",ArrowUp:"up",ArrowDown:"down",Period:"forward",Comma:"backward",Escape:"parent",Enter:"child"},f={down:{keyCode:"ArrowDown",direction:"target"},left:{keyCode:"ArrowLeft",direction:"source"},right:{keyCode:"ArrowRight",direction:"target"},up:{keyCode:"ArrowUp",direction:"source"},backward:{keyCode:"Comma",direction:"source"},child:{keyCode:"Enter",direction:"target"},parent:{keyCode:"Backspace",direction:"source"},forward:{keyCode:"Period",direction:"target"},exit:{keyCode:"Escape",direction:"target"}};var d=function(e){var r={},t=c,n=f;return r.moveTo=function(r){var t=e.structure.nodes[r];if(t)return t},r.move=function(t,o){if(t){var i=e.structure.nodes[t];if(i.edges){var a=function(){var r=e.structure.edges[i.edges[c]];if(r.navigationRules.forEach(function(e){u||(u=d(e,r))}),u)return"break"};var u=null,c=0,f=n[o];if(!f)return;var d=function(e,r){if(e!==o)return null;var n={target:typeof r.target=="string"?r.target:r.target(i,t),source:typeof r.source=="string"?r.source:r.source(i,t)};return n[f.direction]!==t?n[f.direction]:null};for(c=0;c<i.edges.length;c++){var s=a();if(s==="break")break}return u?r.moveTo(u):void 0}}},r.enter=function(){if(e.entryPoint)return r.moveTo(e.entryPoint);console.error("No entry point was specified in InputOptions, returning undefined")},r.exit=function(){if(e.exitPoint)return e.exitPoint;console.error("No exit point was specified in InputOptions, returning undefined")},r.keydownValidator=function(e){var r=t[e.code];if(r)return r},r.focus=function(e){var r=document.getElementById(e);r&&r.focus()},r.setNavigationKeyBindings=function(e){e?(t={},n=e,Object.keys(e).forEach(function(r){var n=e[r];t[n.key]=r})):(t=c,n=f)},r.setNavigationKeyBindings(e.navigationRules),r};
package/dist/input.mjs CHANGED
@@ -1 +1 @@
1
- import{a as c,b as g}from"./chunk-GP5LYFFJ.mjs";var m=r=>{let n={},u=c,a=g;return n.moveTo=e=>{let t=r.structure.nodes[e];if(t)return t},n.move=(e,t)=>{if(e){let o=r.structure.nodes[e];if(o.edges){let s=null,l=0,d=a[t];if(!d)return;let p=(f,i)=>{if(f!==t)return null;let y={target:typeof i.target=="string"?i.target:i.target(o,e),source:typeof i.source=="string"?i.source:i.source(o,e)};return y[d.direction]!==e?y[d.direction]:null};for(l=0;l<o.edges.length;l++){let f=r.structure.edges[o.edges[l]];if(f.navigationRules.forEach(i=>{s||(s=p(i,f))}),s)break}return s?n.moveTo(s):void 0}}},n.enter=()=>{if(r.entryPoint)return n.moveTo(r.entryPoint);console.error("No entry point was specified in InputOptions, returning undefined")},n.exit=()=>{if(r.exitPoint)return r.exitPoint;console.error("No exit point was specified in InputOptions, returning undefined")},n.keydownValidator=e=>{let t=u[e.code];if(t)return t},n.focus=e=>{let t=document.getElementById(e);t&&t.focus()},n.setNavigationKeyBindings=e=>{e?(u={},a=e,Object.keys(e).forEach(t=>{let o=e[t];u[o.key]=t})):(u=c,a=g)},n.setNavigationKeyBindings(r.navigationRules),n};export{m as input};
1
+ import{a as c,b as g}from"./chunk-GP5LYFFJ.mjs";var m=r=>{let n={},u=c,a=g;return n.moveTo=e=>{let t=r.structure.nodes[e];if(t)return t},n.move=(e,t)=>{if(e){let o=r.structure.nodes[e];if(o.edges){let s=null,l=0,d=a[t];if(!d)return;let p=(f,i)=>{if(f!==t)return null;let y={target:typeof i.target=="string"?i.target:i.target(o,e),source:typeof i.source=="string"?i.source:i.source(o,e)};return y[d.direction]!==e?y[d.direction]:null};for(l=0;l<o.edges.length;l++){let f=r.structure.edges[o.edges[l]];if(f.navigationRules.forEach(i=>{s||(s=p(i,f))}),s)break}return s?n.moveTo(s):void 0}}},n.enter=()=>{if(r.entryPoint)return n.moveTo(r.entryPoint);console.error("No entry point was specified in InputOptions, returning undefined")},n.exit=()=>{if(r.exitPoint)return r.exitPoint;console.error("No exit point was specified in InputOptions, returning undefined")},n.keydownValidator=e=>{let t=u[e.code];if(t)return t},n.focus=e=>{let t=document.getElementById(e);t&&t.focus()},n.setNavigationKeyBindings=e=>{e?(u={},a=e,Object.keys(e).forEach(t=>{let o=e[t];u[o.key]=t})):(u=c,a=g)},n.setNavigationKeyBindings(r.navigationRules),n};export{m as default};
package/dist/rendering.js CHANGED
@@ -1 +1 @@
1
- function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function r(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function i(){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 s(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var i=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){i=i.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}i.forEach(function(t){n(e,t,r[t])})}return e}function a(e){return t(e)||r(e)||o(e)||i()}function o(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}var l=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var m=function(e,t){for(var n in t)l(e,n,{get:t[n],enumerable:!0})},f=function(e,t,n,r){var i=true,s=false,a=undefined;if(t&&typeof t=="object"||typeof t=="function")try{var o=function(){var i=f.value;!d.call(e,i)&&i!==n&&l(e,i,{get:function(){return t[i]},enumerable:!(r=c(t,i))||r.enumerable})};for(var m=u(t)[Symbol.iterator](),f;!(i=(f=m.next()).done);i=true)o()}catch(e){s=true;a=e}finally{try{if(!i&&m.return!=null){m.return()}}finally{if(s){throw a}}}return e};var p=function(e){return f(l({},"__esModule",{value:!0}),e)};var b={};m(b,{rendering:function(){return x}});module.exports=p(b);var y={cssClass:"",dimensions:{x:0,y:0,width:0,height:0,path:""},semantics:{label:"",elementType:"div",role:"image",attributes:void 0},parentSemantics:{label:"",elementType:"figure",role:"figure",attributes:void 0},existingElement:{useForDimensions:!1,dimensions:void 0}};var x=function(e){var t={},n=!1,r={cssClass:y.cssClass,dimensions:s({},y.dimensions),semantics:s({},y.semantics),parentSemantics:s({},y.parentSemantics),existingElement:s({},y.existingElement)};return e.defaults&&(r.cssClass=e.defaults.cssClass||r.cssClass,r.dimensions=e.defaults.dimensions?s({},r.dimensions,e.defaults.dimensions):r.dimensions,r.semantics=e.defaults.semantics?s({},r.semantics,e.defaults.semantics):r.semantics,r.parentSemantics=e.defaults.parentSemantics?s({},r.parentSemantics,e.defaults.parentSemantics):r.parentSemantics,r.existingElement=e.defaults.existingElement?s({},r.existingElement,e.defaults.existingElement):r.existingElement),t.initialize=function(){if(n){console.error("The renderer wrapper has already been initialized successfully, RenderingOptions.suffixId is: ".concat(e.suffixId,". No further action was taken."));return}if(e.root&&document.getElementById(e.root.id))t.root=document.getElementById(e.root.id);else{console.error("No root element found, cannot build: RenderingOptions.root.id must reference an existing DOM element in order to render children.");return}if(t.root.style.position="relative",t.root.classList.add("dn-root"),!e.suffixId){console.error("No suffix id found: options.suffixId must be specified.");return}return t.wrapper=document.createElement("div"),t.wrapper.id="dn-wrapper-"+e.suffixId,t.wrapper.classList.add("dn-wrapper"),t.wrapper.style.width=e.root&&e.root.width?e.root.width:"100%",e.root&&e.root.height&&(t.wrapper.style.height=e.root.height),e.entryButton&&e.entryButton.include&&(t.entryButton=document.createElement("button"),t.entryButton.id="dn-entry-button-"+e.suffixId,t.entryButton.classList.add("dn-entry-button"),t.entryButton.innerText="Enter navigation area",e.entryButton.callbacks&&e.entryButton.callbacks.click&&t.entryButton.addEventListener("click",e.entryButton.callbacks.click),e.entryButton.callbacks&&e.entryButton.callbacks.focus&&t.entryButton.addEventListener("focus",e.entryButton.callbacks.focus),t.wrapper.appendChild(t.entryButton)),t.root.appendChild(t.wrapper),e.exitElement&&e.exitElement.include&&(t.exitElement=document.createElement("div"),t.exitElement.id="dn-exit-"+e.suffixId,t.exitElement.classList.add("dn-exit-position"),t.exitElement.innerText="End of data structure.",t.exitElement.setAttribute("aria-label","End of data structure."),t.exitElement.setAttribute("role","note"),t.exitElement.setAttribute("tabindex","-1"),t.exitElement.style.display="none",t.exitElement.addEventListener("focus",function(n){t.exitElement.style.display="block",t.clearStructure(),e.exitElement.callbacks&&e.exitElement.callbacks.focus&&e.exitElement.callbacks.focus(n)}),t.exitElement.addEventListener("blur",function(n){t.exitElement.style.display="none",e.exitElement.callbacks&&e.exitElement.callbacks.blur&&e.exitElement.callbacks.blur(n)}),t.root.appendChild(t.exitElement)),n=!0,t.root},t.render=function(i){var s=i.renderId,a=e.elementData[s];if(!a){console.warn("Render data not found with renderId: ".concat(s,". Failed to render."));return}if(!n){console.error("render() was called before initialize(), renderer must be initialized first.");return}var o=!1,l={},c=function(e,t,n){var s=a[e]||r[e],c=n&&o?l[t]:s[t],u=r[e][t];return typeof s=="function"?s(a,i.datum):typeof c=="function"?c(a,i.datum):c||u||(t?void 0:s)};o=c("existingElement","useForDimensions"),l=c("existingElement","dimensions");var u=parseFloat(c("dimensions","width",!0)||0),d=parseFloat(c("dimensions","height",!0)||0),m=parseFloat(c("dimensions","x",!0)||0),f=parseFloat(c("dimensions","y",!0)||0),p=document.createElement(c("parentSemantics","elementType")),b=c("parentSemantics","attributes");typeof b=="object"&&Object.keys(b).forEach(function(e){p.setAttribute(e,b[e])}),p.setAttribute("role",c("parentSemantics","role")),p.id=s,p.classList.add("dn-node"),p.classList.add(c("cssClass")),p.style.width=u+"px",p.style.height=d+"px",p.style.left=m+"px",p.style.top=f+"px",p.setAttribute("tabindex","-1");var y=document.createElement(c("semantics","elementType")),x=c("semantics","attributes");typeof x=="object"&&Object.keys(x).forEach(function(e){p.setAttribute(e,x[e])}),y.setAttribute("role",c("semantics","role")),y.classList.add("dn-node-text"),a.showText&&(y.innerText=a.semantics.label);var v=c("semantics","label");v||console.error("Accessibility error: a label must be supplied to every rendered element using semantics.label."),y.setAttribute("aria-label",v),p.appendChild(y);var h=c("dimensions","path");if(h){var E=u+m+10,g=d+f+10,w=document.createElementNS("http://www.w3.org/2000/svg","svg");w.setAttribute("width",E+""),w.setAttribute("height",g+""),w.setAttribute("viewBox","0 0 ".concat(E," ").concat(g)),w.style.left=-m+"",w.style.top=-f+"",w.classList.add("dn-node-svg"),w.setAttribute("role","presentation"),w.setAttribute("focusable","false");var A=document.createElementNS("http://www.w3.org/2000/svg","path");A.setAttribute("d",h),A.classList.add("dn-node-path"),w.appendChild(A),p.appendChild(w)}return t.wrapper.appendChild(p),p},t.remove=function(e){var t=document.getElementById(e);t&&t.remove()},t.clearStructure=function(){a(t.wrapper.children).forEach(function(e){t.entryButton&&t.entryButton===e||t.remove(e.id)})},t};0&&(module.exports={rendering:rendering});
1
+ function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function r(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function i(){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 s(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var i=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){i=i.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}i.forEach(function(t){n(e,t,r[t])})}return e}function a(e){return t(e)||r(e)||o(e)||i()}function o(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}var l=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var m=function(e,t){for(var n in t)l(e,n,{get:t[n],enumerable:!0})},f=function(e,t,n,r){var i=true,s=false,a=undefined;if(t&&typeof t=="object"||typeof t=="function")try{var o=function(){var i=f.value;!d.call(e,i)&&i!==n&&l(e,i,{get:function(){return t[i]},enumerable:!(r=c(t,i))||r.enumerable})};for(var m=u(t)[Symbol.iterator](),f;!(i=(f=m.next()).done);i=true)o()}catch(e){s=true;a=e}finally{try{if(!i&&m.return!=null){m.return()}}finally{if(s){throw a}}}return e};var p=function(e){return f(l({},"__esModule",{value:!0}),e)};var b={};m(b,{default:function(){return x}});module.exports=p(b);var y={cssClass:"",dimensions:{x:0,y:0,width:0,height:0,path:""},semantics:{label:"",elementType:"div",role:"image",attributes:void 0},parentSemantics:{label:"",elementType:"figure",role:"figure",attributes:void 0},existingElement:{useForDimensions:!1,dimensions:void 0}};var x=function(e){var t={},n=!1,r={cssClass:y.cssClass,dimensions:s({},y.dimensions),semantics:s({},y.semantics),parentSemantics:s({},y.parentSemantics),existingElement:s({},y.existingElement)};return e.defaults&&(r.cssClass=e.defaults.cssClass||r.cssClass,r.dimensions=e.defaults.dimensions?s({},r.dimensions,e.defaults.dimensions):r.dimensions,r.semantics=e.defaults.semantics?s({},r.semantics,e.defaults.semantics):r.semantics,r.parentSemantics=e.defaults.parentSemantics?s({},r.parentSemantics,e.defaults.parentSemantics):r.parentSemantics,r.existingElement=e.defaults.existingElement?s({},r.existingElement,e.defaults.existingElement):r.existingElement),t.initialize=function(){if(n){console.error("The renderer wrapper has already been initialized successfully, RenderingOptions.suffixId is: ".concat(e.suffixId,". No further action was taken."));return}if(e.root&&document.getElementById(e.root.id))t.root=document.getElementById(e.root.id);else{console.error("No root element found, cannot build: RenderingOptions.root.id must reference an existing DOM element in order to render children.");return}if(t.root.style.position="relative",t.root.classList.add("dn-root"),!e.suffixId){console.error("No suffix id found: options.suffixId must be specified.");return}return t.wrapper=document.createElement("div"),t.wrapper.id="dn-wrapper-"+e.suffixId,t.wrapper.classList.add("dn-wrapper"),t.wrapper.style.width=e.root&&e.root.width?e.root.width:"100%",e.root&&e.root.height&&(t.wrapper.style.height=e.root.height),e.entryButton&&e.entryButton.include&&(t.entryButton=document.createElement("button"),t.entryButton.id="dn-entry-button-"+e.suffixId,t.entryButton.classList.add("dn-entry-button"),t.entryButton.innerText="Enter navigation area",e.entryButton.callbacks&&e.entryButton.callbacks.click&&t.entryButton.addEventListener("click",e.entryButton.callbacks.click),e.entryButton.callbacks&&e.entryButton.callbacks.focus&&t.entryButton.addEventListener("focus",e.entryButton.callbacks.focus),t.wrapper.appendChild(t.entryButton)),t.root.appendChild(t.wrapper),e.exitElement&&e.exitElement.include&&(t.exitElement=document.createElement("div"),t.exitElement.id="dn-exit-"+e.suffixId,t.exitElement.classList.add("dn-exit-position"),t.exitElement.innerText="End of data structure.",t.exitElement.setAttribute("aria-label","End of data structure."),t.exitElement.setAttribute("role","note"),t.exitElement.setAttribute("tabindex","-1"),t.exitElement.style.display="none",t.exitElement.addEventListener("focus",function(n){t.exitElement.style.display="block",t.clearStructure(),e.exitElement.callbacks&&e.exitElement.callbacks.focus&&e.exitElement.callbacks.focus(n)}),t.exitElement.addEventListener("blur",function(n){t.exitElement.style.display="none",e.exitElement.callbacks&&e.exitElement.callbacks.blur&&e.exitElement.callbacks.blur(n)}),t.root.appendChild(t.exitElement)),n=!0,t.root},t.render=function(i){var s=i.renderId,a=e.elementData[s];if(!a){console.warn("Render data not found with renderId: ".concat(s,". Failed to render."));return}if(!n){console.error("render() was called before initialize(), renderer must be initialized first.");return}var o=!1,l={},c=function(e,t,n){var s=a[e]||r[e],c=n&&o?l[t]:s[t],u=r[e][t];return typeof s=="function"?s(a,i.datum):typeof c=="function"?c(a,i.datum):c||u||(t?void 0:s)};o=c("existingElement","useForDimensions"),l=c("existingElement","dimensions");var u=parseFloat(c("dimensions","width",!0)||0),d=parseFloat(c("dimensions","height",!0)||0),m=parseFloat(c("dimensions","x",!0)||0),f=parseFloat(c("dimensions","y",!0)||0),p=document.createElement(c("parentSemantics","elementType")),b=c("parentSemantics","attributes");typeof b=="object"&&Object.keys(b).forEach(function(e){p.setAttribute(e,b[e])}),p.setAttribute("role",c("parentSemantics","role")),p.id=s,p.classList.add("dn-node"),p.classList.add(c("cssClass")),p.style.width=u+"px",p.style.height=d+"px",p.style.left=m+"px",p.style.top=f+"px",p.setAttribute("tabindex","-1");var y=document.createElement(c("semantics","elementType")),x=c("semantics","attributes");typeof x=="object"&&Object.keys(x).forEach(function(e){p.setAttribute(e,x[e])}),y.setAttribute("role",c("semantics","role")),y.classList.add("dn-node-text"),a.showText&&(y.innerText=a.semantics.label);var v=c("semantics","label");v||console.error("Accessibility error: a label must be supplied to every rendered element using semantics.label."),y.setAttribute("aria-label",v),p.appendChild(y);var h=c("dimensions","path");if(h){var E=u+m+10,g=d+f+10,w=document.createElementNS("http://www.w3.org/2000/svg","svg");w.setAttribute("width",E+""),w.setAttribute("height",g+""),w.setAttribute("viewBox","0 0 ".concat(E," ").concat(g)),w.style.left=-m+"",w.style.top=-f+"",w.classList.add("dn-node-svg"),w.setAttribute("role","presentation"),w.setAttribute("focusable","false");var A=document.createElementNS("http://www.w3.org/2000/svg","path");A.setAttribute("d",h),A.classList.add("dn-node-path"),w.appendChild(A),p.appendChild(w)}return t.wrapper.appendChild(p),p},t.remove=function(e){var t=document.getElementById(e);t&&t.remove()},t.clearStructure=function(){a(t.wrapper.children).forEach(function(e){t.entryButton&&t.entryButton===e||t.remove(e.id)})},t};
@@ -1 +1 @@
1
- import{d as m}from"./chunk-GP5LYFFJ.mjs";var L=t=>{let e={},x=!1,n={cssClass:m.cssClass,dimensions:{...m.dimensions},semantics:{...m.semantics},parentSemantics:{...m.parentSemantics},existingElement:{...m.existingElement}};return t.defaults&&(n.cssClass=t.defaults.cssClass||n.cssClass,n.dimensions=t.defaults.dimensions?{...n.dimensions,...t.defaults.dimensions}:n.dimensions,n.semantics=t.defaults.semantics?{...n.semantics,...t.defaults.semantics}:n.semantics,n.parentSemantics=t.defaults.parentSemantics?{...n.parentSemantics,...t.defaults.parentSemantics}:n.parentSemantics,n.existingElement=t.defaults.existingElement?{...n.existingElement,...t.defaults.existingElement}:n.existingElement),e.initialize=()=>{if(x){console.error(`The renderer wrapper has already been initialized successfully, RenderingOptions.suffixId is: ${t.suffixId}. No further action was taken.`);return}if(t.root&&document.getElementById(t.root.id))e.root=document.getElementById(t.root.id);else{console.error("No root element found, cannot build: RenderingOptions.root.id must reference an existing DOM element in order to render children.");return}if(e.root.style.position="relative",e.root.classList.add("dn-root"),!t.suffixId){console.error("No suffix id found: options.suffixId must be specified.");return}return e.wrapper=document.createElement("div"),e.wrapper.id="dn-wrapper-"+t.suffixId,e.wrapper.classList.add("dn-wrapper"),e.wrapper.style.width=t.root&&t.root.width?t.root.width:"100%",t.root&&t.root.height&&(e.wrapper.style.height=t.root.height),t.entryButton&&t.entryButton.include&&(e.entryButton=document.createElement("button"),e.entryButton.id="dn-entry-button-"+t.suffixId,e.entryButton.classList.add("dn-entry-button"),e.entryButton.innerText="Enter navigation area",t.entryButton.callbacks&&t.entryButton.callbacks.click&&e.entryButton.addEventListener("click",t.entryButton.callbacks.click),t.entryButton.callbacks&&t.entryButton.callbacks.focus&&e.entryButton.addEventListener("focus",t.entryButton.callbacks.focus),e.wrapper.appendChild(e.entryButton)),e.root.appendChild(e.wrapper),t.exitElement&&t.exitElement.include&&(e.exitElement=document.createElement("div"),e.exitElement.id="dn-exit-"+t.suffixId,e.exitElement.classList.add("dn-exit-position"),e.exitElement.innerText="End of data structure.",e.exitElement.setAttribute("aria-label","End of data structure."),e.exitElement.setAttribute("role","note"),e.exitElement.setAttribute("tabindex","-1"),e.exitElement.style.display="none",e.exitElement.addEventListener("focus",r=>{e.exitElement.style.display="block",e.clearStructure(),t.exitElement.callbacks&&t.exitElement.callbacks.focus&&t.exitElement.callbacks.focus(r)}),e.exitElement.addEventListener("blur",r=>{e.exitElement.style.display="none",t.exitElement.callbacks&&t.exitElement.callbacks.blur&&t.exitElement.callbacks.blur(r)}),e.root.appendChild(e.exitElement)),x=!0,e.root},e.render=r=>{let o=r.renderId,u=t.elementData[o];if(!u){console.warn(`Render data not found with renderId: ${o}. Failed to render.`);return}if(!x){console.error("render() was called before initialize(), renderer must be initialized first.");return}let g=!1,w={},s=(a,c,l)=>{let d=u[a]||n[a],p=l&&g?w[c]:d[c],S=n[a][c];return typeof d=="function"?d(u,r.datum):typeof p=="function"?p(u,r.datum):p||S||(c?void 0:d)};g=s("existingElement","useForDimensions"),w=s("existingElement","dimensions");let B=parseFloat(s("dimensions","width",!0)||0),k=parseFloat(s("dimensions","height",!0)||0),b=parseFloat(s("dimensions","x",!0)||0),y=parseFloat(s("dimensions","y",!0)||0),i=document.createElement(s("parentSemantics","elementType")),E=s("parentSemantics","attributes");typeof E=="object"&&Object.keys(E).forEach(a=>{i.setAttribute(a,E[a])}),i.setAttribute("role",s("parentSemantics","role")),i.id=o,i.classList.add("dn-node"),i.classList.add(s("cssClass")),i.style.width=B+"px",i.style.height=k+"px",i.style.left=b+"px",i.style.top=y+"px",i.setAttribute("tabindex","-1");let f=document.createElement(s("semantics","elementType")),h=s("semantics","attributes");typeof h=="object"&&Object.keys(h).forEach(a=>{i.setAttribute(a,h[a])}),f.setAttribute("role",s("semantics","role")),f.classList.add("dn-node-text"),u.showText&&(f.innerText=u.semantics.label);let v=s("semantics","label");v||console.error("Accessibility error: a label must be supplied to every rendered element using semantics.label."),f.setAttribute("aria-label",v),i.appendChild(f);let A=s("dimensions","path");if(A){let a=B+b+10,c=k+y+10,l=document.createElementNS("http://www.w3.org/2000/svg","svg");l.setAttribute("width",a+""),l.setAttribute("height",c+""),l.setAttribute("viewBox",`0 0 ${a} ${c}`),l.style.left=-b+"",l.style.top=-y+"",l.classList.add("dn-node-svg"),l.setAttribute("role","presentation"),l.setAttribute("focusable","false");let d=document.createElementNS("http://www.w3.org/2000/svg","path");d.setAttribute("d",A),d.classList.add("dn-node-path"),l.appendChild(d),i.appendChild(l)}return e.wrapper.appendChild(i),i},e.remove=r=>{let o=document.getElementById(r);o&&o.remove()},e.clearStructure=()=>{[...e.wrapper.children].forEach(r=>{e.entryButton&&e.entryButton===r||e.remove(r.id)})},e};export{L as rendering};
1
+ import{d as m}from"./chunk-GP5LYFFJ.mjs";var L=t=>{let e={},x=!1,n={cssClass:m.cssClass,dimensions:{...m.dimensions},semantics:{...m.semantics},parentSemantics:{...m.parentSemantics},existingElement:{...m.existingElement}};return t.defaults&&(n.cssClass=t.defaults.cssClass||n.cssClass,n.dimensions=t.defaults.dimensions?{...n.dimensions,...t.defaults.dimensions}:n.dimensions,n.semantics=t.defaults.semantics?{...n.semantics,...t.defaults.semantics}:n.semantics,n.parentSemantics=t.defaults.parentSemantics?{...n.parentSemantics,...t.defaults.parentSemantics}:n.parentSemantics,n.existingElement=t.defaults.existingElement?{...n.existingElement,...t.defaults.existingElement}:n.existingElement),e.initialize=()=>{if(x){console.error(`The renderer wrapper has already been initialized successfully, RenderingOptions.suffixId is: ${t.suffixId}. No further action was taken.`);return}if(t.root&&document.getElementById(t.root.id))e.root=document.getElementById(t.root.id);else{console.error("No root element found, cannot build: RenderingOptions.root.id must reference an existing DOM element in order to render children.");return}if(e.root.style.position="relative",e.root.classList.add("dn-root"),!t.suffixId){console.error("No suffix id found: options.suffixId must be specified.");return}return e.wrapper=document.createElement("div"),e.wrapper.id="dn-wrapper-"+t.suffixId,e.wrapper.classList.add("dn-wrapper"),e.wrapper.style.width=t.root&&t.root.width?t.root.width:"100%",t.root&&t.root.height&&(e.wrapper.style.height=t.root.height),t.entryButton&&t.entryButton.include&&(e.entryButton=document.createElement("button"),e.entryButton.id="dn-entry-button-"+t.suffixId,e.entryButton.classList.add("dn-entry-button"),e.entryButton.innerText="Enter navigation area",t.entryButton.callbacks&&t.entryButton.callbacks.click&&e.entryButton.addEventListener("click",t.entryButton.callbacks.click),t.entryButton.callbacks&&t.entryButton.callbacks.focus&&e.entryButton.addEventListener("focus",t.entryButton.callbacks.focus),e.wrapper.appendChild(e.entryButton)),e.root.appendChild(e.wrapper),t.exitElement&&t.exitElement.include&&(e.exitElement=document.createElement("div"),e.exitElement.id="dn-exit-"+t.suffixId,e.exitElement.classList.add("dn-exit-position"),e.exitElement.innerText="End of data structure.",e.exitElement.setAttribute("aria-label","End of data structure."),e.exitElement.setAttribute("role","note"),e.exitElement.setAttribute("tabindex","-1"),e.exitElement.style.display="none",e.exitElement.addEventListener("focus",r=>{e.exitElement.style.display="block",e.clearStructure(),t.exitElement.callbacks&&t.exitElement.callbacks.focus&&t.exitElement.callbacks.focus(r)}),e.exitElement.addEventListener("blur",r=>{e.exitElement.style.display="none",t.exitElement.callbacks&&t.exitElement.callbacks.blur&&t.exitElement.callbacks.blur(r)}),e.root.appendChild(e.exitElement)),x=!0,e.root},e.render=r=>{let u=r.renderId,o=t.elementData[u];if(!o){console.warn(`Render data not found with renderId: ${u}. Failed to render.`);return}if(!x){console.error("render() was called before initialize(), renderer must be initialized first.");return}let g=!1,w={},s=(a,c,l)=>{let d=o[a]||n[a],p=l&&g?w[c]:d[c],S=n[a][c];return typeof d=="function"?d(o,r.datum):typeof p=="function"?p(o,r.datum):p||S||(c?void 0:d)};g=s("existingElement","useForDimensions"),w=s("existingElement","dimensions");let B=parseFloat(s("dimensions","width",!0)||0),k=parseFloat(s("dimensions","height",!0)||0),b=parseFloat(s("dimensions","x",!0)||0),y=parseFloat(s("dimensions","y",!0)||0),i=document.createElement(s("parentSemantics","elementType")),E=s("parentSemantics","attributes");typeof E=="object"&&Object.keys(E).forEach(a=>{i.setAttribute(a,E[a])}),i.setAttribute("role",s("parentSemantics","role")),i.id=u,i.classList.add("dn-node"),i.classList.add(s("cssClass")),i.style.width=B+"px",i.style.height=k+"px",i.style.left=b+"px",i.style.top=y+"px",i.setAttribute("tabindex","-1");let f=document.createElement(s("semantics","elementType")),h=s("semantics","attributes");typeof h=="object"&&Object.keys(h).forEach(a=>{i.setAttribute(a,h[a])}),f.setAttribute("role",s("semantics","role")),f.classList.add("dn-node-text"),o.showText&&(f.innerText=o.semantics.label);let v=s("semantics","label");v||console.error("Accessibility error: a label must be supplied to every rendered element using semantics.label."),f.setAttribute("aria-label",v),i.appendChild(f);let A=s("dimensions","path");if(A){let a=B+b+10,c=k+y+10,l=document.createElementNS("http://www.w3.org/2000/svg","svg");l.setAttribute("width",a+""),l.setAttribute("height",c+""),l.setAttribute("viewBox",`0 0 ${a} ${c}`),l.style.left=-b+"",l.style.top=-y+"",l.classList.add("dn-node-svg"),l.setAttribute("role","presentation"),l.setAttribute("focusable","false");let d=document.createElementNS("http://www.w3.org/2000/svg","path");d.setAttribute("d",A),d.classList.add("dn-node-path"),l.appendChild(d),i.appendChild(l)}return e.wrapper.appendChild(i),i},e.remove=r=>{let u=document.getElementById(r);u&&u.remove()},e.clearStructure=()=>{[...e.wrapper.children].forEach(r=>{e.entryButton&&e.entryButton===r||e.remove(r.id)})},e};export{L as default};
package/dist/structure.js CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var i=function(t,r){for(var n in r)e(t,n,{get:r[n],enumerable:!0})},a=function(i,a,o,u){var c=true,s=false,d=undefined;if(a&&typeof a=="object"||typeof a=="function")try{var g=function(){var r=f.value;!n.call(i,r)&&r!==o&&e(i,r,{get:function(){return a[r]},enumerable:!(u=t(a,r))||u.enumerable})};for(var l=r(a)[Symbol.iterator](),f;!(c=(f=l.next()).done);c=true)g()}catch(e){s=true;d=e}finally{try{if(!c&&l.return!=null){l.return()}}finally{if(s){throw d}}}return i};var o=function(t){return a(e({},"__esModule",{value:!0}),t)};var u={};i(u,{buildNodeStructure:function(){return l},buildNodeStructureFromVegaLite:function(){return g},structure:function(){return d}});module.exports=o(u);var c={right:{key:"ArrowRight",direction:"target"},left:{key:"ArrowLeft",direction:"source"},down:{key:"ArrowDown",direction:"target"},up:{key:"ArrowUp",direction:"source"},child:{key:"Enter",direction:"target"},parent:{key:"Backspace",direction:"source"},exit:{key:"Escape",direction:"target"},undo:{key:"Period",direction:"target"},legend:{key:"KeyL",direction:"target"}};var s=function(e,t){var r=Object.keys(e),n="";return r.forEach(function(r){n+="".concat(t.omitKeyNames?"":r+": ").concat(e[r],". ")}),n+=t.semanticLabel||"Data point.",n};var d=function(e){if(e.dataType==="vega-lite"||e.dataType==="vl"||e.dataType==="Vega-Lite")return g(e);console.warn("Apologies, we currently only have structure scaffolding for Vega-Lite, generic scaffolding coming soon!")},g=function(e){var t=c,r={},n={},i={},a=0,o=e.groupInclusionCriteria?e.groupInclusionCriteria:function(){return!0},u=e.itemInclusionCriteria?e.itemInclusionCriteria:function(){return!0},d=e.datumInclusionCriteria?e.datumInclusionCriteria:function(){return!0},g=e.vegaLiteView._renderer._origin,l=e.vegaLiteView._scenegraph.root.items[0].mark.items[0],f=function(e,t){if(e["data-navigator-id"])return e["data-navigator-id"];var r="dn-node-".concat(t,"-").concat(a);return a++,e["data-navigator-id"]=r,r},m=function(t){var i=r[t],a=i.index,o=i.level,u=i.parent,c=[],s=u.items[a-1];if(s){var d=f(s,o);if(r[d]){var g="".concat(d,"-").concat(i.id);c.push(g),n[g]||(n[g]={source:d,target:i.id,navigationRules:["left","right"]})}}var l=u.items[a+1];if(l){var m=f(l,o);if(r[m]){var v="".concat(i.id,"-").concat(m);c.push(v),n[v]||(n[v]={source:i.id,target:m,navigationRules:["left","right"]})}}if(o==="group"&&u.items[a].items){var y=(u.items[a].items[0].mark.items[0].items||u.items[a].items)[0],p=f(y,"item");if(r[p]){var h="".concat(i.id,"-").concat(p);c.push(h),n[h]||(n[h]={source:i.id,target:p,navigationRules:["parent","child"]})}}else if(o==="item"){var b=f(u,"group");if(r[b]){var k="".concat(b,"-").concat(i.id);c.push(k),n[k]||(n[k]={source:b,target:i.id,navigationRules:["parent","child"]})}}return e.exitFunction&&(c.push("any-exit"),n["any-exit"]||(n["any-exit"]={source:e.getCurrent,target:e.exitFunction,navigationRules:["exit"]})),c.push("any-undo"),n["any-undo"]||(n["any-undo"]={source:e.getCurrent,target:e.getPrevious,navigationRules:["undo"]}),c},v=function(t,n,a,o,u){var c=f(t,n),g="render-"+c,l=a||[0,0];r[c]={},r[c].d={},r[c].id=c,r[c].renderId=g,r[c].index=o,r[c].level=n,r[c].parent=u,i[g]={},i[g].renderId=g,i[g].dimensions={},i[g].dimensions.x=t.bounds.x1+l[0],i[g].dimensions.y=t.bounds.y1+l[1],i[g].dimensions.width=t.bounds.x2-t.bounds.x1,i[g].dimensions.height=t.bounds.y2-t.bounds.y1,i[g].cssClass="dn-vega-lite-node",t.datum&&Object.keys(t.datum).forEach(function(i){var a=t.datum[i];d(i,a,t.datum,n,e.vegaLiteSpec)&&(r[c].d[e.keyRenamingHash&&e.keyRenamingHash[i]?e.keyRenamingHash[i]:i]=a)}),i[g].semantics={},i[g].semantics.label=e.nodeDescriber?e.nodeDescriber(r[c].d,t,n):s(r[c].d)},y=0;return l.items.forEach(function(t){if(o(t,y,e.vegaLiteSpec)){v(t,"group",g,y,l);var r=0,n=t.items[0].mark.items[0].items?t.items[0].mark.items[0]:t;n.items.forEach(function(i){u(i,r,t,e.vegaLiteSpec)&&v(i,"item",g,r,n),r++})}y++}),Object.keys(r).forEach(function(e){r[e].edges=m(e)}),{nodes:r,edges:n,elementData:i,navigationRules:t}},l=function(e){return{}};0&&(module.exports={buildNodeStructure:buildNodeStructure,buildNodeStructureFromVegaLite:buildNodeStructureFromVegaLite,structure:structure});
1
+ var e=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var i=function(t,r){for(var n in r)e(t,n,{get:r[n],enumerable:!0})},a=function(i,a,o,u){var c=true,s=false,d=undefined;if(a&&typeof a=="object"||typeof a=="function")try{var g=function(){var r=f.value;!n.call(i,r)&&r!==o&&e(i,r,{get:function(){return a[r]},enumerable:!(u=t(a,r))||u.enumerable})};for(var l=r(a)[Symbol.iterator](),f;!(c=(f=l.next()).done);c=true)g()}catch(e){s=true;d=e}finally{try{if(!c&&l.return!=null){l.return()}}finally{if(s){throw d}}}return i};var o=function(t){return a(e({},"__esModule",{value:!0}),t)};var u={};i(u,{buildNodeStructure:function(){return l},buildNodeStructureFromVegaLite:function(){return g},default:function(){return d}});module.exports=o(u);var c={right:{key:"ArrowRight",direction:"target"},left:{key:"ArrowLeft",direction:"source"},down:{key:"ArrowDown",direction:"target"},up:{key:"ArrowUp",direction:"source"},child:{key:"Enter",direction:"target"},parent:{key:"Backspace",direction:"source"},exit:{key:"Escape",direction:"target"},undo:{key:"Period",direction:"target"},legend:{key:"KeyL",direction:"target"}};var s=function(e,t){var r=Object.keys(e),n="";return r.forEach(function(r){n+="".concat(t&&t.omitKeyNames?"":r+": ").concat(e[r],". ")}),n+=t&&t.semanticLabel||"Data point.",n};var d=function(e){if(e.dataType==="vega-lite"||e.dataType==="vl"||e.dataType==="Vega-Lite")return g(e);console.warn("Apologies, we currently only have structure scaffolding for Vega-Lite, generic scaffolding coming soon!")},g=function(e){var t=c,r={},n={},i={},a=0,o=e.groupInclusionCriteria?e.groupInclusionCriteria:function(){return!0},u=e.itemInclusionCriteria?e.itemInclusionCriteria:function(){return!0},d=e.datumInclusionCriteria?e.datumInclusionCriteria:function(){return!0},g=e.vegaLiteView._renderer._origin,l=e.vegaLiteView._scenegraph.root.items[0].mark.items[0],f=function(e,t){if(e["data-navigator-id"])return e["data-navigator-id"];var r="dn-node-".concat(t,"-").concat(a);return a++,e["data-navigator-id"]=r,r},m=function(t){var i=r[t],a=i.index,o=i.level,u=i.parent,c=[],s=u.items[a-1];if(s){var d=f(s,o);if(r[d]){var g="".concat(d,"-").concat(i.id);c.push(g),n[g]||(n[g]={source:d,target:i.id,navigationRules:["left","right"]})}}var l=u.items[a+1];if(l){var m=f(l,o);if(r[m]){var v="".concat(i.id,"-").concat(m);c.push(v),n[v]||(n[v]={source:i.id,target:m,navigationRules:["left","right"]})}}if(o==="group"&&u.items[a].items){var y=(u.items[a].items[0].mark.items[0].items||u.items[a].items)[0],p=f(y,"item");if(r[p]){var h="".concat(i.id,"-").concat(p);c.push(h),n[h]||(n[h]={source:i.id,target:p,navigationRules:["parent","child"]})}}else if(o==="item"){var b=f(u,"group");if(r[b]){var k="".concat(b,"-").concat(i.id);c.push(k),n[k]||(n[k]={source:b,target:i.id,navigationRules:["parent","child"]})}}return e.exitFunction&&(c.push("any-exit"),n["any-exit"]||(n["any-exit"]={source:e.getCurrent,target:e.exitFunction,navigationRules:["exit"]})),c.push("any-undo"),n["any-undo"]||(n["any-undo"]={source:e.getCurrent,target:e.getPrevious,navigationRules:["undo"]}),c},v=function(t,n,a,o,u){var c=f(t,n),g="render-"+c,l=a||[0,0];r[c]={},r[c].d={},r[c].id=c,r[c].renderId=g,r[c].index=o,r[c].level=n,r[c].parent=u,i[g]={},i[g].renderId=g,i[g].dimensions={},i[g].dimensions.x=t.bounds.x1+l[0],i[g].dimensions.y=t.bounds.y1+l[1],i[g].dimensions.width=t.bounds.x2-t.bounds.x1,i[g].dimensions.height=t.bounds.y2-t.bounds.y1,i[g].cssClass="dn-vega-lite-node",t.datum&&Object.keys(t.datum).forEach(function(i){var a=t.datum[i];d(i,a,t.datum,n,e.vegaLiteSpec)&&(r[c].d[e.keyRenamingHash&&e.keyRenamingHash[i]?e.keyRenamingHash[i]:i]=a)}),i[g].semantics={},i[g].semantics.label=e.nodeDescriber?e.nodeDescriber(r[c].d,t,n):s(r[c].d)},y=0;return l.items.forEach(function(t){if(o(t,y,e.vegaLiteSpec)){v(t,"group",g,y,l);var r=0,n=t.items[0].mark.items[0].items?t.items[0].mark.items[0]:t;n.items.forEach(function(i){u(i,r,t,e.vegaLiteSpec)&&v(i,"item",g,r,n),r++})}y++}),Object.keys(r).forEach(function(e){r[e].edges=m(e)}),{nodes:r,edges:n,elementData:i,navigationRules:t}},l=function(e){return{}};0&&(module.exports={buildNodeStructure:buildNodeStructure,buildNodeStructureFromVegaLite:buildNodeStructureFromVegaLite});
@@ -1 +1 @@
1
- import{a as R}from"./chunk-JJEPMSK4.mjs";import{c as C}from"./chunk-GP5LYFFJ.mjs";var j=t=>{if(t.dataType==="vega-lite"||t.dataType==="vl"||t.dataType==="Vega-Lite")return w(t);console.warn("Apologies, we currently only have structure scaffolding for Vega-Lite, generic scaffolding coming soon!")},w=t=>{let L=C,r={},o={},u={},y=0,$=t.groupInclusionCriteria?t.groupInclusionCriteria:()=>!0,E=t.itemInclusionCriteria?t.itemInclusionCriteria:()=>!0,S=t.datumInclusionCriteria?t.datumInclusionCriteria:()=>!0,b=t.vegaLiteView._renderer._origin,I=t.vegaLiteView._scenegraph.root.items[0].mark.items[0],m=(e,i)=>{if(e["data-navigator-id"])return e["data-navigator-id"];let c=`dn-node-${i}-${y}`;return y++,e["data-navigator-id"]=c,c},k=e=>{let i=r[e],c=i.index,g=i.level,l=i.parent,n=[],d=l.items[c-1];if(d){let s=m(d,g);if(r[s]){let a=`${s}-${i.id}`;n.push(a),o[a]||(o[a]={source:s,target:i.id,navigationRules:["left","right"]})}}let f=l.items[c+1];if(f){let s=m(f,g);if(r[s]){let a=`${i.id}-${s}`;n.push(a),o[a]||(o[a]={source:i.id,target:s,navigationRules:["left","right"]})}}if(g==="group"&&l.items[c].items){let a=(l.items[c].items[0].mark.items[0].items||l.items[c].items)[0],v=m(a,"item");if(r[v]){let x=`${i.id}-${v}`;n.push(x),o[x]||(o[x]={source:i.id,target:v,navigationRules:["parent","child"]})}}else if(g==="item"){let s=m(l,"group");if(r[s]){let a=`${s}-${i.id}`;n.push(a),o[a]||(o[a]={source:s,target:i.id,navigationRules:["parent","child"]})}}return t.exitFunction&&(n.push("any-exit"),o["any-exit"]||(o["any-exit"]={source:t.getCurrent,target:t.exitFunction,navigationRules:["exit"]})),n.push("any-undo"),o["any-undo"]||(o["any-undo"]={source:t.getCurrent,target:t.getPrevious,navigationRules:["undo"]}),n},p=(e,i,c,g,l)=>{let n=m(e,i),d="render-"+n,f=c||[0,0];r[n]={},r[n].d={},r[n].id=n,r[n].renderId=d,r[n].index=g,r[n].level=i,r[n].parent=l,u[d]={},u[d].renderId=d,u[d].dimensions={},u[d].dimensions.x=e.bounds.x1+f[0],u[d].dimensions.y=e.bounds.y1+f[1],u[d].dimensions.width=e.bounds.x2-e.bounds.x1,u[d].dimensions.height=e.bounds.y2-e.bounds.y1,u[d].cssClass="dn-vega-lite-node",e.datum&&Object.keys(e.datum).forEach(s=>{let a=e.datum[s];S(s,a,e.datum,i,t.vegaLiteSpec)&&(r[n].d[t.keyRenamingHash&&t.keyRenamingHash[s]?t.keyRenamingHash[s]:s]=a)}),u[d].semantics={},u[d].semantics.label=t.nodeDescriber?t.nodeDescriber(r[n].d,e,i):R(r[n].d)},h=0;return I.items.forEach(e=>{if($(e,h,t.vegaLiteSpec)){p(e,"group",b,h,I);let i=0,c=e.items[0].mark.items[0].items?e.items[0].mark.items[0]:e;c.items.forEach(g=>{E(g,i,e,t.vegaLiteSpec)&&p(g,"item",b,i,c),i++})}h++}),Object.keys(r).forEach(e=>{r[e].edges=k(e)}),{nodes:r,edges:o,elementData:u,navigationRules:L}},B=t=>({});export{B as buildNodeStructure,w as buildNodeStructureFromVegaLite,j as structure};
1
+ import{a as R}from"./chunk-KNRZ7RNY.mjs";import{c as C}from"./chunk-GP5LYFFJ.mjs";var j=t=>{if(t.dataType==="vega-lite"||t.dataType==="vl"||t.dataType==="Vega-Lite")return w(t);console.warn("Apologies, we currently only have structure scaffolding for Vega-Lite, generic scaffolding coming soon!")},w=t=>{let L=C,r={},u={},o={},y=0,$=t.groupInclusionCriteria?t.groupInclusionCriteria:()=>!0,E=t.itemInclusionCriteria?t.itemInclusionCriteria:()=>!0,S=t.datumInclusionCriteria?t.datumInclusionCriteria:()=>!0,b=t.vegaLiteView._renderer._origin,I=t.vegaLiteView._scenegraph.root.items[0].mark.items[0],m=(e,i)=>{if(e["data-navigator-id"])return e["data-navigator-id"];let c=`dn-node-${i}-${y}`;return y++,e["data-navigator-id"]=c,c},k=e=>{let i=r[e],c=i.index,g=i.level,l=i.parent,n=[],d=l.items[c-1];if(d){let s=m(d,g);if(r[s]){let a=`${s}-${i.id}`;n.push(a),u[a]||(u[a]={source:s,target:i.id,navigationRules:["left","right"]})}}let f=l.items[c+1];if(f){let s=m(f,g);if(r[s]){let a=`${i.id}-${s}`;n.push(a),u[a]||(u[a]={source:i.id,target:s,navigationRules:["left","right"]})}}if(g==="group"&&l.items[c].items){let a=(l.items[c].items[0].mark.items[0].items||l.items[c].items)[0],v=m(a,"item");if(r[v]){let x=`${i.id}-${v}`;n.push(x),u[x]||(u[x]={source:i.id,target:v,navigationRules:["parent","child"]})}}else if(g==="item"){let s=m(l,"group");if(r[s]){let a=`${s}-${i.id}`;n.push(a),u[a]||(u[a]={source:s,target:i.id,navigationRules:["parent","child"]})}}return t.exitFunction&&(n.push("any-exit"),u["any-exit"]||(u["any-exit"]={source:t.getCurrent,target:t.exitFunction,navigationRules:["exit"]})),n.push("any-undo"),u["any-undo"]||(u["any-undo"]={source:t.getCurrent,target:t.getPrevious,navigationRules:["undo"]}),n},p=(e,i,c,g,l)=>{let n=m(e,i),d="render-"+n,f=c||[0,0];r[n]={},r[n].d={},r[n].id=n,r[n].renderId=d,r[n].index=g,r[n].level=i,r[n].parent=l,o[d]={},o[d].renderId=d,o[d].dimensions={},o[d].dimensions.x=e.bounds.x1+f[0],o[d].dimensions.y=e.bounds.y1+f[1],o[d].dimensions.width=e.bounds.x2-e.bounds.x1,o[d].dimensions.height=e.bounds.y2-e.bounds.y1,o[d].cssClass="dn-vega-lite-node",e.datum&&Object.keys(e.datum).forEach(s=>{let a=e.datum[s];S(s,a,e.datum,i,t.vegaLiteSpec)&&(r[n].d[t.keyRenamingHash&&t.keyRenamingHash[s]?t.keyRenamingHash[s]:s]=a)}),o[d].semantics={},o[d].semantics.label=t.nodeDescriber?t.nodeDescriber(r[n].d,e,i):R(r[n].d)},h=0;return I.items.forEach(e=>{if($(e,h,t.vegaLiteSpec)){p(e,"group",b,h,I);let i=0,c=e.items[0].mark.items[0].items?e.items[0].mark.items[0]:e;c.items.forEach(g=>{E(g,i,e,t.vegaLiteSpec)&&p(g,"item",b,i,c),i++})}h++}),Object.keys(r).forEach(e=>{r[e].edges=k(e)}),{nodes:r,edges:u,elementData:o,navigationRules:L}},B=t=>({});export{B as buildNodeStructure,w as buildNodeStructureFromVegaLite,j as default};
package/dist/utilities.js CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var o=function(r,t){for(var n in t)e(r,n,{get:t[n],enumerable:!0})},a=function(o,a,u,c){var i=true,f=false,l=undefined;if(a&&typeof a=="object"||typeof a=="function")try{var v=function(){var t=y.value;!n.call(o,t)&&t!==u&&e(o,t,{get:function(){return a[t]},enumerable:!(c=r(a,t))||c.enumerable})};for(var b=t(a)[Symbol.iterator](),y;!(i=(y=b.next()).done);i=true)v()}catch(e){f=true;l=e}finally{try{if(!i&&b.return!=null){b.return()}}finally{if(f){throw l}}}return o};var u=function(r){return a(e({},"__esModule",{value:!0}),r)};var c={};o(c,{describeNode:function(){return i}});module.exports=u(c);var i=function(e,r){var t=Object.keys(e),n="";return t.forEach(function(t){n+="".concat(r.omitKeyNames?"":t+": ").concat(e[t],". ")}),n+=r.semanticLabel||"Data point.",n};0&&(module.exports={describeNode:describeNode});
1
+ var e=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var o=function(r,t){for(var n in t)e(r,n,{get:t[n],enumerable:!0})},a=function(o,a,u,c){var i=true,f=false,l=undefined;if(a&&typeof a=="object"||typeof a=="function")try{var v=function(){var t=y.value;!n.call(o,t)&&t!==u&&e(o,t,{get:function(){return a[t]},enumerable:!(c=r(a,t))||c.enumerable})};for(var b=t(a)[Symbol.iterator](),y;!(i=(y=b.next()).done);i=true)v()}catch(e){f=true;l=e}finally{try{if(!i&&b.return!=null){b.return()}}finally{if(f){throw l}}}return o};var u=function(r){return a(e({},"__esModule",{value:!0}),r)};var c={};o(c,{describeNode:function(){return i}});module.exports=u(c);var i=function(e,r){var t=Object.keys(e),n="";return t.forEach(function(t){n+="".concat(r&&r.omitKeyNames?"":t+": ").concat(e[t],". ")}),n+=r&&r.semanticLabel||"Data point.",n};0&&(module.exports={describeNode:describeNode});
@@ -1 +1 @@
1
- import{a}from"./chunk-JJEPMSK4.mjs";export{a as describeNode};
1
+ import{a}from"./chunk-KNRZ7RNY.mjs";export{a as describeNode};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "data-navigator",
3
3
  "author": "Frank Elavsky",
4
- "version": "0.9.0",
4
+ "version": "0.10.0",
5
5
  "main": "dist/index.jsm",
6
6
  "module": "dist/index",
7
7
  "types": "data-navigator.d.ts",
@@ -37,7 +37,7 @@
37
37
  "prettier-all-check": "prettier --config ./.prettierrc --ignore ./.prettierignore --debug-check \"**/*.{js,jsx,ts,tsx,html,jsx,json,css,scss,md}\"",
38
38
  "prettier-all": "prettier --config ./.prettierrc --ignore ./.prettierignore --write \"**/*.{js,jsx,ts,tsx,html,jsx,json,css,scss,md}\""
39
39
  },
40
- "dependencies": {
40
+ "devDependencies": {
41
41
  "@swc/core": "^1.3.75",
42
42
  "prettier": "^2.6.2",
43
43
  "source-map-loader": "^4.0.1",