react-semaphor 0.1.459 → 0.1.461

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +32 -32
  3. package/dist/brand-studio/index.cjs +1 -1
  4. package/dist/brand-studio/index.js +4 -4
  5. package/dist/briefings/index.cjs +1 -1
  6. package/dist/briefings/index.js +4 -4
  7. package/dist/chunks/{analyze-result-contract-BbRJ-C06.js → analyze-result-contract-DROq4vgY.js} +1 -1
  8. package/dist/chunks/{analyze-result-contract-LPDNldic.cjs → analyze-result-contract-DSGoFuXQ.cjs} +1 -1
  9. package/dist/chunks/canonical-result-keys-CEQefvdO.js +33 -0
  10. package/dist/chunks/canonical-result-keys-Cb96edol.cjs +1 -0
  11. package/dist/chunks/{common-types-H51FLKB7.js → common-types-BHVKgxRR.js} +1 -1
  12. package/dist/chunks/{common-types-C57kJ59w.cjs → common-types-BcV9PD9D.cjs} +1 -1
  13. package/dist/chunks/{dashboard-briefing-launcher-ClCj98sq.js → dashboard-briefing-launcher-3owMxX5K.js} +60 -61
  14. package/dist/chunks/{dashboard-briefing-launcher-DHtEouuH.cjs → dashboard-briefing-launcher-xuGrw8H3.cjs} +2 -2
  15. package/dist/chunks/{dashboard-controls-B8gsKlxc.js → dashboard-controls-B4GvjGr1.js} +44 -45
  16. package/dist/chunks/{dashboard-controls-VRShl9J0.cjs → dashboard-controls-Bpm_xOXQ.cjs} +1 -1
  17. package/dist/chunks/dashboard-filter-value-compatibility-KXIyvbhc.js +677 -0
  18. package/dist/chunks/dashboard-filter-value-compatibility-UapptYnn.cjs +1 -0
  19. package/dist/chunks/dashboard-input-contract-BkRFQ7Tq.cjs +1 -0
  20. package/dist/chunks/{dashboard-date-comparison-definition-DC3ekV2S.js → dashboard-input-contract-D5dxTWJ5.js} +41 -25
  21. package/dist/chunks/{dashboard-json-i_Auue_K.js → dashboard-json-DzyxoBp-.js} +13 -14
  22. package/dist/chunks/dashboard-json-yLM01xK4.cjs +1 -0
  23. package/dist/chunks/{edit-dashboard-visual-DWWyT55u.cjs → edit-dashboard-visual-1T278Nr_.cjs} +28 -28
  24. package/dist/chunks/{edit-dashboard-visual-B3JF0fe4.js → edit-dashboard-visual-nwSasO_j.js} +880 -894
  25. package/dist/chunks/{editor-action-buttons-BTlCsP63.cjs → editor-action-buttons-CX1Pken3.cjs} +2 -2
  26. package/dist/chunks/{editor-action-buttons-C9x3nGnb.js → editor-action-buttons-Dqw0asfA.js} +28 -28
  27. package/dist/chunks/index-B1qplNxl.cjs +1392 -0
  28. package/dist/chunks/{index-BS2-ZZGf.js → index-DazD5k0F.js} +45362 -42931
  29. package/dist/chunks/{index-BIFLI8ul.js → index-De_7nrwb.js} +10 -10
  30. package/dist/chunks/index-DjjKJPDy.cjs +4 -0
  31. package/dist/chunks/{matrix-result-contract-CofATICL.js → matrix-result-contract-BTpPuHOc.js} +88 -104
  32. package/dist/chunks/matrix-result-contract-ZRNfeIbI.cjs +1 -0
  33. package/dist/chunks/{pivot-header-presentation-B9nXXKlW.cjs → pivot-header-presentation-BijPbP33.cjs} +1 -1
  34. package/dist/chunks/{pivot-header-presentation-D-0jvUwn.js → pivot-header-presentation-DW0gKG8g.js} +2 -2
  35. package/dist/chunks/{pivot-result-identity-Bb4EixVN.cjs → pivot-result-identity-DxHtiKVj.cjs} +1 -1
  36. package/dist/chunks/{pivot-result-identity-DU1v-5Xk.js → pivot-result-identity-Z9tN2tEV.js} +1 -1
  37. package/dist/chunks/{pivot-result-lifecycle-DTLRuDEW.cjs → pivot-result-lifecycle-BXzIlQVu.cjs} +1 -1
  38. package/dist/chunks/{pivot-result-lifecycle-CHWEGU2o.js → pivot-result-lifecycle-g2U-vzQb.js} +7 -7
  39. package/dist/chunks/{raw-temporal-contract-BtjH_G-d.cjs → raw-temporal-contract-DfAvqNMo.cjs} +1 -1
  40. package/dist/chunks/{raw-temporal-contract-CxncLze5.js → raw-temporal-contract-UtAqoOZO.js} +1 -1
  41. package/dist/chunks/{report-preferences-dialog-BK0yAJnQ.cjs → report-preferences-dialog-DKPyjiCt.cjs} +1 -1
  42. package/dist/chunks/{report-preferences-dialog-BDpkcUtz.js → report-preferences-dialog-Dv3vCCFt.js} +6 -6
  43. package/dist/chunks/{report-runtime-context-DqxS4wbi.cjs → report-runtime-context-C0NfLPfc.cjs} +1 -1
  44. package/dist/chunks/{report-runtime-context-SM6YO61_.js → report-runtime-context-CNncA3VD.js} +11 -11
  45. package/dist/chunks/{saved-temporal-bucket-format-CFfWXRl9.cjs → saved-temporal-bucket-format-3QKveR3v.cjs} +1 -1
  46. package/dist/chunks/{saved-temporal-bucket-format-SGAV0ivR.js → saved-temporal-bucket-format-Dd2eixTH.js} +11 -11
  47. package/dist/chunks/switch-DBZsEV0U.cjs +138 -0
  48. package/dist/chunks/{switch-DQR-Va05.js → switch-kPUJEC1A.js} +6615 -5219
  49. package/dist/chunks/{temporal-bucket-5UYEotyQ.js → temporal-bucket-C85rmFmC.js} +4 -4
  50. package/dist/chunks/temporal-bucket-authoring-1fZuPAVb.js +653 -0
  51. package/dist/chunks/temporal-bucket-authoring-BK1UhYpD.cjs +1 -0
  52. package/dist/chunks/{temporal-bucket-contract-D5d-xEl3.js → temporal-bucket-contract-DXXNZssK.js} +1 -1
  53. package/dist/chunks/{temporal-bucket-contract-D2-93DGr.cjs → temporal-bucket-contract-xFkvboaw.cjs} +1 -1
  54. package/dist/chunks/{temporal-bucket-DHY1y9lq.cjs → temporal-bucket-pMfghsLX.cjs} +1 -1
  55. package/dist/chunks/{token-types-GbxRUozo.js → token-types-BLxc7UwR.js} +1 -1
  56. package/dist/chunks/{token-types-D7CaaI80.cjs → token-types-BYYO109W.cjs} +1 -1
  57. package/dist/chunks/{update-policy-hednMF-0.js → update-policy-CB8XJIoY.js} +1 -1
  58. package/dist/chunks/{update-policy-BmiOd0PB.cjs → update-policy-DMjjGjQY.cjs} +1 -1
  59. package/dist/chunks/{validators-DEmd8Sin.js → validators-DVd8s3qY.js} +416 -350
  60. package/dist/chunks/validators-dJlwubP4.cjs +1 -0
  61. package/dist/dashboard/index.cjs +1 -1
  62. package/dist/dashboard/index.js +2 -2
  63. package/dist/dashboard-authoring/index.cjs +3 -3
  64. package/dist/dashboard-authoring/index.js +328 -311
  65. package/dist/data-app-builder/index.cjs +1 -1
  66. package/dist/data-app-builder/index.js +2 -2
  67. package/dist/data-app-codegen/index.cjs +1 -1
  68. package/dist/data-app-codegen/index.js +2 -2
  69. package/dist/data-app-codegen-node/index.cjs +1 -1
  70. package/dist/data-app-codegen-node/index.js +3 -3
  71. package/dist/data-app-sdk/index.cjs +1 -1
  72. package/dist/data-app-sdk/index.js +55 -55
  73. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  74. package/dist/data-app-sdk-adapters/index.js +61 -56
  75. package/dist/data-app-sdk-validation/index.cjs +1 -1
  76. package/dist/data-app-sdk-validation/index.js +9 -9
  77. package/dist/format-utils/index.cjs +1 -1
  78. package/dist/format-utils/index.js +15 -15
  79. package/dist/index.cjs +1 -1
  80. package/dist/index.js +154 -155
  81. package/dist/report-runtime-context/index.cjs +1 -1
  82. package/dist/report-runtime-context/index.js +2 -2
  83. package/dist/style.css +1 -1
  84. package/dist/surfboard/index.cjs +1 -1
  85. package/dist/surfboard/index.js +3 -3
  86. package/dist/types/analytics-protocol.d.ts +16 -8
  87. package/dist/types/briefings.d.ts +95 -13
  88. package/dist/types/dashboard-assistant.d.ts +11 -6
  89. package/dist/types/dashboard-authoring.d.ts +257 -19
  90. package/dist/types/dashboard.d.ts +109 -14
  91. package/dist/types/data-app-builder.d.ts +11 -6
  92. package/dist/types/data-app-codegen-node.d.ts +16 -8
  93. package/dist/types/data-app-codegen.d.ts +16 -8
  94. package/dist/types/data-app-sdk-adapters.d.ts +17 -11
  95. package/dist/types/data-app-sdk-validation.d.ts +17 -11
  96. package/dist/types/data-app-sdk.d.ts +17 -11
  97. package/dist/types/index.cjs +1 -1
  98. package/dist/types/index.js +4 -4
  99. package/dist/types/main.d.ts +225 -20
  100. package/dist/types/shared.d.ts +95 -13
  101. package/dist/types/surfboard.d.ts +109 -14
  102. package/dist/types/types.d.ts +109 -14
  103. package/package.json +1 -1
  104. package/dist/chunks/canonical-result-keys-BA0HCP4e.cjs +0 -1
  105. package/dist/chunks/canonical-result-keys-D6avdjpA.js +0 -467
  106. package/dist/chunks/dashboard-date-comparison-definition-Ces4alFm.cjs +0 -1
  107. package/dist/chunks/dashboard-json-BhvPMpZA.cjs +0 -1
  108. package/dist/chunks/index-DHF-2AqS.cjs +0 -1392
  109. package/dist/chunks/index-k8tEp0ys.cjs +0 -4
  110. package/dist/chunks/matrix-result-contract-zamd9euI.cjs +0 -1
  111. package/dist/chunks/switch-f3TuZNLr.cjs +0 -138
  112. package/dist/chunks/temporal-bucket-authoring-K1kE6R_z.js +0 -222
  113. package/dist/chunks/temporal-bucket-authoring-o3Emn05L.cjs +0 -1
  114. package/dist/chunks/validators-BDYprKI9.cjs +0 -1
