data-navigator 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ var o=(e,t)=>{let c=Object.keys(e),r="";return c.forEach(a=>{r+=`${t&&t.omitKeyNames?"":a+": "}${e[a]}. `}),r+=t&&t.semanticLabel||"Data point.",r},s=e=>"_"+e.replace(/[^a-zA-Z0-9_-]+/g,"_");export{o as a,s as b};
package/dist/index.js CHANGED
@@ -317,6 +317,9 @@ var describeNode = function(d, descriptionOptions) {
317
317
  description += descriptionOptions && descriptionOptions.semanticLabel || "Data point.";
318
318
  return description;
319
319
  };
320
+ var createValidId = function(s) {
321
+ return "_" + s.replace(/[^a-zA-Z0-9_-]+/g, "_");
322
+ };
320
323
  // src/structure.ts
321
324
  var structure_default = function(options) {
322
325
  if (options.dataType === "vega-lite" || options.dataType === "vl" || options.dataType === "Vega-Lite") {
@@ -511,9 +514,6 @@ var buildNodeStructureFromVegaLite = function(options) {
511
514
  navigationRules: navigationRules
512
515
  };
513
516
  };
514
- var createValidId = function(s) {
515
- return "_" + s.replace(/[^a-zA-Z0-9_-]+/g, "_");
516
- };
517
517
  var addSimpleDataIDs = function(options) {
518
518
  var i = 0;
519
519
  var keyCounter = {};
@@ -546,7 +546,7 @@ var addSimpleDataIDs = function(options) {
546
546
  i++;
547
547
  });
548
548
  };
