xmlui 0.9.60 → 0.9.62

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 (184) hide show
  1. package/dist/lib/{apiInterceptorWorker-CNiXy9XE.mjs → apiInterceptorWorker-BXyXjzpe.mjs} +1 -1
  2. package/dist/lib/{index-B1V2vJWh.mjs → index-BRbUXnCk.mjs} +13541 -12973
  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-DJM8orNd.mjs} +40 -31
  7. package/dist/lib/{server-common-SNl_47nE.mjs → server-common-D0VA8gIv.mjs} +1450 -858
  8. package/dist/lib/{transform-CgRMkbb0.mjs → transform-BdB0APqE.mjs} +1543 -1384
  9. package/dist/lib/xmlui-parser.d.ts +76 -253
  10. package/dist/lib/xmlui-parser.mjs +49 -42
  11. package/dist/lib/{xmlui-serializer-EDw51UFN.mjs → xmlui-serializer-COAfRndx.mjs} +1 -1
  12. package/dist/lib/xmlui.d.ts +88 -670
  13. package/dist/lib/xmlui.mjs +2 -2
  14. package/dist/metadata/{apiInterceptorWorker-DsjW46f_.mjs → apiInterceptorWorker-8ismUE1H.mjs} +1 -1
  15. package/dist/metadata/{collectedComponentMetadata-CBiI_eDf.mjs → collectedComponentMetadata-xeEJhtEt.mjs} +13617 -12870
  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 +116 -116
  19. package/dist/scripts/package.json +5 -5
  20. package/dist/scripts/src/abstractions/ComponentDefs.js +0 -8
  21. package/dist/scripts/src/abstractions/ThemingDefs.js +0 -9
  22. package/dist/scripts/src/components/APICall/APICall.js +30 -18
  23. package/dist/scripts/src/components/Accordion/Accordion.js +5 -4
  24. package/dist/scripts/src/components/Accordion/AccordionItem.js +10 -4
  25. package/dist/scripts/src/components/App/App.js +9 -4
  26. package/dist/scripts/src/components/App/AppNative.js +11 -1
  27. package/dist/scripts/src/components/AppHeader/AppHeader.js +1 -2
  28. package/dist/scripts/src/components/AppState/AppState.js +3 -3
  29. package/dist/scripts/src/components/AutoComplete/AutoComplete.js +6 -7
  30. package/dist/scripts/src/components/Avatar/Avatar.js +3 -3
  31. package/dist/scripts/src/components/Backdrop/Backdrop.js +1 -2
  32. package/dist/scripts/src/components/Badge/Badge.js +1 -2
  33. package/dist/scripts/src/components/Bookmark/Bookmark.js +2 -2
  34. package/dist/scripts/src/components/Breakout/Breakout.js +2 -2
  35. package/dist/scripts/src/components/Button/Button.js +1 -2
  36. package/dist/scripts/src/components/Card/Card.js +2 -3
  37. package/dist/scripts/src/components/Card/CardNative.js +2 -1
  38. package/dist/scripts/src/components/Carousel/Carousel.js +6 -7
  39. package/dist/scripts/src/components/Carousel/CarouselItem.js +2 -2
  40. package/dist/scripts/src/components/ChangeListener/ChangeListener.js +1 -2
  41. package/dist/scripts/src/components/Charts/BarChart/BarChart.js +2 -2
  42. package/dist/scripts/src/components/Charts/DonutChart/DonutChart.js +8 -7
  43. package/dist/scripts/src/components/Charts/LabelList/LabelList.js +2 -2
  44. package/dist/scripts/src/components/Charts/Legend/Legend.js +2 -2
  45. package/dist/scripts/src/components/Charts/LineChart/LineChart.js +6 -6
  46. package/dist/scripts/src/components/Charts/PieChart/PieChart.js +14 -10
  47. package/dist/scripts/src/components/Charts/PieChart/PieChartNative.js +9 -4
  48. package/dist/scripts/src/components/Checkbox/Checkbox.js +1 -2
  49. package/dist/scripts/src/components/CodeBlock/CodeBlock.js +6 -3
  50. package/dist/scripts/src/components/CodeBlock/CodeBlockNative.js +1 -1
  51. package/dist/scripts/src/components/ColorPicker/ColorPicker.js +1 -2
  52. package/dist/scripts/src/components/ColorPicker/ColorPickerNative.js +2 -2
  53. package/dist/scripts/src/components/Column/Column.js +2 -2
  54. package/dist/scripts/src/components/ComponentProvider.js +4 -0
  55. package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +2 -2
  56. package/dist/scripts/src/components/DatePicker/DatePicker.js +2 -3
  57. package/dist/scripts/src/components/DropdownMenu/DropdownMenu.js +6 -7
  58. package/dist/scripts/src/components/EmojiSelector/EmojiSelector.js +2 -3
  59. package/dist/scripts/src/components/ExpandableItem/ExpandableItem.js +9 -10
  60. package/dist/scripts/src/components/FileInput/FileInput.js +14 -15
  61. package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.js +4 -4
  62. package/dist/scripts/src/components/FlowLayout/FlowLayout.js +2 -2
  63. package/dist/scripts/src/components/FlowLayout/FlowLayoutNative.js +35 -6
  64. package/dist/scripts/src/components/Footer/Footer.js +4 -3
  65. package/dist/scripts/src/components/Form/Form.js +12 -9
  66. package/dist/scripts/src/components/Form/FormNative.js +12 -4
  67. package/dist/scripts/src/components/FormItem/FormItem.js +7 -8
  68. package/dist/scripts/src/components/FormItem/ItemWithLabel.js +1 -1
  69. package/dist/scripts/src/components/FormSection/FormSection.js +2 -2
  70. package/dist/scripts/src/components/Heading/Heading.js +11 -11
  71. package/dist/scripts/src/components/HelloWorld/HelloWorld.js +102 -0
  72. package/dist/scripts/src/components/HelloWorld/HelloWorldNative.js +92 -0
  73. package/dist/scripts/src/components/HoverCard/HoverCard.js +1 -2
  74. package/dist/scripts/src/components/HtmlTags/HtmlTags.js +297 -297
  75. package/dist/scripts/src/components/Icon/Icon.js +5 -5
  76. package/dist/scripts/src/components/Image/Image.js +4 -5
  77. package/dist/scripts/src/components/InspectButton/InspectButton.js +2 -2
  78. package/dist/scripts/src/components/Items/Items.js +2 -3
  79. package/dist/scripts/src/components/Link/Link.js +3 -4
  80. package/dist/scripts/src/components/Link/LinkNative.js +46 -1
  81. package/dist/scripts/src/components/List/List.js +15 -16
  82. package/dist/scripts/src/components/Logo/Logo.js +2 -2
  83. package/dist/scripts/src/components/Markdown/Markdown.js +6 -6
  84. package/dist/scripts/src/components/Markdown/MarkdownNative.js +2 -4
  85. package/dist/scripts/src/components/Markdown/parse-binding-expr.js +1 -1
  86. package/dist/scripts/src/components/Markdown/utils.js +32 -13
  87. package/dist/scripts/src/components/ModalDialog/ModalDialog.js +9 -9
  88. package/dist/scripts/src/components/NavGroup/NavGroup.js +2 -3
  89. package/dist/scripts/src/components/NavGroup/NavGroupContext.js +1 -0
  90. package/dist/scripts/src/components/NavGroup/NavGroupNative.js +6 -2
  91. package/dist/scripts/src/components/NavLink/NavLink.js +3 -4
  92. package/dist/scripts/src/components/NavLink/NavLinkNative.js +10 -9
  93. package/dist/scripts/src/components/NavPanel/NavPanel.js +4 -4
  94. package/dist/scripts/src/components/NavPanel/NavPanelNative.js +132 -3
  95. package/dist/scripts/src/components/NestedApp/AppWithCodeView.js +24 -5
  96. package/dist/scripts/src/components/NestedApp/AppWithCodeViewNative.js +64 -7
  97. package/dist/scripts/src/components/NestedApp/NestedApp.js +19 -9
  98. package/dist/scripts/src/components/NestedApp/NestedAppNative.js +11 -7
  99. package/dist/scripts/src/components/NoResult/NoResult.js +1 -2
  100. package/dist/scripts/src/components/NumberBox/NumberBox.js +5 -6
  101. package/dist/scripts/src/components/NumberBox/NumberBox2.js +5 -6
  102. package/dist/scripts/src/components/Option/Option.js +5 -5
  103. package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.js +2 -2
  104. package/dist/scripts/src/components/Pages/Pages.js +7 -8
  105. package/dist/scripts/src/components/Pages/PagesNative.js +8 -3
  106. package/dist/scripts/src/components/PositionedContainer/PositionedContainer.js +3 -3
  107. package/dist/scripts/src/components/ProgressBar/ProgressBar.js +2 -2
  108. package/dist/scripts/src/components/Queue/Queue.js +16 -16
  109. package/dist/scripts/src/components/RadioGroup/RadioGroup.js +13 -13
  110. package/dist/scripts/src/components/RadioGroup/RadioGroupNative.js +13 -28
  111. package/dist/scripts/src/components/RadioGroup/RadioItem.js +2 -2
  112. package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapter.js +3 -3
  113. package/dist/scripts/src/components/Redirect/Redirect.js +2 -2
  114. package/dist/scripts/src/components/Select/Select.js +8 -8
  115. package/dist/scripts/src/components/Select/SelectNative.js +1 -1
  116. package/dist/scripts/src/components/SelectionStore/SelectionStore.js +2 -2
  117. package/dist/scripts/src/components/Slider/Slider.js +4 -5
  118. package/dist/scripts/src/components/SpaceFiller/SpaceFiller.js +2 -2
  119. package/dist/scripts/src/components/Spinner/Spinner.js +2 -2
  120. package/dist/scripts/src/components/Splitter/Splitter.js +2 -3
  121. package/dist/scripts/src/components/Stack/Stack.js +1 -2
  122. package/dist/scripts/src/components/StickyBox/StickyBox.js +2 -2
  123. package/dist/scripts/src/components/StickyBox/StickyBoxNative.js +2 -0
  124. package/dist/scripts/src/components/Switch/Switch.js +7 -4
  125. package/dist/scripts/src/components/Table/Table.js +19 -20
  126. package/dist/scripts/src/components/Table/TableNative.js +6 -2
  127. package/dist/scripts/src/components/Table/useRowSelection.js +6 -2
  128. package/dist/scripts/src/components/TableOfContents/TableOfContents.js +2 -2
  129. package/dist/scripts/src/components/Tabs/TabItem.js +1 -2
  130. package/dist/scripts/src/components/Tabs/Tabs.js +9 -6
  131. package/dist/scripts/src/components/Text/Text.js +6 -6
  132. package/dist/scripts/src/components/TextArea/TextArea.js +4 -5
  133. package/dist/scripts/src/components/TextBox/TextBox.js +4 -5
  134. package/dist/scripts/src/components/Theme/NotificationToast.js +11 -0
  135. package/dist/scripts/src/components/Theme/Theme.js +4 -4
  136. package/dist/scripts/src/components/Theme/ThemeNative.js +4 -4
  137. package/dist/scripts/src/components/ToneChangerButton/ToneChangerButton.js +2 -2
  138. package/dist/scripts/src/components/Tree/TreeComponent.js +1 -2
  139. package/dist/scripts/src/components/TreeDisplay/TreeDisplay.js +4 -2
  140. package/dist/scripts/src/components/metadata-helpers.js +8 -0
  141. package/dist/scripts/src/components-core/Fragment.js +7 -4
  142. package/dist/scripts/src/components-core/LoaderComponent.js +1 -1
  143. package/dist/scripts/src/components-core/RestApiProxy.js +11 -8
  144. package/dist/scripts/src/components-core/Slot.js +3 -3
  145. package/dist/scripts/src/components-core/appContext/date-functions.js +1 -0
  146. package/dist/scripts/src/components-core/descriptorHelper.js +9 -0
  147. package/dist/scripts/src/components-core/interception/ApiInterceptorProvider.js +2 -2
  148. package/dist/scripts/src/components-core/loader/ApiLoader.js +4 -4
  149. package/dist/scripts/src/components-core/loader/DataLoader.js +20 -20
  150. package/dist/scripts/src/components-core/loader/ExternalDataLoader.js +6 -6
  151. package/dist/scripts/src/components-core/loader/MockLoaderRenderer.js +4 -4
  152. package/dist/scripts/src/components-core/rendering/AppContent.js +8 -4
  153. package/dist/scripts/src/components-core/rendering/AppRoot.js +4 -2
  154. package/dist/scripts/src/components-core/rendering/ComponentAdapter.js +1 -1
  155. package/dist/scripts/src/components-core/rendering/Container.js +2 -2
  156. package/dist/scripts/src/components-core/rendering/StateContainer.js +8 -2
  157. package/dist/scripts/src/components-core/rendering/reducer.js +1 -1
  158. package/dist/scripts/src/components-core/script-runner/ScriptingSourceTree.js +45 -0
  159. package/dist/scripts/src/components-core/script-runner/eval-tree-async.js +1 -1
  160. package/dist/scripts/src/components-core/script-runner/eval-tree-common.js +1 -1
  161. package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +1 -1
  162. package/dist/scripts/src/components-core/script-runner/process-statement-async.js +1 -1
  163. package/dist/scripts/src/components-core/script-runner/process-statement-common.js +1 -1
  164. package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +1 -1
  165. package/dist/scripts/src/components-core/script-runner/visitors.js +1 -1
  166. package/dist/scripts/src/components-core/theming/ThemeProvider.js +2 -2
  167. package/dist/scripts/src/components-core/theming/layout-resolver.js +18 -0
  168. package/dist/scripts/src/components-core/theming/themes/root.js +3 -0
  169. package/dist/scripts/src/components-core/theming/utils.js +31 -0
  170. package/dist/scripts/src/components-core/utils/date-utils.js +60 -0
  171. package/dist/scripts/src/components-core/utils/statementUtils.js +1 -1
  172. package/dist/scripts/src/parsers/scripting/Parser.js +1 -1
  173. package/dist/scripts/src/parsers/scripting/code-behind-collect.js +1 -1
  174. package/dist/scripts/src/parsers/scripting/modules.js +1 -1
  175. package/dist/scripts/src/parsers/scripting/tree-visitor.js +1 -1
  176. package/dist/scripts/src/parsers/xmlui-parser/parser.js +42 -39
  177. package/dist/scripts/src/parsers/xmlui-parser/syntax-node.js +65 -0
  178. package/dist/scripts/src/parsers/xmlui-parser/transform.js +10 -8
  179. package/dist/scripts/src/parsers/xmlui-parser/utils.js +1 -2
  180. package/dist/standalone/xmlui-standalone.es.d.ts +88 -670
  181. package/dist/standalone/xmlui-standalone.umd.js +257 -257
  182. package/package.json +5 -5
  183. /package/dist/scripts/src/components-core/{abstractions → rendering}/containers.js +0 -0
  184. /package/dist/scripts/src/{abstractions/scripting/ScriptingSourceTree.js → parsers/scripting/ScriptingNodeTypes.js} +0 -0
