xmlui 0.9.57 → 0.9.58

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 (118) hide show
  1. package/dist/lib/{apiInterceptorWorker-B1gPLO_w.mjs → apiInterceptorWorker-uyd3MlHU.mjs} +1 -1
  2. package/dist/lib/{index-CT_r2BBM.mjs → index-BqBDeBdn.mjs} +11430 -11136
  3. package/dist/lib/index.css +1 -1
  4. package/dist/lib/language-server-web-worker.mjs +1 -1
  5. package/dist/lib/language-server.mjs +1 -1
  6. package/dist/lib/{metadata-utils-4EQ6kQIM.mjs → metadata-utils-BXdiMJQN.mjs} +40 -31
  7. package/dist/lib/{server-common-C0cF2UTg.mjs → server-common-CN44QquQ.mjs} +1318 -739
  8. package/dist/lib/{transform-CgRMkbb0.mjs → transform-BboeJCuA.mjs} +798 -733
  9. package/dist/lib/xmlui-parser.d.ts +31 -6
  10. package/dist/lib/xmlui-parser.mjs +49 -42
  11. package/dist/lib/{xmlui-serializer-EDw51UFN.mjs → xmlui-serializer-D0p6Hyum.mjs} +1 -1
  12. package/dist/lib/xmlui.d.ts +5 -4
  13. package/dist/lib/xmlui.mjs +2 -2
  14. package/dist/metadata/{apiInterceptorWorker-aMnSPA-u.mjs → apiInterceptorWorker-B4dqtAX9.mjs} +1 -1
  15. package/dist/metadata/{collectedComponentMetadata-C0kcXW_l.mjs → collectedComponentMetadata-DFcuGgT_.mjs} +10731 -10349
  16. package/dist/metadata/style.css +1 -1
  17. package/dist/metadata/xmlui-metadata.mjs +1 -1
  18. package/dist/metadata/xmlui-metadata.umd.js +110 -110
  19. package/dist/scripts/package.json +5 -4
  20. package/dist/scripts/src/components/APICall/APICall.js +12 -11
  21. package/dist/scripts/src/components/Accordion/Accordion.js +1 -1
  22. package/dist/scripts/src/components/App/App.js +3 -3
  23. package/dist/scripts/src/components/AppHeader/AppHeader.js +3 -1
  24. package/dist/scripts/src/components/AppState/AppState.js +4 -2
  25. package/dist/scripts/src/components/AutoComplete/AutoComplete.js +4 -2
  26. package/dist/scripts/src/components/Avatar/Avatar.js +4 -1
  27. package/dist/scripts/src/components/Badge/Badge.js +3 -1
  28. package/dist/scripts/src/components/Button/Button.js +3 -1
  29. package/dist/scripts/src/components/Card/Card.js +5 -2
  30. package/dist/scripts/src/components/Card/CardNative.js +2 -1
  31. package/dist/scripts/src/components/ChangeListener/ChangeListener.js +4 -2
  32. package/dist/scripts/src/components/Charts/BarChart/BarChart.js +4 -2
  33. package/dist/scripts/src/components/Charts/DonutChart/DonutChart.js +6 -5
  34. package/dist/scripts/src/components/Charts/LabelList/LabelList.js +4 -1
  35. package/dist/scripts/src/components/Charts/Legend/Legend.js +4 -1
  36. package/dist/scripts/src/components/Charts/LineChart/LineChart.js +4 -1
  37. package/dist/scripts/src/components/Charts/PieChart/PieChart.js +13 -7
  38. package/dist/scripts/src/components/Charts/PieChart/PieChartNative.js +9 -4
  39. package/dist/scripts/src/components/Checkbox/Checkbox.js +3 -2
  40. package/dist/scripts/src/components/CodeBlock/CodeBlockNative.js +1 -1
  41. package/dist/scripts/src/components/ColorPicker/ColorPicker.js +1 -1
  42. package/dist/scripts/src/components/ColorPicker/ColorPickerNative.js +2 -2
  43. package/dist/scripts/src/components/Column/Column.js +14 -12
  44. package/dist/scripts/src/components/ComponentProvider.js +4 -0
  45. package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +4 -3
  46. package/dist/scripts/src/components/DatePicker/DatePicker.js +4 -1
  47. package/dist/scripts/src/components/DropdownMenu/DropdownMenu.js +18 -6
  48. package/dist/scripts/src/components/EmojiSelector/EmojiSelector.js +2 -2
  49. package/dist/scripts/src/components/ExpandableItem/ExpandableItem.js +6 -5
  50. package/dist/scripts/src/components/FileInput/FileInput.js +8 -3
  51. package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.js +2 -2
  52. package/dist/scripts/src/components/FlowLayout/FlowLayout.js +2 -2
  53. package/dist/scripts/src/components/FlowLayout/FlowLayoutNative.js +35 -6
  54. package/dist/scripts/src/components/Footer/Footer.js +4 -2
  55. package/dist/scripts/src/components/Form/Form.js +8 -2
  56. package/dist/scripts/src/components/Form/FormNative.js +12 -4
  57. package/dist/scripts/src/components/FormItem/FormItem.js +7 -8
  58. package/dist/scripts/src/components/FormSection/FormSection.js +2 -3
  59. package/dist/scripts/src/components/Heading/Heading.js +6 -3
  60. package/dist/scripts/src/components/HelloWorld/HelloWorld.js +103 -0
  61. package/dist/scripts/src/components/HelloWorld/HelloWorldNative.js +92 -0
  62. package/dist/scripts/src/components/Icon/Icon.js +3 -1
  63. package/dist/scripts/src/components/Image/Image.js +3 -2
  64. package/dist/scripts/src/components/Items/Items.js +7 -6
  65. package/dist/scripts/src/components/Link/Link.js +4 -2
  66. package/dist/scripts/src/components/Link/LinkNative.js +46 -1
  67. package/dist/scripts/src/components/List/List.js +9 -7
  68. package/dist/scripts/src/components/Logo/Logo.js +6 -4
  69. package/dist/scripts/src/components/Markdown/Markdown.js +6 -4
  70. package/dist/scripts/src/components/ModalDialog/ModalDialog.js +6 -7
  71. package/dist/scripts/src/components/NavGroup/NavGroup.js +4 -2
  72. package/dist/scripts/src/components/NavLink/NavLink.js +4 -2
  73. package/dist/scripts/src/components/NavPanel/NavPanel.js +5 -2
  74. package/dist/scripts/src/components/NestedApp/NestedApp.js +2 -2
  75. package/dist/scripts/src/components/NestedApp/NestedAppNative.js +3 -4
  76. package/dist/scripts/src/components/NoResult/NoResult.js +1 -2
  77. package/dist/scripts/src/components/NumberBox/NumberBox.js +4 -2
  78. package/dist/scripts/src/components/Option/Option.js +5 -3
  79. package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.js +2 -2
  80. package/dist/scripts/src/components/Pages/Pages.js +7 -5
  81. package/dist/scripts/src/components/ProgressBar/ProgressBar.js +4 -1
  82. package/dist/scripts/src/components/Queue/Queue.js +2 -2
  83. package/dist/scripts/src/components/RadioGroup/RadioGroup.js +4 -3
  84. package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapter.js +1 -1
  85. package/dist/scripts/src/components/Redirect/Redirect.js +3 -3
  86. package/dist/scripts/src/components/Select/Select.js +6 -3
  87. package/dist/scripts/src/components/Select/SelectNative.js +1 -1
  88. package/dist/scripts/src/components/Slider/Slider.js +4 -2
  89. package/dist/scripts/src/components/SpaceFiller/SpaceFiller.js +2 -2
  90. package/dist/scripts/src/components/Spinner/Spinner.js +2 -2
  91. package/dist/scripts/src/components/Splitter/Splitter.js +3 -2
  92. package/dist/scripts/src/components/Stack/Stack.js +4 -1
  93. package/dist/scripts/src/components/StickyBox/StickyBox.js +1 -2
  94. package/dist/scripts/src/components/StickyBox/StickyBoxNative.js +2 -0
  95. package/dist/scripts/src/components/Switch/Switch.js +1 -3
  96. package/dist/scripts/src/components/Table/Table.js +1 -2
  97. package/dist/scripts/src/components/TableOfContents/TableOfContents.js +2 -3
  98. package/dist/scripts/src/components/Tabs/TabItem.js +5 -2
  99. package/dist/scripts/src/components/Tabs/Tabs.js +9 -3
  100. package/dist/scripts/src/components/Text/Text.js +2 -2
  101. package/dist/scripts/src/components/TextArea/TextArea.js +1 -1
  102. package/dist/scripts/src/components/TextBox/TextBox.js +4 -3
  103. package/dist/scripts/src/components/Theme/NotificationToast.js +11 -0
  104. package/dist/scripts/src/components/Theme/Theme.js +2 -4
  105. package/dist/scripts/src/components/Theme/ThemeNative.js +4 -4
  106. package/dist/scripts/src/components/ToneChangerButton/ToneChangerButton.js +4 -4
  107. package/dist/scripts/src/components-core/Fragment.js +2 -1
  108. package/dist/scripts/src/components-core/RestApiProxy.js +10 -7
  109. package/dist/scripts/src/components-core/descriptorHelper.js +9 -0
  110. package/dist/scripts/src/components-core/rendering/AppContent.js +6 -2
  111. package/dist/scripts/src/components-core/theming/layout-resolver.js +18 -0
  112. package/dist/scripts/src/parsers/xmlui-parser/parser.js +42 -39
  113. package/dist/scripts/src/parsers/xmlui-parser/syntax-node.js +65 -0
  114. package/dist/scripts/src/parsers/xmlui-parser/transform.js +10 -8
  115. package/dist/scripts/src/parsers/xmlui-parser/utils.js +1 -2
  116. package/dist/standalone/xmlui-standalone.es.d.ts +5 -4
  117. package/dist/standalone/xmlui-standalone.umd.js +221 -221
  118. package/package.json +5 -4