549
- var bulidNodes = function(options) {
549
+ var buildNodes = function(options) {
550
550
  var nodes = {};
551
551
  options.data.forEach(function(d) {
552
552
  if (!options.idKey) {
@@ -647,7 +647,7 @@ var scaffoldDimensions = function(options, nodes) {
647
647
  var targetDivision = null;
648
648
  if (dim.type === "categorical") {
649
649
  var _dim_divisionOptions;
650
- var divisionId = typeof ((_dim_divisionOptions = dim.divisionOptions) === null || _dim_divisionOptions === void 0 ? void 0 : _dim_divisionOptions.divisionNodeIds) === "function" ? dim.divisionOptions.divisionNodeIds(dim.dimensionKey, value, i) : dimension.nodeId + "_" + value;
650
+ var divisionId = typeof ((_dim_divisionOptions = dim.divisionOptions) === null || _dim_divisionOptions === void 0 ? void 0 : _dim_divisionOptions.divisionNodeIds) === "function" ? dim.divisionOptions.divisionNodeIds(dim.dimensionKey, value, i) : createValidId(dimension.nodeId + "_" + value);
651
651
  targetDivision = dimension.divisions[divisionId];
652
652
  if (!targetDivision) {
653
653
  var _dim_divisionOptions1, _dim_divisionOptions2, _dim_divisionOptions3;
@@ -1080,7 +1080,7 @@ var buildStructure = function(options) {
1080
1080
  if (options.addIds) {
1081
1081
  addSimpleDataIDs(options);
1082
1082
  }
1083
- var nodes = bulidNodes(options);
1083
+ var nodes = buildNodes(options);
1084
1084
  var dimensions = scaffoldDimensions(options, nodes);
1085
1085
  var edges = buildEdges(options, nodes, dimensions);
1086
1086
  var navigationRules = buildRules(options, edges, dimensions);
package/dist/index.mjs CHANGED
@@ -158,6 +158,9 @@ var describeNode = (d, descriptionOptions) => {
158
158
  description += descriptionOptions && descriptionOptions.semanticLabel || "Data point.";
159
159
  return description;
160
160
  };
161
+ var createValidId = (s) => {
162
+ return "_" + s.replace(/[^a-zA-Z0-9_-]+/g, "_");
163
+ };
161
164
 
162
165
  // src/structure.ts
163
166
  var structure_default = (options) => {
@@ -328,9 +331,6 @@ var buildNodeStructureFromVegaLite = (options) => {
328
331
  navigationRules
329
332
  };
330
333
  };
331
- var createValidId = (s) => {
332
- return "_" + s.replace(/[^a-zA-Z0-9_-]+/g, "_");
333
- };
334
334
  var addSimpleDataIDs = (options) => {
335
335
  let i = 0;
336
336
  let keyCounter = {};
@@ -363,7 +363,7 @@ var addSimpleDataIDs = (options) => {
363
363
  i++;
364
364
  });
365
365
  };
366
- var bulidNodes = (options) => {
366
+ var buildNodes = (options) => {
367
367
  let nodes = {};
368
368
  options.data.forEach((d) => {
369
369
  if (!options.idKey) {
@@ -462,7 +462,7 @@ var scaffoldDimensions = (options, nodes) => {
462
462
  let dimension = dimensions[dim.dimensionKey];
463
463
  let targetDivision = null;
464
464
  if (dim.type === "categorical") {
465
- let divisionId = typeof dim.divisionOptions?.divisionNodeIds === "function" ? dim.divisionOptions.divisionNodeIds(dim.dimensionKey, value, i) : dimension.nodeId + "_" + value;
465
+ let divisionId = typeof dim.divisionOptions?.divisionNodeIds === "function" ? dim.divisionOptions.divisionNodeIds(dim.dimensionKey, value, i) : createValidId(dimension.nodeId + "_" + value);
466
466
  targetDivision = dimension.divisions[divisionId];
467
467
  if (!targetDivision) {
468
468
  targetDivision = dimension.divisions[divisionId] = {
@@ -958,7 +958,7 @@ var buildStructure = (options) => {
958
958
  if (options.addIds) {
959
959
  addSimpleDataIDs(options);
960
960
  }
961
- let nodes = bulidNodes(options);
961
+ let nodes = buildNodes(options);
962
962
  let dimensions = scaffoldDimensions(options, nodes);
963
963
  let edges = buildEdges(options, nodes, dimensions);
964
964
  let navigationRules = buildRules(options, edges, dimensions);
@@ -2,9 +2,8 @@ import { StructureOptions, Structure, Nodes, Dimensions, Edges } from './data-na
2
2
  declare const _default: (options: StructureOptions) => Structure;
3
3
  export default _default;
4
4
  export declare const buildNodeStructureFromVegaLite: (options: any) => Structure;
5
- export declare const createValidId: (s: any) => string;
6
5
  export declare const addSimpleDataIDs: (options: StructureOptions) => void;
7
- export declare const bulidNodes: (options: StructureOptions) => Nodes;
6
+ export declare const buildNodes: (options: StructureOptions) => Nodes;
8
7
  export declare const scaffoldDimensions: (options: StructureOptions, nodes: Nodes) => Dimensions;
9
8
  export declare const buildEdges: (options: StructureOptions, nodes: Nodes, dimensions?: Dimensions) => Edges;
10
9
  export declare const buildRules: (options: StructureOptions, edges: Edges, dimensions: Dimensions) => import("./data-navigator").NavigationRules;
@@ -1,2 +1,3 @@
1
1
  import { DatumObject, DescriptionOptions } from './data-navigator';
2
2
  export declare const describeNode: (d: DatumObject, descriptionOptions?: DescriptionOptions) => string;
3
+ export declare const createValidId: (s: string) => string;
package/dist/structure.js CHANGED
@@ -1 +1 @@
1
- function e(e,i){if(i==null||i>e.length)i=e.length;for(var n=0,t=new Array(i);n<i;n++)t[n]=e[n];return t}function i(i){if(Array.isArray(i))return e(i)}function n(e,i,n){if(i in e){Object.defineProperty(e,i,{value:n,enumerable:true,configurable:true,writable:true})}else{e[i]=n}return e}function t(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function o(){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 r(e){for(var i=1;i<arguments.length;i++){var t=arguments[i]!=null?arguments[i]:{};var o=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){o=o.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}o.forEach(function(i){n(e,i,t[i])})}return e}function s(e,i){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(i){t=t.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})}n.push.apply(n,t)}return n}function a(e,i){i=i!=null?i:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(i))}else{s(Object(i)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))})}return e}function d(e){return i(e)||t(e)||c(e)||o()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function c(i,n){if(!i)return;if(typeof i==="string")return e(i,n);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor)t=i.constructor.name;if(t==="Map"||t==="Set")return Array.from(t);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return e(i,n)}var l=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var y=function(e,i){for(var n in i)l(e,n,{get:i[n],enumerable:!0})},p=function(e,i,n,t){var o=true,r=false,s=undefined;if(i&&typeof i=="object"||typeof i=="function")try{var a=function(){var o=u.value;!g.call(e,o)&&o!==n&&l(e,o,{get:function(){return i[o]},enumerable:!(t=v(i,o))||t.enumerable})};for(var d=f(i)[Symbol.iterator](),u;!(o=(u=d.next()).done);o=true)a()}catch(e){r=true;s=e}finally{try{if(!o&&d.return!=null){d.return()}}finally{if(r){throw s}}}return e};var m=function(e){return p(l({},"__esModule",{value:!0}),e)};var h={};y(h,{addSimpleDataIDs:function(){return S},buildEdges:function(){return P},buildNodeStructureFromVegaLite:function(){return w},buildRules:function(){return L},buildStructure:function(){return F},bulidNodes:function(){return x},createValidId:function(){return _},default:function(){return j},scaffoldDimensions:function(){return D}});module.exports=m(h);var b={Escape:!0,Enter:!0,Backspace:!0,ArrowLeft:!0,ArrowRight:!0,ArrowUp:!0,ArrowDown:!0};var O=["KeyW","KeyJ","LeftBracket","RightBracket","Slash","Backslash"];var k=[["LeftBracket","RightBracket"],["Slash","Backslash"]],E={left:{key:"ArrowLeft",direction:"source"},right:{key:"ArrowRight",direction:"target"},up:{key:"ArrowUp",direction:"source"},down:{key:"ArrowDown",direction:"target"},child:{key:"Enter",direction:"target"},parent:{key:"Backspace",direction:"source"},backward:{key:"Comma",direction:"source"},forward:{key:"Period",direction:"target"},previous:{key:"Semicolon",direction:"source"},next:{key:"Quote",direction:"target"},exit:{key:"Escape",direction:"target"},help:{key:"KeyY",direction:"target"},undo:{key:"KeyZ",direction:"target"}},K=[["left","right"],["up","down"],["backward","forward"],["previous","next"]];var I={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 R=function(e,i){var n=Object.keys(e),t="";return n.forEach(function(n){t+="".concat(i&&i.omitKeyNames?"":n+": ").concat(e[n],". ")}),t+=i&&i.semanticLabel||"Data point.",t};var j=function(e){return e.dataType==="vega-lite"||e.dataType==="vl"||e.dataType==="Vega-Lite"?w(e):F(e)},w=function(e){var i=I,n={},t={},o={},r=0,s=e.groupInclusionCriteria?e.groupInclusionCriteria:function(){return!0},a=e.itemInclusionCriteria?e.itemInclusionCriteria:function(){return!0},d=e.datumInclusionCriteria?e.datumInclusionCriteria:function(){return!0},u=e.vegaLiteView._renderer._origin,c=e.vegaLiteView._scenegraph.root.items[0].mark.items[0],l=function(e,i){if(e["data-navigator-id"])return e["data-navigator-id"];var n="dn-node-".concat(i,"-").concat(r);return r++,e["data-navigator-id"]=n,n},v=function(i){var o=n[i],r=o.index,s=o.level,a=o.parent,d=[],u=a.items[r-1];if(u){var c=l(u,s);if(n[c]){var v="".concat(c,"-").concat(o.id);d.push(v),t[v]||(t[v]={source:c,target:o.id,navigationRules:["left","right"]})}}var f=a.items[r+1];if(f){var g=l(f,s);if(n[g]){var y="".concat(o.id,"-").concat(g);d.push(y),t[y]||(t[y]={source:o.id,target:g,navigationRules:["left","right"]})}}if(s==="group"&&a.items[r].items){var p=(a.items[r].items[0].mark.items[0].items||a.items[r].items)[0],m=l(p,"item");if(n[m]){var h="".concat(o.id,"-").concat(m);d.push(h),t[h]||(t[h]={source:o.id,target:m,navigationRules:["parent","child"]})}}else if(s==="item"){var b=l(a,"group");if(n[b]){var O="".concat(b,"-").concat(o.id);d.push(O),t[O]||(t[O]={source:b,target:o.id,navigationRules:["parent","child"]})}}return e.exitFunction&&(d.push("any-exit"),t["any-exit"]||(t["any-exit"]={source:e.getCurrent,target:e.exitFunction,navigationRules:["exit"]})),d.push("any-undo"),t["any-undo"]||(t["any-undo"]={source:e.getCurrent,target:e.getPrevious,navigationRules:["undo"]}),d},f=function(i,t,r,s,a){var u=l(i,t),c="render-"+u,v=r||[0,0];n[u]={},n[u].d={},n[u].id=u,n[u].renderId=c,n[u].index=s,n[u].level=t,n[u].parent=a,o[c]={},o[c].renderId=c,o[c].spatialProperties={},o[c].spatialProperties.x=i.bounds.x1+v[0],o[c].spatialProperties.y=i.bounds.y1+v[1],o[c].spatialProperties.width=i.bounds.x2-i.bounds.x1,o[c].spatialProperties.height=i.bounds.y2-i.bounds.y1,o[c].cssClass="dn-vega-lite-node",i.datum&&Object.keys(i.datum).forEach(function(o){var r=i.datum[o];d(o,r,i.datum,t,e.vegaLiteSpec)&&(n[u].d[e.keyRenamingHash&&e.keyRenamingHash[o]?e.keyRenamingHash[o]:o]=r)}),o[c].semantics={},o[c].semantics.label=e.nodeDescriber?e.nodeDescriber(n[u].d,i,t):R(n[u].d)},g=0;return c.items.forEach(function(i){if(s(i,g,e.vegaLiteSpec)){f(i,"group",u,g,c);var n=0,t=i.items[0].mark.items[0].items?i.items[0].mark.items[0]:i;t.items.forEach(function(o){a(o,n,i,e.vegaLiteSpec)&&f(o,"item",u,n,t),n++})}g++}),Object.keys(n).forEach(function(e){n[e].edges=v(e)}),{nodes:n,edges:t,elementData:o,navigationRules:i}},_=function(e){return"_"+e.replace(/[^a-zA-Z0-9_-]+/g,"_")},S=function(e){var i=0,n={};e.data.forEach(function(t){var o=typeof e.idKey=="function"?e.idKey(t):e.idKey;t[o]="_"+i,e.keysForIdGeneration&&e.keysForIdGeneration.forEach(function(e){e in t&&(typeof t[e]=="string"?(n[e]||(n[e]=0),n[t[e]]||(n[t[e]]=0),t[o]+="_"+e+n[e]+"_"+t[e]+n[t[e]],n[e]++,n[t[e]]++):(n[e]||(n[e]=0),t[o]+="_"+e+n[e],n[e]++))}),i++})},x=function(e){var i={};return e.data.forEach(function(n){e.idKey||console.error("Building nodes. A key string must be supplied in options.idKey to specify the id keys of every node.");var t=typeof e.idKey=="function"?e.idKey(n):e.idKey,o=n[t];if(!o){console.error("Building nodes. Each datum in options.data must contain an id. When matching the id key string ".concat(t,", this datum has no id: ").concat(JSON.stringify(n),"."));return}if(i[o]){console.error("Building nodes. Each id for data in options.data must be unique. This id is not unique: ".concat(o,"."));return}else{var r=typeof e.renderIdKey=="function"?e.renderIdKey(n):e.renderIdKey;i[o]={id:o,edges:[],renderId:r?n[r]||"":n.renderIdKey||"",data:n}}}),i},D=function(e,i){var n,t;var o={};if((t=e.dimensions)===null||t===void 0?void 0:(n=t.parentOptions)===null||n===void 0?void 0:n.addLevel0){var s=e.dimensions.parentOptions.addLevel0;i[s.id]=a(r({},s),{dimensionLevel:0})}var c=d(K),l=function(e,i){var n=i.numericalExtents[0],t=i.numericalExtents[1];i.numericalExtents[0]=n<e?n:e,i.numericalExtents[1]=t>e?t:e};return e.data.forEach(function(n){var t=e.dimensions.values||[],s=0;t.forEach(function(t){if(!t.dimensionKey){console.error("Building nodes, parsing dimensions. Each dimension in options.dimensions must contain a dimensionKey. This dimension has no key: ".concat(JSON.stringify(t),"."));return}if(t.dimensionKey in n){var a;var v=n[t.dimensionKey],f=typeof((a=t.operations)===null||a===void 0?void 0:a.filterFunction)=="function"?t.operations.filterFunction(n,t):!0;if(v!==void 0&&f){if(t.type||(t.type=(typeof v==="undefined"?"undefined":u(v))=="bigint"||typeof v=="number"?"numerical":"categorical"),!o[t.dimensionKey]){var g;var y=typeof t.nodeId=="function"?t.nodeId(t,e.data):t.nodeId||_(t.dimensionKey),p=typeof t.renderId=="function"?t.renderId(t,e.data):t.renderId||y;o[t.dimensionKey]={dimensionKey:t.dimensionKey,nodeId:y,divisions:{},numericalExtents:[1/0,-1/0],type:t.type,sortFunction:((g=t.operations)===null||g===void 0?void 0:g.sortFunction)||void 0,behavior:t.behavior||{extents:"circular"},navigationRules:t.navigationRules||{sibling_sibling:c.length?d(c.shift()):["previous_"+t.dimensionKey,"next_"+t.dimensionKey],parent_child:["parent_"+t.dimensionKey,"child"]}},i[y]={id:y,renderId:p,derivedNode:t.dimensionKey,edges:[],dimensionLevel:1,data:o[t.dimensionKey],renderingStrategy:t.renderingStrategy||"singleSquare"}}var m=o[t.dimensionKey],h=null;if(t.type==="categorical"){var b;var O=typeof((b=t.divisionOptions)===null||b===void 0?void 0:b.divisionNodeIds)=="function"?t.divisionOptions.divisionNodeIds(t.dimensionKey,v,s):m.nodeId+"_"+v;if(h=m.divisions[O],!h){var k,E,K;h=m.divisions[O]={id:O,sortFunction:((k=t.divisionOptions)===null||k===void 0?void 0:k.sortFunction)||void 0,values:{}};var I=typeof((E=t.divisionOptions)===null||E===void 0?void 0:E.divisionRenderIds)=="function"?t.divisionOptions.divisionRenderIds(t.dimensionKey,v,s):O;i[O]={id:O,renderId:I,derivedNode:t.dimensionKey,edges:[],dimensionLevel:2,data:r({},h),renderingStrategy:((K=t.divisionOptions)===null||K===void 0?void 0:K.renderingStrategy)||"singleSquare"},i[O].data[t.dimensionKey]=v}}else{var R;h=m.divisions[m.nodeId],h||(h=m.divisions[m.nodeId]={id:m.nodeId,sortFunction:((R=t.divisionOptions)===null||R===void 0?void 0:R.sortFunction)||void 0,values:{}}),t.operations||(t.operations={});var j=t.operations.createNumericalSubdivisions;m.subdivisions=typeof j=="number"&&j<1?1:j||1,j!==1&&(m.divisionOptions||(m.divisionOptions=t.divisionOptions),l(v,m))}var w=typeof e.idKey=="function"?e.idKey(n):e.idKey;h.values[n[w]]=n}}s++})}),Object.keys(o).forEach(function(e){var n=o[e],t=n.divisions;if(n.type==="numerical"){t[n.nodeId].values=Object.fromEntries(Object.entries(t[n.nodeId].values).sort(function(i,t){return typeof n.sortFunction=="function"?n.sortFunction(i[1],t[1],n):i[1][e]-t[1][e]}));var r=t[n.nodeId].values;if(n.numericalExtents[0]!==1/0&&n.subdivisions!==1){var s=Object.keys(r),a=typeof n.subdivisions=="function"?n.subdivisions(e,r):n.subdivisions,d=(n.numericalExtents[1]-n.numericalExtents[0])/a,u=n.numericalExtents[0]+d,c=0,l=0;for(u=n.numericalExtents[0]+d;u<=n.numericalExtents[1];u+=d){var v,f,g,y;var p=typeof((v=n.divisionOptions)===null||v===void 0?void 0:v.divisionNodeIds)=="function"?n.divisionOptions.divisionNodeIds(e,u,u):n.nodeId+"_"+u;n.divisions[p]={id:p,sortFunction:((f=n.divisionOptions)===null||f===void 0?void 0:f.sortFunction)||void 0,values:{}};var m=typeof((g=n.divisionOptions)===null||g===void 0?void 0:g.divisionRenderIds)=="function"?n.divisionOptions.divisionRenderIds(e,u,u):p;i[p]={id:p,renderId:m,derivedNode:e,edges:[],data:n.divisions[p],dimensionLevel:2,renderingStrategy:((y=n.divisionOptions)===null||y===void 0?void 0:y.renderingStrategy)||"singleSquare"};var h=!1;for(;!h&&l<s.length;){var b=r[s[l]];b[e]<=u?n.divisions[p].values[b.id]=b:(u+=d,h=!0),l++}c++}delete t[e]}}else typeof n.sortFunction=="function"&&(n.divisions=Object.fromEntries(Object.entries(t).sort(function(e,i){return n.sortFunction(e[1],i[1],n)})));Object.keys(n.divisions).forEach(function(e){var i=n.divisions[e];typeof i.sortFunction=="function"&&(i.values=Object.fromEntries(Object.entries(i.values).sort(function(e,t){return n.sortFunction(e[1],t[1],i)})))})}),e.dimensions.adjustDimensions&&(o=e.dimensions.adjustDimensions(o)),o},P=function(e,i,n){var t={},o=function(e,n){i[e].edges.indexOf(n)===-1&&i[e].edges.push(n)},r=function(i,n,r,s){var a="".concat(i,"-").concat(n),u=e.useDirectedEdges?"".concat(n,"-").concat(a):a,c=!s||s==="source",l=!s||s==="target",v=function(e){var o;t[e]?(o=t[e].navigationRules).push.apply(o,d(r||[])):t[e]={source:i,target:n,navigationRules:r?d(r):[]}};v(a),e.useDirectedEdges&&l&&v(u),c&&o(i,a),l&&o(n,u)};if(n&&Object.keys(n).length){var s,a,u,c,l,v,f,g,y,p;var m=Object.keys(n),h=(u=e.dimensions)===null||u===void 0?void 0:(a=u.parentOptions)===null||a===void 0?void 0:(s=a.level1Options)===null||s===void 0?void 0:s.order,b=h||m,O=0,k=((c=e.dimensions)===null||c===void 0?void 0:c.parentOptions)||{},E=((v=k.level1Options)===null||v===void 0?void 0:(l=v.behavior)===null||l===void 0?void 0:l.extents)||"terminal",K=k.addLevel0,I=K?((g=k.level1Options)===null||g===void 0?void 0:(f=g.navigationRules)===null||f===void 0?void 0:f.parent_child)||["parent","child"]:[],R=((p=k.level1Options)===null||p===void 0?void 0:(y=p.navigationRules)===null||y===void 0?void 0:y.sibling_sibling)||["left","right"],j=typeof b[0]=="string"?h?i[b[0]]:i[n[b[0]].nodeId]:b[0];K&&r(K.id,j.id,I,"source"),b.forEach(function(t){var o=typeof t=="string"?h?i[t]:i[n[t].nodeId]:t;if(o===t&&!i[o.id]&&(i[o.id]=o),K&&(e.useDirectedEdges?r(o.id,K.id,I,"source"):r(K.id,o.id,I,"target")),O===b.length-1&&E==="circular")r(o.id,j.id,R);else if(O===b.length-1&&E==="bridgedCustom")r(o.id,k.level1Options.behavior.customBridgePost,R);else if(O<b.length-1){var s=typeof b[O+1]=="string"?h?i[b[O+1]]:i[n[b[O+1]].nodeId]:b[O+1];r(o.id,s.id,R)}!O&&E==="bridgedCustom"&&r(k.level1Options.behavior.customBridgePost,o.id,R),O++}),m.forEach(function(i){var t;var o=n[i],s=((t=o.behavior)===null||t===void 0?void 0:t.extents)||"circular";o.divisions||console.error("Parsing dimensions. The dimension using the key ".concat(i," is missing the divisions property. dimension.divisions should be supplied. ").concat(JSON.stringify(o),"."));var a=Object.keys(o.divisions),d=o.divisions[a[0]];if(a.length!==1)r(o.nodeId,d.id,o.navigationRules.parent_child,"source");else{var u=Object.keys(d.values),c=typeof e.idKey=="function"?e.idKey(d.values[u[0]]):e.idKey;r(o.nodeId,d.values[u[0]][c],o.navigationRules.parent_child,"source")}var l=0;a.forEach(function(i){var n=o.divisions[i];l===a.length-1&&(s==="circular"||s==="bridgedCousins"||s==="bridgedCustom")?r(n.id,o.divisions[a[0]].id,o.navigationRules.sibling_sibling):l<a.length-1&&r(n.id,o.divisions[a[l+1]].id,o.navigationRules.sibling_sibling);var t=Object.keys(n.values);e.useDirectedEdges?r(n.id,o.nodeId,o.navigationRules.parent_child,"source"):r(o.nodeId,n.id,o.navigationRules.parent_child,"target");var d=typeof e.idKey=="function"?e.idKey(n.values[t[0]]):e.idKey;r(n.id,n.values[t[0]][d],o.navigationRules.parent_child,"source");var u=0;t.length>1&&t.forEach(function(i){var d=n.values[i],c=typeof e.idKey=="function"?e.idKey(d):e.idKey,v=a.length!==1?n.id:o.nodeId;if(e.useDirectedEdges?r(d[c],v,o.navigationRules.parent_child,"source"):r(v,d[c],o.navigationRules.parent_child,"target"),u===t.length-1&&s==="circular"){var f=typeof e.idKey=="function"?e.idKey(n.values[t[0]]):e.idKey;r(d[c],n.values[t[0]][f],o.navigationRules.sibling_sibling)}else if(u===t.length-1&&s==="bridgedCousins")if(l!==a.length-1){var g=typeof e.idKey=="function"?e.idKey(o.divisions[a[l+1]].values[t[0]]):e.idKey;r(d[c],o.divisions[a[l+1]].values[t[0]][g],o.navigationRules.sibling_sibling)}else{var y=typeof e.idKey=="function"?e.idKey(o.divisions[a[0]].values[t[0]]):e.idKey;r(d[c],o.divisions[a[0]].values[t[0]][y],o.navigationRules.sibling_sibling)}else if(u===t.length-1&&s==="bridgedCustom")r(d[c],o.behavior.customBridgePost,o.navigationRules.sibling_sibling);else if(u<t.length-1){var p=typeof e.idKey=="function"?e.idKey(n.values[t[u+1]]):e.idKey;r(d[c],n.values[t[u+1]][p],o.navigationRules.sibling_sibling)}if(!u&&s==="bridgedCousins")if(l!==0){var m=typeof e.idKey=="function"?e.idKey(o.divisions[a[l-1]].values[t[t.length-1]]):e.idKey;r(o.divisions[a[l-1]].values[t[t.length-1]][m],d[c],o.navigationRules.sibling_sibling)}else{var h=typeof e.idKey=="function"?e.idKey(o.divisions[a[a.length-1]].values[t[t.length-1]]):e.idKey;r(o.divisions[a[a.length-1]].values[t[t.length-1]][h],d[c],o.navigationRules.sibling_sibling)}else!u&&s==="bridgedCustom"&&r(o.behavior.customBridgePrevious,d[c],o.navigationRules.sibling_sibling);u++}),l++})})}return Object.keys(i).forEach(function(n){var o;var r=i[n];((o=e.genericEdges)===null||o===void 0?void 0:o.length)&&e.genericEdges.forEach(function(e){t[e.edgeId]||(t[e.edgeId]=e.edge),(!e.conditional||e.conditional&&e.conditional(r,e))&&r.edges.push(e.edgeId)})}),t},L=function(e,i,n){var t=e.navigationRules;if(!t){var o=Object.keys(n||{});o.length>6&&console.error("Building navigationRules. Dimension count is too high to automatically generate key commands. It is recommend you reduce your dimensions to 6 or fewer for end-user experience. If not, you must provide your own navigation rules in options.navigationRules. Details: Count is ".concat(o.length,". Dimensions counted: ").concat(o.join(", "),"."));var s={},a={},u={},c=d(k),l=d(O),v=function(i,n){var t=i&&n,o=!1,v=!1;if((s[i]||a[i])&&(a[i]=r({},s[i]),o=!0),n&&(s[n]||a[n])&&(a[n]=r({},s[n]),v=!0),t&&!o&&!v){c.length||console.error("Building navigationRules. Dimension count is too high to automatically generate key commands, we have run out of keyboard key pairs to assign. You must either provide your own navigation rules in options.navigationRules, provide rules when generating dimensions, or reduce dimension count.");var f=d(c.shift());l.splice(l.indexOf(f[0]),1),l.splice(l.indexOf(f[1]),1),a[i]={direction:e.useDirectedEdges?"target":"source",key:f[0]},a[n]={direction:"target",key:f[1]}}else{if(!a[i]&&l.length){var g=l.shift(),y=[];c.forEach(function(e){g!==e[0]&&g!==e[1]&&y.push(e)}),c=y,a[i]={direction:e.useDirectedEdges?"target":"source",key:g}}if(n&&!a[n]&&l.length){var p=l.shift(),m=[];c.forEach(function(e){p!==e[0]&&p!==e[1]&&m.push(e)}),c=m,a[n]={direction:"target",key:p}}l.length||(a[i]||(u[i]=i),n&&!a[n]&&(u[n]=n))}};if(Object.keys(E).forEach(function(i){var n=r({},E[i]);e.useDirectedEdges&&(n.direction="target"),s[i]=n}),o.length){var f,g;if((g=e.dimensions)===null||g===void 0?void 0:(f=g.parentOptions)===null||f===void 0?void 0:f.addLevel0){var y,p;var m=((p=e.dimensions.parentOptions.level1Options)===null||p===void 0?void 0:(y=p.navigationRules)===null||y===void 0?void 0:y.parent_child)||["parent","child"];v(m[0],m[1])}o.forEach(function(e){var i=n[e].navigationRules.parent_child,t=n[e].navigationRules.sibling_sibling;v(i[0],i[1]),v(t[0],t[1])})}if(Object.keys(i).forEach(function(e){i[e].navigationRules.forEach(function(e){a[e]||v(e)})}),Object.keys(u).length){var h={};Object.keys(a).forEach(function(e){h[a[e].key]=a[e].key}),Object.keys(s).forEach(function(e){!h[s[e].key]&&!b[s[e].key]&&l.push(s[e].key)});var K=r({},u);u={},Object.keys(K).forEach(function(e){v(e)}),Object.keys(u).length&&console.error("Building navigationRules. There are no more keys left to assign automatically. Recommended fixes: use fewer dimensions, use fewer GenericEdges, or build your own navigationRules. Rules remaining without keyboard keys: ".concat(Object.keys(u).join(", "),"."))}t=a}return t},F=function(e){e.addIds&&S(e);var i=x(e),n=D(e,i),t=P(e,i,n),o=L(e,t,n);return{nodes:i,edges:t,dimensions:n,navigationRules:o}};0&&(module.exports={addSimpleDataIDs:addSimpleDataIDs,buildEdges:buildEdges,buildNodeStructureFromVegaLite:buildNodeStructureFromVegaLite,buildRules:buildRules,buildStructure:buildStructure,bulidNodes:bulidNodes,createValidId:createValidId,scaffoldDimensions:scaffoldDimensions});
1
+ function e(e,i){if(i==null||i>e.length)i=e.length;for(var n=0,t=new Array(i);n<i;n++)t[n]=e[n];return t}function i(i){if(Array.isArray(i))return e(i)}function n(e,i,n){if(i in e){Object.defineProperty(e,i,{value:n,enumerable:true,configurable:true,writable:true})}else{e[i]=n}return e}function t(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function o(){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 r(e){for(var i=1;i<arguments.length;i++){var t=arguments[i]!=null?arguments[i]:{};var o=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){o=o.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}o.forEach(function(i){n(e,i,t[i])})}return e}function s(e,i){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(i){t=t.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})}n.push.apply(n,t)}return n}function a(e,i){i=i!=null?i:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(i))}else{s(Object(i)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))})}return e}function d(e){return i(e)||t(e)||c(e)||o()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function c(i,n){if(!i)return;if(typeof i==="string")return e(i,n);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor)t=i.constructor.name;if(t==="Map"||t==="Set")return Array.from(t);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return e(i,n)}var l=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var y=function(e,i){for(var n in i)l(e,n,{get:i[n],enumerable:!0})},p=function(e,i,n,t){var o=true,r=false,s=undefined;if(i&&typeof i=="object"||typeof i=="function")try{var a=function(){var o=u.value;!g.call(e,o)&&o!==n&&l(e,o,{get:function(){return i[o]},enumerable:!(t=v(i,o))||t.enumerable})};for(var d=f(i)[Symbol.iterator](),u;!(o=(u=d.next()).done);o=true)a()}catch(e){r=true;s=e}finally{try{if(!o&&d.return!=null){d.return()}}finally{if(r){throw s}}}return e};var m=function(e){return p(l({},"__esModule",{value:!0}),e)};var h={};y(h,{addSimpleDataIDs:function(){return S},buildEdges:function(){return P},buildNodeStructureFromVegaLite:function(){return _},buildNodes:function(){return x},buildRules:function(){return L},buildStructure:function(){return F},default:function(){return w},scaffoldDimensions:function(){return D}});module.exports=m(h);var b={Escape:!0,Enter:!0,Backspace:!0,ArrowLeft:!0,ArrowRight:!0,ArrowUp:!0,ArrowDown:!0};var O=["KeyW","KeyJ","LeftBracket","RightBracket","Slash","Backslash"];var k=[["LeftBracket","RightBracket"],["Slash","Backslash"]],E={left:{key:"ArrowLeft",direction:"source"},right:{key:"ArrowRight",direction:"target"},up:{key:"ArrowUp",direction:"source"},down:{key:"ArrowDown",direction:"target"},child:{key:"Enter",direction:"target"},parent:{key:"Backspace",direction:"source"},backward:{key:"Comma",direction:"source"},forward:{key:"Period",direction:"target"},previous:{key:"Semicolon",direction:"source"},next:{key:"Quote",direction:"target"},exit:{key:"Escape",direction:"target"},help:{key:"KeyY",direction:"target"},undo:{key:"KeyZ",direction:"target"}},K=[["left","right"],["up","down"],["backward","forward"],["previous","next"]];var I={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 R=function(e,i){var n=Object.keys(e),t="";return n.forEach(function(n){t+="".concat(i&&i.omitKeyNames?"":n+": ").concat(e[n],". ")}),t+=i&&i.semanticLabel||"Data point.",t},j=function(e){return"_"+e.replace(/[^a-zA-Z0-9_-]+/g,"_")};var w=function(e){return e.dataType==="vega-lite"||e.dataType==="vl"||e.dataType==="Vega-Lite"?_(e):F(e)},_=function(e){var i=I,n={},t={},o={},r=0,s=e.groupInclusionCriteria?e.groupInclusionCriteria:function(){return!0},a=e.itemInclusionCriteria?e.itemInclusionCriteria:function(){return!0},d=e.datumInclusionCriteria?e.datumInclusionCriteria:function(){return!0},u=e.vegaLiteView._renderer._origin,c=e.vegaLiteView._scenegraph.root.items[0].mark.items[0],l=function(e,i){if(e["data-navigator-id"])return e["data-navigator-id"];var n="dn-node-".concat(i,"-").concat(r);return r++,e["data-navigator-id"]=n,n},v=function(i){var o=n[i],r=o.index,s=o.level,a=o.parent,d=[],u=a.items[r-1];if(u){var c=l(u,s);if(n[c]){var v="".concat(c,"-").concat(o.id);d.push(v),t[v]||(t[v]={source:c,target:o.id,navigationRules:["left","right"]})}}var f=a.items[r+1];if(f){var g=l(f,s);if(n[g]){var y="".concat(o.id,"-").concat(g);d.push(y),t[y]||(t[y]={source:o.id,target:g,navigationRules:["left","right"]})}}if(s==="group"&&a.items[r].items){var p=(a.items[r].items[0].mark.items[0].items||a.items[r].items)[0],m=l(p,"item");if(n[m]){var h="".concat(o.id,"-").concat(m);d.push(h),t[h]||(t[h]={source:o.id,target:m,navigationRules:["parent","child"]})}}else if(s==="item"){var b=l(a,"group");if(n[b]){var O="".concat(b,"-").concat(o.id);d.push(O),t[O]||(t[O]={source:b,target:o.id,navigationRules:["parent","child"]})}}return e.exitFunction&&(d.push("any-exit"),t["any-exit"]||(t["any-exit"]={source:e.getCurrent,target:e.exitFunction,navigationRules:["exit"]})),d.push("any-undo"),t["any-undo"]||(t["any-undo"]={source:e.getCurrent,target:e.getPrevious,navigationRules:["undo"]}),d},f=function(i,t,r,s,a){var u=l(i,t),c="render-"+u,v=r||[0,0];n[u]={},n[u].d={},n[u].id=u,n[u].renderId=c,n[u].index=s,n[u].level=t,n[u].parent=a,o[c]={},o[c].renderId=c,o[c].spatialProperties={},o[c].spatialProperties.x=i.bounds.x1+v[0],o[c].spatialProperties.y=i.bounds.y1+v[1],o[c].spatialProperties.width=i.bounds.x2-i.bounds.x1,o[c].spatialProperties.height=i.bounds.y2-i.bounds.y1,o[c].cssClass="dn-vega-lite-node",i.datum&&Object.keys(i.datum).forEach(function(o){var r=i.datum[o];d(o,r,i.datum,t,e.vegaLiteSpec)&&(n[u].d[e.keyRenamingHash&&e.keyRenamingHash[o]?e.keyRenamingHash[o]:o]=r)}),o[c].semantics={},o[c].semantics.label=e.nodeDescriber?e.nodeDescriber(n[u].d,i,t):R(n[u].d)},g=0;return c.items.forEach(function(i){if(s(i,g,e.vegaLiteSpec)){f(i,"group",u,g,c);var n=0,t=i.items[0].mark.items[0].items?i.items[0].mark.items[0]:i;t.items.forEach(function(o){a(o,n,i,e.vegaLiteSpec)&&f(o,"item",u,n,t),n++})}g++}),Object.keys(n).forEach(function(e){n[e].edges=v(e)}),{nodes:n,edges:t,elementData:o,navigationRules:i}},S=function(e){var i=0,n={};e.data.forEach(function(t){var o=typeof e.idKey=="function"?e.idKey(t):e.idKey;t[o]="_"+i,e.keysForIdGeneration&&e.keysForIdGeneration.forEach(function(e){e in t&&(typeof t[e]=="string"?(n[e]||(n[e]=0),n[t[e]]||(n[t[e]]=0),t[o]+="_"+e+n[e]+"_"+t[e]+n[t[e]],n[e]++,n[t[e]]++):(n[e]||(n[e]=0),t[o]+="_"+e+n[e],n[e]++))}),i++})},x=function(e){var i={};return e.data.forEach(function(n){e.idKey||console.error("Building nodes. A key string must be supplied in options.idKey to specify the id keys of every node.");var t=typeof e.idKey=="function"?e.idKey(n):e.idKey,o=n[t];if(!o){console.error("Building nodes. Each datum in options.data must contain an id. When matching the id key string ".concat(t,", this datum has no id: ").concat(JSON.stringify(n),"."));return}if(i[o]){console.error("Building nodes. Each id for data in options.data must be unique. This id is not unique: ".concat(o,"."));return}else{var r=typeof e.renderIdKey=="function"?e.renderIdKey(n):e.renderIdKey;i[o]={id:o,edges:[],renderId:r?n[r]||"":n.renderIdKey||"",data:n}}}),i},D=function(e,i){var n,t;var o={};if((t=e.dimensions)===null||t===void 0?void 0:(n=t.parentOptions)===null||n===void 0?void 0:n.addLevel0){var s=e.dimensions.parentOptions.addLevel0;i[s.id]=a(r({},s),{dimensionLevel:0})}var c=d(K),l=function(e,i){var n=i.numericalExtents[0],t=i.numericalExtents[1];i.numericalExtents[0]=n<e?n:e,i.numericalExtents[1]=t>e?t:e};return e.data.forEach(function(n){var t=e.dimensions.values||[],s=0;t.forEach(function(t){if(!t.dimensionKey){console.error("Building nodes, parsing dimensions. Each dimension in options.dimensions must contain a dimensionKey. This dimension has no key: ".concat(JSON.stringify(t),"."));return}if(t.dimensionKey in n){var a;var v=n[t.dimensionKey],f=typeof((a=t.operations)===null||a===void 0?void 0:a.filterFunction)=="function"?t.operations.filterFunction(n,t):!0;if(v!==void 0&&f){if(t.type||(t.type=(typeof v==="undefined"?"undefined":u(v))=="bigint"||typeof v=="number"?"numerical":"categorical"),!o[t.dimensionKey]){var g;var y=typeof t.nodeId=="function"?t.nodeId(t,e.data):t.nodeId||j(t.dimensionKey),p=typeof t.renderId=="function"?t.renderId(t,e.data):t.renderId||y;o[t.dimensionKey]={dimensionKey:t.dimensionKey,nodeId:y,divisions:{},numericalExtents:[1/0,-1/0],type:t.type,sortFunction:((g=t.operations)===null||g===void 0?void 0:g.sortFunction)||void 0,behavior:t.behavior||{extents:"circular"},navigationRules:t.navigationRules||{sibling_sibling:c.length?d(c.shift()):["previous_"+t.dimensionKey,"next_"+t.dimensionKey],parent_child:["parent_"+t.dimensionKey,"child"]}},i[y]={id:y,renderId:p,derivedNode:t.dimensionKey,edges:[],dimensionLevel:1,data:o[t.dimensionKey],renderingStrategy:t.renderingStrategy||"singleSquare"}}var m=o[t.dimensionKey],h=null;if(t.type==="categorical"){var b;var O=typeof((b=t.divisionOptions)===null||b===void 0?void 0:b.divisionNodeIds)=="function"?t.divisionOptions.divisionNodeIds(t.dimensionKey,v,s):j(m.nodeId+"_"+v);if(h=m.divisions[O],!h){var k,E,K;h=m.divisions[O]={id:O,sortFunction:((k=t.divisionOptions)===null||k===void 0?void 0:k.sortFunction)||void 0,values:{}};var I=typeof((E=t.divisionOptions)===null||E===void 0?void 0:E.divisionRenderIds)=="function"?t.divisionOptions.divisionRenderIds(t.dimensionKey,v,s):O;i[O]={id:O,renderId:I,derivedNode:t.dimensionKey,edges:[],dimensionLevel:2,data:r({},h),renderingStrategy:((K=t.divisionOptions)===null||K===void 0?void 0:K.renderingStrategy)||"singleSquare"},i[O].data[t.dimensionKey]=v}}else{var R;h=m.divisions[m.nodeId],h||(h=m.divisions[m.nodeId]={id:m.nodeId,sortFunction:((R=t.divisionOptions)===null||R===void 0?void 0:R.sortFunction)||void 0,values:{}}),t.operations||(t.operations={});var w=t.operations.createNumericalSubdivisions;m.subdivisions=typeof w=="number"&&w<1?1:w||1,w!==1&&(m.divisionOptions||(m.divisionOptions=t.divisionOptions),l(v,m))}var _=typeof e.idKey=="function"?e.idKey(n):e.idKey;h.values[n[_]]=n}}s++})}),Object.keys(o).forEach(function(e){var n=o[e],t=n.divisions;if(n.type==="numerical"){t[n.nodeId].values=Object.fromEntries(Object.entries(t[n.nodeId].values).sort(function(i,t){return typeof n.sortFunction=="function"?n.sortFunction(i[1],t[1],n):i[1][e]-t[1][e]}));var r=t[n.nodeId].values;if(n.numericalExtents[0]!==1/0&&n.subdivisions!==1){var s=Object.keys(r),a=typeof n.subdivisions=="function"?n.subdivisions(e,r):n.subdivisions,d=(n.numericalExtents[1]-n.numericalExtents[0])/a,u=n.numericalExtents[0]+d,c=0,l=0;for(u=n.numericalExtents[0]+d;u<=n.numericalExtents[1];u+=d){var v,f,g,y;var p=typeof((v=n.divisionOptions)===null||v===void 0?void 0:v.divisionNodeIds)=="function"?n.divisionOptions.divisionNodeIds(e,u,u):n.nodeId+"_"+u;n.divisions[p]={id:p,sortFunction:((f=n.divisionOptions)===null||f===void 0?void 0:f.sortFunction)||void 0,values:{}};var m=typeof((g=n.divisionOptions)===null||g===void 0?void 0:g.divisionRenderIds)=="function"?n.divisionOptions.divisionRenderIds(e,u,u):p;i[p]={id:p,renderId:m,derivedNode:e,edges:[],data:n.divisions[p],dimensionLevel:2,renderingStrategy:((y=n.divisionOptions)===null||y===void 0?void 0:y.renderingStrategy)||"singleSquare"};var h=!1;for(;!h&&l<s.length;){var b=r[s[l]];b[e]<=u?n.divisions[p].values[b.id]=b:(u+=d,h=!0),l++}c++}delete t[e]}}else typeof n.sortFunction=="function"&&(n.divisions=Object.fromEntries(Object.entries(t).sort(function(e,i){return n.sortFunction(e[1],i[1],n)})));Object.keys(n.divisions).forEach(function(e){var i=n.divisions[e];typeof i.sortFunction=="function"&&(i.values=Object.fromEntries(Object.entries(i.values).sort(function(e,t){return n.sortFunction(e[1],t[1],i)})))})}),e.dimensions.adjustDimensions&&(o=e.dimensions.adjustDimensions(o)),o},P=function(e,i,n){var t={},o=function(e,n){i[e].edges.indexOf(n)===-1&&i[e].edges.push(n)},r=function(i,n,r,s){var a="".concat(i,"-").concat(n),u=e.useDirectedEdges?"".concat(n,"-").concat(a):a,c=!s||s==="source",l=!s||s==="target",v=function(e){var o;t[e]?(o=t[e].navigationRules).push.apply(o,d(r||[])):t[e]={source:i,target:n,navigationRules:r?d(r):[]}};v(a),e.useDirectedEdges&&l&&v(u),c&&o(i,a),l&&o(n,u)};if(n&&Object.keys(n).length){var s,a,u,c,l,v,f,g,y,p;var m=Object.keys(n),h=(u=e.dimensions)===null||u===void 0?void 0:(a=u.parentOptions)===null||a===void 0?void 0:(s=a.level1Options)===null||s===void 0?void 0:s.order,b=h||m,O=0,k=((c=e.dimensions)===null||c===void 0?void 0:c.parentOptions)||{},E=((v=k.level1Options)===null||v===void 0?void 0:(l=v.behavior)===null||l===void 0?void 0:l.extents)||"terminal",K=k.addLevel0,I=K?((g=k.level1Options)===null||g===void 0?void 0:(f=g.navigationRules)===null||f===void 0?void 0:f.parent_child)||["parent","child"]:[],R=((p=k.level1Options)===null||p===void 0?void 0:(y=p.navigationRules)===null||y===void 0?void 0:y.sibling_sibling)||["left","right"],j=typeof b[0]=="string"?h?i[b[0]]:i[n[b[0]].nodeId]:b[0];K&&r(K.id,j.id,I,"source"),b.forEach(function(t){var o=typeof t=="string"?h?i[t]:i[n[t].nodeId]:t;if(o===t&&!i[o.id]&&(i[o.id]=o),K&&(e.useDirectedEdges?r(o.id,K.id,I,"source"):r(K.id,o.id,I,"target")),O===b.length-1&&E==="circular")r(o.id,j.id,R);else if(O===b.length-1&&E==="bridgedCustom")r(o.id,k.level1Options.behavior.customBridgePost,R);else if(O<b.length-1){var s=typeof b[O+1]=="string"?h?i[b[O+1]]:i[n[b[O+1]].nodeId]:b[O+1];r(o.id,s.id,R)}!O&&E==="bridgedCustom"&&r(k.level1Options.behavior.customBridgePost,o.id,R),O++}),m.forEach(function(i){var t;var o=n[i],s=((t=o.behavior)===null||t===void 0?void 0:t.extents)||"circular";o.divisions||console.error("Parsing dimensions. The dimension using the key ".concat(i," is missing the divisions property. dimension.divisions should be supplied. ").concat(JSON.stringify(o),"."));var a=Object.keys(o.divisions),d=o.divisions[a[0]];if(a.length!==1)r(o.nodeId,d.id,o.navigationRules.parent_child,"source");else{var u=Object.keys(d.values),c=typeof e.idKey=="function"?e.idKey(d.values[u[0]]):e.idKey;r(o.nodeId,d.values[u[0]][c],o.navigationRules.parent_child,"source")}var l=0;a.forEach(function(i){var n=o.divisions[i];l===a.length-1&&(s==="circular"||s==="bridgedCousins"||s==="bridgedCustom")?r(n.id,o.divisions[a[0]].id,o.navigationRules.sibling_sibling):l<a.length-1&&r(n.id,o.divisions[a[l+1]].id,o.navigationRules.sibling_sibling);var t=Object.keys(n.values);e.useDirectedEdges?r(n.id,o.nodeId,o.navigationRules.parent_child,"source"):r(o.nodeId,n.id,o.navigationRules.parent_child,"target");var d=typeof e.idKey=="function"?e.idKey(n.values[t[0]]):e.idKey;r(n.id,n.values[t[0]][d],o.navigationRules.parent_child,"source");var u=0;t.length>1&&t.forEach(function(i){var d=n.values[i],c=typeof e.idKey=="function"?e.idKey(d):e.idKey,v=a.length!==1?n.id:o.nodeId;if(e.useDirectedEdges?r(d[c],v,o.navigationRules.parent_child,"source"):r(v,d[c],o.navigationRules.parent_child,"target"),u===t.length-1&&s==="circular"){var f=typeof e.idKey=="function"?e.idKey(n.values[t[0]]):e.idKey;r(d[c],n.values[t[0]][f],o.navigationRules.sibling_sibling)}else if(u===t.length-1&&s==="bridgedCousins")if(l!==a.length-1){var g=typeof e.idKey=="function"?e.idKey(o.divisions[a[l+1]].values[t[0]]):e.idKey;r(d[c],o.divisions[a[l+1]].values[t[0]][g],o.navigationRules.sibling_sibling)}else{var y=typeof e.idKey=="function"?e.idKey(o.divisions[a[0]].values[t[0]]):e.idKey;r(d[c],o.divisions[a[0]].values[t[0]][y],o.navigationRules.sibling_sibling)}else if(u===t.length-1&&s==="bridgedCustom")r(d[c],o.behavior.customBridgePost,o.navigationRules.sibling_sibling);else if(u<t.length-1){var p=typeof e.idKey=="function"?e.idKey(n.values[t[u+1]]):e.idKey;r(d[c],n.values[t[u+1]][p],o.navigationRules.sibling_sibling)}if(!u&&s==="bridgedCousins")if(l!==0){var m=typeof e.idKey=="function"?e.idKey(o.divisions[a[l-1]].values[t[t.length-1]]):e.idKey;r(o.divisions[a[l-1]].values[t[t.length-1]][m],d[c],o.navigationRules.sibling_sibling)}else{var h=typeof e.idKey=="function"?e.idKey(o.divisions[a[a.length-1]].values[t[t.length-1]]):e.idKey;r(o.divisions[a[a.length-1]].values[t[t.length-1]][h],d[c],o.navigationRules.sibling_sibling)}else!u&&s==="bridgedCustom"&&r(o.behavior.customBridgePrevious,d[c],o.navigationRules.sibling_sibling);u++}),l++})})}return Object.keys(i).forEach(function(n){var o;var r=i[n];((o=e.genericEdges)===null||o===void 0?void 0:o.length)&&e.genericEdges.forEach(function(e){t[e.edgeId]||(t[e.edgeId]=e.edge),(!e.conditional||e.conditional&&e.conditional(r,e))&&r.edges.push(e.edgeId)})}),t},L=function(e,i,n){var t=e.navigationRules;if(!t){var o=Object.keys(n||{});o.length>6&&console.error("Building navigationRules. Dimension count is too high to automatically generate key commands. It is recommend you reduce your dimensions to 6 or fewer for end-user experience. If not, you must provide your own navigation rules in options.navigationRules. Details: Count is ".concat(o.length,". Dimensions counted: ").concat(o.join(", "),"."));var s={},a={},u={},c=d(k),l=d(O),v=function(i,n){var t=i&&n,o=!1,v=!1;if((s[i]||a[i])&&(a[i]=r({},s[i]),o=!0),n&&(s[n]||a[n])&&(a[n]=r({},s[n]),v=!0),t&&!o&&!v){c.length||console.error("Building navigationRules. Dimension count is too high to automatically generate key commands, we have run out of keyboard key pairs to assign. You must either provide your own navigation rules in options.navigationRules, provide rules when generating dimensions, or reduce dimension count.");var f=d(c.shift());l.splice(l.indexOf(f[0]),1),l.splice(l.indexOf(f[1]),1),a[i]={direction:e.useDirectedEdges?"target":"source",key:f[0]},a[n]={direction:"target",key:f[1]}}else{if(!a[i]&&l.length){var g=l.shift(),y=[];c.forEach(function(e){g!==e[0]&&g!==e[1]&&y.push(e)}),c=y,a[i]={direction:e.useDirectedEdges?"target":"source",key:g}}if(n&&!a[n]&&l.length){var p=l.shift(),m=[];c.forEach(function(e){p!==e[0]&&p!==e[1]&&m.push(e)}),c=m,a[n]={direction:"target",key:p}}l.length||(a[i]||(u[i]=i),n&&!a[n]&&(u[n]=n))}};if(Object.keys(E).forEach(function(i){var n=r({},E[i]);e.useDirectedEdges&&(n.direction="target"),s[i]=n}),o.length){var f,g;if((g=e.dimensions)===null||g===void 0?void 0:(f=g.parentOptions)===null||f===void 0?void 0:f.addLevel0){var y,p;var m=((p=e.dimensions.parentOptions.level1Options)===null||p===void 0?void 0:(y=p.navigationRules)===null||y===void 0?void 0:y.parent_child)||["parent","child"];v(m[0],m[1])}o.forEach(function(e){var i=n[e].navigationRules.parent_child,t=n[e].navigationRules.sibling_sibling;v(i[0],i[1]),v(t[0],t[1])})}if(Object.keys(i).forEach(function(e){i[e].navigationRules.forEach(function(e){a[e]||v(e)})}),Object.keys(u).length){var h={};Object.keys(a).forEach(function(e){h[a[e].key]=a[e].key}),Object.keys(s).forEach(function(e){!h[s[e].key]&&!b[s[e].key]&&l.push(s[e].key)});var K=r({},u);u={},Object.keys(K).forEach(function(e){v(e)}),Object.keys(u).length&&console.error("Building navigationRules. There are no more keys left to assign automatically. Recommended fixes: use fewer dimensions, use fewer GenericEdges, or build your own navigationRules. Rules remaining without keyboard keys: ".concat(Object.keys(u).join(", "),"."))}t=a}return t},F=function(e){e.addIds&&S(e);var i=x(e),n=D(e,i),t=P(e,i,n),o=L(e,t,n);return{nodes:i,edges:t,dimensions:n,navigationRules:o}};0&&(module.exports={addSimpleDataIDs:addSimpleDataIDs,buildEdges:buildEdges,buildNodeStructureFromVegaLite:buildNodeStructureFromVegaLite,buildNodes:buildNodes,buildRules:buildRules,buildStructure:buildStructure,scaffoldDimensions:scaffoldDimensions});
@@ -1 +1 @@
1
- import{a as B}from"./chunk-CCACYVYB.mjs";import{a as L,c as $,e as P,f as C,g as k,i as w}from"./chunk-PEL3ZYDS.mjs";var Y=e=>e.dataType==="vega-lite"||e.dataType==="vl"||e.dataType==="Vega-Lite"?T(e):U(e),T=e=>{let y=w,d={},l={},h={},t=0,s=e.groupInclusionCriteria?e.groupInclusionCriteria:()=>!0,f=e.itemInclusionCriteria?e.itemInclusionCriteria:()=>!0,n=e.datumInclusionCriteria?e.datumInclusionCriteria:()=>!0,u=e.vegaLiteView._renderer._origin,v=e.vegaLiteView._scenegraph.root.items[0].mark.items[0],r=(o,i)=>{if(o["data-navigator-id"])return o["data-navigator-id"];let b=`dn-node-${i}-${t}`;return t++,o["data-navigator-id"]=b,b},a=o=>{let i=d[o],b=i.index,m=i.level,R=i.parent,p=[],K=R.items[b-1];if(K){let g=r(K,m);if(d[g]){let E=`${g}-${i.id}`;p.push(E),l[E]||(l[E]={source:g,target:i.id,navigationRules:["left","right"]})}}let I=R.items[b+1];if(I){let g=r(I,m);if(d[g]){let E=`${i.id}-${g}`;p.push(E),l[E]||(l[E]={source:i.id,target:g,navigationRules:["left","right"]})}}if(m==="group"&&R.items[b].items){let E=(R.items[b].items[0].mark.items[0].items||R.items[b].items)[0],x=r(E,"item");if(d[x]){let S=`${i.id}-${x}`;p.push(S),l[S]||(l[S]={source:i.id,target:x,navigationRules:["parent","child"]})}}else if(m==="item"){let g=r(R,"group");if(d[g]){let E=`${g}-${i.id}`;p.push(E),l[E]||(l[E]={source:g,target:i.id,navigationRules:["parent","child"]})}}return e.exitFunction&&(p.push("any-exit"),l["any-exit"]||(l["any-exit"]={source:e.getCurrent,target:e.exitFunction,navigationRules:["exit"]})),p.push("any-undo"),l["any-undo"]||(l["any-undo"]={source:e.getCurrent,target:e.getPrevious,navigationRules:["undo"]}),p},O=(o,i,b,m,R)=>{let p=r(o,i),K="render-"+p,I=b||[0,0];d[p]={},d[p].d={},d[p].id=p,d[p].renderId=K,d[p].index=m,d[p].level=i,d[p].parent=R,h[K]={},h[K].renderId=K,h[K].spatialProperties={},h[K].spatialProperties.x=o.bounds.x1+I[0],h[K].spatialProperties.y=o.bounds.y1+I[1],h[K].spatialProperties.width=o.bounds.x2-o.bounds.x1,h[K].spatialProperties.height=o.bounds.y2-o.bounds.y1,h[K].cssClass="dn-vega-lite-node",o.datum&&Object.keys(o.datum).forEach(g=>{let E=o.datum[g];n(g,E,o.datum,i,e.vegaLiteSpec)&&(d[p].d[e.keyRenamingHash&&e.keyRenamingHash[g]?e.keyRenamingHash[g]:g]=E)}),h[K].semantics={},h[K].semantics.label=e.nodeDescriber?e.nodeDescriber(d[p].d,o,i):B(d[p].d)},c=0;return v.items.forEach(o=>{if(s(o,c,e.vegaLiteSpec)){O(o,"group",u,c,v);let i=0,b=o.items[0].mark.items[0].items?o.items[0].mark.items[0]:o;b.items.forEach(m=>{f(m,i,o,e.vegaLiteSpec)&&O(m,"item",u,i,b),i++})}c++}),Object.keys(d).forEach(o=>{d[o].edges=a(o)}),{nodes:d,edges:l,elementData:h,navigationRules:y}},G=e=>"_"+e.replace(/[^a-zA-Z0-9_-]+/g,"_"),V=e=>{let y=0,d={};e.data.forEach(l=>{let h=typeof e.idKey=="function"?e.idKey(l):e.idKey;l[h]="_"+y,e.keysForIdGeneration&&e.keysForIdGeneration.forEach(t=>{t in l&&(typeof l[t]=="string"?(d[t]||(d[t]=0),d[l[t]]||(d[l[t]]=0),l[h]+="_"+t+d[t]+"_"+l[t]+d[l[t]],d[t]++,d[l[t]]++):(d[t]||(d[t]=0),l[h]+="_"+t+d[t],d[t]++))}),y++})},q=e=>{let y={};return e.data.forEach(d=>{e.idKey||console.error("Building nodes. A key string must be supplied in options.idKey to specify the id keys of every node.");let l=typeof e.idKey=="function"?e.idKey(d):e.idKey,h=d[l];if(!h){console.error(`Building nodes. Each datum in options.data must contain an id. When matching the id key string ${l}, this datum has no id: ${JSON.stringify(d)}.`);return}if(y[h]){console.error(`Building nodes. Each id for data in options.data must be unique. This id is not unique: ${h}.`);return}else{let t=typeof e.renderIdKey=="function"?e.renderIdKey(d):e.renderIdKey;y[h]={id:h,edges:[],renderId:t?d[t]||"":d.renderIdKey||"",data:d}}}),y},A=(e,y)=>{let d={};if(e.dimensions?.parentOptions?.addLevel0){let t=e.dimensions.parentOptions.addLevel0;y[t.id]={...t,dimensionLevel:0}}let l=[...k],h=(t,s)=>{let f=s.numericalExtents[0],n=s.numericalExtents[1];s.numericalExtents[0]=f<t?f:t,s.numericalExtents[1]=n>t?n:t};return e.data.forEach(t=>{let s=e.dimensions.values||[],f=0;s.forEach(n=>{if(!n.dimensionKey){console.error(`Building nodes, parsing dimensions. Each dimension in options.dimensions must contain a dimensionKey. This dimension has no key: ${JSON.stringify(n)}.`);return}if(n.dimensionKey in t){let u=t[n.dimensionKey],v=typeof n.operations?.filterFunction=="function"?n.operations.filterFunction(t,n):!0;if(u!==void 0&&v){if(n.type||(n.type=typeof u=="bigint"||typeof u=="number"?"numerical":"categorical"),!d[n.dimensionKey]){let c=typeof n.nodeId=="function"?n.nodeId(n,e.data):n.nodeId||G(n.dimensionKey),j=typeof n.renderId=="function"?n.renderId(n,e.data):n.renderId||c;d[n.dimensionKey]={dimensionKey:n.dimensionKey,nodeId:c,divisions:{},numericalExtents:[1/0,-1/0],type:n.type,sortFunction:n.operations?.sortFunction||void 0,behavior:n.behavior||{extents:"circular"},navigationRules:n.navigationRules||{sibling_sibling:l.length?[...l.shift()]:["previous_"+n.dimensionKey,"next_"+n.dimensionKey],parent_child:["parent_"+n.dimensionKey,"child"]}},y[c]={id:c,renderId:j,derivedNode:n.dimensionKey,edges:[],dimensionLevel:1,data:d[n.dimensionKey],renderingStrategy:n.renderingStrategy||"singleSquare"}}let r=d[n.dimensionKey],a=null;if(n.type==="categorical"){let c=typeof n.divisionOptions?.divisionNodeIds=="function"?n.divisionOptions.divisionNodeIds(n.dimensionKey,u,f):r.nodeId+"_"+u;if(a=r.divisions[c],!a){a=r.divisions[c]={id:c,sortFunction:n.divisionOptions?.sortFunction||void 0,values:{}};let j=typeof n.divisionOptions?.divisionRenderIds=="function"?n.divisionOptions.divisionRenderIds(n.dimensionKey,u,f):c;y[c]={id:c,renderId:j,derivedNode:n.dimensionKey,edges:[],dimensionLevel:2,data:{...a},renderingStrategy:n.divisionOptions?.renderingStrategy||"singleSquare"},y[c].data[n.dimensionKey]=u}}else{a=r.divisions[r.nodeId],a||(a=r.divisions[r.nodeId]={id:r.nodeId,sortFunction:n.divisionOptions?.sortFunction||void 0,values:{}}),n.operations||(n.operations={});let c=n.operations.createNumericalSubdivisions;r.subdivisions=typeof c=="number"&&c<1?1:c||1,c!==1&&(r.divisionOptions||(r.divisionOptions=n.divisionOptions),h(u,r))}let O=typeof e.idKey=="function"?e.idKey(t):e.idKey;a.values[t[O]]=t}}f++})}),Object.keys(d).forEach(t=>{let s=d[t],f=s.divisions;if(s.type==="numerical"){f[s.nodeId].values=Object.fromEntries(Object.entries(f[s.nodeId].values).sort((v,r)=>typeof s.sortFunction=="function"?s.sortFunction(v[1],r[1],s):v[1][t]-r[1][t]));let u=f[s.nodeId].values;if(s.numericalExtents[0]!==1/0&&s.subdivisions!==1){let v=Object.keys(u),r=typeof s.subdivisions=="function"?s.subdivisions(t,u):s.subdivisions,O=(s.numericalExtents[1]-s.numericalExtents[0])/r,c=s.numericalExtents[0]+O,j=0,o=0;for(c=s.numericalExtents[0]+O;c<=s.numericalExtents[1];c+=O){let i=typeof s.divisionOptions?.divisionNodeIds=="function"?s.divisionOptions.divisionNodeIds(t,c,c):s.nodeId+"_"+c;s.divisions[i]={id:i,sortFunction:s.divisionOptions?.sortFunction||void 0,values:{}};let b=typeof s.divisionOptions?.divisionRenderIds=="function"?s.divisionOptions.divisionRenderIds(t,c,c):i;y[i]={id:i,renderId:b,derivedNode:t,edges:[],data:s.divisions[i],dimensionLevel:2,renderingStrategy:s.divisionOptions?.renderingStrategy||"singleSquare"};let m=!1;for(;!m&&o<v.length;){let R=u[v[o]];R[t]<=c?s.divisions[i].values[R.id]=R:(c+=O,m=!0),o++}j++}delete f[t]}}else typeof s.sortFunction=="function"&&(s.divisions=Object.fromEntries(Object.entries(f).sort((u,v)=>s.sortFunction(u[1],v[1],s))));Object.keys(s.divisions).forEach(u=>{let v=s.divisions[u];typeof v.sortFunction=="function"&&(v.values=Object.fromEntries(Object.entries(v.values).sort((r,a)=>s.sortFunction(r[1],a[1],v))))})}),e.dimensions.adjustDimensions&&(d=e.dimensions.adjustDimensions(d)),d},H=(e,y,d)=>{let l={},h=(s,f)=>{y[s].edges.indexOf(f)===-1&&y[s].edges.push(f)},t=(s,f,n,u)=>{let v=`${s}-${f}`,r=e.useDirectedEdges?`${f}-${v}`:v,a=!u||u==="source",O=!u||u==="target",c=j=>{l[j]?l[j].navigationRules.push(...n||[]):l[j]={source:s,target:f,navigationRules:n?[...n]:[]}};c(v),e.useDirectedEdges&&O&&c(r),a&&h(s,v),O&&h(f,r)};if(d&&Object.keys(d).length){let s=Object.keys(d),f=e.dimensions?.parentOptions?.level1Options?.order,n=f||s,u=0,v=e.dimensions?.parentOptions||{},r=v.level1Options?.behavior?.extents||"terminal",a=v.addLevel0,O=a?v.level1Options?.navigationRules?.parent_child||["parent","child"]:[],c=v.level1Options?.navigationRules?.sibling_sibling||["left","right"],j=typeof n[0]=="string"?f?y[n[0]]:y[d[n[0]].nodeId]:n[0];a&&t(a.id,j.id,O,"source"),n.forEach(o=>{let i=typeof o=="string"?f?y[o]:y[d[o].nodeId]:o;if(i===o&&!y[i.id]&&(y[i.id]=i),a&&(e.useDirectedEdges?t(i.id,a.id,O,"source"):t(a.id,i.id,O,"target")),u===n.length-1&&r==="circular")t(i.id,j.id,c);else if(u===n.length-1&&r==="bridgedCustom")t(i.id,v.level1Options.behavior.customBridgePost,c);else if(u<n.length-1){let b=typeof n[u+1]=="string"?f?y[n[u+1]]:y[d[n[u+1]].nodeId]:n[u+1];t(i.id,b.id,c)}!u&&r==="bridgedCustom"&&t(v.level1Options.behavior.customBridgePost,i.id,c),u++}),s.forEach(o=>{let i=d[o],b=i.behavior?.extents||"circular";i.divisions||console.error(`Parsing dimensions. The dimension using the key ${o} is missing the divisions property. dimension.divisions should be supplied. ${JSON.stringify(i)}.`);let m=Object.keys(i.divisions),R=i.divisions[m[0]];if(m.length!==1)t(i.nodeId,R.id,i.navigationRules.parent_child,"source");else{let K=Object.keys(R.values),I=typeof e.idKey=="function"?e.idKey(R.values[K[0]]):e.idKey;t(i.nodeId,R.values[K[0]][I],i.navigationRules.parent_child,"source")}let p=0;m.forEach(K=>{let I=i.divisions[K];p===m.length-1&&(b==="circular"||b==="bridgedCousins"||b==="bridgedCustom")?t(I.id,i.divisions[m[0]].id,i.navigationRules.sibling_sibling):p<m.length-1&&t(I.id,i.divisions[m[p+1]].id,i.navigationRules.sibling_sibling);let g=Object.keys(I.values);e.useDirectedEdges?t(I.id,i.nodeId,i.navigationRules.parent_child,"source"):t(i.nodeId,I.id,i.navigationRules.parent_child,"target");let E=typeof e.idKey=="function"?e.idKey(I.values[g[0]]):e.idKey;t(I.id,I.values[g[0]][E],i.navigationRules.parent_child,"source");let x=0;g.length>1&&g.forEach(S=>{let D=I.values[S],_=typeof e.idKey=="function"?e.idKey(D):e.idKey,F=m.length!==1?I.id:i.nodeId;if(e.useDirectedEdges?t(D[_],F,i.navigationRules.parent_child,"source"):t(F,D[_],i.navigationRules.parent_child,"target"),x===g.length-1&&b==="circular"){let N=typeof e.idKey=="function"?e.idKey(I.values[g[0]]):e.idKey;t(D[_],I.values[g[0]][N],i.navigationRules.sibling_sibling)}else if(x===g.length-1&&b==="bridgedCousins")if(p!==m.length-1){let N=typeof e.idKey=="function"?e.idKey(i.divisions[m[p+1]].values[g[0]]):e.idKey;t(D[_],i.divisions[m[p+1]].values[g[0]][N],i.navigationRules.sibling_sibling)}else{let N=typeof e.idKey=="function"?e.idKey(i.divisions[m[0]].values[g[0]]):e.idKey;t(D[_],i.divisions[m[0]].values[g[0]][N],i.navigationRules.sibling_sibling)}else if(x===g.length-1&&b==="bridgedCustom")t(D[_],i.behavior.customBridgePost,i.navigationRules.sibling_sibling);else if(x<g.length-1){let N=typeof e.idKey=="function"?e.idKey(I.values[g[x+1]]):e.idKey;t(D[_],I.values[g[x+1]][N],i.navigationRules.sibling_sibling)}if(!x&&b==="bridgedCousins")if(p!==0){let N=typeof e.idKey=="function"?e.idKey(i.divisions[m[p-1]].values[g[g.length-1]]):e.idKey;t(i.divisions[m[p-1]].values[g[g.length-1]][N],D[_],i.navigationRules.sibling_sibling)}else{let N=typeof e.idKey=="function"?e.idKey(i.divisions[m[m.length-1]].values[g[g.length-1]]):e.idKey;t(i.divisions[m[m.length-1]].values[g[g.length-1]][N],D[_],i.navigationRules.sibling_sibling)}else!x&&b==="bridgedCustom"&&t(i.behavior.customBridgePrevious,D[_],i.navigationRules.sibling_sibling);x++}),p++})})}return Object.keys(y).forEach(s=>{let f=y[s];e.genericEdges?.length&&e.genericEdges.forEach(n=>{l[n.edgeId]||(l[n.edgeId]=n.edge),(!n.conditional||n.conditional&&n.conditional(f,n))&&f.edges.push(n.edgeId)})}),l},J=(e,y,d)=>{let l=e.navigationRules;if(!l){let h=Object.keys(d||{});h.length>6&&console.error(`Building navigationRules. Dimension count is too high to automatically generate key commands. It is recommend you reduce your dimensions to 6 or fewer for end-user experience. If not, you must provide your own navigation rules in options.navigationRules. Details: Count is ${h.length}. Dimensions counted: ${h.join(", ")}.`);let t={},s={},f={},n=[...P],u=[...$],v=(r,a)=>{let O=r&&a,c=!1,j=!1;if((t[r]||s[r])&&(s[r]={...t[r]},c=!0),a&&(t[a]||s[a])&&(s[a]={...t[a]},j=!0),O&&!c&&!j){n.length||console.error("Building navigationRules. Dimension count is too high to automatically generate key commands, we have run out of keyboard key pairs to assign. You must either provide your own navigation rules in options.navigationRules, provide rules when generating dimensions, or reduce dimension count.");let o=[...n.shift()];u.splice(u.indexOf(o[0]),1),u.splice(u.indexOf(o[1]),1),s[r]={direction:e.useDirectedEdges?"target":"source",key:o[0]},s[a]={direction:"target",key:o[1]}}else{if(!s[r]&&u.length){let o=u.shift(),i=[];n.forEach(b=>{o!==b[0]&&o!==b[1]&&i.push(b)}),n=i,s[r]={direction:e.useDirectedEdges?"target":"source",key:o}}if(a&&!s[a]&&u.length){let o=u.shift(),i=[];n.forEach(b=>{o!==b[0]&&o!==b[1]&&i.push(b)}),n=i,s[a]={direction:"target",key:o}}u.length||(s[r]||(f[r]=r),a&&!s[a]&&(f[a]=a))}};if(Object.keys(C).forEach(r=>{let a={...C[r]};e.useDirectedEdges&&(a.direction="target"),t[r]=a}),h.length){if(e.dimensions?.parentOptions?.addLevel0){let r=e.dimensions.parentOptions.level1Options?.navigationRules?.parent_child||["parent","child"];v(r[0],r[1])}h.forEach(r=>{let a=d[r].navigationRules.parent_child,O=d[r].navigationRules.sibling_sibling;v(a[0],a[1]),v(O[0],O[1])})}if(Object.keys(y).forEach(r=>{y[r].navigationRules.forEach(a=>{s[a]||v(a)})}),Object.keys(f).length){let r={};Object.keys(s).forEach(O=>{r[s[O].key]=s[O].key}),Object.keys(t).forEach(O=>{!r[t[O].key]&&!L[t[O].key]&&u.push(t[O].key)});let a={...f};f={},Object.keys(a).forEach(O=>{v(O)}),Object.keys(f).length&&console.error(`Building navigationRules. There are no more keys left to assign automatically. Recommended fixes: use fewer dimensions, use fewer GenericEdges, or build your own navigationRules. Rules remaining without keyboard keys: ${Object.keys(f).join(", ")}.`)}l=s}return l},U=e=>{e.addIds&&V(e);let y=q(e),d=A(e,y),l=H(e,y,d),h=J(e,l,d);return{nodes:y,edges:l,dimensions:d,navigationRules:h}};export{V as addSimpleDataIDs,H as buildEdges,T as buildNodeStructureFromVegaLite,J as buildRules,U as buildStructure,q as bulidNodes,G as createValidId,Y as default,A as scaffoldDimensions};
1
+ import{a as T,b as F}from"./chunk-K476QBP2.mjs";import{a as $,c as P,e as k,f as C,g as w,i as B}from"./chunk-PEL3ZYDS.mjs";var z=e=>e.dataType==="vega-lite"||e.dataType==="vl"||e.dataType==="Vega-Lite"?G(e):U(e),G=e=>{let y=B,d={},l={},h={},t=0,s=e.groupInclusionCriteria?e.groupInclusionCriteria:()=>!0,f=e.itemInclusionCriteria?e.itemInclusionCriteria:()=>!0,n=e.datumInclusionCriteria?e.datumInclusionCriteria:()=>!0,u=e.vegaLiteView._renderer._origin,v=e.vegaLiteView._scenegraph.root.items[0].mark.items[0],r=(o,i)=>{if(o["data-navigator-id"])return o["data-navigator-id"];let b=`dn-node-${i}-${t}`;return t++,o["data-navigator-id"]=b,b},a=o=>{let i=d[o],b=i.index,m=i.level,R=i.parent,O=[],K=R.items[b-1];if(K){let g=r(K,m);if(d[g]){let E=`${g}-${i.id}`;O.push(E),l[E]||(l[E]={source:g,target:i.id,navigationRules:["left","right"]})}}let I=R.items[b+1];if(I){let g=r(I,m);if(d[g]){let E=`${i.id}-${g}`;O.push(E),l[E]||(l[E]={source:i.id,target:g,navigationRules:["left","right"]})}}if(m==="group"&&R.items[b].items){let E=(R.items[b].items[0].mark.items[0].items||R.items[b].items)[0],x=r(E,"item");if(d[x]){let S=`${i.id}-${x}`;O.push(S),l[S]||(l[S]={source:i.id,target:x,navigationRules:["parent","child"]})}}else if(m==="item"){let g=r(R,"group");if(d[g]){let E=`${g}-${i.id}`;O.push(E),l[E]||(l[E]={source:g,target:i.id,navigationRules:["parent","child"]})}}return e.exitFunction&&(O.push("any-exit"),l["any-exit"]||(l["any-exit"]={source:e.getCurrent,target:e.exitFunction,navigationRules:["exit"]})),O.push("any-undo"),l["any-undo"]||(l["any-undo"]={source:e.getCurrent,target:e.getPrevious,navigationRules:["undo"]}),O},p=(o,i,b,m,R)=>{let O=r(o,i),K="render-"+O,I=b||[0,0];d[O]={},d[O].d={},d[O].id=O,d[O].renderId=K,d[O].index=m,d[O].level=i,d[O].parent=R,h[K]={},h[K].renderId=K,h[K].spatialProperties={},h[K].spatialProperties.x=o.bounds.x1+I[0],h[K].spatialProperties.y=o.bounds.y1+I[1],h[K].spatialProperties.width=o.bounds.x2-o.bounds.x1,h[K].spatialProperties.height=o.bounds.y2-o.bounds.y1,h[K].cssClass="dn-vega-lite-node",o.datum&&Object.keys(o.datum).forEach(g=>{let E=o.datum[g];n(g,E,o.datum,i,e.vegaLiteSpec)&&(d[O].d[e.keyRenamingHash&&e.keyRenamingHash[g]?e.keyRenamingHash[g]:g]=E)}),h[K].semantics={},h[K].semantics.label=e.nodeDescriber?e.nodeDescriber(d[O].d,o,i):T(d[O].d)},c=0;return v.items.forEach(o=>{if(s(o,c,e.vegaLiteSpec)){p(o,"group",u,c,v);let i=0,b=o.items[0].mark.items[0].items?o.items[0].mark.items[0]:o;b.items.forEach(m=>{f(m,i,o,e.vegaLiteSpec)&&p(m,"item",u,i,b),i++})}c++}),Object.keys(d).forEach(o=>{d[o].edges=a(o)}),{nodes:d,edges:l,elementData:h,navigationRules:y}},V=e=>{let y=0,d={};e.data.forEach(l=>{let h=typeof e.idKey=="function"?e.idKey(l):e.idKey;l[h]="_"+y,e.keysForIdGeneration&&e.keysForIdGeneration.forEach(t=>{t in l&&(typeof l[t]=="string"?(d[t]||(d[t]=0),d[l[t]]||(d[l[t]]=0),l[h]+="_"+t+d[t]+"_"+l[t]+d[l[t]],d[t]++,d[l[t]]++):(d[t]||(d[t]=0),l[h]+="_"+t+d[t],d[t]++))}),y++})},q=e=>{let y={};return e.data.forEach(d=>{e.idKey||console.error("Building nodes. A key string must be supplied in options.idKey to specify the id keys of every node.");let l=typeof e.idKey=="function"?e.idKey(d):e.idKey,h=d[l];if(!h){console.error(`Building nodes. Each datum in options.data must contain an id. When matching the id key string ${l}, this datum has no id: ${JSON.stringify(d)}.`);return}if(y[h]){console.error(`Building nodes. Each id for data in options.data must be unique. This id is not unique: ${h}.`);return}else{let t=typeof e.renderIdKey=="function"?e.renderIdKey(d):e.renderIdKey;y[h]={id:h,edges:[],renderId:t?d[t]||"":d.renderIdKey||"",data:d}}}),y},A=(e,y)=>{let d={};if(e.dimensions?.parentOptions?.addLevel0){let t=e.dimensions.parentOptions.addLevel0;y[t.id]={...t,dimensionLevel:0}}let l=[...w],h=(t,s)=>{let f=s.numericalExtents[0],n=s.numericalExtents[1];s.numericalExtents[0]=f<t?f:t,s.numericalExtents[1]=n>t?n:t};return e.data.forEach(t=>{let s=e.dimensions.values||[],f=0;s.forEach(n=>{if(!n.dimensionKey){console.error(`Building nodes, parsing dimensions. Each dimension in options.dimensions must contain a dimensionKey. This dimension has no key: ${JSON.stringify(n)}.`);return}if(n.dimensionKey in t){let u=t[n.dimensionKey],v=typeof n.operations?.filterFunction=="function"?n.operations.filterFunction(t,n):!0;if(u!==void 0&&v){if(n.type||(n.type=typeof u=="bigint"||typeof u=="number"?"numerical":"categorical"),!d[n.dimensionKey]){let c=typeof n.nodeId=="function"?n.nodeId(n,e.data):n.nodeId||F(n.dimensionKey),j=typeof n.renderId=="function"?n.renderId(n,e.data):n.renderId||c;d[n.dimensionKey]={dimensionKey:n.dimensionKey,nodeId:c,divisions:{},numericalExtents:[1/0,-1/0],type:n.type,sortFunction:n.operations?.sortFunction||void 0,behavior:n.behavior||{extents:"circular"},navigationRules:n.navigationRules||{sibling_sibling:l.length?[...l.shift()]:["previous_"+n.dimensionKey,"next_"+n.dimensionKey],parent_child:["parent_"+n.dimensionKey,"child"]}},y[c]={id:c,renderId:j,derivedNode:n.dimensionKey,edges:[],dimensionLevel:1,data:d[n.dimensionKey],renderingStrategy:n.renderingStrategy||"singleSquare"}}let r=d[n.dimensionKey],a=null;if(n.type==="categorical"){let c=typeof n.divisionOptions?.divisionNodeIds=="function"?n.divisionOptions.divisionNodeIds(n.dimensionKey,u,f):F(r.nodeId+"_"+u);if(a=r.divisions[c],!a){a=r.divisions[c]={id:c,sortFunction:n.divisionOptions?.sortFunction||void 0,values:{}};let j=typeof n.divisionOptions?.divisionRenderIds=="function"?n.divisionOptions.divisionRenderIds(n.dimensionKey,u,f):c;y[c]={id:c,renderId:j,derivedNode:n.dimensionKey,edges:[],dimensionLevel:2,data:{...a},renderingStrategy:n.divisionOptions?.renderingStrategy||"singleSquare"},y[c].data[n.dimensionKey]=u}}else{a=r.divisions[r.nodeId],a||(a=r.divisions[r.nodeId]={id:r.nodeId,sortFunction:n.divisionOptions?.sortFunction||void 0,values:{}}),n.operations||(n.operations={});let c=n.operations.createNumericalSubdivisions;r.subdivisions=typeof c=="number"&&c<1?1:c||1,c!==1&&(r.divisionOptions||(r.divisionOptions=n.divisionOptions),h(u,r))}let p=typeof e.idKey=="function"?e.idKey(t):e.idKey;a.values[t[p]]=t}}f++})}),Object.keys(d).forEach(t=>{let s=d[t],f=s.divisions;if(s.type==="numerical"){f[s.nodeId].values=Object.fromEntries(Object.entries(f[s.nodeId].values).sort((v,r)=>typeof s.sortFunction=="function"?s.sortFunction(v[1],r[1],s):v[1][t]-r[1][t]));let u=f[s.nodeId].values;if(s.numericalExtents[0]!==1/0&&s.subdivisions!==1){let v=Object.keys(u),r=typeof s.subdivisions=="function"?s.subdivisions(t,u):s.subdivisions,p=(s.numericalExtents[1]-s.numericalExtents[0])/r,c=s.numericalExtents[0]+p,j=0,o=0;for(c=s.numericalExtents[0]+p;c<=s.numericalExtents[1];c+=p){let i=typeof s.divisionOptions?.divisionNodeIds=="function"?s.divisionOptions.divisionNodeIds(t,c,c):s.nodeId+"_"+c;s.divisions[i]={id:i,sortFunction:s.divisionOptions?.sortFunction||void 0,values:{}};let b=typeof s.divisionOptions?.divisionRenderIds=="function"?s.divisionOptions.divisionRenderIds(t,c,c):i;y[i]={id:i,renderId:b,derivedNode:t,edges:[],data:s.divisions[i],dimensionLevel:2,renderingStrategy:s.divisionOptions?.renderingStrategy||"singleSquare"};let m=!1;for(;!m&&o<v.length;){let R=u[v[o]];R[t]<=c?s.divisions[i].values[R.id]=R:(c+=p,m=!0),o++}j++}delete f[t]}}else typeof s.sortFunction=="function"&&(s.divisions=Object.fromEntries(Object.entries(f).sort((u,v)=>s.sortFunction(u[1],v[1],s))));Object.keys(s.divisions).forEach(u=>{let v=s.divisions[u];typeof v.sortFunction=="function"&&(v.values=Object.fromEntries(Object.entries(v.values).sort((r,a)=>s.sortFunction(r[1],a[1],v))))})}),e.dimensions.adjustDimensions&&(d=e.dimensions.adjustDimensions(d)),d},H=(e,y,d)=>{let l={},h=(s,f)=>{y[s].edges.indexOf(f)===-1&&y[s].edges.push(f)},t=(s,f,n,u)=>{let v=`${s}-${f}`,r=e.useDirectedEdges?`${f}-${v}`:v,a=!u||u==="source",p=!u||u==="target",c=j=>{l[j]?l[j].navigationRules.push(...n||[]):l[j]={source:s,target:f,navigationRules:n?[...n]:[]}};c(v),e.useDirectedEdges&&p&&c(r),a&&h(s,v),p&&h(f,r)};if(d&&Object.keys(d).length){let s=Object.keys(d),f=e.dimensions?.parentOptions?.level1Options?.order,n=f||s,u=0,v=e.dimensions?.parentOptions||{},r=v.level1Options?.behavior?.extents||"terminal",a=v.addLevel0,p=a?v.level1Options?.navigationRules?.parent_child||["parent","child"]:[],c=v.level1Options?.navigationRules?.sibling_sibling||["left","right"],j=typeof n[0]=="string"?f?y[n[0]]:y[d[n[0]].nodeId]:n[0];a&&t(a.id,j.id,p,"source"),n.forEach(o=>{let i=typeof o=="string"?f?y[o]:y[d[o].nodeId]:o;if(i===o&&!y[i.id]&&(y[i.id]=i),a&&(e.useDirectedEdges?t(i.id,a.id,p,"source"):t(a.id,i.id,p,"target")),u===n.length-1&&r==="circular")t(i.id,j.id,c);else if(u===n.length-1&&r==="bridgedCustom")t(i.id,v.level1Options.behavior.customBridgePost,c);else if(u<n.length-1){let b=typeof n[u+1]=="string"?f?y[n[u+1]]:y[d[n[u+1]].nodeId]:n[u+1];t(i.id,b.id,c)}!u&&r==="bridgedCustom"&&t(v.level1Options.behavior.customBridgePost,i.id,c),u++}),s.forEach(o=>{let i=d[o],b=i.behavior?.extents||"circular";i.divisions||console.error(`Parsing dimensions. The dimension using the key ${o} is missing the divisions property. dimension.divisions should be supplied. ${JSON.stringify(i)}.`);let m=Object.keys(i.divisions),R=i.divisions[m[0]];if(m.length!==1)t(i.nodeId,R.id,i.navigationRules.parent_child,"source");else{let K=Object.keys(R.values),I=typeof e.idKey=="function"?e.idKey(R.values[K[0]]):e.idKey;t(i.nodeId,R.values[K[0]][I],i.navigationRules.parent_child,"source")}let O=0;m.forEach(K=>{let I=i.divisions[K];O===m.length-1&&(b==="circular"||b==="bridgedCousins"||b==="bridgedCustom")?t(I.id,i.divisions[m[0]].id,i.navigationRules.sibling_sibling):O<m.length-1&&t(I.id,i.divisions[m[O+1]].id,i.navigationRules.sibling_sibling);let g=Object.keys(I.values);e.useDirectedEdges?t(I.id,i.nodeId,i.navigationRules.parent_child,"source"):t(i.nodeId,I.id,i.navigationRules.parent_child,"target");let E=typeof e.idKey=="function"?e.idKey(I.values[g[0]]):e.idKey;t(I.id,I.values[g[0]][E],i.navigationRules.parent_child,"source");let x=0;g.length>1&&g.forEach(S=>{let D=I.values[S],_=typeof e.idKey=="function"?e.idKey(D):e.idKey,L=m.length!==1?I.id:i.nodeId;if(e.useDirectedEdges?t(D[_],L,i.navigationRules.parent_child,"source"):t(L,D[_],i.navigationRules.parent_child,"target"),x===g.length-1&&b==="circular"){let N=typeof e.idKey=="function"?e.idKey(I.values[g[0]]):e.idKey;t(D[_],I.values[g[0]][N],i.navigationRules.sibling_sibling)}else if(x===g.length-1&&b==="bridgedCousins")if(O!==m.length-1){let N=typeof e.idKey=="function"?e.idKey(i.divisions[m[O+1]].values[g[0]]):e.idKey;t(D[_],i.divisions[m[O+1]].values[g[0]][N],i.navigationRules.sibling_sibling)}else{let N=typeof e.idKey=="function"?e.idKey(i.divisions[m[0]].values[g[0]]):e.idKey;t(D[_],i.divisions[m[0]].values[g[0]][N],i.navigationRules.sibling_sibling)}else if(x===g.length-1&&b==="bridgedCustom")t(D[_],i.behavior.customBridgePost,i.navigationRules.sibling_sibling);else if(x<g.length-1){let N=typeof e.idKey=="function"?e.idKey(I.values[g[x+1]]):e.idKey;t(D[_],I.values[g[x+1]][N],i.navigationRules.sibling_sibling)}if(!x&&b==="bridgedCousins")if(O!==0){let N=typeof e.idKey=="function"?e.idKey(i.divisions[m[O-1]].values[g[g.length-1]]):e.idKey;t(i.divisions[m[O-1]].values[g[g.length-1]][N],D[_],i.navigationRules.sibling_sibling)}else{let N=typeof e.idKey=="function"?e.idKey(i.divisions[m[m.length-1]].values[g[g.length-1]]):e.idKey;t(i.divisions[m[m.length-1]].values[g[g.length-1]][N],D[_],i.navigationRules.sibling_sibling)}else!x&&b==="bridgedCustom"&&t(i.behavior.customBridgePrevious,D[_],i.navigationRules.sibling_sibling);x++}),O++})})}return Object.keys(y).forEach(s=>{let f=y[s];e.genericEdges?.length&&e.genericEdges.forEach(n=>{l[n.edgeId]||(l[n.edgeId]=n.edge),(!n.conditional||n.conditional&&n.conditional(f,n))&&f.edges.push(n.edgeId)})}),l},J=(e,y,d)=>{let l=e.navigationRules;if(!l){let h=Object.keys(d||{});h.length>6&&console.error(`Building navigationRules. Dimension count is too high to automatically generate key commands. It is recommend you reduce your dimensions to 6 or fewer for end-user experience. If not, you must provide your own navigation rules in options.navigationRules. Details: Count is ${h.length}. Dimensions counted: ${h.join(", ")}.`);let t={},s={},f={},n=[...k],u=[...P],v=(r,a)=>{let p=r&&a,c=!1,j=!1;if((t[r]||s[r])&&(s[r]={...t[r]},c=!0),a&&(t[a]||s[a])&&(s[a]={...t[a]},j=!0),p&&!c&&!j){n.length||console.error("Building navigationRules. Dimension count is too high to automatically generate key commands, we have run out of keyboard key pairs to assign. You must either provide your own navigation rules in options.navigationRules, provide rules when generating dimensions, or reduce dimension count.");let o=[...n.shift()];u.splice(u.indexOf(o[0]),1),u.splice(u.indexOf(o[1]),1),s[r]={direction:e.useDirectedEdges?"target":"source",key:o[0]},s[a]={direction:"target",key:o[1]}}else{if(!s[r]&&u.length){let o=u.shift(),i=[];n.forEach(b=>{o!==b[0]&&o!==b[1]&&i.push(b)}),n=i,s[r]={direction:e.useDirectedEdges?"target":"source",key:o}}if(a&&!s[a]&&u.length){let o=u.shift(),i=[];n.forEach(b=>{o!==b[0]&&o!==b[1]&&i.push(b)}),n=i,s[a]={direction:"target",key:o}}u.length||(s[r]||(f[r]=r),a&&!s[a]&&(f[a]=a))}};if(Object.keys(C).forEach(r=>{let a={...C[r]};e.useDirectedEdges&&(a.direction="target"),t[r]=a}),h.length){if(e.dimensions?.parentOptions?.addLevel0){let r=e.dimensions.parentOptions.level1Options?.navigationRules?.parent_child||["parent","child"];v(r[0],r[1])}h.forEach(r=>{let a=d[r].navigationRules.parent_child,p=d[r].navigationRules.sibling_sibling;v(a[0],a[1]),v(p[0],p[1])})}if(Object.keys(y).forEach(r=>{y[r].navigationRules.forEach(a=>{s[a]||v(a)})}),Object.keys(f).length){let r={};Object.keys(s).forEach(p=>{r[s[p].key]=s[p].key}),Object.keys(t).forEach(p=>{!r[t[p].key]&&!$[t[p].key]&&u.push(t[p].key)});let a={...f};f={},Object.keys(a).forEach(p=>{v(p)}),Object.keys(f).length&&console.error(`Building navigationRules. There are no more keys left to assign automatically. Recommended fixes: use fewer dimensions, use fewer GenericEdges, or build your own navigationRules. Rules remaining without keyboard keys: ${Object.keys(f).join(", ")}.`)}l=s}return l},U=e=>{e.addIds&&V(e);let y=q(e),d=A(e,y),l=H(e,y,d),h=J(e,l,d);return{nodes:y,edges:l,dimensions:d,navigationRules:h}};export{V as addSimpleDataIDs,H as buildEdges,G as buildNodeStructureFromVegaLite,q as buildNodes,J as buildRules,U as buildStructure,z as default,A as scaffoldDimensions};
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&&r.omitKeyNames?"":t+": ").concat(e[t],". ")}),n+=r&&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 a=function(r,t){for(var n in t)e(r,n,{get:t[n],enumerable:!0})},o=function(a,o,c,u){var i=true,f=false,l=undefined;if(o&&typeof o=="object"||typeof o=="function")try{var d=function(){var t=b.value;!n.call(a,t)&&t!==c&&e(a,t,{get:function(){return o[t]},enumerable:!(u=r(o,t))||u.enumerable})};for(var v=t(o)[Symbol.iterator](),b;!(i=(b=v.next()).done);i=true)d()}catch(e){f=true;l=e}finally{try{if(!i&&v.return!=null){v.return()}}finally{if(f){throw l}}}return a};var c=function(r){return o(e({},"__esModule",{value:!0}),r)};var u={};a(u,{createValidId:function(){return f},describeNode:function(){return i}});module.exports=c(u);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},f=function(e){return"_"+e.replace(/[^a-zA-Z0-9_-]+/g,"_")};0&&(module.exports={createValidId:createValidId,describeNode:describeNode});
@@ -1 +1 @@
1
- import{a}from"./chunk-CCACYVYB.mjs";export{a as describeNode};
1
+ import{a,b}from"./chunk-K476QBP2.mjs";export{b as createValidId,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": "2.0.0",
4
+ "version": "2.0.2",
5
5
  "main": "./dist/index.jsm",
6
6
  "module": "./dist/index",
7
7
  "types": "./dist/src/index.d.ts",