@@ -6,13 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.sliderComponentRenderer = exports.SliderMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const Slider_module_scss_1 = __importDefault(require("./Slider.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const renderers_1 = require("../../components-core/renderers");
11
10
  const themeVars_1 = require("../../components-core/theming/themeVars");
12
11
  const metadata_helpers_1 = require("../metadata-helpers");
13
12
  const SliderNative_1 = require("./SliderNative");
14
13
  const COMP = "Slider";
15
- exports.SliderMd = (0, ComponentDefs_1.createMetadata)({
14
+ exports.SliderMd = (0, metadata_helpers_1.createMetadata)({
16
15
  status: "stable",
17
16
  description: "`Slider` provides an interactive control for selecting numeric values within " +
18
17
  "a defined range, supporting both single value selection and range selection with " +
@@ -38,14 +37,14 @@ exports.SliderMd = (0, ComponentDefs_1.createMetadata)({
38
37
  description: `This property defines the increment value for the slider, determining the allowed intervals between selectable values.`,
39
38
  defaultValue: SliderNative_1.defaultProps.step,
40
39
  },
41
- minStepsBetweenThumbs: (0, ComponentDefs_1.d)(`This property sets the minimum number of steps required between multiple thumbs on the slider, ensuring they maintain a specified distance.`, undefined, "number", SliderNative_1.defaultProps.minStepsBetweenThumbs),
40
+ minStepsBetweenThumbs: (0, metadata_helpers_1.d)(`This property sets the minimum number of steps required between multiple thumbs on the slider, ensuring they maintain a specified distance.`, undefined, "number", SliderNative_1.defaultProps.minStepsBetweenThumbs),
42
41
  enabled: (0, metadata_helpers_1.dEnabled)(),
43
42
  autoFocus: (0, metadata_helpers_1.dAutoFocus)(),
44
43
  required: (0, metadata_helpers_1.dRequired)(),
45
44
  readOnly: (0, metadata_helpers_1.dReadonly)(),
46
45
  validationStatus: Object.assign(Object.assign({}, (0, metadata_helpers_1.dValidationStatus)()), { defaultValue: SliderNative_1.defaultProps.validationStatus }),
47
- rangeStyle: (0, ComponentDefs_1.d)(`This optional property allows you to apply custom styles to the range element of the slider.`),
48
- thumbStyle: (0, ComponentDefs_1.d)(`This optional property allows you to apply custom styles to the thumb elements of the slider.`),
46
+ rangeStyle: (0, metadata_helpers_1.d)(`This optional property allows you to apply custom styles to the range element of the slider.`),
47
+ thumbStyle: (0, metadata_helpers_1.d)(`This optional property allows you to apply custom styles to the thumb elements of the slider.`),
49
48
  showValues: {
50
49
  description: `This property controls whether the slider shows the current values of the thumbs.`,
51
50
  valueType: "boolean",
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.spaceFillerComponentRenderer = exports.SpaceFillerMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const SpaceFiller_module_scss_1 = __importDefault(require("./SpaceFiller.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const renderers_1 = require("../../components-core/renderers");
11
10
  const themeVars_1 = require("../../components-core/theming/themeVars");
12
11
  const SpaceFillerNative_1 = require("./SpaceFillerNative");
12
+ const metadata_helpers_1 = require("../metadata-helpers");
13
13
  const COMP = "SpaceFiller";
14
- exports.SpaceFillerMd = (0, ComponentDefs_1.createMetadata)({
14
+ exports.SpaceFillerMd = (0, metadata_helpers_1.createMetadata)({
15
15
  description: "`SpaceFiller` works well in layout containers to fill remaining (unused) " +
16
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),
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.spinnerComponentRenderer = exports.SpinnerMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const Spinner_module_scss_1 = __importDefault(require("./Spinner.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const renderers_1 = require("../../components-core/renderers");
11
10
  const themeVars_1 = require("../../components-core/theming/themeVars");
12
11
  const SpinnerNative_1 = require("./SpinnerNative");
12
+ const metadata_helpers_1 = require("../metadata-helpers");
13
13
  const COMP = "Spinner";
14
- exports.SpinnerMd = (0, ComponentDefs_1.createMetadata)({
14
+ exports.SpinnerMd = (0, metadata_helpers_1.createMetadata)({
15
15
  description: "`Spinner` is an animated indicator that represents an action in progress " +
16
16
  "with no deterministic progress value.",
17
17
  props: {
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.hSplitterComponentRenderer = exports.vSplitterComponentRenderer = exports.splitterComponentRenderer = exports.VSplitterMd = exports.HSplitterMd = exports.SplitterMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const Splitter_module_scss_1 = __importDefault(require("./Splitter.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const renderers_1 = require("../../components-core/renderers");
11
10
  const misc_1 = require("../../components-core/utils/misc");
12
11
  const EngineError_1 = require("../../components-core/EngineError");
@@ -14,7 +13,7 @@ const themeVars_1 = require("../../components-core/theming/themeVars");
14
13
  const metadata_helpers_1 = require("../metadata-helpers");
15
14
  const SplitterNative_1 = require("./SplitterNative");
16
15
  const COMP = "Splitter";
17
- const baseSplitterMd = (0, ComponentDefs_1.createMetadata)({
16
+ const baseSplitterMd = (0, metadata_helpers_1.createMetadata)({
18
17
  description: "`Splitter` component divides a container into two resizable sections. These " +
19
18
  "are are identified by their names: primary and secondary. They have a " +
20
19
  "draggable bar between them.",
@@ -60,7 +59,7 @@ const baseSplitterMd = (0, ComponentDefs_1.createMetadata)({
60
59
  },
61
60
  },
62
61
  events: {
63
- resize: (0, ComponentDefs_1.d)(`This event fires when the component is resized.`),
62
+ resize: (0, metadata_helpers_1.d)(`This event fires when the component is resized.`),
64
63
  },
65
64
  themeVars: (0, themeVars_1.parseScssVar)(Splitter_module_scss_1.default.themeVars),
66
65
  defaultThemeVars: {
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.chStackComponentRenderer = exports.cvStackComponentRenderer = exports.hStackComponentRenderer = exports.vStackComponentRenderer = exports.stackComponentRenderer = exports.CHStackMd = exports.CVStackMd = exports.HStackMd = exports.VStackMd = exports.StackMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const Stack_module_scss_1 = __importDefault(require("./Stack.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const renderers_1 = require("../../components-core/renderers");
11
10
  const misc_1 = require("../../components-core/utils/misc");
12
11
  const EngineError_1 = require("../../components-core/EngineError");
@@ -27,7 +26,7 @@ const VERTICAL_ALIGNMENT = {
27
26
  valueType: "string",
28
27
  defaultValue: "start",
29
28
  };
30
- const stackMd = (0, ComponentDefs_1.createMetadata)({
29
+ const stackMd = (0, metadata_helpers_1.createMetadata)({
31
30
  description: "`Stack` is the fundamental layout container that organizes child elements in " +
32
31
  "configurable horizontal or vertical arrangements. As the most versatile building " +
33
32
  "block in XMLUI's layout system, it provides comprehensive alignment, spacing, " +
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.stickyBoxComponentRenderer = exports.StickyBoxMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const StickyBox_module_scss_1 = __importDefault(require("./StickyBox.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const renderers_1 = require("../../components-core/renderers");
11
10
  const themeVars_1 = require("../../components-core/theming/themeVars");
12
11
  const StickyBoxNative_1 = require("./StickyBoxNative");
12
+ const metadata_helpers_1 = require("../metadata-helpers");
13
13
  const COMP = "StickyBox";
14
- exports.StickyBoxMd = (0, ComponentDefs_1.createMetadata)({
14
+ exports.StickyBoxMd = (0, metadata_helpers_1.createMetadata)({
15
15
  status: "stable",
16
16
  description: "`StickyBox` remains fixed at the top or bottom of the screen as the user scrolls.",
17
17
  props: {
@@ -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 = {
@@ -6,13 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.switchComponentRenderer = exports.SwitchMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const Toggle_module_scss_1 = __importDefault(require("../Toggle/Toggle.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const renderers_1 = require("../../components-core/renderers");
11
10
  const themeVars_1 = require("../../components-core/theming/themeVars");
12
11
  const metadata_helpers_1 = require("../metadata-helpers");
13
12
  const Toggle_1 = require("../Toggle/Toggle");
14
13
  const COMP = "Switch";
15
- exports.SwitchMd = (0, ComponentDefs_1.createMetadata)({
14
+ exports.SwitchMd = (0, metadata_helpers_1.createMetadata)({
16
15
  description: "`Switch` enables users to toggle between two states: on and off.",
17
16
  props: {
18
17
  indeterminate: (0, metadata_helpers_1.dIndeterminate)(Toggle_1.defaultProps.indeterminate),
@@ -47,14 +46,18 @@ exports.SwitchMd = (0, ComponentDefs_1.createMetadata)({
47
46
  [`backgroundColor-checked-${COMP}-warning`]: `$borderColor-${COMP}-warning`,
48
47
  [`borderColor-checked-${COMP}-success`]: `$borderColor-${COMP}-success`,
49
48
  [`backgroundColor-checked-${COMP}-success`]: `$borderColor-${COMP}-success`,
50
- [`backgroundColor-${COMP}`]: "$backgroundColor-primary",
49
+ [`backgroundColor-${COMP}`]: "$color-surface-0",
51
50
  [`borderColor-${COMP}`]: "$color-surface-200",
52
51
  [`borderWidth-${COMP}`]: "1px",
53
- [`backgroundColor-indicator-${COMP}`]: "$color-surface-200",
52
+ [`backgroundColor-indicator-${COMP}`]: "$color-surface-400",
53
+ [`backgroundColor-${COMP}-indicator--disabled`]: "$backgroundColor-primary",
54
54
  [`backgroundColor-indicator-checked-${COMP}`]: "$backgroundColor-primary",
55
55
  [`borderColor-checked-${COMP}`]: "$color-primary-500",
56
56
  [`backgroundColor-checked-${COMP}`]: "$color-primary-500",
57
57
  [`backgroundColor-${COMP}--disabled`]: "$color-surface-200",
58
+ dark: {
59
+ [`backgroundColor-indicator-${COMP}`]: "$color-surface-500",
60
+ }
58
61
  },
59
62
  });
60
63
  exports.switchComponentRenderer = (0, renderers_1.createComponentRenderer)(COMP, exports.SwitchMd, ({ node, extractValue, layoutCss, updateState, state, lookupEventHandler, registerComponentApi, }) => {
@@ -9,7 +9,6 @@ const react_1 = require("react");
9
9
  const immer_1 = __importDefault(require("immer"));
10
10
  const Table_module_scss_1 = __importDefault(require("./Table.module.scss"));
11
11
  require("./react-table-config.d.ts");
12
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
13
12
  const renderers_1 = require("../../components-core/renderers");
14
13
  const themeVars_1 = require("../../components-core/theming/themeVars");
15
14
  const constants_1 = require("../../components-core/constants");
@@ -18,35 +17,35 @@ const TableContext_1 = require("../Column/TableContext");
18
17
  const SelectionStoreNative_1 = require("../SelectionStore/SelectionStoreNative");
19
18
  const TableNative_1 = require("./TableNative");
20
19
  const COMP = "Table";
21
- exports.TableMd = (0, ComponentDefs_1.createMetadata)({
20
+ exports.TableMd = (0, metadata_helpers_1.createMetadata)({
22
21
  description: "`Table` presents structured data for viewing, sorting, selection, and interaction.",
23
22
  props: {
24
23
  items: (0, metadata_helpers_1.dInternal)(`You can use \`items\` as an alias for the \`data\` property. ` +
25
24
  `When you bind the table to a data source (e.g. an API endpoint), ` +
26
25
  `the \`data\` acts as the property that accepts a URL to fetch information from an API. ` +
27
26
  `When both \`items\` and \`data\` are used, \`items\` has priority.`),
28
- data: (0, ComponentDefs_1.d)(`The component receives data via this property. The \`data\` property is a list of items ` +
27
+ data: (0, metadata_helpers_1.d)(`The component receives data via this property. The \`data\` property is a list of items ` +
29
28
  `that the \`Table\` can display.`),
30
29
  isPaginated: {
31
30
  description: `This property adds pagination controls to the \`${COMP}\`.`,
32
31
  valueType: "boolean",
33
32
  defaultValue: TableNative_1.defaultProps.isPaginated,
34
33
  },
35
- loading: (0, ComponentDefs_1.d)(`This boolean property indicates if the component is fetching (or processing) data. This ` +
34
+ loading: (0, metadata_helpers_1.d)(`This boolean property indicates if the component is fetching (or processing) data. This ` +
36
35
  `property is useful when data is loaded conditionally or receiving it takes some time.`),
37
- headerHeight: (0, ComponentDefs_1.d)(`This optional property is used to specify the height of the table header.`),
38
- rowsSelectable: (0, ComponentDefs_1.d)(`Indicates whether the rows are selectable (\`true\`) or not (\`false\`).`),
36
+ headerHeight: (0, metadata_helpers_1.d)(`This optional property is used to specify the height of the table header.`),
37
+ rowsSelectable: (0, metadata_helpers_1.d)(`Indicates whether the rows are selectable (\`true\`) or not (\`false\`).`),
39
38
  pageSizes: {
40
39
  description: "This property holds an array of page sizes (numbers) the user can select for " +
41
40
  "pagination. If this property is not defined, the component allows only a page size of 10 items.",
42
41
  },
43
- rowDisabledPredicate: (0, ComponentDefs_1.d)(`This property defines a predicate function with a return value that determines if the ` +
42
+ rowDisabledPredicate: (0, metadata_helpers_1.d)(`This property defines a predicate function with a return value that determines if the ` +
44
43
  `row should be disabled. The function retrieves the item to display and should return ` +
45
44
  `a Boolean-like value.`),
46
45
  noDataTemplate: (0, metadata_helpers_1.dComponent)(`A property to customize what to display if the table does not contain any data.`),
47
- sortBy: (0, ComponentDefs_1.d)("This property is used to determine which data property to sort by. If not defined, " +
46
+ sortBy: (0, metadata_helpers_1.d)("This property is used to determine which data property to sort by. If not defined, " +
48
47
  "the data is not sorted"),
49
- sortDirection: (0, ComponentDefs_1.d)("This property determines the sort order to be \`ascending\` or \`descending\`. This " +
48
+ sortDirection: (0, metadata_helpers_1.d)("This property determines the sort order to be \`ascending\` or \`descending\`. This " +
50
49
  "property only works if the [\`sortBy\`](#sortby) property is also set. By default " +
51
50
  "ascending order is used."),
52
51
  autoFocus: (0, metadata_helpers_1.dAutoFocus)(),
@@ -55,13 +54,13 @@ exports.TableMd = (0, ComponentDefs_1.createMetadata)({
55
54
  valueType: "boolean",
56
55
  defaultValue: TableNative_1.defaultProps.hideHeader,
57
56
  },
58
- iconNoSort: (0, ComponentDefs_1.d)(`Allows setting an alternate icon displayed in the ${COMP} column header when sorting is ` +
57
+ iconNoSort: (0, metadata_helpers_1.d)(`Allows setting an alternate icon displayed in the ${COMP} column header when sorting is ` +
59
58
  `enabled, but the column remains unsorted. You can change the default icon for all ${COMP} ` +
60
59
  `instances with the "icon.nosort:Table" declaration in the app configuration file.`),
61
- iconSortAsc: (0, ComponentDefs_1.d)(`Allows setting an alernate icon displayed in the ${COMP} column header when sorting is enabled, ` +
60
+ iconSortAsc: (0, metadata_helpers_1.d)(`Allows setting an alernate icon displayed in the ${COMP} column header when sorting is enabled, ` +
62
61
  `and the column is sorted in ascending order. You can change the default icon for all ${COMP} ` +
63
62
  `instances with the "icon.sortasc:Table" declaration in the app configuration file.`),
64
- iconSortDesc: (0, ComponentDefs_1.d)(`Allows setting an alternate icon displayed in the ${COMP} column header when sorting is enabled, ` +
63
+ iconSortDesc: (0, metadata_helpers_1.d)(`Allows setting an alternate icon displayed in the ${COMP} column header when sorting is enabled, ` +
65
64
  `and the column is sorted in descending order. You can change the default icon for all ${COMP} ` +
66
65
  `instances with the "icon.sortdesc:Table" declaration in the app configuration file.`),
67
66
  enableMultiRowSelection: {
@@ -86,22 +85,22 @@ exports.TableMd = (0, ComponentDefs_1.createMetadata)({
86
85
  },
87
86
  },
88
87
  events: {
89
- sortingDidChange: (0, ComponentDefs_1.d)(`This event is fired when the table data sorting has changed. It has two arguments: ` +
88
+ sortingDidChange: (0, metadata_helpers_1.d)(`This event is fired when the table data sorting has changed. It has two arguments: ` +
90
89
  `the column's name and the sort direction. When the column name is empty, the table ` +
91
90
  `displays the data list as it received it.`),
92
- willSort: (0, ComponentDefs_1.d)(`This event is fired before the table data is sorted. It has two arguments: the ` +
91
+ willSort: (0, metadata_helpers_1.d)(`This event is fired before the table data is sorted. It has two arguments: the ` +
93
92
  `column's name and the sort direction. When the method returns a literal \`false\` ` +
94
93
  `value (and not any other falsy one), the method indicates that the sorting should be aborted.`),
95
- selectionDidChange: (0, ComponentDefs_1.d)(`This event is triggered when the table's current selection (the rows selected) changes. ` +
94
+ selectionDidChange: (0, metadata_helpers_1.d)(`This event is triggered when the table's current selection (the rows selected) changes. ` +
96
95
  `Its parameter is an array of the selected table row items. `),
97
96
  },
98
97
  apis: {
99
- clearSelection: (0, ComponentDefs_1.d)("This method clears the list of currently selected table rows."),
100
- getSelectedItems: (0, ComponentDefs_1.d)(`This method returns the list of currently selected table rows items.`),
101
- getSelectedIds: (0, ComponentDefs_1.d)(`This method returns the list of currently selected table rows IDs.`),
102
- selectAll: (0, ComponentDefs_1.d)(`This method selects all the rows in the table. This method has no effect if the ` +
98
+ clearSelection: (0, metadata_helpers_1.d)("This method clears the list of currently selected table rows."),
99
+ getSelectedItems: (0, metadata_helpers_1.d)(`This method returns the list of currently selected table rows items.`),
100
+ getSelectedIds: (0, metadata_helpers_1.d)(`This method returns the list of currently selected table rows IDs.`),
101
+ selectAll: (0, metadata_helpers_1.d)(`This method selects all the rows in the table. This method has no effect if the ` +
103
102
  `rowsSelectable property is set to \`false\`.`),
104
- selectId: (0, ComponentDefs_1.d)(`This method selects the row with the specified ID. This method has no effect if the ` +
103
+ selectId: (0, metadata_helpers_1.d)(`This method selects the row with the specified ID. This method has no effect if the ` +
105
104
  `\`rowsSelectable\` property is set to \`false\`. The method argument can be a ` +
106
105
  `single id or an array of them.`),
107
106
  },
@@ -106,6 +106,7 @@ exports.Table = (0, react_1.forwardRef)(({ data = exports.defaultProps.data, col
106
106
  visibleItems,
107
107
  rowsSelectable,
108
108
  enableMultiRowSelection,
109
+ rowDisabledPredicate,
109
110
  onSelectionDidChange,
110
111
  });
111
112
  // --- Create data with order information whenever the items in the table change
@@ -221,8 +222,11 @@ exports.Table = (0, react_1.forwardRef)(({ data = exports.defaultProps.data, col
221
222
  }),
222
223
  value: table.getIsAllRowsSelected(),
223
224
  indeterminate: table.getIsSomeRowsSelected(),
224
- onDidChange: (checked) => {
225
- checkAllRows(checked);
225
+ onDidChange: () => {
226
+ const allSelected = table
227
+ .getRowModel()
228
+ .rows.every((row) => rowDisabledPredicate(row.original) || row.getIsSelected());
229
+ checkAllRows(!allSelected);
226
230
  } })) : null,
227
231
  cell: ({ row }) => ((0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { className: Table_module_scss_1.default.checkBoxWrapper,
228
232
  value: row.getIsSelected(),
@@ -7,7 +7,7 @@ const misc_1 = require("../../components-core/utils/misc");
7
7
  const constants_1 = require("../../components-core/constants");
8
8
  const hooks_1 = require("../../components-core/utils/hooks");
9
9
  const SelectionStoreNative_1 = require("../SelectionStore/SelectionStoreNative");
10
- function useRowSelection({ items = constants_1.EMPTY_ARRAY, visibleItems = items, rowsSelectable, enableMultiRowSelection, onSelectionDidChange, }) {
10
+ function useRowSelection({ items = constants_1.EMPTY_ARRAY, visibleItems = items, rowsSelectable, enableMultiRowSelection, rowDisabledPredicate, onSelectionDidChange, }) {
11
11
  // --- The focused index in the row source (if there is any)
12
12
  const [focusedIndex, setFocusedIndex] = (0, react_1.useState)(-1);
13
13
  // --- The current selection interval
@@ -187,7 +187,11 @@ function useRowSelection({ items = constants_1.EMPTY_ARRAY, visibleItems = items
187
187
  if (!enableMultiRowSelection && checked) {
188
188
  return;
189
189
  }
190
- setSelectedRowIds(checked ? items.map((item) => item[idKey]) : []);
190
+ setSelectedRowIds(checked
191
+ ? items
192
+ .filter((item) => (rowDisabledPredicate ? !rowDisabledPredicate(item) : true))
193
+ .map((item) => item[idKey])
194
+ : []);
191
195
  });
192
196
  /**
193
197
  * This operation creates a hash object that indicates the selected status of selected row IDs
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.tableOfContentsRenderer = exports.TableOfContentsMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const TableOfContents_module_scss_1 = __importDefault(require("./TableOfContents.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const renderers_1 = require("../../components-core/renderers");
11
10
  const themeVars_1 = require("../../components-core/theming/themeVars");
12
11
  const TableOfContentsNative_1 = require("./TableOfContentsNative");
13
12
  const IndexerContext_1 = require("../App/IndexerContext");
13
+ const metadata_helpers_1 = require("../metadata-helpers");
14
14
  const COMP = "TableOfContents";
15
15
  const COMP_CHILD = "TableOfContentsItem";
16
- exports.TableOfContentsMd = (0, ComponentDefs_1.createMetadata)({
16
+ exports.TableOfContentsMd = (0, metadata_helpers_1.createMetadata)({
17
17
  status: "experimental",
18
18
  description: "`TableOfContents` component collects [Heading](/components/Heading) and " +
19
19
  "[Bookmark](/components/Bookmark) within the current page and displays them in a navigable tree.",
@@ -2,12 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tabItemComponentRenderer = exports.TabItemMd = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
6
5
  const renderers_1 = require("../../components-core/renderers");
7
6
  const TabItemNative_1 = require("./TabItemNative");
8
7
  const metadata_helpers_1 = require("../metadata-helpers");
9
8
  const COMP = "TabItem";
10
- exports.TabItemMd = (0, ComponentDefs_1.createMetadata)({
9
+ exports.TabItemMd = (0, metadata_helpers_1.createMetadata)({
11
10
  description: "`TabItem` defines individual tabs within a [Tabs](/components/Tabs) component, " +
12
11
  "providing both the tab header label and the content that displays when the tab " +
13
12
  "is selected. As a non-visual structural component, it serves as a container that " +
@@ -6,21 +6,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.tabsComponentRenderer = exports.TabsMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const Tabs_module_scss_1 = __importDefault(require("./Tabs.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const themeVars_1 = require("../../components-core/theming/themeVars");
11
10
  const renderers_1 = require("../../components-core/renderers");
12
11
  const container_helpers_1 = require("../container-helpers");
13
- const metadata_helpers_1 = require("../metadata-helpers");
14
12
  const TabsNative_1 = require("./TabsNative");
13
+ const metadata_helpers_1 = require("../metadata-helpers");
15
14
  const COMP = "Tabs";
16
- exports.TabsMd = (0, ComponentDefs_1.createMetadata)({
15
+ exports.TabsMd = (0, metadata_helpers_1.createMetadata)({
17
16
  status: "experimental",
18
17
  description: "`Tabs` enables users to switch among content panels using clickable tab headers. " +
19
18
  "It provides an efficient way to present multiple related sections in a single " +
20
19
  "interface area, with each tab containing distinct content defined by " +
21
20
  "[TabItem](/components/TabItem) components.",
22
21
  props: {
23
- activeTab: (0, ComponentDefs_1.d)(`This property indicates the index of the active tab. The indexing starts from 0, ` +
22
+ activeTab: (0, metadata_helpers_1.d)(`This property indicates the index of the active tab. The indexing starts from 0, ` +
24
23
  `representing the starting (leftmost) tab. If not set, the first tab is selected by default.`),
25
24
  orientation: {
26
25
  description: `This property indicates the orientation of the component. In horizontal orientation, ` +
@@ -30,10 +29,14 @@ exports.TabsMd = (0, ComponentDefs_1.createMetadata)({
30
29
  defaultValue: TabsNative_1.defaultProps.orientation,
31
30
  valueType: "string",
32
31
  },
33
- tabTemplate: (0, metadata_helpers_1.dComponent)(`This property declares the template for the clickable tab area.`),
32
+ tabTemplate: {
33
+ description: `This property declares the template for the clickable tab area.`,
34
+ valueType: "ComponentDef",
35
+ isInternal: true,
36
+ },
34
37
  },
35
38
  apis: {
36
- next: (0, ComponentDefs_1.d)(`This method selects the next tab.`),
39
+ next: (0, metadata_helpers_1.d)(`This method selects the next tab.`),
37
40
  },
38
41
  themeVars: (0, themeVars_1.parseScssVar)(Tabs_module_scss_1.default.themeVars),
39
42
  defaultThemeVars: {
@@ -17,17 +17,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.textComponentRenderer = exports.TextMd = void 0;
18
18
  const jsx_runtime_1 = require("react/jsx-runtime");
19
19
  const Text_module_scss_1 = __importDefault(require("./Text.module.scss"));
20
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
21
20
  const renderers_1 = require("../../components-core/renderers");
22
21
  const themeVars_1 = require("../../components-core/theming/themeVars");
23
22
  const abstractions_1 = require("../abstractions");
24
23
  const TextNative_1 = require("./TextNative");
24
+ const metadata_helpers_1 = require("../metadata-helpers");
25
25
  const COMP = "Text";
26
- exports.TextMd = (0, ComponentDefs_1.createMetadata)({
26
+ exports.TextMd = (0, metadata_helpers_1.createMetadata)({
27
27
  description: `The \`${COMP}\` component displays textual information in a number of optional ` +
28
28
  `styles and variants.`,
29
29
  props: {
30
- value: (0, ComponentDefs_1.d)(`The text to be displayed. This value can also be set via nesting the text into ` +
30
+ value: (0, metadata_helpers_1.d)(`The text to be displayed. This value can also be set via nesting the text into ` +
31
31
  `the \`${COMP}\` component.`),
32
32
  variant: {
33
33
  description: "An optional string value that provides named presets for text variants with a " +
@@ -35,7 +35,7 @@ exports.TextMd = (0, ComponentDefs_1.createMetadata)({
35
35
  "If not defined, the text uses the current style of its context.",
36
36
  availableValues: abstractions_1.variantOptionsMd,
37
37
  },
38
- maxLines: (0, ComponentDefs_1.d)("This property determines the maximum number of lines the component can wrap to. " +
38
+ maxLines: (0, metadata_helpers_1.d)("This property determines the maximum number of lines the component can wrap to. " +
39
39
  "If there is no space to display all the contents, the component displays up to as " +
40
40
  "many lines as specified in this property. When the value is not defined, there is " +
41
41
  "no limit on the displayed lines."),
@@ -83,9 +83,9 @@ exports.TextMd = (0, ComponentDefs_1.createMetadata)({
83
83
  [`fontFamily-${COMP}-sample`]: "$fontFamily-monospace",
84
84
  [`fontSize-${COMP}-sample`]: "$fontSize-small",
85
85
  [`fontSize-${COMP}-sup`]: "$fontSize-smaller",
86
- [`verticalAlign-${COMP}-sup`]: "super",
86
+ [`verticalAlignment-${COMP}-sup`]: "super",
87
87
  [`fontSize-${COMP}-sub`]: "$fontSize-smaller",
88
- [`verticalAlign-${COMP}-sub`]: "sub",
88
+ [`verticalAlignment-${COMP}-sub`]: "sub",
89
89
  [`fontStyle-${COMP}-var`]: "italic",
90
90
  [`fontStyle-${COMP}-em`]: "italic",
91
91
  [`fontFamily-${COMP}-mono`]: "$fontFamily-monospace",
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.textAreaComponentRenderer = exports.TextAreaMd = exports.resizeOptionsMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const TextArea_module_scss_1 = __importDefault(require("./TextArea.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const renderers_1 = require("../../components-core/renderers");
11
10
  const themeVars_1 = require("../../components-core/theming/themeVars");
12
11
  const metadata_helpers_1 = require("../metadata-helpers");
@@ -18,7 +17,7 @@ exports.resizeOptionsMd = [
18
17
  { value: "vertical", description: "Can only resize vertically" },
19
18
  { value: "both", description: "Can resize in both dimensions" },
20
19
  ];
21
- exports.TextAreaMd = (0, ComponentDefs_1.createMetadata)({
20
+ exports.TextAreaMd = (0, metadata_helpers_1.createMetadata)({
22
21
  status: "stable",
23
22
  description: "`TextArea` provides a multiline text input area.",
24
23
  props: {
@@ -34,9 +33,9 @@ exports.TextAreaMd = (0, ComponentDefs_1.createMetadata)({
34
33
  valueType: "boolean",
35
34
  defaultValue: false,
36
35
  },
37
- maxRows: (0, ComponentDefs_1.d)(`This optional property sets the maximum number of text rows the \`${COMP}\` ` +
36
+ maxRows: (0, metadata_helpers_1.d)(`This optional property sets the maximum number of text rows the \`${COMP}\` ` +
38
37
  "can grow. If not set, the number of rows is unlimited."),
39
- minRows: (0, ComponentDefs_1.d)(`This optional property sets the minimum number of text rows the \`${COMP}\` can shrink. ` +
38
+ minRows: (0, metadata_helpers_1.d)(`This optional property sets the minimum number of text rows the \`${COMP}\` can shrink. ` +
40
39
  `If not set, the minimum number of rows is 1.`),
41
40
  rows: {
42
41
  description: `Specifies the number of rows the component initially has.`,
@@ -74,7 +73,7 @@ exports.TextAreaMd = (0, ComponentDefs_1.createMetadata)({
74
73
  },
75
74
  apis: {
76
75
  focus: (0, metadata_helpers_1.dFocus)(COMP),
77
- value: (0, ComponentDefs_1.d)(`You can query the component's value. If no value is set, it will retrieve \`undefined\`.`),
76
+ value: (0, metadata_helpers_1.d)(`You can query the component's value. If no value is set, it will retrieve \`undefined\`.`),
78
77
  setValue: (0, metadata_helpers_1.dSetValueApi)(),
79
78
  },
80
79
  themeVars: (0, themeVars_1.parseScssVar)(TextArea_module_scss_1.default.themeVars),
@@ -6,13 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.passwordInputComponentRenderer = exports.PasswordMd = exports.textBoxComponentRenderer = exports.TextBoxMd = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const TextBox_module_scss_1 = __importDefault(require("./TextBox.module.scss"));
9
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
10
9
  const renderers_1 = require("../../components-core/renderers");
11
10
  const themeVars_1 = require("../../components-core/theming/themeVars");
12
11
  const metadata_helpers_1 = require("../metadata-helpers");
13
12
  const TextBoxNative_1 = require("./TextBoxNative");
14
13
  const COMP = "TextBox";
15
- exports.TextBoxMd = (0, ComponentDefs_1.createMetadata)({
14
+ exports.TextBoxMd = (0, metadata_helpers_1.createMetadata)({
16
15
  status: "stable",
17
16
  description: "`TextBox` captures user text input for forms, search fields, and data entry " +
18
17
  "with support for validation, icons, and formatting hints.",
@@ -45,7 +44,7 @@ exports.TextBoxMd = (0, ComponentDefs_1.createMetadata)({
45
44
  },
46
45
  apis: {
47
46
  focus: (0, metadata_helpers_1.dFocus)(COMP),
48
- value: (0, ComponentDefs_1.d)(`You can query the component's value. If no value is set, it will retrieve \`undefined\`.`),
47
+ value: (0, metadata_helpers_1.d)(`You can query the component's value. If no value is set, it will retrieve \`undefined\`.`),
49
48
  setValue: (0, metadata_helpers_1.dSetValueApi)(),
50
49
  },
51
50
  themeVars: (0, themeVars_1.parseScssVar)(TextBox_module_scss_1.default.themeVars),
@@ -64,7 +63,7 @@ exports.TextBoxMd = (0, ComponentDefs_1.createMetadata)({
64
63
  "borderColor-Input-error": "$borderColor-Input-default--error",
65
64
  "borderColor-Input-warning": "$borderColor-Input-default--warning",
66
65
  "borderColor-Input-success": "$borderColor-Input-default--success",
67
- "color-placeholder-Input": "$textColor-subtitle",
66
+ "textColor-placeholder-Input": "$textColor-subtitle",
68
67
  "color-adornment-Input": "$textColor-subtitle",
69
68
  "outlineColor-Input--focus": "$outlineColor--focus",
70
69
  "outlineWidth-Input--focus": "$outlineWidth--focus",
@@ -85,7 +84,7 @@ function renderTextBox(layoutCss, state, updateState, extractValue, node, lookup
85
84
  exports.textBoxComponentRenderer = (0, renderers_1.createComponentRenderer)(COMP, exports.TextBoxMd, ({ node, state, updateState, lookupEventHandler, extractValue, layoutCss, registerComponentApi, }) => {
86
85
  return renderTextBox(layoutCss, state, updateState, extractValue, node, lookupEventHandler, registerComponentApi);
87
86
  });
88
- exports.PasswordMd = (0, ComponentDefs_1.createMetadata)(Object.assign(Object.assign({}, exports.TextBoxMd), { description: "`Password` is a specialized [TextBox](/components/TextBox) that enables users " +
87
+ exports.PasswordMd = (0, metadata_helpers_1.createMetadata)(Object.assign(Object.assign({}, exports.TextBoxMd), { description: "`Password` is a specialized [TextBox](/components/TextBox) that enables users " +
89
88
  "to input and edit passwords." }));
90
89
  exports.passwordInputComponentRenderer = (0, renderers_1.createComponentRenderer)("PasswordInput", exports.PasswordMd, ({ node, state, updateState, lookupEventHandler, extractValue, layoutCss, registerComponentApi, }) => {
91
90
  return renderTextBox(layoutCss, state, updateState, extractValue, node, lookupEventHandler, registerComponentApi, "password");
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.NotificationToast = void 0;
37
37
  const jsx_runtime_1 = require("react/jsx-runtime");
38
+ const react_1 = require("react");
38
39
  const react_hot_toast_1 = __importStar(require("react-hot-toast"));
39
40
  const TOASTER_CONTAINER_STYLE = {
40
41
  top: 40,
@@ -44,7 +45,17 @@ const TOASTER_CONTAINER_STYLE = {
44
45
  position: "absolute",
45
46
  overflowY: "hidden",
46
47
  };
48
+ let toasterMounted = false;
47
49
  const NotificationToast = ({ toastDuration }) => {
50
+ const [shouldRender, setShouldRender] = (0, react_1.useState)(false);
51
+ (0, react_1.useEffect)(() => {
52
+ if (!toasterMounted) {
53
+ toasterMounted = true;
54
+ setShouldRender(true);
55
+ }
56
+ }, []);
57
+ if (!shouldRender)
58
+ return null;
48
59
  return ((0, jsx_runtime_1.jsx)(react_hot_toast_1.Toaster, { position: "top-right", containerStyle: TOASTER_CONTAINER_STYLE, toastOptions: { style: { padding: "12px 16px" }, duration: toastDuration }, children: (t) => ((0, jsx_runtime_1.jsx)("div", { onClick: () => react_hot_toast_1.default.dismiss(t.id), children: (0, jsx_runtime_1.jsx)(react_hot_toast_1.ToastBar, { position: t.position, toast: t, style: { wordBreak: "break-word" }, children: ({ icon, message }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [icon, message] })) }) })) }));
49
60
  };
50
61
  exports.NotificationToast = NotificationToast;
@@ -13,23 +13,23 @@ var __rest = (this && this.__rest) || function (s, e) {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.themeComponentRenderer = exports.ThemeMd = void 0;
15
15
  const jsx_runtime_1 = require("react/jsx-runtime");
16
- const ComponentDefs_1 = require("../../abstractions/ComponentDefs");
17
16
  const renderers_1 = require("../../components-core/renderers");
17
+ const metadata_helpers_1 = require("../metadata-helpers");
18
18
  const ThemeNative_1 = require("./ThemeNative");
19
19
  const COMP = "Theme";
20
- exports.ThemeMd = (0, ComponentDefs_1.createMetadata)({
20
+ exports.ThemeMd = (0, metadata_helpers_1.createMetadata)({
21
21
  description: "`Theme` creates styling contexts to customize the appearance of nested " +
22
22
  "components without using CSS.",
23
23
  allowArbitraryProps: true,
24
24
  props: {
25
- themeId: (0, ComponentDefs_1.d)(`This property specifies which theme to use by setting the theme's id.`),
25
+ themeId: (0, metadata_helpers_1.d)(`This property specifies which theme to use by setting the theme's id.`),
26
26
  tone: {
27
27
  description: "This property allows the setting of the current theme's tone.",
28
28
  availableValues: ["light", "dark"],
29
29
  valueType: "string",
30
30
  defaultValue: "light",
31
31
  },
32
- root: (0, ComponentDefs_1.d)(`This property indicates whether the component is at the root of the application.`, undefined, "boolean", ThemeNative_1.defaultProps.root),
32
+ root: (0, metadata_helpers_1.d)(`This property indicates whether the component is at the root of the application.`, undefined, "boolean", ThemeNative_1.defaultProps.root),
33
33
  },
34
34
  opaque: true,
35
35
  });
@@ -46,7 +46,7 @@ function Theme({ id, isRoot = exports.defaultProps.isRoot, renderChild, node, to
46
46
  var _a, _b, _c;
47
47
  const themeToExtend = id ? themes.find((theme) => theme.id === id) : activeTheme;
48
48
  if (!themeToExtend) {
49
- throw new Error("Theme not found");
49
+ throw new Error(`Theme not found: requested="${id}", available=[${themes.map((t) => t.id).join(", ")}]`);
50
50
  }
51
51
  const foundTheme = Object.assign(Object.assign({}, themeToExtend), { id: generatedId, tones: Object.assign(Object.assign({}, themeToExtend.tones), { [themeTone]: Object.assign(Object.assign({}, (_a = themeToExtend.tones) === null || _a === void 0 ? void 0 : _a[themeTone]), { themeVars: Object.assign(Object.assign({}, (_c = (_b = themeToExtend.tones) === null || _b === void 0 ? void 0 : _b[themeTone]) === null || _c === void 0 ? void 0 : _c.themeVars), themeVars) }) }) });
52
52
  return foundTheme;
@@ -75,15 +75,15 @@ function Theme({ id, isRoot = exports.defaultProps.isRoot, renderChild, node, to
75
75
  @media (min-width: calc(${maxWidthLandscapePhone} + 1px)) {
76
76
  --screenSize: 2;
77
77
  }
78
-
78
+
79
79
  @media (min-width: calc(${maxWidthTablet} + 1px)) {
80
80
  --screenSize: 3;
81
81
  }
82
-
82
+
83
83
  @media (min-width: calc(${maxWidthDesktop} + 1px)) {
84
84
  --screenSize: 4;
85
85
  }
86
-
86
+
87
87
  @media (min-width: calc(${maxWidthLargeDesktop} + 1px)) {
88
88
  --screenSize: 5;
89
89
  }