@contentful/experience-design-system-cli 2.37.1-dev-build-414ce827.0 → 2.37.1-dev-build-41b62bf7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -9164,8 +9164,8 @@ function extractAccessorProperties(classDecl, applyRuntimeFieldDenylist = false)
9164
9164
  accessors.set(name, entry);
9165
9165
  }
9166
9166
  for (const [name, { getter, setter }] of accessors) {
9167
- const hasPropertyDecorator2 = getter?.getDecorators().some((decorator) => decorator.getName() === "property") || setter?.getDecorators().some((decorator) => decorator.getName() === "property");
9168
- if (!hasPropertyDecorator2 && !(getter && setter))
9167
+ const hasPropertyDecorator = getter?.getDecorators().some((decorator) => decorator.getName() === "property") || setter?.getDecorators().some((decorator) => decorator.getName() === "property");
9168
+ if (!hasPropertyDecorator && !(getter && setter))
9169
9169
  continue;
9170
9170
  const type = getter?.getReturnTypeNode()?.getText() ?? setter?.getParameters()[0]?.getTypeNode()?.getText() ?? "any";
9171
9171
  const accessorNode = getter ?? setter;
@@ -12979,9 +12979,9 @@ function generateUlid(now = Date.now()) {
12979
12979
  tsBytes[i] = n & 255;
12980
12980
  n = Math.floor(n / 256);
12981
12981
  }
12982
- const ts6 = encodeBase32(tsBytes, 10);
12982
+ const ts3 = encodeBase32(tsBytes, 10);
12983
12983
  const rand = encodeBase32(randomBytes2(10), 16);
12984
- return (ts6 + rand).toUpperCase();
12984
+ return (ts3 + rand).toUpperCase();
12985
12985
  }
12986
12986
  var CROCKFORD;