@@ -33,7 +33,52 @@ exports.LinkNative = (0, react_1.forwardRef)(function LinkNative(props, forwarde
33
33
  return (0, component_utils_1.createUrlWithQueryParams)(to);
34
34
  }, [to]);
35
35
  const Node = !to ? "div" : react_2.Link;
36
- return ((0, jsx_runtime_1.jsxs)(Node, Object.assign({ ref: forwardedRef, to: smartTo, style: style, target: target, onClick: onClick, className: (0, classnames_1.default)(Link_module_scss_1.default.container, {
36
+ // For hash links, we'll use a regular anchor tag to avoid React Router interference
37
+ const isHashLink = typeof to === 'string' && to.startsWith('#');
38
+ const FinalNode = isHashLink ? "a" : Node;
39
+ // Handle hash navigation for same-page scrolling
40
+ const handleClick = (0, react_1.useCallback)((event) => {
41
+ const toUrl = typeof to === 'string' ? to : to === null || to === void 0 ? void 0 : to.pathname;
42
+ // Check if this is a hash link (starts with #)
43
+ if (toUrl && toUrl.startsWith('#')) {
44
+ const targetId = toUrl.substring(1);
45
+ const currentHash = window.location.hash;
46
+ // Always prevent default for hash links and handle manually
47
+ event.preventDefault();
48
+ const targetElement = document.getElementById(targetId);
49
+ if (targetElement) {
50
+ targetElement.scrollIntoView();
51
+ // Build the new URL with existing hash route + fragment
52
+ const currentUrl = window.location.href;
53
+ const baseUrl = currentUrl.split('#')[0]; // Get everything before the first #
54
+ const existingHash = window.location.hash; // Current hash (e.g., #/about)
55
+ let newUrl;
56
+ if (existingHash && existingHash !== toUrl) {
57
+ // If there's an existing hash route, append the fragment to it
58
+ if (existingHash.includes('/#')) {
59
+ // Remove any existing fragment and add the new one
60
+ const hashRoute = existingHash.split('/#')[0];
61
+ newUrl = `${baseUrl}${hashRoute}/${toUrl}`;
62
+ }
63
+ else {
64
+ // Just append the fragment to the existing hash
65
+ newUrl = `${baseUrl}${existingHash}/${toUrl}`;
66
+ }
67
+ }
68
+ else {
69
+ // No existing hash or same fragment, just use the fragment
70
+ newUrl = `${baseUrl}${toUrl}`;
71
+ }
72
+ window.history.pushState(null, '', newUrl);
73
+ }
74
+ // Call the original onClick if provided
75
+ onClick === null || onClick === void 0 ? void 0 : onClick();
76
+ return;
77
+ }
78
+ // For all other cases, call the original onClick
79
+ onClick === null || onClick === void 0 ? void 0 : onClick();
80
+ }, [to, onClick]);
81
+ return ((0, jsx_runtime_1.jsxs)(FinalNode, Object.assign({ ref: forwardedRef, to: isHashLink ? undefined : smartTo, href: isHashLink ? to : undefined, style: style, target: target, onClick: handleClick, className: (0, classnames_1.default)(Link_module_scss_1.default.container, {
37
82
  [Link_module_scss_1.default.iconLink]: iconLink,
38
83
  [Link_module_scss_1.default.active]: active,
39
84
  [Link_module_scss_1.default.disabled]: disabled,
@@ -16,9 +16,10 @@ const ListNative_1 = require("./ListNative");
16
16
  const COMP = "List";
17
17
  exports.ListMd = (0, ComponentDefs_1.createMetadata)({
18
18
  status: "stable",
19
- description: `The \`${COMP}\` component is a robust layout container that renders associated data items ` +
20
- `as a list of components. \`${COMP}\` is virtualized; it renders only items that are visible ` +
21
- `in the viewport.`,
19
+ description: "`List` is a high-performance, virtualized container for rendering large " +
20
+ "datasets with built-in grouping, sorting, and visual formatting. It only " +
21
+ "renders visible items in the viewport, making it ideal for displaying " +
22
+ "thousands of records while maintaining smooth scrolling performance.",
22
23
  props: {
23
24
  data: (0, ComponentDefs_1.d)(`The component receives data via this property. The \`data\` property is a list of items ` +
24
25
  `that the \`List\` can display.`),
@@ -80,10 +81,11 @@ exports.ListMd = (0, ComponentDefs_1.createMetadata)({
80
81
  scrollToId: (0, ComponentDefs_1.d)("This method scrolls the list to a specific item. The method accepts an item ID as a parameter."),
81
82
  },
82
83
  contextVars: {
83
- $item: (0, ComponentDefs_1.d)(`This property represents the value of an item in the data list.`),
84
- $itemIndex: (0, metadata_helpers_1.dComponent)("This integer value represents the current row index (zero-based) while rendering children."),
85
- $isFirst: (0, metadata_helpers_1.dComponent)("This boolean value indicates if the component renders its first item."),
86
- $isLast: (0, metadata_helpers_1.dComponent)("This boolean value indicates if the component renders its last item."),
84
+ $item: (0, ComponentDefs_1.d)("Current data item being rendered"),
85
+ $itemIndex: (0, metadata_helpers_1.dComponent)("Zero-based index of current item"),
86
+ $isFirst: (0, metadata_helpers_1.dComponent)("Boolean indicating if this is the first item"),
87
+ $isLast: (0, metadata_helpers_1.dComponent)("Boolean indicating if this is the last item"),
88
+ $group: (0, metadata_helpers_1.dComponent)("Group information when using `groupBy` (available in group templates)"),
87
89
  },
88
90
  themeVars: (0, themeVars_1.parseScssVar)(List_module_scss_1.default.themeVars),
89
91
  });
@@ -8,15 +8,17 @@ const LogoNative_1 = require("./LogoNative");
8
8
  const COMP = "Logo";
9
9
  exports.LogoMd = (0, ComponentDefs_1.createMetadata)({
10
10
  status: "stable",
11
- description: `The \`${COMP}\` component represents a logo or a brand symbol. Usually, you use ` +
12
- `this component in the [\`AppHeader\`](./AppHeader.mdx#logotemplate).`,
11
+ description: "`Logo` displays your application's brand symbol by automatically loading logo " +
12
+ "images defined in the app manifest. While logos are typically configured " +
13
+ "using App-level properties (`logo`, `logo-dark`), this component provides " +
14
+ "direct control when you need custom logo placement or templating.",
13
15
  props: {
14
16
  alt: {
15
17
  description: "Alternative text for the logo image for accessibility.",
16
18
  type: "string",
17
19
  defaultValue: LogoNative_1.defaultProps.alt,
18
- }
19
- }
20
+ },
21
+ },
20
22
  });
21
23
  exports.logoComponentRenderer = (0, renderers_1.createComponentRenderer)(COMP, exports.LogoMd, ({ node, layoutCss, extractValue }) => {
22
24
  return (0, jsx_runtime_1.jsx)(LogoNative_1.Logo, { style: layoutCss });
@@ -15,7 +15,9 @@ const parse_binding_expr_1 = require("./parse-binding-expr");
15
15
  const utils_1 = require("./utils");
16
16
  const COMP = "Markdown";
17
17
  exports.MarkdownMd = (0, ComponentDefs_1.createMetadata)({
18
- description: `\`${COMP}\` displays plain text styled using markdown syntax.`,
18
+ description: "`Markdown` renders formatted text using markdown syntax. Use " +
19
+ "[Text](/working-with-text) for simple, styled text content, and `Markdown` " +
20
+ "when you need [rich formatting](/working-with-markdown).",
19
21
  themeVars: (0, themeVars_1.parseScssVar)(Markdown_module_scss_1.default.themeVars),
20
22
  props: {
21
23
  content: (0, ComponentDefs_1.d)("This property sets the markdown content to display. Alternatively, you can nest " +
@@ -48,7 +50,7 @@ exports.MarkdownMd = (0, ComponentDefs_1.createMetadata)({
48
50
  "backgroundColor-Admonition-danger": "$color-danger-100",
49
51
  "borderColor-Admonition-danger": "$color-danger-300",
50
52
  "borderRadius-Admonition": "$space-2",
51
- "iconSize-Admonition": "$space-5",
53
+ "size-icon-Admonition": "$space-5",
52
54
  "paddingLeft-Admonition": "$space-2",
53
55
  "paddingRight-Admonition": "$space-6",
54
56
  "paddingTop-Admonition": "$space-3",
@@ -62,8 +64,8 @@ exports.MarkdownMd = (0, ComponentDefs_1.createMetadata)({
62
64
  "paddingTop-Blockquote": "$space-3",
63
65
  "paddingBottom-Blockquote": "$space-2_5",
64
66
  "backgroundColor-Blockquote": "$color-surface-100",
65
- "accentWidth-Blockquote": "3px",
66
- "accentColor-Blockquote": "$color-surface-500",
67
+ "width-accent-Blockquote": "3px",
68
+ "color-accent-Blockquote": "$color-surface-500",
67
69
  "marginTop-HtmlLi": "$space-2_5",
68
70
  "marginBottom-HtmlLi": "$space-2_5",
69
71
  "marginTop-Image-markdown": "$space-4",
@@ -14,8 +14,10 @@ const container_helpers_1 = require("../container-helpers");
14
14
  const ModalDialogNative_1 = require("./ModalDialogNative");
15
15
  const COMP = "ModalDialog";
16
16
  exports.ModalDialogMd = (0, ComponentDefs_1.createMetadata)({
17
- description: `The \`${COMP}\` component defines a modal dialog UI element that can be displayed over ` +
18
- `the existing UI - triggered by some action.`,
17
+ description: "`ModalDialog` creates overlay dialogs that appear on top of the main interface, " +
18
+ "ideal for forms, confirmations, detailed views, or any content that requires " +
19
+ "focused user attention. Dialogs are programmatically opened using the `open()` " +
20
+ "method and can receive parameters for dynamic content.",
19
21
  props: {
20
22
  fullScreen: {
21
23
  description: `Toggles whether the dialog encompasses the whole UI (\`true\`) or not and has a minimum ` +
@@ -44,11 +46,8 @@ exports.ModalDialogMd = (0, ComponentDefs_1.createMetadata)({
44
46
  "with the \`$paramq` and \`$params\` context values."),
45
47
  },
46
48
  contextVars: {
47
- $param: (0, ComponentDefs_1.d)("This value represents the first parameters passed to the \`open()\` method to " +
48
- "display the modal dialog."),
49
- $params: (0, ComponentDefs_1.d)("This value represents the array of parameters passed to the \`open()\` method. " +
50
- "You can use \`$params[0]\` to access the first and \`$params[1]\` to access the " +
51
- "second (and so on) parameters. \`$param\` is the same as \`$params[0]\`."),
49
+ $param: (0, ComponentDefs_1.d)("First parameter passed to the `open()` method"),
50
+ $params: (0, ComponentDefs_1.d)("Array of all parameters passed to `open()` method (access with `$params[0]`, `$params[1]`, etc.)"),
52
51
  },
53
52
  themeVars: (0, themeVars_1.parseScssVar)(ModalDialog_module_scss_1.default.themeVars),
54
53
  defaultThemeVars: Object.assign(Object.assign({}, (0, base_utils_1.paddingSubject)(COMP, { all: "$space-7" })), { [`backgroundColor-${COMP}`]: "$backgroundColor-primary", [`backgroundColor-overlay-${COMP}`]: "$backgroundColor-overlay", [`textColor-${COMP}`]: "$textColor-primary", [`borderRadius-${COMP}`]: "$borderRadius", [`fontFamily-${COMP}`]: "$fontFamily", [`maxWidth-${COMP}`]: "450px", [`marginBottom-title-${COMP}`]: "0" }),
@@ -15,8 +15,10 @@ const metadata_helpers_1 = require("../metadata-helpers");
15
15
  const NavGroupNative_1 = require("./NavGroupNative");
16
16
  const COMP = "NavGroup";
17
17
  exports.NavGroupMd = (0, ComponentDefs_1.createMetadata)({
18
- description: `The \`${COMP}\` component is a container for grouping related navigation targets ` +
19
- `(\`NavLink\` components). It can be displayed as a submenu in the App's UI.`,
18
+ description: "`NavGroup` creates collapsible containers for organizing related navigation " +
19
+ "items into hierarchical menu structures. It groups `NavLink` components and " +
20
+ "other `NavGroup` components, providing expandable submenus with customizable " +
21
+ "icons and states.",
20
22
  props: {
21
23
  label: (0, metadata_helpers_1.dLabel)(),
22
24
  initiallyExpanded: (0, ComponentDefs_1.d)("This property defines whether the group is initially expanded or collapsed. If not " +
@@ -15,8 +15,10 @@ const NavLinkNative_1 = require("./NavLinkNative");
15
15
  const abstractions_1 = require("../abstractions");
16
16
  const COMP = "NavLink";
17
17
  exports.NavLinkMd = (0, ComponentDefs_1.createMetadata)({
18
- description: `The \`${COMP}\` component defines a navigation target (app navigation menu item) within ` +
19
- `the app; it is associated with a particular in-app navigation target (or an external link).`,
18
+ description: "`NavLink` creates interactive navigation items that connect users to different " +
19
+ "destinations within an app or external URLs. It automatically indicates active " +
20
+ "states, supports custom icons and labels, and can execute custom actions instead " +
21
+ "of navigation when needed.",
20
22
  props: {
21
23
  to: (0, ComponentDefs_1.d)(`This property defines the URL of the link.`),
22
24
  enabled: (0, metadata_helpers_1.dEnabled)(),
@@ -13,7 +13,10 @@ const metadata_helpers_1 = require("../metadata-helpers");
13
13
  const NavPanelNative_1 = require("./NavPanelNative");
14
14
  const COMP = "NavPanel";
15
15
  exports.NavPanelMd = (0, ComponentDefs_1.createMetadata)({
16
- description: `\`${COMP}\` is a placeholder within \`App\` to define the app's navigation (menu) structure.`,
16
+ description: "`NavPanel` defines the navigation structure within an App, serving as a container " +
17
+ "for NavLink and NavGroup components that create your application's primary " +
18
+ "navigation menu. Its appearance and behavior automatically adapt based on the " +
19
+ "App's layout configuration.",
17
20
  props: {
18
21
  logoTemplate: (0, metadata_helpers_1.dComponent)(`This property defines the logo template to display in the navigation panel with the ` +
19
22
  `\`vertical\` and \`vertical-sticky\` layout.`),
@@ -29,7 +32,7 @@ exports.NavPanelMd = (0, ComponentDefs_1.createMetadata)({
29
32
  [`horizontalAlignment-logo-${COMP}`]: "center",
30
33
  [`backgroundColor-${COMP}`]: "$backgroundColor",
31
34
  [`backgroundColor-${COMP}-horizontal`]: "$backgroundColor-AppHeader",
32
- [`border-${COMP}`]: '0px solid $borderColor',
35
+ [`border-${COMP}`]: "0px solid $borderColor",
33
36
  [`paddingHorizontal-${COMP}`]: "0",
34
37
  [`paddingVertical-logo-${COMP}`]: "$space-4",
35
38
  [`paddingHorizontal-logo-${COMP}`]: "$space-4",
@@ -68,7 +68,7 @@ exports.NestedAppMd = (0, ComponentDefs_1.createMetadata)({
68
68
  [`boxShadow-${COMP}`]: "$boxShadow-md",
69
69
  },
70
70
  });
71
- exports.nestedAppComponentRenderer = (0, renderers_1.createComponentRenderer)(COMP, exports.NestedAppMd, ({ node, extractValue }) => {
71
+ exports.nestedAppComponentRenderer = (0, renderers_1.createComponentRenderer)(COMP, exports.NestedAppMd, ({ node, extractValue, layoutCss }) => {
72
72
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
73
- return ((0, jsx_runtime_1.jsx)(NestedAppNative_1.IndexAwareNestedApp, { app: (_a = node.props) === null || _a === void 0 ? void 0 : _a.app, api: extractValue((_b = node.props) === null || _b === void 0 ? void 0 : _b.api), components: extractValue((_c = node.props) === null || _c === void 0 ? void 0 : _c.components), config: extractValue((_d = node.props) === null || _d === void 0 ? void 0 : _d.config), activeTheme: extractValue((_e = node.props) === null || _e === void 0 ? void 0 : _e.activeTheme), activeTone: extractValue((_f = node.props) === null || _f === void 0 ? void 0 : _f.activeTone), title: extractValue((_g = node.props) === null || _g === void 0 ? void 0 : _g.title), height: extractValue((_h = node.props) === null || _h === void 0 ? void 0 : _h.height), allowPlaygroundPopup: extractValue.asOptionalBoolean((_j = node.props) === null || _j === void 0 ? void 0 : _j.allowPlaygroundPopup), withFrame: extractValue.asOptionalBoolean((_k = node.props) === null || _k === void 0 ? void 0 : _k.withFrame) }));
73
+ return ((0, jsx_runtime_1.jsx)(NestedAppNative_1.IndexAwareNestedApp, { app: (_a = node.props) === null || _a === void 0 ? void 0 : _a.app, style: layoutCss, api: extractValue((_b = node.props) === null || _b === void 0 ? void 0 : _b.api), components: extractValue((_c = node.props) === null || _c === void 0 ? void 0 : _c.components), config: extractValue((_d = node.props) === null || _d === void 0 ? void 0 : _d.config), activeTheme: extractValue((_e = node.props) === null || _e === void 0 ? void 0 : _e.activeTheme), activeTone: extractValue((_f = node.props) === null || _f === void 0 ? void 0 : _f.activeTone), title: extractValue((_g = node.props) === null || _g === void 0 ? void 0 : _g.title), height: extractValue((_h = node.props) === null || _h === void 0 ? void 0 : _h.height), allowPlaygroundPopup: extractValue.asOptionalBoolean((_j = node.props) === null || _j === void 0 ? void 0 : _j.allowPlaygroundPopup), withFrame: extractValue.asOptionalBoolean((_k = node.props) === null || _k === void 0 ? void 0 : _k.withFrame) }));
74
74
  });
@@ -53,7 +53,7 @@ function IndexAwareNestedApp(props) {
53
53
  }
54
54
  return (0, jsx_runtime_1.jsx)(LazyNestedApp, Object.assign({}, props));
55
55
  }
56
- function NestedApp({ api, app, components = constants_1.EMPTY_ARRAY, config, activeTheme, activeTone, title, height, allowPlaygroundPopup = defaultProps_1.defaultProps.allowPlaygroundPopup, withFrame = defaultProps_1.defaultProps.withFrame, }) {
56
+ function NestedApp({ api, app, components = constants_1.EMPTY_ARRAY, config, activeTheme, activeTone, title, height, allowPlaygroundPopup = defaultProps_1.defaultProps.allowPlaygroundPopup, withFrame = defaultProps_1.defaultProps.withFrame, style }) {
57
57
  const rootRef = (0, react_1.useRef)(null);
58
58
  const shadowRef = (0, react_1.useRef)(null);
59
59
  const contentRootRef = (0, react_1.useRef)(null);
@@ -85,7 +85,6 @@ function NestedApp({ api, app, components = constants_1.EMPTY_ARRAY, config, act
85
85
  }
86
86
  return Object.assign(Object.assign({}, apiObject), { type: "in-memory" });
87
87
  }, [api]);
88
- //console.log("mock", mock);
89
88
  const useHashBasedRouting = (appGlobals === null || appGlobals === void 0 ? void 0 : appGlobals.useHashBasedRouting) || true;
90
89
  const openPlayground = (0, react_1.useCallback)(() => __awaiter(this, void 0, void 0, function* () {
91
90
  const data = {
@@ -149,13 +148,13 @@ function NestedApp({ api, app, components = constants_1.EMPTY_ARRAY, config, act
149
148
  Object.keys(theme.themeStyles).forEach((key) => {
150
149
  themeVarReset[key] = "initial";
151
150
  });
152
- let nestedAppRoot = ((0, jsx_runtime_1.jsx)(ApiInterceptorProvider_1.ApiInterceptorProvider, { interceptor: mock, apiWorker: interceptorWorker, children: (0, jsx_runtime_1.jsx)("div", { style: Object.assign({ height }, themeVarReset), children: (0, jsx_runtime_1.jsx)(AppRoot_1.AppRoot, { previewMode: true, standalone: true, trackContainerHeight: height ? "fixed" : "auto", node: component, globalProps: globalProps, defaultTheme: activeTheme || (config === null || config === void 0 ? void 0 : config.defaultTheme), defaultTone: toneToApply, contributes: {
151
+ let nestedAppRoot = ((0, jsx_runtime_1.jsx)(ApiInterceptorProvider_1.ApiInterceptorProvider, { interceptor: mock, apiWorker: interceptorWorker, children: (0, jsx_runtime_1.jsx)("div", { style: Object.assign(Object.assign({ height }, style), themeVarReset), children: (0, jsx_runtime_1.jsx)(AppRoot_1.AppRoot, { previewMode: true, standalone: true, trackContainerHeight: height ? "fixed" : "auto", node: component, globalProps: globalProps, defaultTheme: activeTheme || (config === null || config === void 0 ? void 0 : config.defaultTheme), defaultTone: toneToApply, contributes: {
153
152
  compoundComponents,
154
153
  themes: config === null || config === void 0 ? void 0 : config.themes,
155
154
  }, resources: config === null || config === void 0 ? void 0 : config.resources, extensionManager: componentRegistry.getExtensionManager() }, `app-${nestedAppId}-${refreshVersion}`) }) }));
156
155
  (_a = contentRootRef.current) === null || _a === void 0 ? void 0 : _a.render((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { node: component, children: withFrame ? ((0, jsx_runtime_1.jsxs)("div", { className: NestedApp_module_scss_1.default.nestedAppContainer, children: [(0, jsx_runtime_1.jsxs)("div", { className: NestedApp_module_scss_1.default.header, children: [(0, jsx_runtime_1.jsx)("span", { className: NestedApp_module_scss_1.default.headerText, children: title }), (0, jsx_runtime_1.jsx)("div", { className: NestedApp_module_scss_1.default.spacer }), allowPlaygroundPopup && ((0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { trigger: (0, jsx_runtime_1.jsx)("button", { className: NestedApp_module_scss_1.default.headerButton, onClick: () => {
157
156
  openPlayground();
158
- }, children: (0, jsx_runtime_1.jsx)(rx_1.RxOpenInNewWindow, {}) }), label: "Edit code in new window" })), (0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { trigger: (0, jsx_runtime_1.jsx)("button", { className: NestedApp_module_scss_1.default.headerButton, onClick: () => {
157
+ }, children: (0, jsx_runtime_1.jsx)(rx_1.RxOpenInNewWindow, {}) }), label: "View and edit in new full-width window" })), (0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { trigger: (0, jsx_runtime_1.jsx)("button", { className: NestedApp_module_scss_1.default.headerButton, onClick: () => {
159
158
  setRefreshVersion(refreshVersion + 1);
160
159
  }, children: (0, jsx_runtime_1.jsx)(lia_1.LiaUndoAltSolid, {}) }), label: "Reset the app" })] }), nestedAppRoot] })) : (nestedAppRoot) }));
161
160
  }, [
@@ -13,8 +13,7 @@ const metadata_helpers_1 = require("../metadata-helpers");
13
13
  const NoResultNative_1 = require("./NoResultNative");
14
14
  const COMP = "NoResult";
15
15
  exports.NoResultMd = (0, ComponentDefs_1.createMetadata)({
16
- description: `\`${COMP}\` is a component that displays a visual indication that some data query (search) ` +
17
- `resulted in no (zero) items.`,
16
+ description: "`NoResult` displays a visual indication that a query or search returned nothing.",
18
17
  props: {
19
18
  label: (0, metadata_helpers_1.dLabel)(),
20
19
  icon: {
@@ -14,8 +14,10 @@ const NumberBoxNative_1 = require("./NumberBoxNative");
14
14
  const COMP = "NumberBox";
15
15
  exports.NumberBoxMd = (0, ComponentDefs_1.createMetadata)({
16
16
  status: "stable",
17
- description: `A \`${COMP}\` component allows users to input numeric values: either integer or floating ` +
18
- `point numbers. It also accepts empty values, where the stored value will be of type \`null\`.`,
17
+ description: "`NumberBox` provides a specialized input field for numeric values with built-in " +
18
+ "validation, spinner buttons, and flexible formatting options. It supports both " +
19
+ "integer and floating-point numbers, handles empty states as null values, and " +
20
+ "integrates seamlessly with form validation.",
19
21
  props: {
20
22
  placeholder: (0, metadata_helpers_1.dPlaceholder)(),
21
23
  initialValue: (0, metadata_helpers_1.dInitialValue)(),
@@ -8,9 +8,11 @@ const container_helpers_1 = require("../container-helpers");
8
8
  const OptionNative_1 = require("./OptionNative");
9
9
  const COMP = "Option";
10
10
  exports.OptionMd = (0, ComponentDefs_1.createMetadata)({
11
- description: `\`${COMP}\` is a non-visual component describing a selection option. Other components ` +
12
- `(such as \`Select\`, \`AutoComplete\`, and others) may use nested \`Option\` instances ` +
13
- `from which the user can select.`,
11
+ description: "`Option` defines selectable items for choice-based components, providing both " +
12
+ "the underlying value and display text for selection interfaces. It serves as " +
13
+ "a non-visual data structure that describes individual choices within " +
14
+ "[Select](/components/Select), [AutoComplete](/components/AutoComplete), " +
15
+ "and other selection components.",
14
16
  props: {
15
17
  label: (0, ComponentDefs_1.d)(`This property defines the text to display for the option. If \`label\` is not defined, ` +
16
18
  `\`Option\` will use the \`value\` as the label.`),
@@ -7,8 +7,8 @@ const renderers_1 = require("../../components-core/renderers");
7
7
  const PageMetaTilteNative_1 = require("./PageMetaTilteNative");
8
8
  const COMP = "PageMetaTitle";
9
9
  exports.PageMetaTitleMd = (0, ComponentDefs_1.createMetadata)({
10
- description: `A PageMetaTitle component allows setting up (or changing) the app title to display with the ` +
11
- `current browser tab.`,
10
+ description: "`PageMetaTitle` dynamically sets or updates the browser tab title, enabling " +
11
+ "pages and components to override the default application name with context-specific titles.",
12
12
  props: {
13
13
  value: {
14
14
  description: `This property sets the page's title to display in the browser tab.`,
@@ -10,9 +10,11 @@ const PagesNative_1 = require("./PagesNative");
10
10
  const PAGE = "Page";
11
11
  exports.PageMd = (0, ComponentDefs_1.createMetadata)({
12
12
  status: "stable",
13
- docFolder: PAGE,
14
- description: `The \`${PAGE}\` component defines what content is displayed when the user navigates ` +
15
- `to a particular URL that is associated with the page.`,
13
+ docFolder: "Pages",
14
+ description: "`Page` defines route endpoints within an application, mapping specific URL " +
15
+ "patterns to content that displays when users navigate to those routes. Each " +
16
+ "Page represents a distinct view or screen in your single-page application's " +
17
+ "routing system.",
16
18
  props: {
17
19
  //TODO illesg rename to path
18
20
  url: (0, ComponentDefs_1.d)(`The URL of the route associated with the content. If not set, the page is not available.`),
@@ -25,8 +27,8 @@ exports.pageRenderer = (0, renderers_1.createComponentRenderer)(PAGE, exports.Pa
25
27
  });
26
28
  const COMP = "Pages";
27
29
  exports.PagesMd = (0, ComponentDefs_1.createMetadata)({
28
- description: `The \`${COMP}\` component is used as a container for [\`Page\`](/components/Page) components ` +
29
- `within an [\`App\`](/components/App).`,
30
+ description: "`Pages` serves as the routing coordinator within an [App](/components/App), " +
31
+ "managing which [Page](/components/Page) displays based on the current URL.",
30
32
  props: {
31
33
  defaultRoute: {
32
34
  description: `The default route when displaying the app`,
@@ -12,7 +12,10 @@ const themeVars_1 = require("../../components-core/theming/themeVars");
12
12
  const ProgressBarNative_1 = require("./ProgressBarNative");
13
13
  const COMP = "ProgressBar";
14
14
  exports.ProgressBarMd = (0, ComponentDefs_1.createMetadata)({
15
- description: `A \`${COMP}\` component visually represents the progress of a task or process.`,
15
+ description: "`ProgressBar` provides a visual indicator showing the completion percentage " +
16
+ "of tasks, processes, or any measurable progress. It displays as a horizontal " +
17
+ "bar that fills from left to right based on the provided value between 0 " +
18
+ "(empty) and 1 (complete).",
16
19
  props: {
17
20
  value: {
18
21
  description: `This property defines the progress value with a number between 0 and 1.`,
@@ -8,8 +8,8 @@ const container_helpers_1 = require("../container-helpers");
8
8
  const QueueNative_1 = require("./QueueNative");
9
9
  const COMP = "Queue";
10
10
  exports.QueueMd = (0, ComponentDefs_1.createMetadata)({
11
- description: `The \`Queue\` component provides an API to enqueue elements and defines events to process ` +
12
- `queued elements in a FIFO order.`,
11
+ description: "`Queue` manages sequential processing of items in FIFO (first-in, first-out) " +
12
+ "order. It is a non-visual component but provides UI progress reporting and result display.",
13
13
  props: {
14
14
  progressFeedback: (0, ComponentDefs_1.d)("This property defines the component template of the UI that displays " +
15
15
  "progress information whenever, the queue's \`progressReport\` function " +
@@ -14,9 +14,10 @@ const RadioGroupNative_1 = require("./RadioGroupNative");
14
14
  const COMP = "RadioGroup";
15
15
  const RGOption = `RadioGroupOption`;
16
16
  exports.RadioGroupMd = (0, ComponentDefs_1.createMetadata)({
17
- description: `The \`${COMP}\` input component is a group of radio buttons ` +
18
- `([\`RadioGroupOption\`](./RadioGroupOption.mdx) components) that allow users to select ` +
19
- `only one option from the group at a time.`,
17
+ description: "`RadioGroup` creates a mutually exclusive selection interface where users can " +
18
+ "choose only one option from a group of radio buttons. It manages the selection " +
19
+ "state and ensures that selecting one option automatically deselects all others in " +
20
+ "the group.",
20
21
  props: {
21
22
  initialValue: Object.assign(Object.assign({}, (0, metadata_helpers_1.dInitialValue)()), { defaultValue: RadioGroupNative_1.defaultProps.initialValue }),
22
23
  autoFocus: (0, metadata_helpers_1.dAutoFocus)(),
@@ -8,7 +8,7 @@ const RealTimeAdapterNative_1 = require("./RealTimeAdapterNative");
8
8
  const COMP = "RealTimeAdapter";
9
9
  exports.RealTimeAdapterMd = (0, ComponentDefs_1.createMetadata)({
10
10
  status: "experimental",
11
- description: `\`${COMP}\` is a non-visual component that listens to real-time events through long-polling.`,
11
+ description: "`RealTimeAdapter` is a non-visual component that listens to real-time events.",
12
12
  props: {
13
13
  url: {
14
14
  description: `This property specifies the URL to use for long-polling.`,
@@ -11,9 +11,9 @@ exports.defaultProps = {
11
11
  to: "",
12
12
  };
13
13
  exports.RedirectMd = (0, ComponentDefs_1.createMetadata)({
14
- description: `\`${COMP}\` is a component that immediately redirects the browser to the URL in its ` +
15
- `\`to\` property when it gets visible (its \`when\` property gets \`true\`). The ` +
16
- `redirection works only within the app.`,
14
+ description: "`Redirect` immediately redirects the browser to the URL in its `to` property when " +
15
+ "it gets visible (its `when` property gets `true`). It works only within " +
16
+ "[App](/components/App), not externally.",
17
17
  props: {
18
18
  to: {
19
19
  description: `This property defines the URL to which this component is about to redirect requests.`,
@@ -15,7 +15,10 @@ const SelectNative_1 = require("./SelectNative");
15
15
  const react_select_1 = require("@radix-ui/react-select");
16
16
  const COMP = "Select";
17
17
  exports.SelectMd = (0, ComponentDefs_1.createMetadata)({
18
- description: "Provides a dropdown with a list of options to choose from.",
18
+ description: "`Select` provides a dropdown interface for choosing from a list of options, " +
19
+ "supporting both single and multiple selection modes. It offers extensive " +
20
+ "customization capabilities including search functionality, custom templates, " +
21
+ "and comprehensive form integration.",
19
22
  status: "stable",
20
23
  props: {
21
24
  placeholder: Object.assign(Object.assign({}, (0, metadata_helpers_1.dPlaceholder)()), { defaultValue: SelectNative_1.defaultProps.placeholder }),
@@ -62,8 +65,8 @@ exports.SelectMd = (0, ComponentDefs_1.createMetadata)({
62
65
  reset: (0, ComponentDefs_1.d)(`This method resets the component to its initial value, or clears the selection if no initial value was provided.`),
63
66
  },
64
67
  contextVars: {
65
- $item: (0, ComponentDefs_1.d)(`This property represents the value of an item in the dropdown list.`),
66
- $itemContext: (0, ComponentDefs_1.d)(`This property provides a \`removeItem\` method to delete the particular value from the selection.`),
68
+ $item: (0, ComponentDefs_1.d)("Represents the current option's data (label and value properties)"),
69
+ $itemContext: (0, ComponentDefs_1.d)("Provides utility methods like `removeItem()` for multi-select scenarios"),
67
70
  },
68
71
  themeVars: (0, themeVars_1.parseScssVar)(Select_module_scss_1.default.themeVars),
69
72
  defaultThemeVars: {
@@ -212,7 +212,7 @@ exports.Select = (0, react_1.forwardRef)(function Select({ id, initialValue, val
212
212
  }, children: [searchable ? ((0, jsx_runtime_1.jsxs)("div", { className: Select_module_scss_1.default.commandInputContainer, children: [(0, jsx_runtime_1.jsx)(IconNative_1.default, { name: "search" }), (0, jsx_runtime_1.jsx)(cmdk_1.CommandInput, { className: (0, classnames_1.default)(Select_module_scss_1.default.commandInput), placeholder: "Search..." })] })) : (
213
213
  // https://github.com/pacocoursey/cmdk/issues/322#issuecomment-2444703817
214
214
  (0, jsx_runtime_1.jsx)("button", { autoFocus: true, "aria-hidden": "true", className: Select_module_scss_1.default.srOnly })), (0, jsx_runtime_1.jsxs)(cmdk_1.CommandList, { className: Select_module_scss_1.default.commandList, children: [inProgress && ((0, jsx_runtime_1.jsx)("div", { className: Select_module_scss_1.default.loading, children: inProgressNotificationMessage })), Array.from(options).map(({ value, label, enabled, keywords }) => ((0, jsx_runtime_1.jsx)(exports.ComboboxOption, { readOnly: readOnly, value: value, label: label, enabled: enabled, keywords: keywords }, value))), !inProgress && (0, jsx_runtime_1.jsx)(cmdk_1.CommandEmpty, { children: emptyListNode })] })] }) }) }) }))] })) : ((0, jsx_runtime_1.jsx)(SimpleSelect, { readOnly: !!readOnly, ref: ref, value: value, options: options, onValueChange: toggleOption, id: inputId, style: style, onFocus: onFocus, onBlur: onBlur, enabled: enabled, validationStatus: validationStatus, triggerRef: setReferenceElement, autoFocus: autoFocus, placeholder: placeholder, height: dropdownHeight, children: options.size > 0
215
- ? Array.from(options).map((option) => ((0, jsx_runtime_1.jsx)(SelectOption, { value: option.value, label: option.label, enabled: option.enabled }, option.value)))
215
+ ? Array.from(options).map((option, idx) => ((0, jsx_runtime_1.jsx)(SelectOption, { value: option.value, label: option.label, enabled: option.enabled }, `${option.value}-${idx}`)))
216
216
  : emptyListNode })) }), children] }) }) }));
217
217
  });
218
218
  exports.ComboboxOption = (0, react_1.forwardRef)(function Combobox(option, forwardedRef) {
@@ -14,8 +14,10 @@ const SliderNative_1 = require("./SliderNative");
14
14
  const COMP = "Slider";
15
15
  exports.SliderMd = (0, ComponentDefs_1.createMetadata)({
16
16
  status: "stable",
17
- description: `The \`${COMP}\` component allows you to select a numeric value ` +
18
- `between a range specified by minimum and maximum values.`,
17
+ description: "`Slider` provides an interactive control for selecting numeric values within " +
18
+ "a defined range, supporting both single value selection and range selection with " +
19
+ "multiple thumbs. It offers precise control through customizable steps and visual " +
20
+ "feedback with formatted value display.",
19
21
  props: {
20
22
  initialValue: (0, metadata_helpers_1.dInitialValue)(),
21
23
  label: (0, metadata_helpers_1.dLabel)(),
@@ -12,8 +12,8 @@ const themeVars_1 = require("../../components-core/theming/themeVars");
12
12
  const SpaceFillerNative_1 = require("./SpaceFillerNative");
13
13
  const COMP = "SpaceFiller";
14
14
  exports.SpaceFillerMd = (0, ComponentDefs_1.createMetadata)({
15
- description: `The \`${COMP}\` is a component that works well in layout containers to fill the ` +
16
- `remaining (unused) space. Its behavior depends on the layout container in which it is used.`,
15
+ description: "`SpaceFiller` works well in layout containers to fill remaining (unused) " +
16
+ "space. Its behavior depends on the layout container in which it is used.",
17
17
  themeVars: (0, themeVars_1.parseScssVar)(SpaceFiller_module_scss_1.default.themeVars),
18
18
  });
19
19
  exports.spaceFillerComponentRenderer = (0, renderers_1.createComponentRenderer)(COMP, exports.SpaceFillerMd, () => ((0, jsx_runtime_1.jsx)(SpaceFillerNative_1.SpaceFiller, {})));
@@ -12,8 +12,8 @@ const themeVars_1 = require("../../components-core/theming/themeVars");
12
12
  const SpinnerNative_1 = require("./SpinnerNative");
13
13
  const COMP = "Spinner";
14
14
  exports.SpinnerMd = (0, ComponentDefs_1.createMetadata)({
15
- description: `The \`${COMP}\` component is an animated indicator that represents a particular action ` +
16
- `in progress without a deterministic progress value.`,
15
+ description: "`Spinner` is an animated indicator that represents an action in progress " +
16
+ "with no deterministic progress value.",
17
17
  props: {
18
18
  delay: {
19
19
  description: `The delay in milliseconds before the spinner is displayed.`,
@@ -15,8 +15,9 @@ const metadata_helpers_1 = require("../metadata-helpers");
15
15
  const SplitterNative_1 = require("./SplitterNative");
16
16
  const COMP = "Splitter";
17
17
  const baseSplitterMd = (0, ComponentDefs_1.createMetadata)({
18
- description: `The \`${COMP}\` component divides a container (such as a window, panel, pane, etc.) ` +
19
- `into two resizable sections.`,
18
+ description: "`Splitter` component divides a container into two resizable sections. These " +
19
+ "are are identified by their names: primary and secondary. They have a " +
20
+ "draggable bar between them.",
20
21
  props: {
21
22
  swapped: {
22
23
  description: `This optional booelan property indicates whether the \`${COMP}\` sections are layed out as ` +
@@ -28,7 +28,10 @@ const VERTICAL_ALIGNMENT = {
28
28
  defaultValue: "start",
29
29
  };
30
30
  const stackMd = (0, ComponentDefs_1.createMetadata)({
31
- description: `\`Stack\` is a layout container displaying children in a horizontal or vertical stack.`,
31
+ description: "`Stack` is the fundamental layout container that organizes child elements in " +
32
+ "configurable horizontal or vertical arrangements. As the most versatile building " +
33
+ "block in XMLUI's layout system, it provides comprehensive alignment, spacing, " +
34
+ "and flow control options that serve as the foundation for all specialized stack variants.",
32
35
  props: {
33
36
  gap: {
34
37
  description: "Optional size value indicating the gap between child elements.",
@@ -13,8 +13,7 @@ const StickyBoxNative_1 = require("./StickyBoxNative");
13
13
  const COMP = "StickyBox";
14
14
  exports.StickyBoxMd = (0, ComponentDefs_1.createMetadata)({
15
15
  status: "stable",
16
- description: `The \`${COMP}\` is a component that "sticks" or remains fixed at the top or bottom ` +
17
- `position on the screen as the user scrolls.`,
16
+ description: "`StickyBox` remains fixed at the top or bottom of the screen as the user scrolls.",
18
17
  props: {
19
18
  to: {
20
19
  description: "This property determines whether the StickyBox should be anchored to " +
@@ -11,6 +11,8 @@ const classnames_1 = __importDefault(require("classnames"));
11
11
  const react_sticky_el_1 = require("react-sticky-el");
12
12
  const StickyBox_module_scss_1 = __importDefault(require("./StickyBox.module.scss"));
13
13
  const hooks_1 = require("../../components-core/utils/hooks");
14
+ // --- NOTE: React.StrictMode produces error logs using this component. Deployed apps are okay.
15
+ // See here: https://github.com/gm0t/react-sticky-el/issues/82
14
16
  // =====================================================================================================================
15
17
  // React StickyBox component implementation
16
18
  exports.defaultProps = {
@@ -13,9 +13,7 @@ const metadata_helpers_1 = require("../metadata-helpers");
13
13
  const Toggle_1 = require("../Toggle/Toggle");
14
14
  const COMP = "Switch";
15
15
  exports.SwitchMd = (0, ComponentDefs_1.createMetadata)({
16
- description: `The \`${COMP}\` component is a user interface element that allows users to toggle between two states: ` +
17
- `on and off. It consists of a small rectangular or circular button that can be moved left or right to ` +
18
- `change its state.`,
16
+ description: "`Switch` enables users to toggle between two states: on and off.",
19
17
  props: {
20
18
  indeterminate: (0, metadata_helpers_1.dIndeterminate)(Toggle_1.defaultProps.indeterminate),
21
19
  label: (0, metadata_helpers_1.dLabel)(),
@@ -19,8 +19,7 @@ const SelectionStoreNative_1 = require("../SelectionStore/SelectionStoreNative")
19
19
  const TableNative_1 = require("./TableNative");
20
20
  const COMP = "Table";
21
21
  exports.TableMd = (0, ComponentDefs_1.createMetadata)({
22
- description: `\`${COMP}\` is a component that displays cells organized into rows and columns. The \`${COMP}\` ` +
23
- `component is virtualized so it only renders visible cells.`,
22
+ description: "`Table` presents structured data for viewing, sorting, selection, and interaction.",
24
23
  props: {
25
24
  items: (0, metadata_helpers_1.dInternal)(`You can use \`items\` as an alias for the \`data\` property. ` +
26
25
  `When you bind the table to a data source (e.g. an API endpoint), ` +
@@ -15,9 +15,8 @@ const COMP = "TableOfContents";
15
15
  const COMP_CHILD = "TableOfContentsItem";
16
16
  exports.TableOfContentsMd = (0, ComponentDefs_1.createMetadata)({
17
17
  status: "experimental",
18
- description: `The \`${COMP}\` component collects headings and bookmarks within the current page ` +
19
- `and displays them in a tree representing their hierarchy. When you select an item ` +
20
- `in this tree, the component navigates the page to the selected position.`,
18
+ description: "`TableOfContents` component collects [Heading](/components/Heading) and " +
19
+ "[Bookmark](/components/Bookmark) within the current page and displays them in a navigable tree.",
21
20
  props: {
22
21
  smoothScrolling: {
23
22
  description: `This property indicates that smooth scrolling is used while scrolling the selected table ` +