@@ -0,0 +1 @@
1
+ "use strict";var O=Object.defineProperty;var H=(e,n,i)=>n in e?O(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i;var S=(e,n,i)=>H(e,typeof n!="symbol"?n+"":n,i);const f=require("./validators-dJlwubP4.cjs");require("./analyze-result-contract-DSGoFuXQ.cjs");require("../value-format-preferences/index.cjs");function p(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function k(e){return p(e)&&typeof e.name=="string"}function F(e){return!p(e)||e.kind!=="semantic"&&e.kind!=="physical"||(e.kind==="semantic"?[e.datasetId,e.datasetName,e.connectionId]:[e.databaseName,e.schemaName]).some(i=>i!==void 0&&typeof i!="string")?!1:f.hasCompleteSemaphorSourceIdentity(e)}function v(e,n){var c,o;if((n==null?void 0:n.mode)!=="database"&&e.type==="dataset"&&"domainId"in e&&e.domainId){const s=e,d={kind:"semantic",domainId:s.domainId,datasetId:s.id,datasetName:s.name,connectionId:s.connectionId||(n==null?void 0:n.connectionId),label:s.label};return F(d)?d:void 0}const i=e.connectionId||(n==null?void 0:n.connectionId),a=e.type==="dataset"&&"table"in e&&e.table?e.table:e.name;if(!i||!a)return;const t={kind:"physical",connectionId:i,connectionType:e.connectionType||(n==null?void 0:n.connectionType),tableName:a,databaseName:e.database||((c=n==null?void 0:n.dbSelection)==null?void 0:c.database),schemaName:e.schema||((o=n==null?void 0:n.dbSelection)==null?void 0:o.schema),dialect:e.dialect};return F(t)?t:void 0}function L(e,n){var s,d;const i=v(e,n);if(!i)return;const a=e.type==="dataset"&&"table"in e&&typeof e.table=="string"?e.table.trim():void 0,t=i.kind==="physical"?i.tableName:a,c=e.connectionId||(n==null?void 0:n.connectionId),o=t&&c?{connectionId:c,databaseName:e.database||((s=n==null?void 0:n.dbSelection)==null?void 0:s.database),schemaName:e.schema||((d=n==null?void 0:n.dbSelection)==null?void 0:d.schema),tableName:t}:void 0;return{source:i,...o?{executionTable:o}:{}}}function x(e){const n=p(e.dataSource)?e.dataSource:void 0;if(typeof e.sql=="string"&&e.sql.trim()){const o=[],s=Array.isArray(n==null?void 0:n.selectedEntities)?n.selectedEntities:[];for(const d of s){if(!k(d))continue;const r=L(d,n);r&&!o.some($=>f.semaphorSourcesReferToSameDataset($.source,r.source))&&o.push(r)}return{cardId:e.id,kind:"sql",pinnedCatalogSources:o}}if(!p(e.config))return{cardId:e.id,kind:"unconfigured"};const i=[],a=p(e.config.matrixIntent)?e.config.matrixIntent:void 0,t=e.type==="matrixTable"?(a==null?void 0:a.kind)==="matrix"?a.source:e.config.source:void 0;F(t)&&i.push(t);const c=p(e.config.joinPlan)?e.config.joinPlan:void 0;if(c){const o=Array.isArray(c.joins)?c.joins:[],s=[c.baseEntity];for(const d of o)p(d)&&s.push(d.source,d.target);for(const d of s){if(!k(d))continue;const r=v(d,n);r&&i.push(r)}}else if(e.type!=="matrixTable"){const o=Array.isArray(n==null?void 0:n.selectedEntities)?n.selectedEntities:[];if(o.length===1&&k(o[0])){const s=v(o[0],n);s&&i.push(s)}}if(!i.length&&!c&&e.type!=="matrixTable"){const o=e.config.queryBaseSource;F(o)&&i.push(o)}return{cardId:e.id,kind:"config",executableSources:f.mergeSemaphorSourcesByIdentity(i)}}function w(e,n){return(e.kind==="config"?e.executableSources:e.kind==="sql"?e.pinnedCatalogSources.map(a=>a.source):[]).some(a=>f.semaphorSourcesReferToSameDataset(a,n))}function V(e,n){if(e.kind==="config")return e.executableSources.find(i=>f.semaphorSourcesReferToSameDataset(i,n))}function U(e,n){var i;return(i=C(e,n))==null?void 0:i.source}function C(e,n){if(e.kind==="sql")return e.pinnedCatalogSources.find(i=>f.semaphorSourcesReferToSameDataset(i.source,n))}function A(e){const n=new Set;for(const i of[e.name,e.sourceField]){if(!i)continue;const a=f.normalizeAnalyticsCatalogName(i);if(!a)continue;n.add(a);const t=a.split("."),c=t[t.length-1];c&&n.add(c)}return n}function W(e,n){const i=f.normalizeAnalyticsCatalogDataType(e),a=f.normalizeAnalyticsCatalogDataType(n);return i==="unknown"||a==="unknown"?!1:(i==="date"||i==="datetime")&&(a==="date"||a==="datetime")?!0:i===a}function P(e,n){if(e.kind!=="field")return!1;const i=A(n),a=A(e.field);return W(n.dataType,e.field.dataType)&&[...a].some(t=>i.has(t))}function K(e){const n=e.candidates.filter(i=>P(i,e.logicalValueField));return n.length===1?{status:"matched",target:n[0]}:n.length>1?{status:"ambiguous"}:{status:"notApplicable"}}const Y=/\{\{-?\s*filters\s*\|\s*where\s*-?\}\}/i,G=/\{\{-?\s*filters\s*\|\s*and\s*-?\}\}/i,J=/\bwhere\b/i;function z(e){return e!=null&&e.trim()?Y.test(e)||G.test(e):!1}function Q(e){return!(e!=null&&e.trim())||z(e)?null:J.test(e)?{helper:"{{ filters | and }}",description:"For queries with an existing WHERE clause."}:{helper:"{{ filters | where }}",description:"For queries without a WHERE clause."}}function X(e){return(e.field.sourceField||e.field.name).trim()||void 0}function Z(e){if(e.inventory.kind!=="sql"||e.target.kind!=="field")return{status:"ineligible"};const n=C(e.inventory,e.target.field.source),i=X(e.target);if(!n||!i)return{status:"ineligible"};if(n.executionTable){const o=[n.executionTable.databaseName,n.executionTable.schemaName,n.executionTable.tableName,i].filter(Boolean).join(".");return{status:"eligible",source:n.source,executionIdentifier:o}}if(e.inventory.pinnedCatalogSources.length!==1)return{status:"ineligible"};const a=f.normalizeAnalyticsCatalogName(i),t=(e.candidateTargets||[]).filter(o=>f.normalizeAnalyticsCatalogName(o.field.sourceField||o.field.name)===a),c=[];for(const o of t)c.some(s=>f.semaphorSourcesReferToSameDataset(s,o.field.source))||c.push(o.field.source);return c.length>1?{status:"ineligible"}:{status:"eligible",source:n.source,executionIdentifier:i}}class B extends Error{constructor(i){super(i.map(a=>a.message).join(" "));S(this,"issues");this.name="DashboardFilterMappingContractError",this.issues=i}}const ee={string:!0,number:!0,boolean:!0,date:!0,datetime:!0};function b(e){return typeof e=="string"&&e.trim().length>0}function m(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function I(e){return Array.isArray(e)&&e.every(n=>typeof n=="string")}function ne(e){if(!m(e))return!1;switch(e.kind){case"allSheets":return e.sheetKinds===void 0||I(e.sheetKinds)&&e.sheetKinds.every(n=>n==="dashboard"||n==="document");case"sheets":return I(e.sheetIds);case"cards":return I(e.cardIds);case"documentSections":return b(e.sheetId)&&I(e.sectionIds);default:return!1}}function ie(e){return e==="shared"||e==="perSheet"||e==="perCard"||e==="perDocumentSection"}function te(e){return m(e)?b(e.id)&&b(e.column)&&b(e.dataType):!1}function re(e,n,i,a){var s;if(!m(n)){a.push({code:"invalid_option_source",path:i,message:`${i} must be a semantic or physical option source.`,inputId:e});return}const t=n.source,c=[["labelField",n.labelField],["valueField",n.valueField],["searchField",n.searchField]];if(!m(t)||t.kind!=="semantic"&&t.kind!=="physical"||!f.hasCompleteSemaphorSourceIdentity(t)||!m(n.labelField)||!m(n.valueField)||n.searchField!==void 0&&!m(n.searchField)||n.disambiguationFields!==void 0&&(!Array.isArray(n.disambiguationFields)||!n.disambiguationFields.every(m))){a.push({code:"invalid_option_source",path:i,message:`${i} must contain a valid semantic or physical source and field references.`,inputId:e});return}for(const[d,r]of c)r!==void 0&&m(r)&&(!b(r.name)||r.source!==void 0&&!f.semaphorSourcesReferToSameDataset(r.source,t))&&a.push({code:"invalid_option_source",path:`${i}.${d}`,message:`${i}.${d} must be a named field belonging to the declared option source.`,inputId:e});for(const[d,r]of((s=n.disambiguationFields)==null?void 0:s.entries())||[])(!m(r)||!b(r.name)||r.source!==void 0&&!f.semaphorSourcesReferToSameDataset(r.source,t))&&a.push({code:"invalid_option_source",path:`${i}.disambiguationFields[${d}]`,message:`${i}.disambiguationFields[${d}] must be a named field belonging to the declared option source.`,inputId:e});const o=n.valueField;["string","number","boolean","date","datetime"].includes(String(o.dataType))||a.push({code:"invalid_option_source",path:`${i}.valueField.dataType`,message:`${i}.valueField.dataType must be a known option-value datatype.`,inputId:e})}function se(e,n,i,a,t,c){var r;if(b(n.bindingId)||t.push({code:"invalid_binding_id",path:`${i}.bindingId`,message:`${i}.bindingId must be an opaque non-empty id.`,inputId:e,cardId:n.cardId}),((r=n.target)==null?void 0:r.kind)!=="field"){t.push({code:"unsupported_target",path:`${i}.target`,message:`${i}.target must be one direct field target.`,inputId:e,cardId:n.cardId,bindingId:n.bindingId});return}const o=n.target.field;if(!b(o==null?void 0:o.name)||!o.source||o.source.kind!=="semantic"&&o.source.kind!=="physical"||!f.hasCompleteSemaphorSourceIdentity(o.source)){t.push({code:"invalid_target_field",path:`${i}.target.field`,message:`${i}.target.field must have a name and a source-qualified semantic or physical identity.`,inputId:e,cardId:n.cardId,bindingId:n.bindingId});return}if(Object.prototype.hasOwnProperty.call(ee,o.dataType)||t.push({code:"unknown_target_data_type",path:`${i}.target.field.dataType`,message:`${i}.target.field.dataType must be known.`,inputId:e,cardId:n.cardId,bindingId:n.bindingId}),o.sourceField!==void 0&&!b(o.sourceField)&&t.push({code:"invalid_target_field",path:`${i}.target.field.sourceField`,message:`${i}.target.field.sourceField must be a non-empty catalog-grounded column when provided.`,inputId:e,cardId:n.cardId,bindingId:n.bindingId}),!c)return;const s=a.get(n.cardId);if(!s){t.push({code:"unknown_card",path:`${i}.cardId`,message:`${i}.cardId '${n.cardId}' does not exist.`,inputId:e,cardId:n.cardId,bindingId:n.bindingId});return}const d=x(s);(d.kind==="unconfigured"||!w(d,o.source))&&t.push({code:"unavailable_card_source",path:`${i}.target.field.source`,message:`${i}.target field source is not declared by card '${s.id}'.`,inputId:e,cardId:s.id,bindingId:n.bindingId})}function oe(e,n,i,a,t,c){if(n===void 0)return;if(!m(n)||n.kind!=="cardMappings"||!Array.isArray(n.cards)){t.push({code:"invalid_application",path:i,message:`${i} must be a cardMappings application with a cards array.`,inputId:e});return}const o=new Set;n.cards.forEach((s,d)=>{const r=`${i}.cards[${d}]`;if(!b(s==null?void 0:s.cardId)){t.push({code:"unknown_card",path:`${r}.cardId`,message:`${r}.cardId is required.`,inputId:e});return}if(o.has(s.cardId)){t.push({code:"duplicate_card_application",path:`${r}.cardId`,message:`${i} contains more than one entry for card '${s.cardId}'.`,inputId:e,cardId:s.cardId});return}if(o.add(s.cardId),c&&!a.has(s.cardId)){t.push({code:"unknown_card",path:`${r}.cardId`,message:`${r}.cardId '${s.cardId}' does not exist.`,inputId:e,cardId:s.cardId});return}s.kind==="bound"?se(e,s,r,a,t,c):s.kind!=="excluded"&&t.push({code:"invalid_application",path:r,message:`${r}.kind must be 'bound' or 'excluded'.`,inputId:e,cardId:s.cardId})})}function j({inputs:e,dashboardFilters:n,cards:i=[],validateCardTargets:a=!1}){const t=[],c=new Map((n||[]).map(r=>[r.id,r])),o=new Map(a?i.map(r=>[r.id,r]):[]),s=[],d=new Map;return e!=null&&!Array.isArray(e)?(t.push({code:"invalid_input",path:"dashboard.inputs",message:"dashboard.inputs must be an array when present."}),{ok:!1,inputs:s,issues:t}):((Array.isArray(e)?e:[]).forEach((r,$)=>{const u=`dashboard.inputs[${$}]`;if(!m(r)||r.kind!=="filter"&&r.kind!=="control"||!b(r.id)||!b(r.label)||!b(r.variableName)||!ne(r.scope)||!ie(r.runtimeScope)){t.push({code:"invalid_input",path:u,message:`${u} must be a complete filter or control Dashboard Input envelope.`,inputId:m(r)&&typeof r.id=="string"?r.id:void 0});return}if(r.kind==="control"&&!m(r.control)){t.push({code:"invalid_input",path:`${u}.control`,message:`${u}.control must be a control definition.`,inputId:r.id});return}const l=r;if(l.kind==="control"){s.push(l);return}const _=l.filter,g=l.filterReference,y=_!==void 0,E=!!g;if(y&&E){t.push({code:"both_filter_definitions",path:u,message:`${u} must contain either filter or filterReference, not both.`,inputId:l.id});return}if(!y&&!E){t.push({code:"missing_filter_definition",path:u,message:`${u} must contain filter or filterReference.`,inputId:l.id});return}if(y&&!te(_)){t.push({code:"invalid_input",path:`${u}.filter`,message:`${u}.filter must be a complete dashboard filter definition.`,inputId:l.id});return}let h,T;if(y)h=_,T="embedded";else{if((g==null?void 0:g.kind)!=="dashboardFilter"){t.push({code:"invalid_filter_reference",path:`${u}.filterReference.kind`,message:`${u}.filterReference.kind must be 'dashboardFilter'.`,inputId:l.id});return}const D=typeof(g==null?void 0:g.filterId)=="string"?g.filterId:void 0;if(h=D?c.get(D):void 0,T="dashboardFilter",!h){t.push({code:"orphaned_filter_reference",path:`${u}.filterReference.filterId`,message:`${u}.filterReference cannot resolve dashboard filter '${D||""}'.`,inputId:l.id});return}if(h.kind==="global-date"){t.push({code:"global_date_reference",path:`${u}.filterReference`,message:`${u}.filterReference cannot reference the Global Date filter.`,inputId:l.id});return}const N=d.get(h.id);if(N){t.push({code:"duplicate_filter_reference",path:`${u}.filterReference.filterId`,message:`${u}.filterReference duplicates dashboard filter '${h.id}' already owned by Dashboard Input '${N}'.`,inputId:l.id});return}d.set(h.id,l.id)}if(!h)return;if(l.optionSource!==void 0&&re(l.id,l.optionSource,`${u}.optionSource`,t),l.application&&h.kind==="global-date"){t.push({code:"global_date_reference",path:`${u}.application`,message:`${u}.application cannot map the Global Date filter.`,inputId:l.id});return}l.application&&l.scope.kind!=="allSheets"&&l.scope.kind!=="sheets"&&t.push({code:"unsupported_mapped_scope",path:`${u}.scope`,message:`${u}.scope must be allSheets or sheets when cardMappings are present.`,inputId:l.id}),oe(l.id,l.application,`${u}.application`,o,t,a);const{filter:ue,filterReference:fe,compatibility:R,...M}=l;s.push({...M,filter:h,...y&&R?{compatibility:R}:{},...l.optionSource?{optionSource:l.optionSource}:{},definitionOrigin:T})}),t.length?{ok:!1,inputs:s,issues:t}:{ok:!0,inputs:s})}function ae(e){const n=j(e);if(!n.ok)throw new B(n.issues);return n.inputs}function de(e=()=>globalThis.crypto.randomUUID()){return e()}const ce={date:new Set(["between","not between","=","!=",">",">=","<","<=","is null","is not null"]),number:new Set(["between","not between","=","!=",">",">=","<","<=","in","not in","is null","is not null"]),string:new Set(["=","!=","in","not in","like","not like","is null","is not null"]),boolean:new Set(["=","!=","is null","is not null"])};function q(e){const n=f.normalizeAnalyticsCatalogDataType(e);return n==="number"||n==="boolean"?n:n==="date"||n==="datetime"?"date":"string"}function le(e,n){return typeof n!="string"?!1:ce[q(e)].has(n)}exports.DashboardFilterMappingContractError=B;exports.buildDashboardCardSourceIndex=x;exports.createDashboardFilterBindingId=de;exports.dashboardCardFilterSourceInventoryContains=w;exports.dashboardFilterTargetMatchesLogicalValue=P;exports.dashboardFilterValueTypeForDataType=q;exports.findDashboardCardExecutableSource=V;exports.findDashboardCardPinnedCatalogSource=U;exports.findDashboardSqlPinnedCatalogSource=C;exports.getDashboardFilterSubscriptionHint=Q;exports.hasDashboardFilterSubscription=z;exports.isDashboardFilterOperationCompatible=le;exports.normalizeDashboardInputs=j;exports.requireNormalizedDashboardInputs=ae;exports.resolveDashboardFilterAutomaticTarget=K;exports.resolveDashboardSqlFilterTarget=Z;
@@ -0,0 +1 @@
1
+ "use strict";const h=require("./validators-dJlwubP4.cjs");function v(e,n){const t=e.split(".").map(r=>r.trim()),i=n.split(".").map(r=>r.trim());if(t.length===0||i.length===0||t.some(r=>!r)||i.some(r=>!r))return!1;const[o,s]=t.length<=i.length?[t,i]:[i,t],a=s.length-o.length;return o.every((r,c)=>r===s[c+a])}function D(e,n){const t=e.split("."),i=n.split("."),o=t.pop(),s=i.pop();return!!(o&&o===s&&t.length>0&&i.length>0&&v(t.join("."),i.join(".")))}function F(e){const n=e.map(i=>i.trim()).filter(Boolean);if(n.every((i,o)=>n.slice(o+1).every(s=>v(i,s))))return[...n].sort((i,o)=>o.split(".").length-i.split(".").length)[0]}function u(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function _(e){if(typeof e!="string")return"";const n=e.split(".").map(t=>t.trim());return n.length>1&&n.every(Boolean)?n.join("."):""}function I(e){if(typeof e!="string")return"";const n=e.split(".").map(t=>t.trim());return n.length>0&&n.every(Boolean)?n.join("."):""}function d(e){return typeof e=="string"?e.trim():""}function S(e,n){return e.every((t,i)=>e.slice(i+1).every(o=>n(t,o)))}function N(e,n){const t=d(e.id),i=d(e.name),o=d(n.entityId),s=d(n.entityName);return!i||!o&&!s?!1:(!o||o===t||o===i)&&(!s||s===i)}function E(e){const n=u(e.semanticContext)?e.semanticContext:void 0,t=u(e.fieldMeta)?e.fieldMeta:void 0,i=d(n==null?void 0:n.semanticDomainId),o=Array.isArray(n==null?void 0:n.selectedEntities)?n.selectedEntities.filter(g=>u(g)&&g.type==="dataset"):[];if(!!!(i||o.length>0||(t==null?void 0:t.entityType)==="dataset"))return;if(!i)return{status:"unresolved",reason:"incomplete_source_identity"};const a=d(t==null?void 0:t.entityId),r=d(t==null?void 0:t.entityName),c=!!(a||r),f=c?o.filter(g=>N(g,{entityId:a,entityName:r})):o;if(f.length>1)return{status:"unresolved",reason:"incomplete_source_identity"};if(c&&o.length>0&&f.length===0)return{status:"unresolved",reason:"divergent_source_identity"};const l=f[0],m=d(l==null?void 0:l.domainId),y=d(l==null?void 0:l.id),p=d(l==null?void 0:l.name);if(m&&m!==i)return{status:"unresolved",reason:"divergent_source_identity"};const b=y,C=p||r;return C?{status:"resolved",source:{kind:"semantic",domainId:i,datasetName:C,...b?{datasetId:b}:{}}}:{status:"unresolved",reason:"incomplete_source_identity"}}function A(e,n){const t=d(e.connectionId),i=u(e.semanticContext)?e.semanticContext:void 0,o=d(i==null?void 0:i.connectionId);if(t&&o&&t!==o)return{status:"unresolved",reason:"divergent_source_identity"};const s=t||o,a=u(e.fieldMeta)?e.fieldMeta:void 0,r=n.split(".").slice(0,-1).join("."),c=I(e.qualifiedTableName),f=I(a==null?void 0:a.qualifiedEntityName),l=[c,f,r].filter(Boolean),m=F(l);return!m&&l.length>0?{status:"unresolved",reason:"divergent_source_identity"}:!s||!m?{status:"unresolved",reason:"incomplete_source_identity"}:{status:"resolved",source:{kind:"physical",connectionId:s,tableName:m}}}function B(e,n){const t=u(e.fieldMeta)?e.fieldMeta:void 0,i=typeof(t==null?void 0:t.qualifiedFieldName)=="string"?t.qualifiedFieldName.trim():"",o=_(t==null?void 0:t.qualifiedFieldName),s=typeof e.column=="string"?e.column.trim():"",a=_(s),r=typeof e.qualifiedTableName=="string"?e.qualifiedTableName.trim():"",c=I(e.qualifiedTableName);if(i&&!o||n&&r&&!c||s.includes(".")&&!a)return{status:"unresolved",reason:"incomplete_field_identity"};const f=a.split("."),l=a?f[f.length-1]:s,m=n&&c&&l?`${c}.${l}`:"",y=[o,a,m].filter(Boolean);if(!S(y,D))return{status:"unresolved",reason:"divergent_field_identity"};const p=a||o||m;return p?{status:"resolved",qualifiedFieldName:p}:{status:"unresolved",reason:"incomplete_field_identity"}}function q(e){if(!u(e))return{status:"ineligible",reason:"invalid_input"};if(e.kind==="global-date")return{status:"eligible",kind:"global_date"};const n=h.normalizeAnalyticsCatalogDataType(e.dataType);if(n!=="date"&&n!=="datetime")return{status:"ineligible",reason:"non_date_filter"};const t=u(e.fieldMeta)?e.fieldMeta:void 0,i=h.normalizeAnalyticsCatalogDataType(t==null?void 0:t.dataType);if((t==null?void 0:t.dataType)!==void 0&&i!=="date"&&i!=="datetime")return{status:"ineligible",reason:"non_date_filter"};if(e.customFilterPreferences)return{status:"ineligible",reason:"custom_filter"};if(e.targetColumns!==void 0&&(!Array.isArray(e.targetColumns)||e.targetColumns.length>0))return{status:"ineligible",reason:"multi_target_filter"};const o=E(e),s=B(e,o===void 0);if(s.status==="unresolved")return{status:"ineligible",reason:s.reason};const a=o||A(e,s.qualifiedFieldName);return a.status==="resolved"?{status:"eligible",kind:"field_date",qualifiedFieldName:s.qualifiedFieldName,source:a.source}:{status:"ineligible",reason:a.reason}}function T(e){if(!u(e)||e.kind!=="filter"||!u(e.filter))return{status:"ineligible",reason:"invalid_input"};const n=q(e.filter);return n.status==="ineligible"?n:n.kind==="field_date"&&u(e.compatibility)&&e.compatibility.source==="cardInlineFilter"?{status:"ineligible",reason:"card_inline_filter"}:n}function $(e){return T(e).status==="eligible"}function k(e){return`compat-filter:${e}`}function j(e){return`compat-control:${e}`}function z(e,n){return`compat-inline-filter:${e}:${n}`}function M(e,n){return`compat-card-control:${e}:${n}`}exports.getCardControlCompatInputId=M;exports.getCardInlineFilterCompatInputId=z;exports.getDashboardControlCompatInputId=j;exports.getDashboardFilterCompatInputId=k;exports.isComparisonCapableDashboardDateInputDefinition=$;exports.qualifiedEntityIdentitiesReferToSameEntity=v;exports.qualifiedFieldIdentitiesReferToSameField=D;exports.resolveDashboardDateComparisonFilterDefinition=q;exports.resolveDashboardDateComparisonInputDefinition=T;exports.selectMostQualifiedCompatibleEntityIdentity=F;exports.semanticDatasetMatchesFieldCoordinates=N;
@@ -1,23 +1,23 @@
1
- import { n as h } from "./validators-DEmd8Sin.js";
2
- function N(e, n) {
1
+ import { F as _ } from "./validators-DVd8s3qY.js";
2
+ function C(e, n) {
3
3
  const t = e.split(".").map((r) => r.trim()), i = n.split(".").map((r) => r.trim());
4
4
  if (t.length === 0 || i.length === 0 || t.some((r) => !r) || i.some((r) => !r))
5
5
  return !1;
6
6
  const [s, o] = t.length <= i.length ? [t, i] : [i, t], a = o.length - s.length;
7
7
  return s.every((r, c) => r === o[c + a]);
8
8
  }
9
- function q(e, n) {
9
+ function N(e, n) {
10
10
  const t = e.split("."), i = n.split("."), s = t.pop(), o = i.pop();
11
- return !!(s && s === o && t.length > 0 && i.length > 0 && N(
11
+ return !!(s && s === o && t.length > 0 && i.length > 0 && C(
12
12
  t.join("."),
13
13
  i.join(".")
14
14
  ));
15
15
  }
16
- function C(e) {
16
+ function q(e) {
17
17
  const n = e.map((i) => i.trim()).filter(Boolean);
18
18
  if (n.every(
19
19
  (i, s) => n.slice(s + 1).every(
20
- (o) => N(i, o)
20
+ (o) => C(i, o)
21
21
  )
22
22
  ))
23
23
  return [...n].sort(
@@ -27,7 +27,7 @@ function C(e) {
27
27
  function u(e) {
28
28
  return typeof e == "object" && e !== null && !Array.isArray(e);
29
29
  }
30
- function I(e) {
30
+ function h(e) {
31
31
  if (typeof e != "string") return "";
32
32
  const n = e.split(".").map((t) => t.trim());
33
33
  return n.length > 1 && n.every(Boolean) ? n.join(".") : "";
@@ -51,13 +51,13 @@ function F(e, n) {
51
51
  }
52
52
  function T(e) {
53
53
  const n = u(e.semanticContext) ? e.semanticContext : void 0, t = u(e.fieldMeta) ? e.fieldMeta : void 0, i = d(n == null ? void 0 : n.semanticDomainId), s = Array.isArray(n == null ? void 0 : n.selectedEntities) ? n.selectedEntities.filter(
54
- (g) => u(g) && g.type === "dataset"
54
+ (y) => u(y) && y.type === "dataset"
55
55
  ) : [];
56
56
  if (!!!(i || s.length > 0 || (t == null ? void 0 : t.entityType) === "dataset")) return;
57
57
  if (!i)
58
58
  return { status: "unresolved", reason: "incomplete_source_identity" };
59
59
  const a = d(t == null ? void 0 : t.entityId), r = d(t == null ? void 0 : t.entityName), c = !!(a || r), f = c ? s.filter(
60
- (g) => F(g, {
60
+ (y) => F(y, {
61
61
  entityId: a,
62
62
  entityName: r
63
63
  })
@@ -66,17 +66,17 @@ function T(e) {
66
66
  return { status: "unresolved", reason: "incomplete_source_identity" };
67
67
  if (c && s.length > 0 && f.length === 0)
68
68
  return { status: "unresolved", reason: "divergent_source_identity" };
69
- const l = f[0], m = d(l == null ? void 0 : l.domainId), p = d(l == null ? void 0 : l.id), y = d(l == null ? void 0 : l.name);
69
+ const l = f[0], m = d(l == null ? void 0 : l.domainId), p = d(l == null ? void 0 : l.id), g = d(l == null ? void 0 : l.name);
70
70
  if (m && m !== i)
71
71
  return { status: "unresolved", reason: "divergent_source_identity" };
72
- const _ = p, b = y || r;
72
+ const I = p, b = g || r;
73
73
  return b ? {
74
74
  status: "resolved",
75
75
  source: {
76
76
  kind: "semantic",
77
77
  domainId: i,
78
78
  datasetName: b,
79
- ..._ ? { datasetId: _ } : {}
79
+ ...I ? { datasetId: I } : {}
80
80
  }
81
81
  } : { status: "unresolved", reason: "incomplete_source_identity" };
82
82
  }
@@ -90,16 +90,16 @@ function S(e, n) {
90
90
  c,
91
91
  f,
92
92
  r
93
- ].filter(Boolean), m = C(l);
93
+ ].filter(Boolean), m = q(l);
94
94
  return !m && l.length > 0 ? { status: "unresolved", reason: "divergent_source_identity" } : !o || !m ? { status: "unresolved", reason: "incomplete_source_identity" } : {
95
95
  status: "resolved",
96
96
  source: { kind: "physical", connectionId: o, tableName: m }
97
97
  };
98
98
  }
99
99
  function A(e, n) {
100
- const t = u(e.fieldMeta) ? e.fieldMeta : void 0, i = typeof (t == null ? void 0 : t.qualifiedFieldName) == "string" ? t.qualifiedFieldName.trim() : "", s = I(
100
+ const t = u(e.fieldMeta) ? e.fieldMeta : void 0, i = typeof (t == null ? void 0 : t.qualifiedFieldName) == "string" ? t.qualifiedFieldName.trim() : "", s = h(
101
101
  t == null ? void 0 : t.qualifiedFieldName
102
- ), o = typeof e.column == "string" ? e.column.trim() : "", a = I(o), r = typeof e.qualifiedTableName == "string" ? e.qualifiedTableName.trim() : "", c = v(
102
+ ), o = typeof e.column == "string" ? e.column.trim() : "", a = h(o), r = typeof e.qualifiedTableName == "string" ? e.qualifiedTableName.trim() : "", c = v(
103
103
  e.qualifiedTableName
104
104
  );
105
105
  if (i && !s || n && r && !c || o.includes(".") && !a)
@@ -111,21 +111,21 @@ function A(e, n) {
111
111
  ].filter(Boolean);
112
112
  if (!D(
113
113
  p,
114
- q
114
+ N
115
115
  ))
116
116
  return { status: "unresolved", reason: "divergent_field_identity" };
117
- const y = a || s || m;
118
- return y ? { status: "resolved", qualifiedFieldName: y } : { status: "unresolved", reason: "incomplete_field_identity" };
117
+ const g = a || s || m;
118
+ return g ? { status: "resolved", qualifiedFieldName: g } : { status: "unresolved", reason: "incomplete_field_identity" };
119
119
  }
120
120
  function E(e) {
121
121
  if (!u(e))
122
122
  return { status: "ineligible", reason: "invalid_input" };
123
123
  if (e.kind === "global-date")
124
124
  return { status: "eligible", kind: "global_date" };
125
- const n = h(e.dataType);
125
+ const n = _(e.dataType);
126
126
  if (n !== "date" && n !== "datetime")
127
127
  return { status: "ineligible", reason: "non_date_filter" };
128
- const t = u(e.fieldMeta) ? e.fieldMeta : void 0, i = h(
128
+ const t = u(e.fieldMeta) ? e.fieldMeta : void 0, i = _(
129
129
  t == null ? void 0 : t.dataType
130
130
  );
131
131
  if ((t == null ? void 0 : t.dataType) !== void 0 && i !== "date" && i !== "datetime")
@@ -153,15 +153,31 @@ function B(e) {
153
153
  );
154
154
  return n.status === "ineligible" ? n : n.kind === "field_date" && u(e.compatibility) && e.compatibility.source === "cardInlineFilter" ? { status: "ineligible", reason: "card_inline_filter" } : n;
155
155
  }
156
- function j(e) {
156
+ function k(e) {
157
157
  return B(e).status === "eligible";
158
158
  }
159
+ function j(e) {
160
+ return `compat-filter:${e}`;
161
+ }
162
+ function z(e) {
163
+ return `compat-control:${e}`;
164
+ }
165
+ function M(e, n) {
166
+ return `compat-inline-filter:${e}:${n}`;
167
+ }
168
+ function Q(e, n) {
169
+ return `compat-card-control:${e}:${n}`;
170
+ }
159
171
  export {
160
172
  B as a,
161
- C as b,
162
- N as c,
163
- j as i,
164
- q,
173
+ z as b,
174
+ M as c,
175
+ Q as d,
176
+ q as e,
177
+ C as f,
178
+ j as g,
179
+ k as i,
180
+ N as q,
165
181
  E as r,
166
182
  F as s
167
183
  };
@@ -1,27 +1,26 @@
1
1
  import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
2
  import { useMemo as u, useState as p, useRef as f, useEffect as b } from "react";
3
3
  import { X as S } from "./x-CXDkqdur.js";
4
- import { u as a, c as N, B as D, C as J } from "./switch-DQR-Va05.js";
5
- import "./saved-temporal-bucket-format-SGAV0ivR.js";
6
- import "./validators-DEmd8Sin.js";
7
- import "./analyze-result-contract-BbRJ-C06.js";
4
+ import { u as a, c as N, B as D, C as J } from "./switch-kPUJEC1A.js";
5
+ import "./saved-temporal-bucket-format-Dd2eixTH.js";
6
+ import "./validators-DVd8s3qY.js";
7
+ import "./analyze-result-contract-DROq4vgY.js";
8
8
  import "../value-format-preferences/index.js";
9
- import "./index-BS2-ZZGf.js";
9
+ import "./index-DazD5k0F.js";
10
10
  import "./index-DSKR3nKn.js";
11
- import "./temporal-bucket-authoring-K1kE6R_z.js";
12
- import "./canonical-result-keys-D6avdjpA.js";
11
+ import "./temporal-bucket-authoring-1fZuPAVb.js";
13
12
  import "./color-CJvdlFM_.js";
14
13
  import "react-dom";
15
- import "./index-BIFLI8ul.js";
16
- function X() {
14
+ import "./index-De_7nrwb.js";
15
+ function M() {
17
16
  const r = a((o) => o.dashboard), c = a((o) => o.actions.setDashboard), h = a(
18
17
  (o) => o.showDashboardJSON
19
- ), m = a(
18
+ ), l = a(
20
19
  (o) => o.actions.setShowDashboardJSON
21
20
  ), s = u(
22
21
  () => r ? JSON.stringify(r, null, 2) : "",
23
22
  [r]
24
- ), [l, i] = p(s), t = f(s);
23
+ ), [m, i] = p(s), t = f(s);
25
24
  return b(() => {
26
25
  s !== t.current && (i(s), t.current = s);
27
26
  }, [s]), /* @__PURE__ */ d(
@@ -37,7 +36,7 @@ function X() {
37
36
  variant: "secondary",
38
37
  size: "sm",
39
38
  className: "absolute right-2 top-2 z-10 h-8",
40
- onClick: () => m(!1),
39
+ onClick: () => l(!1),
41
40
  children: [
42
41
  /* @__PURE__ */ e(S, { className: "mr-2 h-4 w-4" }),
43
42
  "Close"
@@ -47,7 +46,7 @@ function X() {
47
46
  /* @__PURE__ */ e("div", { className: "h-[550px] overflow-hidden", children: /* @__PURE__ */ e(
48
47
  J,
49
48
  {
50
- value: l,
49
+ value: m,
51
50
  onValueChange: (o) => {
52
51
  i(o);
53
52
  try {
@@ -68,5 +67,5 @@ function X() {
68
67
  );
69
68
  }
70
69
  export {
71
- X as default
70
+ M as default
72
71
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),o=require("react"),b=require("./x-B6ghREd2.cjs"),r=require("./switch-DBZsEV0U.cjs");require("./saved-temporal-bucket-format-3QKveR3v.cjs");require("./validators-dJlwubP4.cjs");require("./analyze-result-contract-DSGoFuXQ.cjs");require("../value-format-preferences/index.cjs");require("./index-B1qplNxl.cjs");require("./index-ByFbacH7.cjs");require("./temporal-bucket-authoring-BK1UhYpD.cjs");require("./color-CyB5o13F.cjs");require("react-dom");require("./index-DjjKJPDy.cjs");function S(){const t=r.useDashboardStore(e=>e.dashboard),d=r.useDashboardStore(e=>e.actions.setDashboard),c=r.useDashboardStore(e=>e.showDashboardJSON),h=r.useDashboardStore(e=>e.actions.setShowDashboardJSON),s=o.useMemo(()=>t?JSON.stringify(t,null,2):"",[t]),[l,n]=o.useState(s),i=o.useRef(s);return o.useEffect(()=>{s!==i.current&&(n(s),i.current=s)},[s]),a.jsxs("div",{className:r.cn("relative p-2",{hidden:!c}),children:[a.jsxs(r.Button,{variant:"secondary",size:"sm",className:"absolute right-2 top-2 z-10 h-8",onClick:()=>h(!1),children:[a.jsx(b.X,{className:"mr-2 h-4 w-4"}),"Close"]}),a.jsx("div",{className:"h-[550px] overflow-hidden",children:a.jsx(r.CodeEditor,{value:l,onValueChange:e=>{n(e);try{const u=JSON.parse(e);i.current=JSON.stringify(u,null,2),d(u)}catch{}},language:"json"})})]})}exports.default=S;