12987
12987
  var init_generate_ulid = __esm({
@@ -16475,1506 +16475,7 @@ var init_component = __esm({
16475
16475
  }
16476
16476
  });
16477
16477
 
16478
- // packages/experience-design-system-extraction/dist/src/extract/types/display.js
16479
- var init_display = __esm({
16480
- "packages/experience-design-system-extraction/dist/src/extract/types/display.js"() {
16481
- "use strict";
16482
- }
16483
- });
16484
-
16485
- // packages/experience-design-system-extraction/dist/src/extract/services/deduplication/helpers/component-path-analysis.js
16486
- var init_component_path_analysis = __esm({
16487
- "packages/experience-design-system-extraction/dist/src/extract/services/deduplication/helpers/component-path-analysis.js"() {
16488
- "use strict";
16489
- }
16490
- });
16491
-
16492
- // packages/experience-design-system-extraction/dist/src/extract/services/deduplication/helpers/component-path-scoring.js
16493
- var init_component_path_scoring = __esm({
16494
- "packages/experience-design-system-extraction/dist/src/extract/services/deduplication/helpers/component-path-scoring.js"() {
16495
- "use strict";
16496
- init_component_path_analysis();
16497
- }
16498
- });
16499
-
16500
- // packages/experience-design-system-extraction/dist/src/extract/services/deduplication/deduplicate-components.js
16501
- var init_deduplicate_components = __esm({
16502
- "packages/experience-design-system-extraction/dist/src/extract/services/deduplication/deduplicate-components.js"() {
16503
- "use strict";
16504
- init_component_path_scoring();
16505
- }
16506
- });
16507
-
16508
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/file-workers.js
16509
- var init_file_workers = __esm({
16510
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/file-workers.js"() {
16511
- "use strict";
16512
- }
16513
- });
16514
-
16515
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/result-normalizer.js
16516
- var init_result_normalizer = __esm({
16517
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/result-normalizer.js"() {
16518
- "use strict";
16519
- }
16520
- });
16521
-
16522
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-type-symbol.js
16523
- var init_resolve_type_symbol = __esm({
16524
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-type-symbol.js"() {
16525
- "use strict";
16526
- }
16527
- });
16528
-
16529
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/get-node-source-lines.js
16530
- var init_get_node_source_lines = __esm({
16531
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/get-node-source-lines.js"() {
16532
- "use strict";
16533
- }
16534
- });
16535
-
16536
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/helpers/collect-astro-props-bindings.js
16537
- import { Node as Node10, Project as Project7 } from "ts-morph";
16538
- var init_collect_astro_props_bindings = __esm({
16539
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/helpers/collect-astro-props-bindings.js"() {
16540
- "use strict";
16541
- }
16542
- });
16543
-
16544
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/frontmatter.js
16545
- var init_frontmatter = __esm({
16546
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/frontmatter.js"() {
16547
- "use strict";
16548
- init_resolve_type_symbol();
16549
- init_get_node_source_lines();
16550
- init_collect_astro_props_bindings();
16551
- }
16552
- });
16553
-
16554
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/slots.js
16555
- var init_slots = __esm({
16556
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/slots.js"() {
16557
- "use strict";
16558
- }
16559
- });
16560
-
16561
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/extractor.js
16562
- var init_extractor = __esm({
16563
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/extractor.js"() {
16564
- "use strict";
16565
- init_file_workers();
16566
- init_result_normalizer();
16567
- init_frontmatter();
16568
- init_slots();
16569
- }
16570
- });
16571
-
16572
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-tsconfig-path.js
16573
- import ts3 from "typescript";
16574
- var init_resolve_tsx_tsconfig_path = __esm({
16575
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-tsconfig-path.js"() {
16576
- "use strict";
16577
- }
16578
- });
16579
-
16580
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/find-tsx-workspace-package.js
16581
- var init_find_tsx_workspace_package = __esm({
16582
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/find-tsx-workspace-package.js"() {
16583
- "use strict";
16584
- }
16585
- });
16586
-
16587
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-workspace-imports.js
16588
- import { Node as Node11 } from "ts-morph";
16589
- var init_resolve_tsx_workspace_imports = __esm({
16590
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-workspace-imports.js"() {
16591
- "use strict";
16592
- init_resolve_tsx_tsconfig_path();
16593
- init_find_tsx_workspace_package();
16594
- }
16595
- });
16596
-
16597
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-node-utils.js
16598
- import { Node as Node12, SyntaxKind as SyntaxKind7 } from "ts-morph";
16599
- var init_tsx_node_utils = __esm({
16600
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-node-utils.js"() {
16601
- "use strict";
16602
- init_resolve_tsx_workspace_imports();
16603
- }
16604
- });
16605
-
16606
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-renderable-exports.js
16607
- import { Node as Node13 } from "ts-morph";
16608
- var init_tsx_renderable_exports = __esm({
16609
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-renderable-exports.js"() {
16610
- "use strict";
16611
- }
16612
- });
16613
-
16614
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-shared.js
16615
- import { Project as Project8 } from "ts-morph";
16616
- var init_tsx_shared = __esm({
16617
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-shared.js"() {
16618
- "use strict";
16619
- init_tsx_node_utils();
16620
- init_tsx_renderable_exports();
16621
- }
16622
- });
16623
-
16624
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/collect-allowed-component-names.js
16625
- var init_collect_allowed_component_names = __esm({
16626
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/collect-allowed-component-names.js"() {
16627
- "use strict";
16628
- }
16629
- });
16630
-
16631
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/build-component-lookup-maps.js
16632
- var init_build_component_lookup_maps = __esm({
16633
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/build-component-lookup-maps.js"() {
16634
- "use strict";
16635
- }
16636
- });
16637
-
16638
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-allowed-components.js
16639
- var init_extract_react_allowed_components = __esm({
16640
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-allowed-components.js"() {
16641
- "use strict";
16642
- init_collect_allowed_component_names();
16643
- init_build_component_lookup_maps();
16644
- }
16645
- });
16646
-
16647
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/get-jsx-ast-data.js
16648
- import { Node as Node14 } from "ts-morph";
16649
- var init_get_jsx_ast_data = __esm({
16650
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/get-jsx-ast-data.js"() {
16651
- "use strict";
16652
- }
16653
- });
16654
-
16655
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/collect-structural-jsx-evidence.js
16656
- import { SyntaxKind as SyntaxKind8 } from "ts-morph";
16657
- var init_collect_structural_jsx_evidence = __esm({
16658
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/collect-structural-jsx-evidence.js"() {
16659
- "use strict";
16660
- init_tsx_shared();
16661
- init_get_jsx_ast_data();
16662
- }
16663
- });
16664
-
16665
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/collect-jsx-component-references.js
16666
- import { Node as Node15, SyntaxKind as SyntaxKind9 } from "ts-morph";
16667
- var init_collect_jsx_component_references = __esm({
16668
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/collect-jsx-component-references.js"() {
16669
- "use strict";
16670
- init_collect_allowed_component_names();
16671
- init_get_jsx_ast_data();
16672
- init_collect_structural_jsx_evidence();
16673
- }
16674
- });
16675
-
16676
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/synthesize-react-structural-slots.js
16677
- var init_synthesize_react_structural_slots = __esm({
16678
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/synthesize-react-structural-slots.js"() {
16679
- "use strict";
16680
- init_collect_jsx_component_references();
16681
- init_build_component_lookup_maps();
16682
- }
16683
- });
16684
-
16685
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-react-prop-forwarding.js
16686
- var init_resolve_react_prop_forwarding = __esm({
16687
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-react-prop-forwarding.js"() {
16688
- "use strict";
16689
- }
16690
- });
16691
-
16692
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/detect-react-node-types.js
16693
- var init_detect_react_node_types = __esm({
16694
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/detect-react-node-types.js"() {
16695
- "use strict";
16696
- }
16697
- });
16698
-
16699
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/detect-slot-from-prop.js
16700
- var init_detect_slot_from_prop = __esm({
16701
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/detect-slot-from-prop.js"() {
16702
- "use strict";
16703
- init_detect_react_node_types();
16704
- init_detect_react_node_types();
16705
- }
16706
- });
16707
-
16708
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-component-function.js
16709
- import { Node as Node16 } from "ts-morph";
16710
- var init_resolve_component_function = __esm({
16711
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-component-function.js"() {
16712
- "use strict";
16713
- init_tsx_shared();
16714
- }
16715
- });
16716
-
16717
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-prop-dataflow.js
16718
- import { Node as Node17, SyntaxKind as SyntaxKind10 } from "ts-morph";
16719
- var init_collect_prop_dataflow = __esm({
16720
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-prop-dataflow.js"() {
16721
- "use strict";
16722
- init_tsx_shared();
16723
- init_resolve_component_function();
16724
- }
16725
- });
16726
-
16727
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-slots.js
16728
- var init_extract_react_slots = __esm({
16729
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-slots.js"() {
16730
- "use strict";
16731
- }
16732
- });
16733
-
16734
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/dom-attribute-surfaces.js
16735
- import { Node as Node18 } from "ts-morph";
16736
- function createTextControlSurface2(onChangeType, specificProps) {
16737
- return [
16738
- { name: "autoComplete", type: "string", required: false },
16739
- ...specificProps,
16740
- { name: "disabled", type: "boolean", required: false },
16741
- { name: "name", type: "string", required: false },
16742
- { name: "onChange", type: onChangeType, required: false },
16743
- { name: "placeholder", type: "string", required: false },
16744
- { name: "readOnly", type: "boolean", required: false },
16745
- { name: "required", type: "boolean", required: false },
16746
- {
16747
- name: "value",
16748
- type: "string | number | readonly string[]",
16749
- required: false
16750
- }
16751
- ];
16752
- }
16753
- var DOM_ATTRIBUTE_PROP_SURFACES2;
16754
- var init_dom_attribute_surfaces = __esm({
16755
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/dom-attribute-surfaces.js"() {
16756
- "use strict";
16757
- DOM_ATTRIBUTE_PROP_SURFACES2 = {
16758
- HTMLProps: [],
16759
- HTMLAttributes: [
16760
- { name: "className", type: "string", required: false },
16761
- { name: "hidden", type: "boolean", required: false },
16762
- { name: "id", type: "string", required: false },
16763
- {
16764
- name: "onClick",
16765
- type: "MouseEventHandler<HTMLElement>",
16766
- required: false
16767
- },
16768
- { name: "style", type: "CSSProperties", required: false },
16769
- { name: "tabIndex", type: "number", required: false },
16770
- { name: "title", type: "string", required: false }
16771
- ],
16772
- ImgHTMLAttributes: [
16773
- { name: "alt", type: "string", required: false },
16774
- { name: "crossOrigin", type: "string", required: false },
16775
- { name: "height", type: "number | string", required: false },
16776
- {
16777
- name: "loading",
16778
- type: "string",
16779
- required: false,
16780
- allowedValues: ["eager", "lazy"]
16781
- },
16782
- { name: "sizes", type: "string", required: false },
16783
- { name: "src", type: "string", required: false },
16784
- { name: "srcSet", type: "string", required: false },
16785
- { name: "width", type: "number | string", required: false }
16786
- ],
16787
- LiHTMLAttributes: [],
16788
- AnchorHTMLAttributes: [
16789
- { name: "download", type: "boolean | string", required: false },
16790
- { name: "href", type: "string", required: false },
16791
- { name: "hrefLang", type: "string", required: false },
16792
- { name: "referrerPolicy", type: "string", required: false },
16793
- { name: "rel", type: "string", required: false },
16794
- {
16795
- name: "target",
16796
- type: "string",
16797
- required: false,
16798
- allowedValues: ["_blank", "_parent", "_self", "_top"]
16799
- }
16800
- ],
16801
- ButtonHTMLAttributes: [
16802
- { name: "autoFocus", type: "boolean", required: false },
16803
- { name: "disabled", type: "boolean", required: false },
16804
- { name: "form", type: "string", required: false },
16805
- { name: "formAction", type: "string", required: false },
16806
- { name: "formMethod", type: "string", required: false },
16807
- { name: "formNoValidate", type: "boolean", required: false },
16808
- { name: "formTarget", type: "string", required: false },
16809
- { name: "name", type: "string", required: false },
16810
- {
16811
- name: "type",
16812
- type: "string",
16813
- required: false,
16814
- allowedValues: ["button", "reset", "submit"]
16815
- },
16816
- {
16817
- name: "value",
16818
- type: "string | number | readonly string[]",
16819
- required: false
16820
- }
16821
- ],
16822
- InputHTMLAttributes: createTextControlSurface2("ChangeEventHandler<HTMLInputElement>", [
16823
- { name: "checked", type: "boolean", required: false },
16824
- { name: "max", type: "number | string", required: false },
16825
- { name: "maxLength", type: "number", required: false },
16826
- { name: "min", type: "number | string", required: false },
16827
- { name: "minLength", type: "number", required: false },
16828
- { name: "type", type: "string", required: false }
16829
- ]),
16830
- FieldsetHTMLAttributes: [
16831
- { name: "disabled", type: "boolean", required: false },
16832
- { name: "form", type: "string", required: false },
16833
- { name: "name", type: "string", required: false }
16834
- ],
16835
- LabelHTMLAttributes: [
16836
- { name: "form", type: "string", required: false },
16837
- { name: "htmlFor", type: "string", required: false }
16838
- ],
16839
- SelectHTMLAttributes: [
16840
- { name: "autoComplete", type: "string", required: false },
16841
- { name: "disabled", type: "boolean", required: false },
16842
- { name: "form", type: "string", required: false },
16843
- { name: "multiple", type: "boolean", required: false },
16844
- { name: "name", type: "string", required: false },
16845
- {
16846
- name: "onChange",
16847
- type: "ChangeEventHandler<HTMLSelectElement>",
16848
- required: false
16849
- },
16850
- { name: "required", type: "boolean", required: false },
16851
- { name: "size", type: "number", required: false },
16852
- {
16853
- name: "value",
16854
- type: "string | number | readonly string[]",
16855
- required: false
16856
- }
16857
- ],
16858
- SVGAttributes: [
16859
- {
16860
- name: "focusable",
16861
- type: 'boolean | "auto"',
16862
- required: false,
16863
- allowedValues: ["auto"]
16864
- },
16865
- { name: "height", type: "number | string", required: false },
16866
- { name: "viewBox", type: "string", required: false },
16867
- { name: "width", type: "number | string", required: false }
16868
- ],
16869
- SVGProps: [],
16870
- TextareaHTMLAttributes: createTextControlSurface2("ChangeEventHandler<HTMLTextAreaElement>", [
16871
- { name: "cols", type: "number", required: false },
16872
- { name: "rows", type: "number", required: false },
16873
- { name: "wrap", type: "string", required: false }
16874
- ]),
16875
- TdHTMLAttributes: [
16876
- {
16877
- name: "align",
16878
- type: "string",
16879
- required: false,
16880
- allowedValues: ["center", "char", "justify", "left", "right"]
16881
- },
16882
- { name: "colSpan", type: "number", required: false },
16883
- { name: "headers", type: "string", required: false },
16884
- { name: "rowSpan", type: "number", required: false },
16885
- { name: "scope", type: "string", required: false }
16886
- ]
16887
- };
16888
- }
16889
- });
16890
-
16891
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-dom-wrapper-contexts.js
16892
- import { Node as Node19 } from "ts-morph";
16893
- var init_collect_dom_wrapper_contexts = __esm({
16894
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-dom-wrapper-contexts.js"() {
16895
- "use strict";
16896
- init_tsx_shared();
16897
- init_tsx_node_utils();
16898
- init_dom_attribute_surfaces();
16899
- }
16900
- });
16901
-
16902
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-dom-is-pure-wrapper.js
16903
- import { Node as Node20 } from "ts-morph";
16904
- var init_detect_dom_is_pure_wrapper = __esm({
16905
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-dom-is-pure-wrapper.js"() {
16906
- "use strict";
16907
- init_tsx_shared();
16908
- init_tsx_node_utils();
16909
- init_dom_attribute_surfaces();
16910
- }
16911
- });
16912
-
16913
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-omit-wrapped-custom-props.js
16914
- import { Node as Node21 } from "ts-morph";
16915
- var init_detect_omit_wrapped_custom_props = __esm({
16916
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-omit-wrapped-custom-props.js"() {
16917
- "use strict";
16918
- init_tsx_shared();
16919
- init_tsx_node_utils();
16920
- init_detect_dom_is_pure_wrapper();
16921
- }
16922
- });
16923
-
16924
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-pick-type-patterns.js
16925
- import { Node as Node22 } from "ts-morph";
16926
- var init_detect_pick_type_patterns = __esm({
16927
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-pick-type-patterns.js"() {
16928
- "use strict";
16929
- init_tsx_shared();
16930
- init_tsx_node_utils();
16931
- init_detect_dom_type_patterns();
16932
- }
16933
- });
16934
-
16935
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-dom-type-patterns.js
16936
- var init_detect_dom_type_patterns = __esm({
16937
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-dom-type-patterns.js"() {
16938
- "use strict";
16939
- init_dom_attribute_surfaces();
16940
- init_collect_dom_wrapper_contexts();
16941
- init_detect_dom_is_pure_wrapper();
16942
- init_detect_omit_wrapped_custom_props();
16943
- init_detect_pick_type_patterns();
16944
- init_collect_dom_wrapper_contexts();
16945
- }
16946
- });
16947
-
16948
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-react-polymorphic.js
16949
- import { Node as Node23 } from "ts-morph";
16950
- var init_detect_react_polymorphic = __esm({
16951
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-react-polymorphic.js"() {
16952
- "use strict";
16953
- init_tsx_shared();
16954
- init_tsx_node_utils();
16955
- }
16956
- });
16957
-
16958
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-props-from-type.js
16959
- import { Node as Node24 } from "ts-morph";
16960
- var init_extract_react_props_from_type = __esm({
16961
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-props-from-type.js"() {
16962
- "use strict";
16963
- init_tsx_shared();
16964
- init_get_node_source_lines();
16965
- init_detect_dom_type_patterns();
16966
- init_detect_react_polymorphic();
16967
- init_dom_attribute_surfaces();
16968
- }
16969
- });
16970
-
16971
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-react-props-type.js
16972
- import { Node as Node25 } from "ts-morph";
16973
- var init_resolve_react_props_type = __esm({
16974
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-react-props-type.js"() {
16975
- "use strict";
16976
- init_tsx_shared();
16977
- init_detect_dom_type_patterns();
16978
- }
16979
- });
16980
-
16981
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/filter-impl-alias-props.js
16982
- import { Node as Node26 } from "ts-morph";
16983
- var init_filter_impl_alias_props = __esm({
16984
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/filter-impl-alias-props.js"() {
16985
- "use strict";
16986
- }
16987
- });
16988
-
16989
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-binding-fallback-props.js
16990
- import { Node as Node27, SyntaxKind as SyntaxKind11 } from "ts-morph";
16991
- var init_extract_binding_fallback_props = __esm({
16992
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-binding-fallback-props.js"() {
16993
- "use strict";
16994
- init_get_node_source_lines();
16995
- }
16996
- });
16997
-
16998
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-binding-defaults.js
16999
- import { Node as Node28 } from "ts-morph";
17000
- var init_extract_react_binding_defaults = __esm({
17001
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-binding-defaults.js"() {
17002
- "use strict";
17003
- init_filter_impl_alias_props();
17004
- init_extract_binding_fallback_props();
17005
- }
17006
- });
17007
-
17008
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/infer-primitive-dom-props.js
17009
- import { Node as Node29, SyntaxKind as SyntaxKind12 } from "ts-morph";
17010
- var init_infer_primitive_dom_props = __esm({
17011
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/infer-primitive-dom-props.js"() {
17012
- "use strict";
17013
- init_tsx_shared();
17014
- init_dom_attribute_surfaces();
17015
- }
17016
- });
17017
-
17018
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-react-impl-hints.js
17019
- import { Node as Node30, SyntaxKind as SyntaxKind13 } from "ts-morph";
17020
- var init_collect_react_impl_hints = __esm({
17021
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-react-impl-hints.js"() {
17022
- "use strict";
17023
- init_infer_primitive_dom_props();
17024
- }
17025
- });
17026
-
17027
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-prop-types.js
17028
- import { Node as Node31 } from "ts-morph";
17029
- var init_extract_react_prop_types = __esm({
17030
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-prop-types.js"() {
17031
- "use strict";
17032
- }
17033
- });
17034
-
17035
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-component-from-export.js
17036
- import { Node as Node32 } from "ts-morph";
17037
- var init_extract_react_component_from_export = __esm({
17038
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-component-from-export.js"() {
17039
- "use strict";
17040
- init_detect_slot_from_prop();
17041
- init_collect_prop_dataflow();
17042
- init_resolve_component_function();
17043
- init_extract_react_slots();
17044
- init_extract_react_props_from_type();
17045
- init_detect_dom_type_patterns();
17046
- init_resolve_react_props_type();
17047
- init_extract_react_binding_defaults();
17048
- init_collect_react_impl_hints();
17049
- init_extract_react_prop_types();
17050
- }
17051
- });
17052
-
17053
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-from-react-source-file.js
17054
- import { SyntaxKind as SyntaxKind14 } from "ts-morph";
17055
- var init_extract_from_react_source_file = __esm({
17056
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-from-react-source-file.js"() {
17057
- "use strict";
17058
- init_tsx_shared();
17059
- init_extract_react_component_from_export();
17060
- }
17061
- });
17062
-
17063
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/extractor.js
17064
- var init_extractor2 = __esm({
17065
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/extractor.js"() {
17066
- "use strict";
17067
- init_tsx_shared();
17068
- init_extract_react_allowed_components();
17069
- init_synthesize_react_structural_slots();
17070
- init_resolve_react_prop_forwarding();
17071
- init_extract_from_react_source_file();
17072
- }
17073
- });
17074
-
17075
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/project-source-files.js
17076
- var init_project_source_files = __esm({
17077
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/project-source-files.js"() {
17078
- "use strict";
17079
- }
17080
- });
17081
-
17082
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/detect-stencil-class.js
17083
- import { Node as Node33 } from "ts-morph";
17084
- var init_detect_stencil_class = __esm({
17085
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/detect-stencil-class.js"() {
17086
- "use strict";
17087
- }
17088
- });
17089
-
17090
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/stencil-prop-helpers.js
17091
- import { Node as Node34, SyntaxKind as SyntaxKind15 } from "ts-morph";
17092
- var init_stencil_prop_helpers = __esm({
17093
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/stencil-prop-helpers.js"() {
17094
- "use strict";
17095
- init_tsx_shared();
17096
- }
17097
- });
17098
-
17099
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-props.js
17100
- import { Node as Node35 } from "ts-morph";
17101
- var init_extract_stencil_props = __esm({
17102
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-props.js"() {
17103
- "use strict";
17104
- init_detect_stencil_class();
17105
- init_stencil_prop_helpers();
17106
- init_stencil_prop_helpers();
17107
- }
17108
- });
17109
-
17110
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/collect-jsdoc-slot-comments.js
17111
- var init_collect_jsdoc_slot_comments = __esm({
17112
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/collect-jsdoc-slot-comments.js"() {
17113
- "use strict";
17114
- }
17115
- });
17116
-
17117
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-slots.js
17118
- import { Node as Node36 } from "ts-morph";
17119
- var init_extract_stencil_slots = __esm({
17120
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-slots.js"() {
17121
- "use strict";
17122
- init_collect_jsdoc_slot_comments();
17123
- }
17124
- });
17125
-
17126
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/extractor.js
17127
- import { Project as Project9, Node as Node37 } from "ts-morph";
17128
- var init_extractor3 = __esm({
17129
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/extractor.js"() {
17130
- "use strict";
17131
- init_tsx_shared();
17132
- init_result_normalizer();
17133
- init_project_source_files();
17134
- init_detect_stencil_class();
17135
- init_extract_stencil_props();
17136
- init_extract_stencil_slots();
17137
- }
17138
- });
17139
-
17140
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/get-svelte-component-name.js
17141
- var init_get_svelte_component_name = __esm({
17142
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/get-svelte-component-name.js"() {
17143
- "use strict";
17144
- }
17145
- });
17146
-
17147
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/scoring/collect-scoring-inputs.js
17148
- function isWidePrimitiveUnion2(type) {
17149
- const parts = type.split("|").map((p) => p.trim());
17150
- if (parts.length < 3)
17151
- return false;
17152
- const basePrimitives = /* @__PURE__ */ new Set(["string", "number", "boolean"]);
17153
- const nullability = /* @__PURE__ */ new Set(["null", "undefined"]);
17154
- const baseCount = parts.filter((p) => basePrimitives.has(p)).length;
17155
- const nullabilityCount = parts.filter((p) => nullability.has(p)).length;
17156
- return baseCount >= 3 || baseCount >= 2 && nullabilityCount > 0 && baseCount + nullabilityCount >= 3;
17157
- }
17158
- function countExtractionIssues(component, options = {}) {
17159
- let count = 0;
17160
- const reasons = [];
17161
- if (component.props.length === 0 && component.slots.length === 0) {
17162
- count++;
17163
- reasons.push("no-props-or-slots");
17164
- }
17165
- if (component.props.length > 50) {
17166
- count++;
17167
- reasons.push(`high-prop-count:${component.props.length}`);
17168
- }
17169
- for (const prop of component.props) {
17170
- if (OPAQUE_TYPES2.has(prop.type.trim())) {
17171
- count++;
17172
- reasons.push(`opaque-type:${prop.name}`);
17173
- break;
17174
- }
17175
- if (isWidePrimitiveUnion2(prop.type)) {
17176
- count++;
17177
- reasons.push(`wide-union:${prop.name}`);
17178
- break;
17179
- }
17180
- if (!prop.description && !OBVIOUS_PROP_NAMES2.has(prop.name)) {
17181
- count++;
17182
- reasons.push("props-missing-description");
17183
- break;
17184
- }
17185
- }
17186
- count += options.additionalIssueCount ?? 0;
17187
- if (options.additionalReasons && options.additionalReasons.length > 0) {
17188
- reasons.push(...options.additionalReasons);
17189
- }
17190
- return { count, reasons: [...new Set(reasons)] };
17191
- }
17192
- function mapIssueCountToConfidence(count) {
17193
- if (count === 0)
17194
- return 5;
17195
- if (count === 1)
17196
- return 4;
17197
- if (count === 2)
17198
- return 3;
17199
- if (count === 3)
17200
- return 2;
17201
- return 1;
17202
- }
17203
- var OPAQUE_TYPES2, OBVIOUS_PROP_NAMES2;
17204
- var init_collect_scoring_inputs = __esm({
17205
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/scoring/collect-scoring-inputs.js"() {
17206
- "use strict";
17207
- OPAQUE_TYPES2 = /* @__PURE__ */ new Set(["any", "unknown", "object", "Record<string, unknown>", "Record<string, any>"]);
17208
- OBVIOUS_PROP_NAMES2 = /* @__PURE__ */ new Set([
17209
- "className",
17210
- "style",
17211
- "id",
17212
- "children",
17213
- "disabled",
17214
- "hidden",
17215
- "onClick",
17216
- "onChange",
17217
- "onSubmit",
17218
- "onBlur",
17219
- "onFocus",
17220
- "href",
17221
- "src",
17222
- "alt",
17223
- "type",
17224
- "value",
17225
- "checked",
17226
- "placeholder",
17227
- "label",
17228
- "title",
17229
- "name",
17230
- "required",
17231
- "readOnly",
17232
- "autoFocus",
17233
- "tabIndex",
17234
- "role",
17235
- "aria-label",
17236
- "aria-describedby"
17237
- ]);
17238
- }
17239
- });
17240
-
17241
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/scoring/compute-extraction-score.js
17242
- function computeExtractionScore2(component, options = {}) {
17243
- const { count, reasons } = countExtractionIssues(component, options);
17244
- return {
17245
- confidence: mapIssueCountToConfidence(count),
17246
- reasons
17247
- };
17248
- }
17249
- function deriveNeedsReview2(confidence) {
17250
- return confidence <= 2;
17251
- }
17252
- var init_compute_extraction_score = __esm({
17253
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/scoring/compute-extraction-score.js"() {
17254
- "use strict";
17255
- init_collect_scoring_inputs();
17256
- }
17257
- });
17258
-
17259
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-template-slots.js
17260
- var init_extract_svelte_template_slots = __esm({
17261
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-template-slots.js"() {
17262
- "use strict";
17263
- }
17264
- });
17265
-
17266
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/collect-svelte-type-references.js
17267
- var init_collect_svelte_type_references = __esm({
17268
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/collect-svelte-type-references.js"() {
17269
- "use strict";
17270
- }
17271
- });
17272
-
17273
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.js
17274
- var init_find_svelte_script_declarations = __esm({
17275
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.js"() {
17276
- "use strict";
17277
- init_collect_svelte_type_references();
17278
- }
17279
- });
17280
-
17281
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type-strings.js
17282
- var init_render_svelte_type_strings = __esm({
17283
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type-strings.js"() {
17284
- "use strict";
17285
- }
17286
- });
17287
-
17288
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type.js
17289
- var init_render_svelte_type = __esm({
17290
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type.js"() {
17291
- "use strict";
17292
- init_render_svelte_type_strings();
17293
- }
17294
- });
17295
-
17296
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-ast-type-members.js
17297
- var init_extract_svelte_ast_type_members = __esm({
17298
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-ast-type-members.js"() {
17299
- "use strict";
17300
- init_render_svelte_type();
17301
- }
17302
- });
17303
-
17304
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-declaration-data.js
17305
- import { Node as Node38 } from "ts-morph";
17306
- var init_extract_svelte_declaration_data = __esm({
17307
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-declaration-data.js"() {
17308
- "use strict";
17309
- }
17310
- });
17311
-
17312
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-checker.js
17313
- import { Project as Project10, ScriptTarget as ScriptTarget2, ModuleKind as ModuleKind2, ts as ts4 } from "ts-morph";
17314
- var init_resolve_svelte_type_checker = __esm({
17315
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-checker.js"() {
17316
- "use strict";
17317
- init_render_svelte_type();
17318
- init_extract_svelte_declaration_data();
17319
- }
17320
- });
17321
-
17322
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-import-file-path.js
17323
- var init_resolve_import_file_path = __esm({
17324
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-import-file-path.js"() {
17325
- "use strict";
17326
- }
17327
- });
17328
-
17329
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-external-type-members.js
17330
- import { Node as Node39 } from "ts-morph";
17331
- var init_extract_svelte_external_type_members = __esm({
17332
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-external-type-members.js"() {
17333
- "use strict";
17334
- init_render_svelte_type();
17335
- }
17336
- });
17337
-
17338
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.js
17339
- import { Node as Node40, Project as Project11, ScriptTarget as ScriptTarget3, ModuleKind as ModuleKind3 } from "ts-morph";
17340
- var init_resolve_svelte_external_type_readers = __esm({
17341
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.js"() {
17342
- "use strict";
17343
- init_resolve_import_file_path();
17344
- init_extract_svelte_external_type_members();
17345
- }
17346
- });
17347
-
17348
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-members.js
17349
- var init_resolve_svelte_type_members = __esm({
17350
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-members.js"() {
17351
- "use strict";
17352
- init_find_svelte_script_declarations();
17353
- init_extract_svelte_ast_type_members();
17354
- init_resolve_svelte_type_checker();
17355
- init_resolve_svelte_external_type_readers();
17356
- init_extract_svelte_ast_type_members();
17357
- init_resolve_svelte_type_checker();
17358
- }
17359
- });
17360
-
17361
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-from-destructure.js
17362
- var init_extract_svelte_from_destructure = __esm({
17363
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-from-destructure.js"() {
17364
- "use strict";
17365
- init_render_svelte_type();
17366
- }
17367
- });
17368
-
17369
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.js
17370
- var init_extract_svelte_type_member_props = __esm({
17371
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.js"() {
17372
- "use strict";
17373
- }
17374
- });
17375
-
17376
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/classify-svelte-props-annotation.js
17377
- var init_classify_svelte_props_annotation = __esm({
17378
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/classify-svelte-props-annotation.js"() {
17379
- "use strict";
17380
- init_find_svelte_script_declarations();
17381
- }
17382
- });
17383
-
17384
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-props.js
17385
- var init_extract_svelte_props = __esm({
17386
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-props.js"() {
17387
- "use strict";
17388
- init_resolve_svelte_type_members();
17389
- init_extract_svelte_from_destructure();
17390
- init_extract_svelte_type_member_props();
17391
- init_classify_svelte_props_annotation();
17392
- init_classify_svelte_props_annotation();
17393
- }
17394
- });
17395
-
17396
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-dts-location.js
17397
- var init_resolve_dts_location = __esm({
17398
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-dts-location.js"() {
17399
- "use strict";
17400
- }
17401
- });
17402
-
17403
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.js
17404
- import { Project as Project12, ScriptTarget as ScriptTarget4, ModuleKind as ModuleKind4, ts as ts5 } from "ts-morph";
17405
- var init_resolve_svelte_unresolved_retry = __esm({
17406
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.js"() {
17407
- "use strict";
17408
- init_compute_extraction_score();
17409
- init_extract_svelte_template_slots();
17410
- init_find_svelte_script_declarations();
17411
- init_resolve_svelte_type_members();
17412
- init_extract_svelte_props();
17413
- init_resolve_dts_location();
17414
- }
17415
- });
17416
-
17417
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.js
17418
- var init_resolve_svelte_allowed_components = __esm({
17419
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.js"() {
17420
- "use strict";
17421
- init_collect_allowed_component_names();
17422
- init_build_component_lookup_maps();
17423
- }
17424
- });
17425
-
17426
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-from-svelte-file.js
17427
- import { parse as parseSvelte2 } from "svelte/compiler";
17428
- var init_extract_from_svelte_file = __esm({
17429
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-from-svelte-file.js"() {
17430
- "use strict";
17431
- init_compute_extraction_score();
17432
- init_get_svelte_component_name();
17433
- init_extract_svelte_template_slots();
17434
- init_find_svelte_script_declarations();
17435
- init_extract_svelte_props();
17436
- }
17437
- });
17438
-
17439
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/extractor.js
17440
- var init_extractor4 = __esm({
17441
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/extractor.js"() {
17442
- "use strict";
17443
- init_file_workers();
17444
- init_get_svelte_component_name();
17445
- init_resolve_svelte_unresolved_retry();
17446
- init_resolve_svelte_allowed_components();
17447
- init_extract_from_svelte_file();
17448
- }
17449
- });
17450
-
17451
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/resolve-ast-object.js
17452
- import { Node as Node41, SyntaxKind as SyntaxKind16 } from "ts-morph";
17453
- var init_resolve_ast_object = __esm({
17454
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/resolve-ast-object.js"() {
17455
- "use strict";
17456
- init_tsx_shared();
17457
- }
17458
- });
17459
-
17460
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-props.js
17461
- import { Node as Node42 } from "ts-morph";
17462
- var init_extract_vue_tsx_props = __esm({
17463
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-props.js"() {
17464
- "use strict";
17465
- init_tsx_shared();
17466
- init_resolve_ast_object();
17467
- }
17468
- });
17469
-
17470
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-slots.js
17471
- import { Node as Node43, SyntaxKind as SyntaxKind17 } from "ts-morph";
17472
- var init_extract_vue_tsx_slots = __esm({
17473
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-slots.js"() {
17474
- "use strict";
17475
- init_tsx_shared();
17476
- }
17477
- });
17478
-
17479
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/extractor.js
17480
- import { Node as Node44 } from "ts-morph";
17481
- var init_extractor5 = __esm({
17482
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/extractor.js"() {
17483
- "use strict";
17484
- init_tsx_shared();
17485
- init_extract_vue_tsx_props();
17486
- init_extract_vue_tsx_slots();
17487
- }
17488
- });
17489
-
17490
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/resolve-vue-component-name.js
17491
- var init_resolve_vue_component_name = __esm({
17492
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/resolve-vue-component-name.js"() {
17493
- "use strict";
17494
- }
17495
- });
17496
-
17497
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-slots.js
17498
- var init_extract_vue_slots = __esm({
17499
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-slots.js"() {
17500
- "use strict";
17501
- }
17502
- });
17503
-
17504
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-object-props.js
17505
- import { Node as Node45 } from "ts-morph";
17506
- var init_extract_vue_object_props = __esm({
17507
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-object-props.js"() {
17508
- "use strict";
17509
- }
17510
- });
17511
-
17512
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-object-props.js
17513
- import { Project as Project13, Node as Node46 } from "ts-morph";
17514
- var init_extract_vue_setup_object_props = __esm({
17515
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-object-props.js"() {
17516
- "use strict";
17517
- init_resolve_import_file_path();
17518
- init_extract_vue_object_props();
17519
- }
17520
- });
17521
-
17522
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-props.js
17523
- import { Project as Project14, Node as Node47 } from "ts-morph";
17524
- var init_extract_vue_setup_props = __esm({
17525
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-props.js"() {
17526
- "use strict";
17527
- init_resolve_type_symbol();
17528
- init_extract_vue_setup_object_props();
17529
- }
17530
- });
17531
-
17532
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/workspace-package-dirs.js
17533
- var init_workspace_package_dirs = __esm({
17534
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/workspace-package-dirs.js"() {
17535
- "use strict";
17536
- }
17537
- });
17538
-
17539
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/resolve-workspace-module.js
17540
- var init_resolve_workspace_module = __esm({
17541
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/resolve-workspace-module.js"() {
17542
- "use strict";
17543
- init_workspace_package_dirs();
17544
- }
17545
- });
17546
-
17547
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-options-props.js
17548
- import { parse as parseSFC2 } from "@vue/compiler-sfc";
17549
- import { Node as Node48, Project as Project15 } from "ts-morph";
17550
- var init_extract_vue_options_props = __esm({
17551
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-options-props.js"() {
17552
- "use strict";
17553
- init_resolve_workspace_module();
17554
- init_extract_vue_object_props();
17555
- init_extract_vue_object_props();
17556
- }
17557
- });
17558
-
17559
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/extractor.js
17560
- import { parse as parseSFC3 } from "@vue/compiler-sfc";
17561
- var init_extractor6 = __esm({
17562
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/extractor.js"() {
17563
- "use strict";
17564
- init_file_workers();
17565
- init_result_normalizer();
17566
- init_resolve_vue_component_name();
17567
- init_extract_vue_slots();
17568
- init_extract_vue_setup_props();
17569
- init_extract_vue_options_props();
17570
- }
17571
- });
17572
-
17573
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-observed-attrs.js
17574
- import { Node as Node49 } from "ts-morph";
17575
- var init_extract_wc_observed_attrs = __esm({
17576
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-observed-attrs.js"() {
17577
- "use strict";
17578
- }
17579
- });
17580
-
17581
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/detect-wc-non-public-members.js
17582
- var init_detect_wc_non_public_members = __esm({
17583
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/detect-wc-non-public-members.js"() {
17584
- "use strict";
17585
- }
17586
- });
17587
-
17588
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-accessor-props.js
17589
- var init_extract_wc_accessor_props = __esm({
17590
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-accessor-props.js"() {
17591
- "use strict";
17592
- init_detect_wc_non_public_members();
17593
- }
17594
- });
17595
-
17596
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-jsdoc-attr-props.js
17597
- var init_extract_wc_jsdoc_attr_props = __esm({
17598
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-jsdoc-attr-props.js"() {
17599
- "use strict";
17600
- }
17601
- });
17602
-
17603
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-class-properties.js
17604
- import { Node as Node50 } from "ts-morph";
17605
- var init_extract_wc_class_properties = __esm({
17606
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-class-properties.js"() {
17607
- "use strict";
17608
- init_detect_wc_non_public_members();
17609
- }
17610
- });
17611
-
17612
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/merge-wc-prop-lists.js
17613
- var init_merge_wc_prop_lists = __esm({
17614
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/merge-wc-prop-lists.js"() {
17615
- "use strict";
17616
- init_extract_wc_observed_attrs();
17617
- init_extract_wc_accessor_props();
17618
- init_extract_wc_jsdoc_attr_props();
17619
- init_extract_wc_class_properties();
17620
- }
17621
- });
17622
-
17623
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-decorator-tag.js
17624
- import { Node as Node51 } from "ts-morph";
17625
- var init_resolve_wc_decorator_tag = __esm({
17626
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-decorator-tag.js"() {
17627
- "use strict";
17628
- }
17629
- });
17630
-
17631
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import-source.js
17632
- import { Node as Node52 } from "ts-morph";
17633
- var init_resolve_wc_import_source = __esm({
17634
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import-source.js"() {
17635
- "use strict";
17636
- }
17637
- });
17638
-
17639
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import.js
17640
- import { Node as Node53, SyntaxKind as SyntaxKind18 } from "ts-morph";
17641
- var init_resolve_wc_import = __esm({
17642
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import.js"() {
17643
- "use strict";
17644
- init_resolve_wc_import_source();
17645
- }
17646
- });
17647
-
17648
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-sibling-definition.js
17649
- import { Node as Node54, SyntaxKind as SyntaxKind19 } from "ts-morph";
17650
- var init_resolve_wc_sibling_definition = __esm({
17651
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-sibling-definition.js"() {
17652
- "use strict";
17653
- init_resolve_wc_import();
17654
- }
17655
- });
17656
-
17657
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-tag-name.js
17658
- var init_resolve_wc_tag_name = __esm({
17659
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-tag-name.js"() {
17660
- "use strict";
17661
- init_tsx_shared();
17662
- init_resolve_wc_decorator_tag();
17663
- init_resolve_wc_sibling_definition();
17664
- }
17665
- });
17666
-
17667
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/collect-wc-html-templates.js
17668
- import { Node as Node55 } from "ts-morph";
17669
- var init_collect_wc_html_templates = __esm({
17670
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/collect-wc-html-templates.js"() {
17671
- "use strict";
17672
- init_resolve_wc_import();
17673
- }
17674
- });
17675
-
17676
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-template-content.js
17677
- import { Node as Node56 } from "ts-morph";
17678
- var init_extract_wc_template_content = __esm({
17679
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-template-content.js"() {
17680
- "use strict";
17681
- init_resolve_wc_import();
17682
- init_extract_wc_slots();
17683
- init_collect_wc_html_templates();
17684
- }
17685
- });
17686
-
17687
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-slots.js
17688
- var init_extract_wc_slots = __esm({
17689
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-slots.js"() {
17690
- "use strict";
17691
- init_collect_jsdoc_slot_comments();
17692
- init_extract_wc_template_content();
17693
- }
17694
- });
17695
-
17696
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-base-class.js
17697
- import { Node as Node57, SyntaxKind as SyntaxKind20 } from "ts-morph";
17698
- var init_resolve_wc_base_class = __esm({
17699
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-base-class.js"() {
17700
- "use strict";
17701
- init_resolve_wc_import();
17702
- }
17703
- });
17704
-
17705
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-inheritance.js
17706
- var init_extract_wc_inheritance = __esm({
17707
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-inheritance.js"() {
17708
- "use strict";
17709
- init_merge_wc_prop_lists();
17710
- init_extract_wc_slots();
17711
- init_resolve_wc_base_class();
17712
- }
17713
- });
17714
-
17715
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/extractor.js
17716
- import { Project as Project16 } from "ts-morph";
17717
- var init_extractor7 = __esm({
17718
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/extractor.js"() {
17719
- "use strict";
17720
- init_result_normalizer();
17721
- init_project_source_files();
17722
- init_merge_wc_prop_lists();
17723
- init_resolve_wc_tag_name();
17724
- init_extract_wc_slots();
17725
- init_extract_wc_inheritance();
17726
- }
17727
- });
17728
-
17729
- // packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/register-extractors.js
17730
- var init_register_extractors = __esm({
17731
- "packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/register-extractors.js"() {
17732
- "use strict";
17733
- init_extractor();
17734
- init_extractor2();
17735
- init_extractor3();
17736
- init_extractor4();
17737
- init_extractor5();
17738
- init_extractor6();
17739
- init_extractor7();
17740
- }
17741
- });
17742
-
17743
- // packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/run-extractor-batches.js
17744
- var init_run_extractor_batches = __esm({
17745
- "packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/run-extractor-batches.js"() {
17746
- "use strict";
17747
- }
17748
- });
17749
-
17750
- // packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/collect-sveltekit-route-exclusions.js
17751
- var init_collect_sveltekit_route_exclusions = __esm({
17752
- "packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/collect-sveltekit-route-exclusions.js"() {
17753
- "use strict";
17754
- }
17755
- });
17756
-
17757
- // packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/filter-hook-components.js
17758
- var init_filter_hook_components = __esm({
17759
- "packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/filter-hook-components.js"() {
17760
- "use strict";
17761
- }
17762
- });
17763
-
17764
- // packages/experience-design-system-extraction/dist/src/extract/services/extraction/extract-components.js
17765
- var init_extract_components = __esm({
17766
- "packages/experience-design-system-extraction/dist/src/extract/services/extraction/extract-components.js"() {
17767
- "use strict";
17768
- init_deduplicate_components();
17769
- init_register_extractors();
17770
- init_run_extractor_batches();
17771
- init_collect_sveltekit_route_exclusions();
17772
- init_filter_hook_components();
17773
- }
17774
- });
17775
-
17776
- // packages/experience-design-system-extraction/dist/src/extract/services/classification/helpers/check-prop-types.js
17777
- function isStringLiteralUnion(type) {
17778
- return type.includes("|") && type.includes("'");
17779
- }
17780
- function isSimpleType(type) {
17781
- const t = type.trim();
17782
- if (t === "string" || t === "boolean" || t === "number")
17783
- return true;
17784
- return isStringLiteralUnion(t);
17785
- }
17786
- function isBooleanType(type) {
17787
- return type.trim() === "boolean";
17788
- }
17789
- function isStringType(type) {
17790
- return type.trim() === "string";
17791
- }
17792
- function isNumberType(type) {
17793
- return type.trim() === "number";
17794
- }
17795
- function isComplexType(type) {
17796
- return !isSimpleType(type);
17797
- }
17798
- var init_check_prop_types = __esm({
17799
- "packages/experience-design-system-extraction/dist/src/extract/services/classification/helpers/check-prop-types.js"() {
17800
- "use strict";
17801
- }
17802
- });
17803
-
17804
- // packages/experience-design-system-extraction/dist/src/extract/services/classification/helpers/detect-dom-props.js
17805
- function isDomPassThroughProp(name) {
17806
- if (DOM_PASS_THROUGH_PROPS.has(name))
17807
- return true;
17808
- if (/^aria[-A-Z]/.test(name))
17809
- return true;
17810
- return name.startsWith("data-");
17811
- }
17812
- var DOM_PASS_THROUGH_PROPS;
17813
- var init_detect_dom_props = __esm({
17814
- "packages/experience-design-system-extraction/dist/src/extract/services/classification/helpers/detect-dom-props.js"() {
17815
- "use strict";
17816
- DOM_PASS_THROUGH_PROPS = /* @__PURE__ */ new Set([
17817
- // Bare HTML / framework styling pass-through
17818
- "className",
17819
- "class",
17820
- "classes",
17821
- "classNames",
17822
- "rootClassName",
17823
- "prefixCls",
17824
- "style",
17825
- "styles",
17826
- // Bare HTML attributes
17827
- "id",
17828
- "role",
17829
- "tabIndex",
17830
- "tabindex",
17831
- "htmlFor",
17832
- "for",
17833
- "slot",
17834
- "is",
17835
- "lang",
17836
- "dir",
17837
- "hidden",
17838
- "draggable",
17839
- "spellCheck",
17840
- "spellcheck",
17841
- "contentEditable",
17842
- "contenteditable",
17843
- "inputMode",
17844
- "inputmode",
17845
- "autoComplete",
17846
- "autocomplete",
17847
- "autoFocus",
17848
- "autofocus",
17849
- "translate",
17850
- "part",
17851
- "exportparts",
17852
- "aria",
17853
- // Framework theming / pass-through escape hatches — dev-facing, never marketer-configurable
17854
- "dt",
17855
- "pt",
17856
- "ptOptions",
17857
- "unstyled",
17858
- "sx",
17859
- // Polymorphic component props — change rendered HTML/component, not marketer-visible behavior
17860
- "as",
17861
- "element",
17862
- "component",
17863
- // QA / vendor test attributes
17864
- "dataQa",
17865
- "data-qa",
17866
- // Vue v-model internals — framework wiring, never marketer-configurable
17867
- "modelValue",
17868
- "modelModifiers"
17869
- ]);
17870
- }
17871
- });
17872
-
17873
- // packages/experience-design-system-extraction/dist/src/extract/services/classification/classify-component-props.js
17874
- function preClassifyProp(prop) {
17875
- const { name, type } = prop;
17876
- if (/^on[A-Z]/.test(name) || type.includes("=> void") || type.includes("EventHandler")) {
17877
- return { category: "exclude" };
17878
- }
17879
- if (name === "ref" || name === "innerRef" || type.includes("Ref<") || type.includes("RefObject<")) {
17880
- return { category: "exclude" };
17881
- }
17882
- if (name === "testId" || name === "data-testid" || name === "dataTestId") {
17883
- return { category: "exclude" };
17884
- }
17885
- if (name === "key") {
17886
- return { category: "exclude" };
17887
- }
17888
- if (type.includes("Dispatch<") || type.includes("SetStateAction")) {
17889
- return { category: "exclude" };
17890
- }
17891
- if (isDomPassThroughProp(name)) {
17892
- return { category: "exclude" };
17893
- }
17894
- if (name === "name" && prop.domAttribute) {
17895
- return { category: "exclude" };
17896
- }
17897
- if (isStringLiteralUnion(type)) {
17898
- return { category: "design", cdfTypeHint: "enum" };
17899
- }
17900
- if (!isComplexType(type)) {
17901
- const designNameStart = /^(variant|size|spacing|gap|color|bg|theme|align|layout|orientation|position)/i;
17902
- const designNameEnd = /(Color|Size|Variant|Style)$/;
17903
- if (designNameStart.test(name) || designNameEnd.test(name)) {
17904
- return { category: "design", cdfTypeHint: "string" };
17905
- }
17906
- }
17907
- if (isBooleanType(type)) {
17908
- const stateNames = ["disabled", "loading", "expanded", "isOpen", "selected", "checked", "active", "preview"];
17909
- if (stateNames.includes(name)) {
17910
- return { category: "state", cdfTypeHint: "boolean" };
17911
- }
17912
- }
17913
- if (isBooleanType(type)) {
17914
- const visualToggle = /^(hide|show|enable|disable|vertical|horizontal|reverse|bold|italic|imageOn|with)/i;
17915
- if (visualToggle.test(name)) {
17916
- return { category: "design", cdfTypeHint: "boolean" };
17917
- }
17918
- }
17919
- if (name === "componentId" || name === "sectionKey" || name === "locale" || name === "variantIndex") {
17920
- return { category: "state", cdfTypeHint: "string" };
17921
- }
17922
- if (isStringType(type)) {
17923
- const urlNameStart = /^(href|url|link|src)/i;
17924
- const urlNameEnd = /(Url|Href|Link|Src)$/;
17925
- if (urlNameStart.test(name) || urlNameEnd.test(name)) {
17926
- return { category: "content", cdfTypeHint: "string" };
17927
- }
17928
- }
17929
- if (isStringType(type)) {
17930
- const textNameStart = /^(label|title|text|description|caption|heading|subheading|body|alt|name|placeholder|summary)/i;
17931
- const textNameEnd = /(Text|Label|Title|Name)$/;
17932
- if (textNameStart.test(name) || textNameEnd.test(name)) {
17933
- return { category: "content", cdfTypeHint: "string" };
17934
- }
17935
- }
17936
- if (isStringType(type)) {
17937
- return { category: "content", cdfTypeHint: "string" };
17938
- }
17939
- if (isBooleanType(type)) {
17940
- return { category: "design", cdfTypeHint: "boolean" };
17941
- }
17942
- if (isNumberType(type)) {
17943
- return { category: "design", cdfTypeHint: "string" };
17944
- }
17945
- return void 0;
17946
- }
17947
- function preClassifyComponent(component) {
17948
- const props = component.props.flatMap((prop) => {
17949
- const result = preClassifyProp(prop);
17950
- if (result?.category === "exclude") {
17951
- return [];
17952
- }
17953
- const { domAttribute: _domAttribute, ...authorableProp } = prop;
17954
- if (prop.category) {
17955
- return [authorableProp];
17956
- }
17957
- if (!result) {
17958
- return [authorableProp];
17959
- }
17960
- return [
17961
- {
17962
- ...authorableProp,
17963
- category: result.category
17964
- }
17965
- ];
17966
- });
17967
- return { ...component, props };
17968
- }
17969
- var init_classify_component_props = __esm({
17970
- "packages/experience-design-system-extraction/dist/src/extract/services/classification/classify-component-props.js"() {
17971
- "use strict";
17972
- init_check_prop_types();
17973
- init_detect_dom_props();
17974
- }
17975
- });
17976
-
17977
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/authorability/evaluate-authorability.js
16478
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/quality/non-authorable-filter.js
17978
16479
  function isHandlerOrRefProp(prop) {
17979
16480
  if (HANDLER_TYPE_PATTERN.test(prop.type))
17980
16481
  return true;
@@ -18025,15 +16526,34 @@ function hasNoAuthoringSurface(component) {
18025
16526
  return { skip: false };
18026
16527
  }
18027
16528
  var HANDLER_TYPE_PATTERN, REF_TYPE_PATTERN;
18028
- var init_evaluate_authorability = __esm({
18029
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/authorability/evaluate-authorability.js"() {
16529
+ var init_non_authorable_filter = __esm({
16530
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/quality/non-authorable-filter.js"() {
18030
16531
  "use strict";
18031
16532
  HANDLER_TYPE_PATTERN = /=>|EventHandler|Dispatch<|SetStateAction/;
18032
16533
  REF_TYPE_PATTERN = /Ref<|RefObject<|MutableRefObject/;
18033
16534
  }
18034
16535
  });
18035
16536
 
18036
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/parse-source-imports.js
16537
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/constants/review-reasons.js
16538
+ var HIGH_CONFIDENCE_DATA_FETCH_WRAPPER_REASON, POSSIBLE_DATA_FETCH_WRAPPER_REASON, ZERO_SURFACE_RENDERED_UI_REASON;
16539
+ var init_review_reasons = __esm({
16540
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/constants/review-reasons.js"() {
16541
+ "use strict";
16542
+ HIGH_CONFIDENCE_DATA_FETCH_WRAPPER_REASON = "data-fetch-wrapper";
16543
+ POSSIBLE_DATA_FETCH_WRAPPER_REASON = "possible-data-fetch-wrapper";
16544
+ ZERO_SURFACE_RENDERED_UI_REASON = "zero-surface:rendered-ui";
16545
+ }
16546
+ });
16547
+
16548
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/constants/index.js
16549
+ var init_constants7 = __esm({
16550
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/constants/index.js"() {
16551
+ "use strict";
16552
+ init_review_reasons();
16553
+ }
16554
+ });
16555
+
16556
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/framework-adapters/shared/parse-imported-names.js
18037
16557
  function parseImportedNames(importClause) {
18038
16558
  const trimmed = importClause.trim();
18039
16559
  if (!trimmed)
@@ -18057,13 +16577,14 @@ function parseImportedNames(importClause) {
18057
16577
  }
18058
16578
  return names;
18059
16579
  }
