@contentful/experience-design-system-cli 2.37.1-dev-build-2ec208d2.0 → 2.37.1-dev-build-daf63213.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
  });
@@ -20319,7 +18889,7 @@ function foldSvelteAndMdIntoOther(counts) {
20319
18889
  var init_scan_files = __esm({
20320
18890
  "packages/experience-design-system-cli/src/tui/import/steps/03-path-validation/helpers/scan-files.ts"() {
20321
18891
  "use strict";
20322
- init_src4();
18892
+ init_src3();
20323
18893
  }
20324
18894
  });
20325
18895
 
@@ -20441,7 +19011,7 @@ var FIELDS;
20441
19011
  var init_logic4 = __esm({
20442
19012
  "packages/experience-design-system-cli/src/tui/import/steps/04-credentials/logic.ts"() {
20443
19013
  "use strict";
20444
- init_src4();
19014
+ init_src3();
20445
19015
  FIELDS = ["spaceId", "environmentId", "cmaToken", "host"];
20446
19016
  }
20447
19017
  });
@@ -20478,7 +19048,7 @@ function cliUserAgent() {
20478
19048
  var init_user_agent = __esm({
20479
19049
  "packages/experience-design-system-cli/src/tui/user-agent.ts"() {
20480
19050
  "use strict";
20481
- init_src4();
19051
+ init_src3();
20482
19052
  init_version();
20483
19053
  }
20484
19054
  });
@@ -20513,7 +19083,7 @@ function toUserError(error, host) {
20513
19083
  var init_validate4 = __esm({
20514
19084
  "packages/experience-design-system-cli/src/tui/import/steps/04-credentials/validate.ts"() {
20515
19085
  "use strict";
20516
- init_src4();
19086
+ init_src3();
20517
19087
  init_user_agent();
20518
19088
  }
20519
19089
  });
@@ -20616,7 +19186,7 @@ var init_screen4 = __esm({
20616
19186
  "use strict";
20617
19187
  init_theme();
20618
19188
  init_controls4();
20619
- init_src4();
19189
+ init_src3();
20620
19190
  init_logic4();
20621
19191
  init_validate4();
20622
19192
  LABELS = {
@@ -21082,7 +19652,7 @@ function resolveAgentChoice(flag, stored) {
21082
19652
  var init_logic9 = __esm({
21083
19653
  "packages/experience-design-system-cli/src/tui/import/steps/06-extraction/logic.ts"() {
21084
19654
  "use strict";
21085
- init_src4();
19655
+ init_src3();
21086
19656
  }
21087
19657
  });
21088
19658
 
@@ -21238,7 +19808,7 @@ var SELECT_SKILL_PATH, DEFAULT_TIMEOUT_MS5;
21238
19808
  var init_selection2 = __esm({
21239
19809
  "packages/experience-design-system-cli/src/tui/import/steps/06-extraction/selection.ts"() {
21240
19810
  "use strict";
21241
- init_src4();
19811
+ init_src3();
21242
19812
  init_find_skill_path();
21243
19813
  SELECT_SKILL_PATH = findSkillPath("select-components.md");
21244
19814
  DEFAULT_TIMEOUT_MS5 = Number(process.env.EDS_AGENT_TIMEOUT_MS ?? 5 * 60 * 1e3);
@@ -21383,7 +19953,7 @@ var TOKENS_SKILL_PATH, realDeps, fail, errorMessage2;
21383
19953
  var init_run = __esm({
21384
19954
  "packages/experience-design-system-cli/src/tui/import/steps/06-extraction/run.ts"() {
21385
19955
  "use strict";
21386
- init_src4();
19956
+ init_src3();
21387
19957
  init_find_skill_path();
21388
19958
  init_logic9();
21389
19959
  init_selection2();
@@ -24480,7 +23050,7 @@ async function checkGenerationCache(input) {
24480
23050
  var init_cache_check = __esm({
24481
23051
  "packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/cache-check.ts"() {
24482
23052
  "use strict";
24483
- init_src4();
23053
+ init_src3();
24484
23054
  }
24485
23055
  });
24486
23056
 
@@ -24507,7 +23077,7 @@ function loadScopeGate(sessionId) {
24507
23077
  var init_load = __esm({
24508
23078
  "packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/load.ts"() {
24509
23079
  "use strict";
24510
- init_src4();
23080
+ init_src3();
24511
23081
  }
24512
23082
  });
24513
23083
 
@@ -24637,7 +23207,7 @@ async function prepareMapTokens(input, generatedSessionId) {
24637
23207
  var init_map_tokens = __esm({
24638
23208
  "packages/experience-design-system-cli/src/tui/import/steps/08-generation/map-tokens.ts"() {
24639
23209
  "use strict";
24640
- init_src4();
23210
+ init_src3();
24641
23211
  init_logic10();
24642
23212
  }
24643
23213
  });
@@ -24655,7 +23225,7 @@ async function saveDecisions(input) {
24655
23225
  var init_save_decisions = __esm({
24656
23226
  "packages/experience-design-system-cli/src/tui/import/steps/08-generation/save-decisions.ts"() {
24657
23227
  "use strict";
24658
- init_src4();
23228
+ init_src3();
24659
23229
  }
24660
23230
  });
24661
23231
 
@@ -24773,7 +23343,7 @@ var COMPONENTS_SKILL_PATH, MAP_TOKENS_SKILL_PATH, realDeps3, fail2, errorMessage
24773
23343
  var init_run2 = __esm({
24774
23344
  "packages/experience-design-system-cli/src/tui/import/steps/08-generation/run.ts"() {
24775
23345
  "use strict";
24776
- init_src4();
23346
+ init_src3();
24777
23347
  init_find_skill_path();
24778
23348
  init_logic9();
24779
23349
  init_map_tokens();
@@ -24851,7 +23421,7 @@ function buildFlowStart(input) {
24851
23421
  var init_build_flow_start = __esm({
24852
23422
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/build-flow-start.ts"() {
24853
23423
  "use strict";
24854
- init_src4();
23424
+ init_src3();
24855
23425
  }
24856
23426
  });
24857
23427
 
@@ -25225,7 +23795,7 @@ var init_dtcg2 = __esm({
25225
23795
  });
25226
23796
 
25227
23797
  // packages/experience-design-system-types/dist/src/index.js
25228
- var init_src5 = __esm({
23798
+ var init_src4 = __esm({
25229
23799
  "packages/experience-design-system-types/dist/src/index.js"() {
25230
23800
  "use strict";
25231
23801
  init_cdf2();
@@ -27373,7 +25943,7 @@ var init_FieldEditor = __esm({
27373
25943
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/components/FieldEditor.tsx"() {
27374
25944
  "use strict";
27375
25945
  init_theme();
27376
- init_src5();
25946
+ init_src4();
27377
25947
  init_useImmediateInput();
27378
25948
  init_scroll_offset();
27379
25949
  init_cycle_detection();
@@ -28288,7 +26858,7 @@ function finalizeReviewSession(extractSessionId, components) {
28288
26858
  var init_session3 = __esm({
28289
26859
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/session.ts"() {
28290
26860
  "use strict";
28291
- init_src4();
26861
+ init_src3();
28292
26862
  }
28293
26863
  });
28294
26864
 
@@ -28401,10 +26971,10 @@ var TimeoutError, DEFAULT_TIMEOUT_MS6;
28401
26971
  var init_run_live_preview = __esm({
28402
26972
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/run-live-preview.ts"() {
28403
26973
  "use strict";
28404
- init_src5();
28405
- init_src4();
28406
- init_src4();
28407
26974
  init_src4();
26975
+ init_src3();
26976
+ init_src3();
26977
+ init_src3();
28408
26978
  init_user_agent();
28409
26979
  TimeoutError = class extends Error {
28410
26980
  constructor(message = "live-preview timed out") {
@@ -28730,7 +27300,7 @@ function useReviewFinalize({
28730
27300
  var init_use_review_session = __esm({
28731
27301
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/use-review-session.ts"() {
28732
27302
  "use strict";
28733
- init_src4();
27303
+ init_src3();
28734
27304
  init_history();
28735
27305
  init_session3();
28736
27306
  init_use_finalize_preview();
@@ -28908,7 +27478,7 @@ function useReviewEditor({
28908
27478
  var init_use_review_editor = __esm({
28909
27479
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/use-review-editor.ts"() {
28910
27480
  "use strict";
28911
- init_src4();
27481
+ init_src3();
28912
27482
  init_token_suggestions();
28913
27483
  }
28914
27484
  });
@@ -29358,7 +27928,7 @@ var DEFAULT_DEBOUNCE_MS;
29358
27928
  var init_use_live_preview = __esm({
29359
27929
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/use-live-preview.ts"() {
29360
27930
  "use strict";
29361
- init_src4();
27931
+ init_src3();
29362
27932
  init_run_live_preview();
29363
27933
  DEFAULT_DEBOUNCE_MS = 500;
29364
27934
  }
@@ -30741,7 +29311,7 @@ var init_generate_review_step = __esm({
30741
29311
  init_issue_inheritance();
30742
29312
  init_removed_components_text();
30743
29313
  init_useImmediateInput();
30744
- init_src4();
29314
+ init_src3();
30745
29315
  init_cycle_detection();
30746
29316
  init_cycle_panel_scroll();
30747
29317
  init_fuzzy_search();
@@ -31698,7 +30268,7 @@ var init_WizardPreviewStep = __esm({
31698
30268
  init_theme();
31699
30269
  init_useImmediateInput();
31700
30270
  init_use_terminal_size();
31701
- init_src4();
30271
+ init_src3();
31702
30272
  init_preview_diff();
31703
30273
  init_StepHeader();
31704
30274
  init_SpaceEnvironment();
@@ -31864,7 +30434,7 @@ function FlowScreen({
31864
30434
  var init_screen10 = __esm({
31865
30435
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/screen.tsx"() {
31866
30436
  "use strict";
31867
- init_src5();
30437
+ init_src4();
31868
30438
  init_shared2();
31869
30439
  init_screen9();
31870
30440
  init_generate_review_step();
@@ -32053,8 +30623,8 @@ var realPreviewDeps;
32053
30623
  var init_preview2 = __esm({
32054
30624
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/preview.ts"() {
32055
30625
  "use strict";
30626
+ init_src3();
32056
30627
  init_src4();
32057
- init_src5();
32058
30628
  init_user_agent();
32059
30629
  init_wizard_state_transitions();
32060
30630
  realPreviewDeps = () => ({
@@ -32227,8 +30797,8 @@ var realPushDeps, zeroResult, componentsOf;
32227
30797
  var init_push = __esm({
32228
30798
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/push.ts"() {
32229
30799
  "use strict";
30800
+ init_src3();
32230
30801
  init_src4();
32231
- init_src5();
32232
30802
  init_user_agent();
32233
30803
  init_wizard_state_transitions();
32234
30804
  realPushDeps = (log) => ({
@@ -32349,8 +30919,8 @@ var SAVE_CONFIRMATION_DELAY_MS, realSaveDeps;
32349
30919
  var init_save = __esm({
32350
30920
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/save.ts"() {
32351
30921
  "use strict";
30922
+ init_src3();
32352
30923
  init_src4();
32353
- init_src5();
32354
30924
  init_run_print_files_helpers();
32355
30925
  SAVE_CONFIRMATION_DELAY_MS = 1e3;
32356
30926
  realSaveDeps = () => ({
@@ -32653,7 +31223,7 @@ var WIZARD_LOG;
32653
31223
  var init_controller = __esm({
32654
31224
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/controller.ts"() {
32655
31225
  "use strict";
32656
- init_src4();
31226
+ init_src3();
32657
31227
  init_slot_graph();
32658
31228
  init_cycle_detection();
32659
31229
  init_wizard_state_transitions();
@@ -33275,7 +31845,7 @@ var VERSION_TIMEOUT_MS, PROMPT_TIMEOUT_MS, TEST_PROMPT, INSTALL_HINTS, LOGIN_HIN
33275
31845
  var init_agent_status = __esm({
33276
31846
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/agent-status.ts"() {
33277
31847
  "use strict";
33278
- init_src4();
31848
+ init_src3();
33279
31849
  VERSION_TIMEOUT_MS = 5e3;
33280
31850
  PROMPT_TIMEOUT_MS = 6e4;
33281
31851
  TEST_PROMPT = "Reply with the single word: ok";
@@ -33577,7 +32147,7 @@ var fields, INSPECT_DELAY_MS;
33577
32147
  var init_AgentDetail = __esm({
33578
32148
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/AgentDetail.tsx"() {
33579
32149
  "use strict";
33580
- init_src4();
32150
+ init_src3();
33581
32151
  init_theme();
33582
32152
  init_FieldForm();
33583
32153
  init_agent_store();
@@ -33760,7 +32330,7 @@ var NAME_WIDTH, PANEL_LABEL_WIDTH;
33760
32330
  var init_AgentsScreen = __esm({
33761
32331
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/AgentsScreen.tsx"() {
33762
32332
  "use strict";
33763
- init_src4();
32333
+ init_src3();
33764
32334
  init_theme();
33765
32335
  init_control_hints();
33766
32336
  init_debug_store();
@@ -34506,7 +33076,7 @@ var init_app = __esm({
34506
33076
  });
34507
33077
 
34508
33078
  // packages/experience-design-system-cli/program.ts
34509
- init_src4();
33079
+ init_src3();
34510
33080
  import { readFileSync as readFileSync9 } from "node:fs";
34511
33081
  import { join as join28 } from "node:path";
34512
33082
  import { Command } from "commander";