ux4g-components-web 1.4.0 → 1.5.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.
Files changed (124) hide show
  1. package/README.md +76 -0
  2. package/dist/__tests__/css-bundle.integration.test.d.ts +11 -0
  3. package/dist/__tests__/css-bundle.integration.test.js +1102 -0
  4. package/dist/__tests__/css-bundle.phase10.property.test.d.ts +9 -0
  5. package/dist/__tests__/css-bundle.phase10.property.test.js +64 -0
  6. package/dist/__tests__/css-bundle.phase5.property.test.d.ts +9 -0
  7. package/dist/__tests__/css-bundle.phase5.property.test.js +126 -0
  8. package/dist/__tests__/css-bundle.phase6.property.test.d.ts +9 -0
  9. package/dist/__tests__/css-bundle.phase6.property.test.js +73 -0
  10. package/dist/__tests__/css-bundle.phase7.property.test.d.ts +9 -0
  11. package/dist/__tests__/css-bundle.phase7.property.test.js +76 -0
  12. package/dist/__tests__/css-bundle.phase8.property.test.d.ts +9 -0
  13. package/dist/__tests__/css-bundle.phase8.property.test.js +67 -0
  14. package/dist/__tests__/css-bundle.phase9.property.test.d.ts +9 -0
  15. package/dist/__tests__/css-bundle.phase9.property.test.js +93 -0
  16. package/dist/__tests__/css-bundle.property.test.d.ts +14 -0
  17. package/dist/__tests__/css-bundle.property.test.js +393 -0
  18. package/dist/__tests__/dom-generators.determinism.property.test.d.ts +1 -0
  19. package/dist/__tests__/dom-generators.determinism.property.test.js +71 -0
  20. package/dist/__tests__/dom-generators.id.property.test.d.ts +1 -0
  21. package/dist/__tests__/dom-generators.id.property.test.js +99 -0
  22. package/dist/__tests__/dom-generators.otp.property.test.d.ts +1 -0
  23. package/dist/__tests__/dom-generators.property.test.d.ts +1 -0
  24. package/dist/__tests__/dom-generators.property.test.js +205 -0
  25. package/dist/__tests__/dom-generators.states.property.test.d.ts +1 -0
  26. package/dist/__tests__/dom-generators.table.property.test.d.ts +1 -0
  27. package/dist/__tests__/dom-generators.tier1.property.test.d.ts +1 -0
  28. package/dist/__tests__/dom-generators.tier1.property.test.js +403 -0
  29. package/dist/__tests__/dom-generators.validation.property.test.d.ts +1 -0
  30. package/dist/__tests__/dom-generators.validation.property.test.js +327 -0
  31. package/dist/__tests__/megamenu.classbuilder.property.test.d.ts +1 -0
  32. package/dist/__tests__/megamenu.classbuilder.property.test.js +88 -0
  33. package/dist/__tests__/smoke.test.d.ts +1 -0
  34. package/dist/__tests__/smoke.test.js +65 -0
  35. package/dist/__tests__/types.phase10.property.test.d.ts +1 -0
  36. package/dist/__tests__/types.phase10.property.test.js +166 -0
  37. package/dist/__tests__/types.phase10.test.d.ts +1 -0
  38. package/dist/__tests__/types.phase10.test.js +76 -0
  39. package/dist/__tests__/types.phase3.property.test.d.ts +1 -0
  40. package/dist/__tests__/types.phase3.property.test.js +83 -0
  41. package/dist/__tests__/types.phase3.test.d.ts +1 -0
  42. package/dist/__tests__/types.phase3.test.js +76 -0
  43. package/dist/__tests__/types.phase4.property.test.d.ts +1 -0
  44. package/dist/__tests__/types.phase4.property.test.js +119 -0
  45. package/dist/__tests__/types.phase4.test.d.ts +1 -0
  46. package/dist/__tests__/types.phase4.test.js +70 -0
  47. package/dist/__tests__/types.phase5.property.test.d.ts +1 -0
  48. package/dist/__tests__/types.phase5.property.test.js +120 -0
  49. package/dist/__tests__/types.phase5.test.d.ts +1 -0
  50. package/dist/__tests__/types.phase5.test.js +64 -0
  51. package/dist/__tests__/types.phase6.property.test.d.ts +1 -0
  52. package/dist/__tests__/types.phase6.property.test.js +189 -0
  53. package/dist/__tests__/types.phase6.test.d.ts +1 -0
  54. package/dist/__tests__/types.phase6.test.js +121 -0
  55. package/dist/__tests__/types.phase7.property.test.d.ts +1 -0
  56. package/dist/__tests__/types.phase7.property.test.js +217 -0
  57. package/dist/__tests__/types.phase7.test.d.ts +1 -0
  58. package/dist/__tests__/types.phase7.test.js +106 -0
  59. package/dist/__tests__/types.phase8.property.test.d.ts +1 -0
  60. package/dist/__tests__/types.phase8.property.test.js +224 -0
  61. package/dist/__tests__/types.phase8.test.d.ts +1 -0
  62. package/dist/__tests__/types.phase8.test.js +114 -0
  63. package/dist/__tests__/types.phase9.property.test.d.ts +1 -0
  64. package/dist/__tests__/types.phase9.property.test.js +347 -0
  65. package/dist/__tests__/types.phase9.test.d.ts +1 -0
  66. package/dist/__tests__/types.phase9.test.js +226 -0
  67. package/dist/__tests__/types.restructure.property.test.d.ts +1 -0
  68. package/dist/__tests__/types.restructure.property.test.js +76 -0
  69. package/dist/__tests__/types.test.d.ts +1 -0
  70. package/dist/__tests__/types.test.js +175 -0
  71. package/dist/dom-generators/accordion.d.ts +23 -0
  72. package/dist/dom-generators/avatar.d.ts +19 -0
  73. package/dist/dom-generators/carousel.d.ts +20 -0
  74. package/dist/dom-generators/chip.d.ts +18 -0
  75. package/dist/dom-generators/combobox.d.ts +28 -0
  76. package/dist/dom-generators/date-picker.d.ts +19 -0
  77. package/dist/dom-generators/dom-generators/accordion.d.ts +21 -0
  78. package/dist/dom-generators/dom-generators/avatar.d.ts +17 -0
  79. package/dist/dom-generators/dom-generators/carousel.d.ts +19 -0
  80. package/dist/dom-generators/dom-generators/chip.d.ts +16 -0
  81. package/dist/dom-generators/dom-generators/combobox.d.ts +26 -0
  82. package/dist/dom-generators/dom-generators/date-picker.d.ts +18 -0
  83. package/dist/dom-generators/dom-generators/drawer.d.ts +17 -0
  84. package/dist/dom-generators/dom-generators/dropdown.d.ts +26 -0
  85. package/dist/dom-generators/dom-generators/file-upload.d.ts +20 -0
  86. package/dist/dom-generators/dom-generators/id-generator.d.ts +9 -0
  87. package/dist/dom-generators/dom-generators/index.d.ts +27 -0
  88. package/dist/dom-generators/dom-generators/modal.d.ts +19 -0
  89. package/dist/dom-generators/dom-generators/otp.d.ts +16 -0
  90. package/dist/dom-generators/dom-generators/popover.d.ts +17 -0
  91. package/dist/dom-generators/dom-generators/progress.d.ts +16 -0
  92. package/dist/dom-generators/dom-generators/search.d.ts +20 -0
  93. package/dist/dom-generators/dom-generators/stepper.d.ts +21 -0
  94. package/dist/dom-generators/dom-generators/table.d.ts +23 -0
  95. package/dist/dom-generators/dom-generators/tabs.d.ts +21 -0
  96. package/dist/dom-generators/dom-generators/time-picker.d.ts +18 -0
  97. package/dist/dom-generators/dom-generators/tooltip.d.ts +17 -0
  98. package/dist/dom-generators/dom-generators/types.d.ts +27 -0
  99. package/dist/dom-generators/dom-generators/validate.d.ts +20 -0
  100. package/dist/dom-generators/drawer.d.ts +19 -0
  101. package/dist/dom-generators/dropdown.d.ts +28 -0
  102. package/dist/dom-generators/file-upload.d.ts +22 -0
  103. package/dist/dom-generators/id-generator.d.ts +9 -0
  104. package/dist/dom-generators/index.bundled.d.ts +654 -0
  105. package/dist/dom-generators/index.cjs +2029 -0
  106. package/dist/dom-generators/index.d.ts +27 -0
  107. package/dist/dom-generators/index.mjs +2001 -0
  108. package/dist/dom-generators/modal.d.ts +21 -0
  109. package/dist/dom-generators/otp.d.ts +18 -0
  110. package/dist/dom-generators/popover.d.ts +19 -0
  111. package/dist/dom-generators/progress.d.ts +18 -0
  112. package/dist/dom-generators/search.d.ts +22 -0
  113. package/dist/dom-generators/stepper.d.ts +23 -0
  114. package/dist/dom-generators/table.d.ts +25 -0
  115. package/dist/dom-generators/tabs.d.ts +23 -0
  116. package/dist/dom-generators/time-picker.d.ts +19 -0
  117. package/dist/dom-generators/tooltip.d.ts +19 -0
  118. package/dist/dom-generators/types.d.ts +155 -0
  119. package/dist/dom-generators/validate.d.ts +20 -0
  120. package/dist/runtime/bootstrap.js +59 -0
  121. package/dist/runtime/index.js +55 -0
  122. package/dist/types.d.ts +155 -0
  123. package/dist/types.js +552 -0
  124. package/package.json +12 -2