18060
- var init_parse_source_imports = __esm({
18061
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/parse-source-imports.js"() {
16580
+ var init_parse_imported_names = __esm({
16581
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/framework-adapters/shared/parse-imported-names.js"() {
18062
16582
  "use strict";
18063
16583
  }
18064
16584
  });
18065
16585
 
18066
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/detect-data-wrapper-patterns.js
16586
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/evidence/source-inspection.js
16587
+ import { readFile as readFile15 } from "node:fs/promises";
18067
16588
  function escapeRegExp(value) {
18068
16589
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
18069
16590
  }
@@ -18098,11 +16619,11 @@ function hasSiblingForwardRender(sourceText, siblingImports) {
18098
16619
  function hasVisibleUiRender(sourceText) {
18099
16620
  return /return\s*(?:\(|<)/.test(sourceText) && VISIBLE_UI_TAG_PATTERN.test(sourceText);
18100
16621
  }
18101
- function collectInfraPropNames(component) {
16622
+ function infraPropNames(component) {
18102
16623
  const props = component.props.map((prop) => prop.name);
18103
16624
  return props.length > 0 && props.every((prop) => INFRA_PROP_NAMES.has(prop)) ? props : [];
18104
16625
  }
18105
- function mapScoreToWrapperConfidence(score) {
16626
+ function scoreToConfidence(score) {
18106
16627
  if (score <= 0)
18107
16628
  return 0;
18108
16629
  if (score <= 2)
@@ -18113,26 +16634,9 @@ function mapScoreToWrapperConfidence(score) {
18113
16634
  return 4;
18114
16635
  return 5;
18115
16636
  }
18116
- function dedupeStrings(values) {
18117
- return [...new Set(values)];
16637
+ function dedupeReasons(reasons) {
16638
+ return [...new Set(reasons)];
18118
16639
  }
18119
- var INFRA_PROP_NAMES, VISIBLE_UI_TAG_PATTERN, GENERATED_IMPORT_PATTERN, GENERATED_QUERY_HOOK_PATTERN, GQL_FILENAME_PATTERN, LOADING_NULL_GUARD_PATTERN, IMPORT_PATTERN;
18120
- var init_detect_data_wrapper_patterns = __esm({
18121
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/detect-data-wrapper-patterns.js"() {
18122
- "use strict";
18123
- init_parse_source_imports();
18124
- INFRA_PROP_NAMES = /* @__PURE__ */ new Set(["id", "locale", "preview", "slug", "topic", "previousComponent", "__typename"]);
18125
- VISIBLE_UI_TAG_PATTERN = /<(?:[A-Z][A-Za-z0-9_.]*|div|span|section|main|article|header|footer|nav|aside|img|video|p|h[1-6]|ul|ol|li|button|input|textarea|select|form|label|table|tbody|thead|tr|td|th)\b/;
18126
- GENERATED_IMPORT_PATTERN = /from\s+['"][^'"]*__generated[^'"]*['"]/;
18127
- GENERATED_QUERY_HOOK_PATTERN = /\buse[A-Z][A-Za-z0-9]*(?:Lazy|Suspense)?Query\s*\(/;
18128
- GQL_FILENAME_PATTERN = /(?:-gql|-ggl)\.[cm]?[jt]sx?$/i;
18129
- LOADING_NULL_GUARD_PATTERN = /if\s*\([^)]*(?:isLoading|loading|!data|!\w+Collection|!\w+Item|!\w+)\s*[^)]*\)\s*return\s+null\b/;
18130
- IMPORT_PATTERN = /import\s+(?:type\s+)?(.+?)\s+from\s+['"]([^'"]+)['"]/g;
18131
- }
18132
- });
18133
-
18134
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/inspect-component-source.js
18135
- import { readFile as readFile15 } from "node:fs/promises";
18136
16640
  async function inspectComponentSource(component) {
18137
16641
  let sourceText = "";
18138
16642
  try {
@@ -18147,7 +16651,7 @@ async function inspectComponentSource(component) {
18147
16651
  const reviewReasons = [];
18148
16652
  let wrapperScore = 0;
18149
16653
  const hasGeneratedQueryHook = GENERATED_IMPORT_PATTERN.test(sourceText) && GENERATED_QUERY_HOOK_PATTERN.test(sourceText);
18150
- const infraProps = collectInfraPropNames(component);
16654
+ const infraProps = infraPropNames(component);
18151
16655
  const siblingImports = collectSiblingRendererImports(sourceText);
18152
16656
  if (GQL_FILENAME_PATTERN.test(component.source)) {
18153
16657
  reviewReasons.push("data-wrapper:gql-filename");
@@ -18177,7 +16681,7 @@ async function inspectComponentSource(component) {
18177
16681
  reviewReasons.push("data-wrapper:loading-null-guard");
18178
16682
  wrapperScore += 1;
18179
16683
  }
18180
- const wrapperConfidence = mapScoreToWrapperConfidence(wrapperScore);
16684
+ const wrapperConfidence = scoreToConfidence(wrapperScore);
18181
16685
  if (wrapperConfidence >= 4) {
18182
16686
  reviewReasons.unshift(HIGH_CONFIDENCE_DATA_FETCH_WRAPPER_REASON);
18183
16687
  } else if (wrapperConfidence === 3) {
@@ -18189,7 +16693,7 @@ async function inspectComponentSource(component) {
18189
16693
  }
18190
16694
  return {
18191
16695
  wrapperConfidence,
18192
- reviewReasons: dedupeStrings(reviewReasons),
16696
+ reviewReasons: dedupeReasons(reviewReasons),
18193
16697
  keepDespiteZeroSurface
18194
16698
  };
18195
16699
  }
@@ -18220,199 +16724,264 @@ function describeReviewReason(reason) {
18220
16724
  }
18221
16725
  }
18222
16726
  function describeReviewReasons(reasons) {
18223
- return dedupeStrings(reasons.map(describeReviewReason));
16727
+ return dedupeReasons(reasons.map(describeReviewReason));
18224
16728
  }
18225
- var HIGH_CONFIDENCE_DATA_FETCH_WRAPPER_REASON, POSSIBLE_DATA_FETCH_WRAPPER_REASON, ZERO_SURFACE_RENDERED_UI_REASON;
18226
- var init_inspect_component_source = __esm({
18227
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/inspect-component-source.js"() {
16729
+ var INFRA_PROP_NAMES, VISIBLE_UI_TAG_PATTERN, GENERATED_IMPORT_PATTERN, GENERATED_QUERY_HOOK_PATTERN, GQL_FILENAME_PATTERN, LOADING_NULL_GUARD_PATTERN, IMPORT_PATTERN;
16730
+ var init_source_inspection = __esm({
16731
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/evidence/source-inspection.js"() {
18228
16732
  "use strict";
18229
- init_detect_data_wrapper_patterns();
18230
- HIGH_CONFIDENCE_DATA_FETCH_WRAPPER_REASON = "data-fetch-wrapper";
18231
- POSSIBLE_DATA_FETCH_WRAPPER_REASON = "possible-data-fetch-wrapper";
18232
- ZERO_SURFACE_RENDERED_UI_REASON = "zero-surface:rendered-ui";
16733
+ init_constants7();
16734
+ init_parse_imported_names();
16735
+ INFRA_PROP_NAMES = /* @__PURE__ */ new Set(["id", "locale", "preview", "slug", "topic", "previousComponent", "__typename"]);
16736
+ VISIBLE_UI_TAG_PATTERN = /<(?:[A-Z][A-Za-z0-9_.]*|div|span|section|main|article|header|footer|nav|aside|img|video|p|h[1-6]|ul|ol|li|button|input|textarea|select|form|label|table|tbody|thead|tr|td|th)\b/;
16737
+ GENERATED_IMPORT_PATTERN = /from\s+['"][^'"]*__generated[^'"]*['"]/;
16738
+ GENERATED_QUERY_HOOK_PATTERN = /\buse[A-Z][A-Za-z0-9]*(?:Lazy|Suspense)?Query\s*\(/;
16739
+ GQL_FILENAME_PATTERN = /(?:-gql|-ggl)\.[cm]?[jt]sx?$/i;
16740
+ LOADING_NULL_GUARD_PATTERN = /if\s*\([^)]*(?:isLoading|loading|!data|!\w+Collection|!\w+Item|!\w+)\s*[^)]*\)\s*return\s+null\b/;
16741
+ IMPORT_PATTERN = /import\s+(?:type\s+)?(.+?)\s+from\s+['"]([^'"]+)['"]/g;
18233
16742
  }
18234
16743
  });
18235
16744
 
18236
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/validate-extracted-components.js
18237
- function validateExtractedComponents2(components) {
18238
- const nameCounts = /* @__PURE__ */ new Map();
18239
- for (const component of components) {
18240
- const key = component.name.trim();
18241
- nameCounts.set(key, (nameCounts.get(key) ?? 0) + 1);
18242
- }
18243
- return components.map((component) => {
18244
- const issues = [];
18245
- if (!component.name.trim()) {
18246
- issues.push({
18247
- severity: "error",
18248
- code: "EMPTY_COMPONENT_NAME",
18249
- message: "Component name must not be empty"
18250
- });
18251
- }
18252
- for (let i = 0; i < component.props.length; i++) {
18253
- if (!component.props[i].name.trim()) {
18254
- issues.push({
18255
- severity: "error",
18256
- code: "EMPTY_PROP_NAME",
18257
- message: `Prop at index ${i} has an empty name`,
18258
- field: `props[${i}].name`
18259
- });
18260
- }
16745
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/quality/evaluate-extraction-quality.js
16746
+ function wrapperConfidenceToIssueCount(confidence) {
16747
+ if (confidence >= 4)
16748
+ return 2;
16749
+ if (confidence === 3)
16750
+ return 1;
16751
+ return 0;
16752
+ }
16753
+ async function evaluateExtractionQuality(components, initialWarnings = []) {
16754
+ const inspectedComponents = await Promise.all(components.map(async (component) => ({
16755
+ component,
16756
+ inspection: await inspectComponentSource(component)
16757
+ })));
16758
+ const scoredComponents = [];
16759
+ const warnings = [...initialWarnings];
16760
+ for (const { component, inspection } of inspectedComponents) {
16761
+ const verdict = hasNoAuthoringSurface(component);
16762
+ const keepDespiteZeroSurface = verdict.skip && verdict.reason === "component has no props and no slots" && inspection.keepDespiteZeroSurface;
16763
+ const retainedForReview = verdict.skip && !keepDespiteZeroSurface;
16764
+ if (retainedForReview) {
16765
+ warnings.push(`${component.name}: requires operator review (${verdict.reason})`);
18261
16766
  }
18262
- for (let i = 0; i < component.slots.length; i++) {
18263
- if (!component.slots[i].name.trim()) {
18264
- issues.push({
18265
- severity: "warning",
18266
- code: "EMPTY_SLOT_NAME",
18267
- message: `Slot at index ${i} has an empty name`,
18268
- field: `slots[${i}].name`
18269
- });
18270
- }
16767
+ if (keepDespiteZeroSurface) {
16768
+ warnings.push(`${component.name}: retained despite 0 props/slots because the source renders visible or compositional UI`);
18271
16769
  }
18272
- const propNames = new Set(component.props.map((p) => p.name.trim()).filter(Boolean));
18273
- for (let i = 0; i < component.slots.length; i++) {
18274
- const slotName = component.slots[i].name.trim();
18275
- if (slotName && propNames.has(slotName)) {
18276
- issues.push({
18277
- severity: "error",
18278
- code: "PROP_SLOT_NAME_COLLISION",
18279
- message: `"${slotName}" is used as both a prop name and a slot name`,
18280
- field: `slots[${i}].name`
18281
- });
18282
- }
16770
+ if (inspection.reviewReasons.length > 0) {
16771
+ const reviewNotes = describeReviewReasons(inspection.reviewReasons).filter((note) => note !== "high-confidence data-fetch wrapper").join("; ");
16772
+ if (reviewNotes)
16773
+ warnings.push(`${component.name}: ${reviewNotes}`);
18283
16774
  }
18284
- const nameKey = component.name.trim();
18285
- if (nameKey && (nameCounts.get(nameKey) ?? 0) > 1) {
18286
- issues.push({
18287
- severity: "error",
18288
- code: "DUPLICATE_COMPONENT_NAME",
18289
- message: `Component name "${component.name}" appears more than once in the extracted set`
18290
- });
16775
+ const extractorReasons = component.reviewReasons ?? [];
16776
+ const nonAuthorableReason = retainedForReview ? [`non-authorable:${verdict.reason}`] : [];
16777
+ const { confidence, reasons } = computeExtractionScore(component, {
16778
+ additionalIssueCount: wrapperConfidenceToIssueCount(inspection.wrapperConfidence) + extractorReasons.length + nonAuthorableReason.length,
16779
+ additionalReasons: [...extractorReasons, ...inspection.reviewReasons, ...nonAuthorableReason]
16780
+ });
16781
+ scoredComponents.push({
16782
+ ...component,
16783
+ extractionConfidence: confidence,
16784
+ reviewReasons: reasons,
16785
+ needsReview: deriveNeedsReview(confidence) || inspection.wrapperConfidence >= 4 || inspection.keepDespiteZeroSurface || retainedForReview || extractorReasons.includes("props-type-unresolved") || (component.needsReview ?? false)
16786
+ });
16787
+ }
16788
+ return {
16789
+ components: validateExtractedComponents(scoredComponents),
16790
+ warnings
16791
+ };
16792
+ }
16793
+ var init_evaluate_extraction_quality = __esm({
16794
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/quality/evaluate-extraction-quality.js"() {
16795
+ "use strict";
16796
+ init_non_authorable_filter();
16797
+ init_scoring();
16798
+ init_source_inspection();
16799
+ init_validate3();
16800
+ }
16801
+ });
16802
+
16803
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/pre-classify.js
16804
+ function isStringLiteralUnion(type) {
16805
+ return type.includes("|") && type.includes("'");
16806
+ }
16807
+ function isSimpleType(type) {
16808
+ const t = type.trim();
16809
+ if (t === "string" || t === "boolean" || t === "number")
16810
+ return true;
16811
+ return isStringLiteralUnion(t);
16812
+ }
16813
+ function isBooleanType(type) {
16814
+ return type.trim() === "boolean";
16815
+ }
16816
+ function isStringType(type) {
16817
+ return type.trim() === "string";
16818
+ }
16819
+ function isNumberType(type) {
16820
+ return type.trim() === "number";
16821
+ }
16822
+ function isComplexType(type) {
16823
+ return !isSimpleType(type);
16824
+ }
16825
+ function isDomPassThroughProp(name) {
16826
+ if (DOM_PASS_THROUGH_PROPS.has(name))
16827
+ return true;
16828
+ if (/^aria[-A-Z]/.test(name))
16829
+ return true;
16830
+ return name.startsWith("data-");
16831
+ }
16832
+ function preClassifyProp(prop) {
16833
+ const { name, type } = prop;
16834
+ if (/^on[A-Z]/.test(name) || type.includes("=> void") || type.includes("EventHandler")) {
16835
+ return { category: "exclude" };
16836
+ }
16837
+ if (name === "ref" || name === "innerRef" || type.includes("Ref<") || type.includes("RefObject<")) {
16838
+ return { category: "exclude" };
16839
+ }
16840
+ if (name === "testId" || name === "data-testid" || name === "dataTestId") {
16841
+ return { category: "exclude" };
16842
+ }
16843
+ if (name === "key") {
16844
+ return { category: "exclude" };
16845
+ }
16846
+ if (type.includes("Dispatch<") || type.includes("SetStateAction")) {
16847
+ return { category: "exclude" };
16848
+ }
16849
+ if (isDomPassThroughProp(name)) {
16850
+ return { category: "exclude" };
16851
+ }
16852
+ if (name === "name" && prop.domAttribute) {
16853
+ return { category: "exclude" };
16854
+ }
16855
+ if (isStringLiteralUnion(type)) {
16856
+ return { category: "design", cdfTypeHint: "enum" };
16857
+ }
16858
+ if (!isComplexType(type)) {
16859
+ const designNameStart = /^(variant|size|spacing|gap|color|bg|theme|align|layout|orientation|position)/i;
16860
+ const designNameEnd = /(Color|Size|Variant|Style)$/;
16861
+ if (designNameStart.test(name) || designNameEnd.test(name)) {
16862
+ return { category: "design", cdfTypeHint: "string" };
18291
16863
  }
18292
- if (component.props.length === 0 && component.slots.length === 0) {
18293
- issues.push({
18294
- severity: "warning",
18295
- code: "EMPTY_COMPONENT",
18296
- message: "Component has no props or slots and will be filtered out during generation"
18297
- });
16864
+ }
16865
+ if (isBooleanType(type)) {
16866
+ const stateNames = ["disabled", "loading", "expanded", "isOpen", "selected", "checked", "active", "preview"];
16867
+ if (stateNames.includes(name)) {
16868
+ return { category: "state", cdfTypeHint: "boolean" };
18298
16869
  }
18299
- return { ...component, validationIssues: issues };
18300
- });
18301
- }
18302
- var init_validate_extracted_components = __esm({
18303
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/validate-extracted-components.js"() {
18304
- "use strict";
18305
16870
  }
18306
- });
18307
-
18308
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/evaluate-extraction-quality.js
18309
- function wrapperConfidenceToIssueCount(confidence) {
18310
- if (confidence >= 4)
18311
- return 2;
18312
- if (confidence === 3)
18313
- return 1;
18314
- return 0;
18315
- }
18316
- async function evaluateExtractionQuality(components, initialWarnings = []) {
18317
- const inspectedComponents = await Promise.all(components.map(async (component) => ({
18318
- component,
18319
- inspection: await inspectComponentSource(component)
18320
- })));
18321
- const scoredComponents = [];
18322
- const warnings = [...initialWarnings];
18323
- for (const { component, inspection } of inspectedComponents) {
18324
- const verdict = hasNoAuthoringSurface(component);
18325
- const keepDespiteZeroSurface = verdict.skip && verdict.reason === "component has no props and no slots" && inspection.keepDespiteZeroSurface;
18326
- const retainedForReview = verdict.skip && !keepDespiteZeroSurface;
18327
- if (retainedForReview) {
18328
- warnings.push(`${component.name}: requires operator review (${verdict.reason})`);
16871
+ if (isBooleanType(type)) {
16872
+ const visualToggle = /^(hide|show|enable|disable|vertical|horizontal|reverse|bold|italic|imageOn|with)/i;
16873
+ if (visualToggle.test(name)) {
16874
+ return { category: "design", cdfTypeHint: "boolean" };
18329
16875
  }
18330
- if (keepDespiteZeroSurface) {
18331
- warnings.push(`${component.name}: retained despite 0 props/slots because the source renders visible or compositional UI`);
16876
+ }
16877
+ if (name === "componentId" || name === "sectionKey" || name === "locale" || name === "variantIndex") {
16878
+ return { category: "state", cdfTypeHint: "string" };
16879
+ }
16880
+ if (isStringType(type)) {
16881
+ const urlNameStart = /^(href|url|link|src)/i;
16882
+ const urlNameEnd = /(Url|Href|Link|Src)$/;
16883
+ if (urlNameStart.test(name) || urlNameEnd.test(name)) {
16884
+ return { category: "content", cdfTypeHint: "string" };
18332
16885
  }
18333
- if (inspection.reviewReasons.length > 0) {
18334
- const reviewNotes = describeReviewReasons(inspection.reviewReasons).filter((note) => note !== "high-confidence data-fetch wrapper").join("; ");
18335
- if (reviewNotes)
18336
- warnings.push(`${component.name}: ${reviewNotes}`);
16886
+ }
16887
+ if (isStringType(type)) {
16888
+ const textNameStart = /^(label|title|text|description|caption|heading|subheading|body|alt|name|placeholder|summary)/i;
16889
+ const textNameEnd = /(Text|Label|Title|Name)$/;
16890
+ if (textNameStart.test(name) || textNameEnd.test(name)) {
16891
+ return { category: "content", cdfTypeHint: "string" };
18337
16892
  }
18338
- const extractorReasons = component.reviewReasons ?? [];
18339
- const nonAuthorableReason = retainedForReview ? [`non-authorable:${verdict.reason}`] : [];
18340
- const { confidence, reasons } = computeExtractionScore2(component, {
18341
- additionalIssueCount: wrapperConfidenceToIssueCount(inspection.wrapperConfidence) + extractorReasons.length + nonAuthorableReason.length,
18342
- additionalReasons: [...extractorReasons, ...inspection.reviewReasons, ...nonAuthorableReason]
18343
- });
18344
- scoredComponents.push({
18345
- ...component,
18346
- extractionConfidence: confidence,
18347
- reviewReasons: reasons,
18348
- needsReview: deriveNeedsReview2(confidence) || inspection.wrapperConfidence >= 4 || inspection.keepDespiteZeroSurface || retainedForReview || extractorReasons.includes("props-type-unresolved") || (component.needsReview ?? false)
18349
- });
18350
16893
  }
18351
- return {
18352
- components: validateExtractedComponents2(scoredComponents),
18353
- warnings
18354
- };
18355
- }
18356
- var init_evaluate_extraction_quality = __esm({
18357
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/evaluate-extraction-quality.js"() {
18358
- "use strict";
18359
- init_evaluate_authorability();
18360
- init_compute_extraction_score();
18361
- init_inspect_component_source();
18362
- init_validate_extracted_components();
16894
+ if (isStringType(type)) {
16895
+ return { category: "content", cdfTypeHint: "string" };
18363
16896
  }
18364
- });
18365
-
18366
- // packages/experience-design-system-extraction/dist/src/extract/orchestrator/execute-extraction-orchestrator.js
18367
- var init_execute_extraction_orchestrator = __esm({
18368
- "packages/experience-design-system-extraction/dist/src/extract/orchestrator/execute-extraction-orchestrator.js"() {
18369
- "use strict";
18370
- init_extract_components();
18371
- init_classify_component_props();
18372
- init_evaluate_extraction_quality();
16897
+ if (isBooleanType(type)) {
16898
+ return { category: "design", cdfTypeHint: "boolean" };
18373
16899
  }
18374
- });
18375
-
18376
- // packages/experience-design-system-extraction/dist/src/extract/controller/helpers/validate-endpoint-request.js
18377
- var init_validate_endpoint_request = __esm({
18378
- "packages/experience-design-system-extraction/dist/src/extract/controller/helpers/validate-endpoint-request.js"() {
18379
- "use strict";
16900
+ if (isNumberType(type)) {
16901
+ return { category: "design", cdfTypeHint: "string" };
18380
16902
  }
18381
- });
18382
-
18383
- // packages/experience-design-system-extraction/dist/src/extract/controller/extract-controller.js
18384
- var init_extract_controller = __esm({
18385
- "packages/experience-design-system-extraction/dist/src/extract/controller/extract-controller.js"() {
16903
+ return void 0;
16904
+ }
16905
+ function preClassifyComponent(component) {
16906
+ const props = component.props.flatMap((prop) => {
16907
+ const result = preClassifyProp(prop);
16908
+ if (result?.category === "exclude") {
16909
+ return [];
16910
+ }
16911
+ const { domAttribute: _domAttribute, ...authorableProp } = prop;
16912
+ if (prop.category) {
16913
+ return [authorableProp];
16914
+ }
16915
+ if (!result) {
16916
+ return [authorableProp];
16917
+ }
16918
+ return [
16919
+ {
16920
+ ...authorableProp,
16921
+ category: result.category
16922
+ }
16923
+ ];
16924
+ });
16925
+ return { ...component, props };
16926
+ }
16927
+ var DOM_PASS_THROUGH_PROPS;
16928
+ var init_pre_classify = __esm({
16929
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/pre-classify.js"() {
18386
16930
  "use strict";
18387
- init_execute_extraction_orchestrator();
18388
- init_validate_endpoint_request();
18389
- }
18390
- });
18391
-
18392
- // packages/experience-design-system-extraction/dist/src/index.js
18393
- var init_src3 = __esm({
18394
- "packages/experience-design-system-extraction/dist/src/index.js"() {
18395
- "use strict";
18396
- init_display();
18397
- init_extract_components();
18398
- init_extract_controller();
18399
- init_extractor2();
18400
- init_extractor6();
18401
- init_extractor5();
18402
- init_extractor3();
18403
- init_extractor();
18404
- init_extractor7();
18405
- init_extractor4();
18406
- init_collect_allowed_component_names();
18407
- init_evaluate_extraction_quality();
18408
- init_evaluate_authorability();
18409
- init_evaluate_authorability();
18410
- init_compute_extraction_score();
18411
- init_inspect_component_source();
18412
- init_validate_extracted_components();
18413
- init_parse_source_imports();
18414
- init_detect_slot_from_prop();
18415
- init_classify_component_props();
16931
+ DOM_PASS_THROUGH_PROPS = /* @__PURE__ */ new Set([
16932
+ // Bare HTML / framework styling pass-through
16933
+ "className",
16934
+ "class",
16935
+ "classes",
16936
+ "classNames",
16937
+ "rootClassName",
16938
+ "prefixCls",
16939
+ "style",
16940
+ "styles",
16941
+ // Bare HTML attributes
16942
+ "id",
16943
+ "role",
16944
+ "tabIndex",
16945
+ "tabindex",
16946
+ "htmlFor",
16947
+ "for",
16948
+ "slot",
16949
+ "is",
16950
+ "lang",
16951
+ "dir",
16952
+ "hidden",
16953
+ "draggable",
16954
+ "spellCheck",
16955
+ "spellcheck",
16956
+ "contentEditable",
16957
+ "contenteditable",
16958
+ "inputMode",
16959
+ "inputmode",
16960
+ "autoComplete",
16961
+ "autocomplete",
16962
+ "autoFocus",
16963
+ "autofocus",
16964
+ "translate",
16965
+ "part",
16966
+ "exportparts",
16967
+ "aria",
16968
+ // Framework theming / pass-through escape hatches — dev-facing, never marketer-configurable
16969
+ "dt",
16970
+ "pt",
16971
+ "ptOptions",
16972
+ "unstyled",
16973
+ "sx",
16974
+ // Polymorphic component props — change rendered HTML/component, not marketer-visible behavior
16975
+ "as",
16976
+ "element",
16977
+ "component",
16978
+ // QA / vendor test attributes
16979
+ "dataQa",
16980
+ "data-qa",
16981
+ // Vue v-model internals — framework wiring, never marketer-configurable
16982
+ "modelValue",
16983
+ "modelModifiers"
16984
+ ]);
18416
16985
  }
18417
16986
  });
18418
16987
 
@@ -18441,7 +17010,7 @@ function emitPreClassificationExclusions(extraction, onExclusion) {
18441
17010
  var init_emit_pre_classification_exclusions = __esm({
18442
17011
  "packages/experience-design-system-backend-pipeline/dist/src/orchestrators/run-extract-and-compose-session/helpers/emit-pre-classification-exclusions.js"() {
18443
17012
  "use strict";
18444
- init_src3();
17013
+ init_pre_classify();
18445
17014
  }
18446
17015
  });
18447
17016
 
@@ -18784,7 +17353,8 @@ async function runExtractAndComposeSession(request) {
18784
17353
  var init_run_extract_and_compose_session = __esm({
18785
17354
  "packages/experience-design-system-backend-pipeline/dist/src/orchestrators/run-extract-and-compose-session/run-extract-and-compose-session.js"() {
18786
17355
  "use strict";
18787
- init_src3();
17356
+ init_evaluate_extraction_quality();
17357
+ init_pre_classify();
18788
17358
  init_resolve_composition_sources();
18789
17359
  init_db();
18790
17360
  init_emit_pre_classification_exclusions();
@@ -19375,7 +17945,7 @@ var init_run_generate_components_session = __esm({
19375
17945
  });
19376
17946
 
19377
17947
  // packages/experience-design-system-backend-pipeline/dist/src/index.js
19378
- var init_src4 = __esm({
17948
+ var init_src3 = __esm({
19379
17949
  "packages/experience-design-system-backend-pipeline/dist/src/index.js"() {
19380
17950
  "use strict";
19381
17951
  init_export_cdf_document();
@@ -19613,7 +18183,7 @@ var AGENT_LABELS, asString;
19613
18183
  var init_agent_store = __esm({
19614
18184
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/agent-store.ts"() {
19615
18185
  "use strict";
19616
- init_src4();
18186
+ init_src3();
19617
18187
  init_v1_store();
19618
18188
  AGENT_LABELS = {
19619
18189
  claude: "Claude Code",
@@ -19646,7 +18216,7 @@ var shellValues;
19646
18216
  var init_apply_binary_overrides = __esm({
19647
18217
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/apply-binary-overrides.ts"() {
19648
18218
  "use strict";
19649
- init_src4();
18219
+ init_src3();
19650
18220
  shellValues = /* @__PURE__ */ new Map();
19651
18221
  }
19652
18222
  });
@@ -20304,7 +18874,7 @@ function foldSvelteAndMdIntoOther(counts) {
20304
18874
  var init_scan_files = __esm({
20305
18875
  "packages/experience-design-system-cli/src/tui/import/steps/03-path-validation/helpers/scan-files.ts"() {
20306
18876
  "use strict";
20307
- init_src4();
18877
+ init_src3();
20308
18878
  }
20309
18879
  });
20310
18880
 
@@ -20426,7 +18996,7 @@ var FIELDS;
20426
18996
  var init_logic4 = __esm({
20427
18997
  "packages/experience-design-system-cli/src/tui/import/steps/04-credentials/logic.ts"() {
20428
18998
  "use strict";
20429
- init_src4();
18999
+ init_src3();
20430
19000
  FIELDS = ["spaceId", "environmentId", "cmaToken", "host"];
20431
19001
  }
20432
19002
  });
@@ -20463,7 +19033,7 @@ function cliUserAgent() {
20463
19033
  var init_user_agent = __esm({
20464
19034
  "packages/experience-design-system-cli/src/tui/user-agent.ts"() {
20465
19035
  "use strict";
20466
- init_src4();
19036
+ init_src3();
20467
19037
  init_version();
20468
19038
  }
20469
19039
  });
@@ -20498,7 +19068,7 @@ function toUserError(error, host) {
20498
19068
  var init_validate4 = __esm({
20499
19069
  "packages/experience-design-system-cli/src/tui/import/steps/04-credentials/validate.ts"() {
20500
19070
  "use strict";
20501
- init_src4();
19071
+ init_src3();
20502
19072
  init_user_agent();
20503
19073
  }
20504
19074
  });
@@ -20601,7 +19171,7 @@ var init_screen4 = __esm({
20601
19171
  "use strict";
20602
19172
  init_theme();
20603
19173
  init_controls4();
20604
- init_src4();
19174
+ init_src3();
20605
19175
  init_logic4();
20606
19176
  init_validate4();
20607
19177
  LABELS = {
@@ -21067,7 +19637,7 @@ function resolveAgentChoice(flag, stored) {
21067
19637
  var init_logic9 = __esm({
21068
19638
  "packages/experience-design-system-cli/src/tui/import/steps/06-extraction/logic.ts"() {
21069
19639
  "use strict";
21070
- init_src4();
19640
+ init_src3();
21071
19641
  }
21072
19642
  });
21073
19643
 
@@ -21223,7 +19793,7 @@ var SELECT_SKILL_PATH, DEFAULT_TIMEOUT_MS5;
21223
19793
  var init_selection2 = __esm({
21224
19794
  "packages/experience-design-system-cli/src/tui/import/steps/06-extraction/selection.ts"() {
21225
19795
  "use strict";
21226
- init_src4();
19796
+ init_src3();
21227
19797
  init_find_skill_path();
21228
19798
  SELECT_SKILL_PATH = findSkillPath("select-components.md");
21229
19799
  DEFAULT_TIMEOUT_MS5 = Number(process.env.EDS_AGENT_TIMEOUT_MS ?? 5 * 60 * 1e3);
@@ -21368,7 +19938,7 @@ var TOKENS_SKILL_PATH, realDeps, fail, errorMessage2;
21368
19938
  var init_run = __esm({
21369
19939
  "packages/experience-design-system-cli/src/tui/import/steps/06-extraction/run.ts"() {
21370
19940
  "use strict";
21371
- init_src4();
19941
+ init_src3();
21372
19942
  init_find_skill_path();
21373
19943
  init_logic9();
21374
19944
  init_selection2();
@@ -24465,7 +23035,7 @@ async function checkGenerationCache(input) {
24465
23035
  var init_cache_check = __esm({
24466
23036
  "packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/cache-check.ts"() {
24467
23037
  "use strict";
24468
- init_src4();
23038
+ init_src3();
24469
23039
  }
24470
23040
  });
24471
23041
 
@@ -24492,7 +23062,7 @@ function loadScopeGate(sessionId) {
24492
23062
  var init_load = __esm({
24493
23063
  "packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/load.ts"() {
24494
23064
  "use strict";
24495
- init_src4();
23065
+ init_src3();
24496
23066
  }
24497
23067
  });
24498
23068
 
@@ -24622,7 +23192,7 @@ async function prepareMapTokens(input, generatedSessionId) {
24622
23192
  var init_map_tokens = __esm({
24623
23193
  "packages/experience-design-system-cli/src/tui/import/steps/08-generation/map-tokens.ts"() {
24624
23194
  "use strict";
24625
- init_src4();
23195
+ init_src3();
24626
23196
  init_logic10();
24627
23197
  }
24628
23198
  });
@@ -24640,7 +23210,7 @@ async function saveDecisions(input) {
24640
23210
  var init_save_decisions = __esm({
24641
23211
  "packages/experience-design-system-cli/src/tui/import/steps/08-generation/save-decisions.ts"() {
24642
23212
  "use strict";
24643
- init_src4();
23213
+ init_src3();
24644
23214
  }
24645
23215
  });
24646
23216
 
@@ -24758,7 +23328,7 @@ var COMPONENTS_SKILL_PATH, MAP_TOKENS_SKILL_PATH, realDeps3, fail2, errorMessage
24758
23328
  var init_run2 = __esm({
24759
23329
  "packages/experience-design-system-cli/src/tui/import/steps/08-generation/run.ts"() {
24760
23330
  "use strict";
24761
- init_src4();
23331
+ init_src3();
24762
23332
  init_find_skill_path();
24763
23333
  init_logic9();
24764
23334
  init_map_tokens();
@@ -24836,7 +23406,7 @@ function buildFlowStart(input) {
24836
23406
  var init_build_flow_start = __esm({
24837
23407
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/build-flow-start.ts"() {
24838
23408
  "use strict";
24839
- init_src4();
23409
+ init_src3();
24840
23410
  }
24841
23411
  });
24842
23412
 
@@ -25210,7 +23780,7 @@ var init_dtcg2 = __esm({
25210
23780
  });
25211
23781
 
25212
23782
  // packages/experience-design-system-types/dist/src/index.js
25213
- var init_src5 = __esm({
23783
+ var init_src4 = __esm({
25214
23784
  "packages/experience-design-system-types/dist/src/index.js"() {
25215
23785
  "use strict";
25216
23786
  init_cdf2();
@@ -27358,7 +25928,7 @@ var init_FieldEditor = __esm({
27358
25928
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/components/FieldEditor.tsx"() {
27359
25929
  "use strict";
27360
25930
  init_theme();
27361
- init_src5();
25931
+ init_src4();
27362
25932
  init_useImmediateInput();
27363
25933
  init_scroll_offset();
27364
25934
  init_cycle_detection();
@@ -28273,7 +26843,7 @@ function finalizeReviewSession(extractSessionId, components) {
28273
26843
  var init_session3 = __esm({
28274
26844
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/session.ts"() {
28275
26845
  "use strict";
28276
- init_src4();
26846
+ init_src3();
28277
26847
  }
28278
26848
  });
28279
26849
 
@@ -28386,10 +26956,10 @@ var TimeoutError, DEFAULT_TIMEOUT_MS6;
28386
26956
  var init_run_live_preview = __esm({
28387
26957
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/run-live-preview.ts"() {
28388
26958
  "use strict";
28389
- init_src5();
28390
- init_src4();
28391
- init_src4();
28392
26959
  init_src4();
26960
+ init_src3();
26961
+ init_src3();
26962
+ init_src3();
28393
26963
  init_user_agent();
28394
26964
  TimeoutError = class extends Error {
28395
26965
  constructor(message = "live-preview timed out") {
@@ -28715,7 +27285,7 @@ function useReviewFinalize({
28715
27285
  var init_use_review_session = __esm({
28716
27286
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/use-review-session.ts"() {
28717
27287
  "use strict";
28718
- init_src4();
27288
+ init_src3();
28719
27289
  init_history();
28720
27290
  init_session3();
28721
27291
  init_use_finalize_preview();
@@ -28893,7 +27463,7 @@ function useReviewEditor({
28893
27463
  var init_use_review_editor = __esm({
28894
27464
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/use-review-editor.ts"() {
28895
27465
  "use strict";
28896
- init_src4();
27466
+ init_src3();
28897
27467
  init_token_suggestions();
28898
27468
  }
28899
27469
  });
@@ -29343,7 +27913,7 @@ var DEFAULT_DEBOUNCE_MS;
29343
27913
  var init_use_live_preview = __esm({
29344
27914
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/use-live-preview.ts"() {
29345
27915
  "use strict";
29346
- init_src4();
27916
+ init_src3();
29347
27917
  init_run_live_preview();
29348
27918
  DEFAULT_DEBOUNCE_MS = 500;
29349
27919
  }
@@ -30726,7 +29296,7 @@ var init_generate_review_step = __esm({
30726
29296
  init_issue_inheritance();
30727
29297
  init_removed_components_text();
30728
29298
  init_useImmediateInput();
30729
- init_src4();
29299
+ init_src3();
30730
29300
  init_cycle_detection();
30731
29301
  init_cycle_panel_scroll();
30732
29302
  init_fuzzy_search();
@@ -31683,7 +30253,7 @@ var init_WizardPreviewStep = __esm({
31683
30253
  init_theme();
31684
30254
  init_useImmediateInput();
31685
30255
  init_use_terminal_size();
31686
- init_src4();
30256
+ init_src3();
31687
30257
  init_preview_diff();
31688
30258
  init_StepHeader();
31689
30259
  init_SpaceEnvironment();
@@ -31849,7 +30419,7 @@ function FlowScreen({
31849
30419
  var init_screen10 = __esm({
31850
30420
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/screen.tsx"() {
31851
30421
  "use strict";
31852
- init_src5();
30422
+ init_src4();
31853
30423
  init_shared2();
31854
30424
  init_screen9();
31855
30425
  init_generate_review_step();
@@ -32038,8 +30608,8 @@ var realPreviewDeps;
32038
30608
  var init_preview2 = __esm({
32039
30609
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/preview.ts"() {
32040
30610
  "use strict";
30611
+ init_src3();
32041
30612
  init_src4();
32042
- init_src5();
32043
30613
  init_user_agent();
32044
30614
  init_wizard_state_transitions();
32045
30615
  realPreviewDeps = () => ({
@@ -32212,8 +30782,8 @@ var realPushDeps, zeroResult, componentsOf;
32212
30782
  var init_push = __esm({
32213
30783
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/push.ts"() {
32214
30784
  "use strict";
30785
+ init_src3();
32215
30786
  init_src4();
32216
- init_src5();
32217
30787
  init_user_agent();
32218
30788
  init_wizard_state_transitions();
32219
30789
  realPushDeps = (log) => ({
@@ -32334,8 +30904,8 @@ var SAVE_CONFIRMATION_DELAY_MS, realSaveDeps;
32334
30904
  var init_save = __esm({
32335
30905
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/save.ts"() {
32336
30906
  "use strict";
30907
+ init_src3();
32337
30908
  init_src4();
32338
- init_src5();
32339
30909
  init_run_print_files_helpers();
32340
30910
  SAVE_CONFIRMATION_DELAY_MS = 1e3;
32341
30911
  realSaveDeps = () => ({
@@ -32638,7 +31208,7 @@ var WIZARD_LOG;
32638
31208
  var init_controller = __esm({
32639
31209
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/controller.ts"() {
32640
31210
  "use strict";
32641
- init_src4();
31211
+ init_src3();
32642
31212
  init_slot_graph();
32643
31213
  init_cycle_detection();
32644
31214
  init_wizard_state_transitions();
@@ -33299,7 +31869,7 @@ var VERSION_TIMEOUT_MS, PROMPT_TIMEOUT_MS, TEST_PROMPT, INSTALL_HINTS, LOGIN_HIN
33299
31869
  var init_agent_status = __esm({
33300
31870
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/agent-status.ts"() {
33301
31871
  "use strict";
33302
- init_src4();
31872
+ init_src3();
33303
31873
  VERSION_TIMEOUT_MS = 5e3;
33304
31874
  PROMPT_TIMEOUT_MS = 6e4;
33305
31875
  TEST_PROMPT = "Reply with the single word: ok";
@@ -33366,7 +31936,7 @@ async function describeAgents(config) {
33366
31936
  var init_agent_debug = __esm({
33367
31937
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/agent-debug.ts"() {
33368
31938
  "use strict";
33369
- init_src4();
31939
+ init_src3();
33370
31940
  init_agent_status();
33371
31941
  }
33372
31942
  });
@@ -33646,7 +32216,7 @@ var fields, INSPECT_DELAY_MS;
33646
32216
  var init_AgentDetail = __esm({
33647
32217
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/AgentDetail.tsx"() {
33648
32218
  "use strict";
33649
- init_src4();
32219
+ init_src3();
33650
32220
  init_theme();
33651
32221
  init_FieldForm();
33652
32222
  init_agent_store();
@@ -33864,7 +32434,7 @@ var NAME_WIDTH, PANEL_LABEL_WIDTH;
33864
32434
  var init_AgentsScreen = __esm({
33865
32435
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/AgentsScreen.tsx"() {
33866
32436
  "use strict";
33867
- init_src4();
32437
+ init_src3();
33868
32438
  init_theme();
33869
32439
  init_control_hints();
33870
32440
  init_debug_store();
@@ -34580,7 +33150,7 @@ var init_app = __esm({
34580
33150
  });
34581
33151
 
34582
33152
  // packages/experience-design-system-cli/program.ts
34583
- init_src4();
33153
+ init_src3();
34584
33154
  import { readFileSync as readFileSync9 } from "node:fs";
34585
33155
  import { join as join28 } from "node:path";
34586
33156
  import { Command } from "commander";