package/README.md CHANGED
@@ -1071,6 +1071,82 @@ UX4G provides built-in focus ring styles for keyboard accessibility. Focus rings
1071
1071
 
1072
1072
  ---
1073
1073
 
1074
+ ## DOM Generators (Advanced)
1075
+
1076
+ The `./dom-generators` export provides framework-agnostic functions that produce complete UX4G-compliant DOM structure descriptors (`NodeDescriptor` trees). These are used internally by React and Angular Native Wrappers, but are also available for:
1077
+
1078
+ - **Framework authors** building wrappers for Vue, Svelte, Solid, or other frameworks
1079
+ - **Testing** — verify generated DOM structure without rendering in a browser
1080
+ - **Server-side rendering** — produce HTML from NodeDescriptor trees in Node.js
1081
+ - **Custom integrations** — any scenario where you need the complete UX4G markup structure as data
1082
+
1083
+ ### Import
1084
+
1085
+ ```ts
1086
+ import { generateDropdownDOM, generateAccordionDOM, generateTabsDOM } from 'ux4g-components-web/dom-generators';
1087
+ ```
1088
+
1089
+ ### Usage Example
1090
+
1091
+ ```ts
1092
+ import { generateDropdownDOM } from 'ux4g-components-web/dom-generators';
1093
+
1094
+ const descriptor = generateDropdownDOM({
1095
+ options: [
1096
+ { label: 'Option 1', value: '1' },
1097
+ { label: 'Option 2', value: '2' },
1098
+ { label: 'Option 3', value: '3', disabled: true },
1099
+ ],
1100
+ value: '1',
1101
+ placeholder: 'Select...',
1102
+ size: 'md',
1103
+ state: 'default',
1104
+ });
1105
+
1106
+ // descriptor is a NodeDescriptor tree:
1107
+ // { tag: 'div', props: { className: '...', ... }, children: [...] }
1108
+ ```
1109
+
1110
+ ### Available Generator Functions
1111
+
1112
+ | Function | Component |
1113
+ |---|---|
1114
+ | `generateDropdownDOM()` | Dropdown |
1115
+ | `generateAccordionDOM()` | Accordion |
1116
+ | `generateTabsDOM()` | Tabs |
1117
+ | `generateModalDOM()` | Modal |
1118
+ | `generateCarouselDOM()` | Carousel |
1119
+ | `generateDatePickerDOM()` | Date Picker |
1120
+ | `generateTimePickerDOM()` | Time Picker |
1121
+ | `generateDrawerDOM()` | Drawer |
1122
+ | `generateComboboxDOM()` | Combobox |
1123
+ | `generateSearchDOM()` | Search |
1124
+ | `generateOtpDOM()` | OTP Input |
1125
+ | `generateProgressDOM()` | Progress Indicator |
1126
+ | `generateFileUploadDOM()` | File Upload |
1127
+ | `generateTableDOM()` | Table |
1128
+ | `generateStepperDOM()` | Stepper |
1129
+ | `generatePopoverDOM()` | Popover |
1130
+ | `generateTooltipDOM()` | Tooltip |
1131
+ | `generateAvatarDOM()` | Avatar |
1132
+ | `generateChipDOM()` | Chip |
1133
+
1134
+ ### NodeDescriptor Type
1135
+
1136
+ ```ts
1137
+ interface NodeDescriptor {
1138
+ tag: string;
1139
+ props: Record<string, string | boolean | number | undefined>;
1140
+ children: (NodeDescriptor | string)[];
1141
+ }
1142
+ ```
1143
+
1144
+ Each function returns a `NodeDescriptor` tree that includes all CSS classes, `data-ux4g-*` attributes for Runtime JS compatibility, and ARIA attributes for accessibility. Convert the tree to actual DOM using your framework's element creation API (e.g., `React.createElement`, Angular `Renderer2`, or `document.createElement`).
1145
+
1146
+ > **Note:** DOM Generators are pure functions with no framework dependencies. They import Class Builder functions from `./types` internally. Invalid props throw a `DOMGeneratorValidationError` with a descriptive message.
1147
+
1148
+ ---
1149
+
1074
1150
  ## Related Packages
1075
1151
 
1076
1152
  - [`ux4g-components-react`](https://www.npmjs.com/package/ux4g-components-react) — React wrapper components
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Integration tests for CSS bundle
3
+ * Validates: Requirements 2.7, 2.9
4
+ *
5
+ * These tests verify that the built styles/ux4g.css contains the expected
6
+ * selectors for dark theme support and button disabled states.
7
+ *
8
+ * NOTE: The CSS bundle is currently built from placeholder files, so these
9
+ * tests will fail until real CSS is in place — that is expected.
10
+ */
11
+ export {};