@povio/ui 5.0.0-rc.3 → 5.0.0-rc.4

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 (126) hide show
  1. package/README.md +6 -2
  2. package/dist/{Breadcrumbs-CbKzAq1v.js → Breadcrumbs-FF8hMfXd.js} +1 -1
  3. package/dist/{Calendar-CVSQH-rC.js → Calendar-BTjajO6i.js} +6 -136
  4. package/dist/{Checkbox-BU0d702K.js → Checkbox-CV1ILXXO.js} +1 -1
  5. package/dist/{CheckboxCheckmark-usHsolNj.js → CheckboxCheckmark-CpC3wlMs.js} +1 -1
  6. package/dist/{ComponentGallery-DIFeJqGx.js → ComponentGallery-BWiPGUL8.js} +1343 -206
  7. package/dist/{DatePicker-D95gDPhg.js → DatePicker-DOLL7mkc.js} +12 -12
  8. package/dist/{DatePickerInput-CX6NYim4.js → DatePickerInput-BLBcySA2.js} +8 -7
  9. package/dist/{DateRangePicker-_uTQk_ae.js → DateRangePicker-BF-1CztH.js} +13 -185
  10. package/dist/{DateTimePicker-BB058Z34.js → DateTimePicker-Cj0qvJUz.js} +12 -12
  11. package/dist/{FileInput-C0-6bw4w.js → FileInput-Br5DQaGQ.js} +3 -2
  12. package/dist/{FileTrigger-CDXcQthK.js → FileTrigger-Cthk5_Wp.js} +1 -30
  13. package/dist/{FileUpload-DDpYMn8f.js → FileUpload--7ub3EZO.js} +3 -2
  14. package/dist/{FormField-U_-d4V_g.js → FormField-B99dLt8o.js} +1 -1
  15. package/dist/{FormFieldHeaderTooltip-DXbuu88v.js → FormFieldHeaderTooltip-BV2Ju4oB.js} +1 -1
  16. package/dist/{InlineTooltipWrapper-Bpmd--e7.js → InlineTooltipWrapper-BpApaGXV.js} +1 -1
  17. package/dist/{InputItem-D-KuiNSc.js → InputItem-CIxbTxZu.js} +10 -10
  18. package/dist/{Inputs-j3JmcLWR.js → Inputs-DJSKiaWY.js} +1 -1
  19. package/dist/NumberFormatter-CLDS_LRZ.js +265 -0
  20. package/dist/{NumberRangeInput-C-8U05wF.js → NumberRangeInput-B8-LHfg3.js} +6 -5
  21. package/dist/{RadioGroup-B7_pNwn9.js → RadioGroup-DOw3PRoX.js} +1 -1
  22. package/dist/{RichTextEditor-D9-B1Cze.js → RichTextEditor-D4yN7Wj7.js} +2 -2
  23. package/dist/{Select-CkujlTjm.js → Select-UR0ec2Ux.js} +2 -2
  24. package/dist/{Slider-BHPl0OPy.js → Slider-CzEmKYBF.js} +1 -1
  25. package/dist/{Table-BDNSuEWc.js → Table-piX1SWvN.js} +1 -1
  26. package/dist/{TextArea-DqHDiRGJ.js → TextArea-D8WkKsGn.js} +3 -3
  27. package/dist/{TimePicker-DQ6JCkGB.js → TimePicker-C4taAOFQ.js} +10 -9
  28. package/dist/{ToggleGroup-DX0VYXwP.js → ToggleGroup-DOk27fgI.js} +5 -66
  29. package/dist/{Tooltip-B9DKcYvr.js → Tooltip-CpG1nz7Y.js} +2 -2
  30. package/dist/{TooltipWrapper-DznDgVJB.js → TooltipWrapper-3jyN0Wss.js} +1 -1
  31. package/dist/components/autocomplete.js +2 -2
  32. package/dist/components/breadcrumbs.js +1 -1
  33. package/dist/components/checkbox-group.js +3 -3
  34. package/dist/components/checkbox.js +1 -1
  35. package/dist/components/date-picker.js +1 -1
  36. package/dist/components/date-range-picker.js +1 -1
  37. package/dist/components/date-time-picker.js +1 -1
  38. package/dist/components/file-input.js +1 -1
  39. package/dist/components/file-upload-container.js +1 -1
  40. package/dist/components/file-upload.js +1 -1
  41. package/dist/components/form-field.js +1 -1
  42. package/dist/components/icon-button.js +1 -1
  43. package/dist/components/input.js +4 -4
  44. package/dist/components/number-field.js +7 -6
  45. package/dist/components/number-range-input.js +1 -1
  46. package/dist/components/pagination.js +32 -28
  47. package/dist/components/query-autocomplete.js +1 -1
  48. package/dist/components/query-select.js +2 -2
  49. package/dist/components/radio-group.js +1 -1
  50. package/dist/components/select.js +1 -1
  51. package/dist/components/slider.js +1 -1
  52. package/dist/components/text-area.js +1 -1
  53. package/dist/components/time-picker.js +1 -1
  54. package/dist/components/toggle-group.js +1 -1
  55. package/dist/components/tooltip-ellipsis.js +1 -1
  56. package/dist/components/tooltip.js +1 -1
  57. package/dist/config/ui-configurator-theme.js +1 -1
  58. package/dist/config/ui-configurator.js +1081 -257
  59. package/dist/config/ui-router.js +1 -1
  60. package/dist/{datePickerValue.utils-CUzkWie8.js → datePickerValue.utils-DCgoSrP3.js} +5 -5
  61. package/dist/hooks/use-filters.js +1 -1
  62. package/dist/index.js +15 -15
  63. package/dist/numberStatic.utils-BX50PSee.js +421 -0
  64. package/dist/rhf/checkbox.js +1 -1
  65. package/dist/rhf/date-picker.js +1 -1
  66. package/dist/rhf/date-range-picker.js +1 -1
  67. package/dist/rhf/date-time-picker.js +1 -1
  68. package/dist/rhf/file-input.js +1 -1
  69. package/dist/rhf/file-upload.js +1 -1
  70. package/dist/rhf/number-range-input.js +1 -1
  71. package/dist/rhf/radio-group.js +1 -1
  72. package/dist/rhf/rich-text-editor.js +1 -1
  73. package/dist/rhf/select.js +1 -1
  74. package/dist/rhf/slider.js +1 -1
  75. package/dist/rhf/text-area.js +1 -1
  76. package/dist/rhf/time-picker.js +1 -1
  77. package/dist/rhf/toggle-group.js +1 -1
  78. package/dist/rhf.js +15 -15
  79. package/dist/rich-text-editor.js +1 -1
  80. package/dist/{router.context-B0jTMtE0.js → router.context-B4FvsTim.js} +2 -2
  81. package/dist/staticDateTimeSegments-DtU63_dw.js +1764 -0
  82. package/dist/{staticSelect.utils-BemUyaaA.js → staticSelect.utils-uHa8f_c6.js} +5 -144
  83. package/dist/styles/configurator.css +731 -218
  84. package/dist/{table.cva-BikE8qJH.js → table.cva-DlMT-zLD.js} +2 -3
  85. package/dist/tanstack/checkbox.js +1 -1
  86. package/dist/tanstack/date-picker.js +1 -1
  87. package/dist/tanstack/date-range-picker.js +1 -1
  88. package/dist/tanstack/date-time-picker.js +1 -1
  89. package/dist/tanstack/file-input.js +1 -1
  90. package/dist/tanstack/file-upload.js +1 -1
  91. package/dist/tanstack/form.js +1 -1
  92. package/dist/tanstack/inputs.js +1 -1
  93. package/dist/tanstack/number-range-input.js +1 -1
  94. package/dist/tanstack/radio-group.js +1 -1
  95. package/dist/tanstack/rich-text-editor.js +1 -1
  96. package/dist/tanstack/select.js +1 -1
  97. package/dist/tanstack/slider.js +1 -1
  98. package/dist/tanstack/table.js +2 -2
  99. package/dist/tanstack/text-area.js +1 -1
  100. package/dist/tanstack/time-picker.js +1 -1
  101. package/dist/tanstack/toggle-group.js +1 -1
  102. package/dist/tanstack.js +27 -27
  103. package/dist/theme-model-DtYPxNvH.js +406 -0
  104. package/dist/upload-CXU83BJ4.js +30 -0
  105. package/dist/useControlledState-CzXkZCX8.js +30 -0
  106. package/dist/{useFieldAccessibility-B4MVL6fz.js → useFieldAccessibility-ScC6Mtd5.js} +2 -2
  107. package/dist/{useFilters-kkEUFKmQ.js → useFilters-XNH27Md2.js} +1 -1
  108. package/dist/{useFormAutosave-Mg-tdwMh.js → useFormAutosave-DfuP7drj.js} +1 -1
  109. package/dist/{useStaticInputHandoff-CvSBPUB3.js → useStaticInputHandoff-NeZVnci-.js} +3 -3
  110. package/dist/{useTableColumnConfig-gfVame8v.js → useTableColumnConfig-BTGZiluz.js} +3 -3
  111. package/package.json +1 -1
  112. package/src/configurator/README.md +3 -3
  113. package/dist/FocusScope-CO9oJ1sc.js +0 -343
  114. package/dist/chain-DIXr2VAT.js +0 -10
  115. package/dist/focusSafely-DCGrr2bb.js +0 -447
  116. package/dist/getScrollParent-kSR7EtoT.js +0 -47
  117. package/dist/numberStatic.utils-BMgRzyd3.js +0 -902
  118. package/dist/openLink-CQhMhfzO.js +0 -121
  119. package/dist/platform-BXNIIAfU.js +0 -42
  120. package/dist/staticDateTimeSegments-CsCE9Buo.js +0 -3604
  121. package/dist/theme-model-C-QMCksE.js +0 -136
  122. package/dist/useControlledState-DQxX6LMN.js +0 -189
  123. package/dist/useFocusable-Bd0UsrQ7.js +0 -63
  124. package/dist/useFormValidationState-D3z-gafz.js +0 -1341
  125. package/dist/useLayoutEffect-B2-1tbPJ.js +0 -83
  126. package/dist/useSyncRef-RGMv0rXK.js +0 -338
@@ -6,20 +6,20 @@ import { s as Calendar, t as UIConfig } from "./uiConfig.context-BS3r_kTS.js";
6
6
  import { t as Check } from "./check-DYMBkp_Z.js";
7
7
  import { t as ChevronDown } from "./chevron-down-B4Pr8bD3.js";
8
8
  import { t as ChevronUp } from "./chevron-up-D_Gqpb5M.js";
9
- import { t as FileUpload } from "./FileUpload-DDpYMn8f.js";
9
+ import { t as FileUpload } from "./FileUpload--7ub3EZO.js";
10
10
  import { t as PasswordInput } from "./PasswordInput-DYwUZ4-k.js";
11
- import { t as Table } from "./Table-BDNSuEWc.js";
11
+ import { t as Table } from "./Table-piX1SWvN.js";
12
12
  import { t as Info } from "./info-iUmX3uDk.js";
13
+ import { i as Search } from "./selectDesktop.cva-CHAMxhfO.js";
13
14
  import { t as UIOverrides } from "./uiOverrides.context-BTCH9y5a.js";
14
- import { t as Breadcrumbs } from "./Breadcrumbs-CbKzAq1v.js";
15
- import { t as Checkbox } from "./Checkbox-BU0d702K.js";
16
- import { t as Slider } from "./Slider-BHPl0OPy.js";
15
+ import { t as Breadcrumbs } from "./Breadcrumbs-FF8hMfXd.js";
16
+ import { t as Checkbox } from "./Checkbox-CV1ILXXO.js";
17
+ import { t as Slider } from "./Slider-CzEmKYBF.js";
17
18
  import { t as Accordion } from "./Accordion-BzwO4_ml.js";
18
- import { t as RadioGroup } from "./RadioGroup-B7_pNwn9.js";
19
+ import { t as RadioGroup } from "./RadioGroup-DOw3PRoX.js";
19
20
  import { t as Switch } from "./Switch-CqnGEdeD.js";
20
- import { t as TextArea } from "./TextArea-DqHDiRGJ.js";
21
+ import { t as TextArea } from "./TextArea-D8WkKsGn.js";
21
22
  import { i as menuPopoverWrapperDefinition, n as menuItemDefinition, r as menuPopoverDefinition, t as dropdownMenuDefinition } from "./dropdownMenu.cva-DvEmX0bs.js";
22
- import { t as ToggleGroup } from "./ToggleGroup-DX0VYXwP.js";
23
23
  import { i as tooltipTextDefinition, n as tooltipPointerHorizontalDefinition, t as tooltipDefinition } from "./tooltip.cva-BIzlOXHH.js";
24
24
  import { t as Typography } from "./Typography-LU4z2pR1.js";
25
25
  import { t as Spinner } from "./Spinner-BeVTUzzx.js";
@@ -34,21 +34,73 @@ import { t as popoverDefinition } from "./popover.cva-Bhud1wnp.js";
34
34
  import { Input } from "./components/input.js";
35
35
  import { Autocomplete } from "./components/autocomplete.js";
36
36
  import { CheckboxGroup } from "./components/checkbox-group.js";
37
- import { t as TimePicker } from "./TimePicker-DQ6JCkGB.js";
38
- import { t as DatePicker } from "./DatePicker-D95gDPhg.js";
39
- import { t as Select } from "./Select-CkujlTjm.js";
37
+ import { t as TimePicker } from "./TimePicker-C4taAOFQ.js";
38
+ import { t as ToggleGroup } from "./ToggleGroup-DOk27fgI.js";
39
+ import { t as DatePicker } from "./DatePicker-DOLL7mkc.js";
40
+ import { t as Select } from "./Select-UR0ec2Ux.js";
40
41
  import { t as Progress } from "./Progress-B3mY9rIP.js";
41
42
  import { NumberField } from "./components/number-field.js";
42
43
  import { t as Stepper } from "./Stepper-Cp5vbL5g.js";
43
44
  import { n as dialogMainDefinition, t as dialogContentDefinition } from "./dialog.cva-COhDZaVl.js";
45
+ import { t as Dialog } from "./Dialog-9manOgMA.js";
44
46
  import { Pagination } from "./components/pagination.js";
45
47
  import { t as Alert } from "./Alert-CnvEb1D_.js";
46
48
  import { t as Toast } from "./Toast-DtG3pA61.js";
47
49
  import { Link } from "./components/link.js";
48
50
  import { Badge } from "./components/badge.js";
49
- import $ahdqC$react, { createContext, useCallback, useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
51
+ import { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
50
52
  import { c } from "react/compiler-runtime";
51
53
  import { jsx, jsxs } from "react/jsx-runtime";
54
+ import { UNSAFE_PortalProvider } from "react-aria";
55
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/bell.mjs
56
+ /**
57
+ * @license lucide-react v1.43.0 - ISC
58
+ *
59
+ * This source code is licensed under the ISC license.
60
+ * See the LICENSE file in the root directory of this source tree.
61
+ */
62
+ const __iconData$9 = {
63
+ name: "bell",
64
+ size: 24,
65
+ node: [["path", {
66
+ d: "M10.268 21a2 2 0 0 0 3.464 0",
67
+ key: "vwvbt9"
68
+ }], ["path", {
69
+ d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",
70
+ key: "11g9vi"
71
+ }]]
72
+ };
73
+ __iconData$9.node;
74
+ const Bell = createLucideIcon(__iconData$9);
75
+ //#endregion
76
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/credit-card.mjs
77
+ /**
78
+ * @license lucide-react v1.43.0 - ISC
79
+ *
80
+ * This source code is licensed under the ISC license.
81
+ * See the LICENSE file in the root directory of this source tree.
82
+ */
83
+ const __iconData$8 = {
84
+ name: "credit-card",
85
+ size: 24,
86
+ node: [["rect", {
87
+ width: "20",
88
+ height: "14",
89
+ x: "2",
90
+ y: "5",
91
+ rx: "2",
92
+ key: "ynyp8z"
93
+ }], ["line", {
94
+ x1: "2",
95
+ x2: "22",
96
+ y1: "10",
97
+ y2: "10",
98
+ key: "1b3vmo"
99
+ }]]
100
+ };
101
+ __iconData$8.node;
102
+ const CreditCard = createLucideIcon(__iconData$8);
103
+ //#endregion
52
104
  //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/house.mjs
53
105
  /**
54
106
  * @license lucide-react v1.43.0 - ISC
@@ -56,7 +108,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
56
108
  * This source code is licensed under the ISC license.
57
109
  * See the LICENSE file in the root directory of this source tree.
58
110
  */
59
- const __iconData$2 = {
111
+ const __iconData$7 = {
60
112
  name: "house",
61
113
  size: 24,
62
114
  node: [["path", {
@@ -68,8 +120,72 @@ const __iconData$2 = {
68
120
  }]],
69
121
  aliases: ["home"]
70
122
  };
71
- __iconData$2.node;
72
- const House = createLucideIcon(__iconData$2);
123
+ __iconData$7.node;
124
+ const House = createLucideIcon(__iconData$7);
125
+ //#endregion
126
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/maximize-2.mjs
127
+ /**
128
+ * @license lucide-react v1.43.0 - ISC
129
+ *
130
+ * This source code is licensed under the ISC license.
131
+ * See the LICENSE file in the root directory of this source tree.
132
+ */
133
+ const __iconData$6 = {
134
+ name: "maximize-2",
135
+ size: 24,
136
+ node: [
137
+ ["path", {
138
+ d: "M15 3h6v6",
139
+ key: "1q9fwt"
140
+ }],
141
+ ["path", {
142
+ d: "m21 3-7 7",
143
+ key: "1l2asr"
144
+ }],
145
+ ["path", {
146
+ d: "m3 21 7-7",
147
+ key: "tjx5ai"
148
+ }],
149
+ ["path", {
150
+ d: "M9 21H3v-6",
151
+ key: "wtvkvv"
152
+ }]
153
+ ]
154
+ };
155
+ __iconData$6.node;
156
+ const Maximize2 = createLucideIcon(__iconData$6);
157
+ //#endregion
158
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/minimize-2.mjs
159
+ /**
160
+ * @license lucide-react v1.43.0 - ISC
161
+ *
162
+ * This source code is licensed under the ISC license.
163
+ * See the LICENSE file in the root directory of this source tree.
164
+ */
165
+ const __iconData$5 = {
166
+ name: "minimize-2",
167
+ size: 24,
168
+ node: [
169
+ ["path", {
170
+ d: "m14 10 7-7",
171
+ key: "oa77jy"
172
+ }],
173
+ ["path", {
174
+ d: "M20 10h-6V4",
175
+ key: "mjg0md"
176
+ }],
177
+ ["path", {
178
+ d: "m3 21 7-7",
179
+ key: "tjx5ai"
180
+ }],
181
+ ["path", {
182
+ d: "M4 14h6v6",
183
+ key: "rmj7iw"
184
+ }]
185
+ ]
186
+ };
187
+ __iconData$5.node;
188
+ const Minimize2 = createLucideIcon(__iconData$5);
73
189
  //#endregion
74
190
  //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/send.mjs
75
191
  /**
@@ -78,7 +194,7 @@ const House = createLucideIcon(__iconData$2);
78
194
  * This source code is licensed under the ISC license.
79
195
  * See the LICENSE file in the root directory of this source tree.
80
196
  */
81
- const __iconData$1 = {
197
+ const __iconData$4 = {
82
198
  name: "send",
83
199
  size: 24,
84
200
  node: [["path", {
@@ -89,8 +205,8 @@ const __iconData$1 = {
89
205
  key: "12cjpa"
90
206
  }]]
91
207
  };
92
- __iconData$1.node;
93
- const Send = createLucideIcon(__iconData$1);
208
+ __iconData$4.node;
209
+ const Send = createLucideIcon(__iconData$4);
94
210
  //#endregion
95
211
  //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/settings.mjs
96
212
  /**
@@ -99,7 +215,7 @@ const Send = createLucideIcon(__iconData$1);
99
215
  * This source code is licensed under the ISC license.
100
216
  * See the LICENSE file in the root directory of this source tree.
101
217
  */
102
- const __iconData = {
218
+ const __iconData$3 = {
103
219
  name: "settings",
104
220
  size: 24,
105
221
  node: [["path", {
@@ -112,19 +228,86 @@ const __iconData = {
112
228
  key: "1v7zrd"
113
229
  }]]
114
230
  };
115
- __iconData.node;
116
- const Settings = createLucideIcon(__iconData);
231
+ __iconData$3.node;
232
+ const Settings = createLucideIcon(__iconData$3);
117
233
  //#endregion
118
- //#region ../../node_modules/.bun/react-aria@3.52.1+67f6792bdf102c28/node_modules/react-aria/dist/private/overlays/PortalProvider.mjs
119
- const $72abaeab4d80592f$export$60d741e20e0aa309 = /*#__PURE__*/ createContext({});
120
- function $72abaeab4d80592f$export$78efe591171d7d45(props) {
121
- let { getContainer } = props;
122
- let { getContainer: ctxGetContainer } = $72abaeab4d80592f$export$9fc1347d4195ccb3();
123
- return /*#__PURE__*/ $ahdqC$react.createElement($72abaeab4d80592f$export$60d741e20e0aa309.Provider, { value: { getContainer: getContainer === null ? void 0 : getContainer ?? ctxGetContainer } }, props.children);
124
- }
125
- function $72abaeab4d80592f$export$9fc1347d4195ccb3() {
126
- return useContext($72abaeab4d80592f$export$60d741e20e0aa309) ?? {};
127
- }
234
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/shield-check.mjs
235
+ /**
236
+ * @license lucide-react v1.43.0 - ISC
237
+ *
238
+ * This source code is licensed under the ISC license.
239
+ * See the LICENSE file in the root directory of this source tree.
240
+ */
241
+ const __iconData$2 = {
242
+ name: "shield-check",
243
+ size: 24,
244
+ node: [["path", {
245
+ d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
246
+ key: "oel41y"
247
+ }], ["path", {
248
+ d: "m9 12 2 2 4-4",
249
+ key: "dzmm74"
250
+ }]]
251
+ };
252
+ __iconData$2.node;
253
+ const ShieldCheck = createLucideIcon(__iconData$2);
254
+ //#endregion
255
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/user.mjs
256
+ /**
257
+ * @license lucide-react v1.43.0 - ISC
258
+ *
259
+ * This source code is licensed under the ISC license.
260
+ * See the LICENSE file in the root directory of this source tree.
261
+ */
262
+ const __iconData$1 = {
263
+ name: "user",
264
+ size: 24,
265
+ node: [["path", {
266
+ d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",
267
+ key: "975kel"
268
+ }], ["circle", {
269
+ cx: "12",
270
+ cy: "7",
271
+ r: "4",
272
+ key: "17ys0d"
273
+ }]]
274
+ };
275
+ __iconData$1.node;
276
+ const User = createLucideIcon(__iconData$1);
277
+ //#endregion
278
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/users.mjs
279
+ /**
280
+ * @license lucide-react v1.43.0 - ISC
281
+ *
282
+ * This source code is licensed under the ISC license.
283
+ * See the LICENSE file in the root directory of this source tree.
284
+ */
285
+ const __iconData = {
286
+ name: "users",
287
+ size: 24,
288
+ node: [
289
+ ["path", {
290
+ d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",
291
+ key: "1yyitq"
292
+ }],
293
+ ["path", {
294
+ d: "M16 3.128a4 4 0 0 1 0 7.744",
295
+ key: "16gr8j"
296
+ }],
297
+ ["path", {
298
+ d: "M22 21v-2a4 4 0 0 0-3-3.87",
299
+ key: "kshegd"
300
+ }],
301
+ ["circle", {
302
+ cx: "9",
303
+ cy: "7",
304
+ r: "4",
305
+ key: "nufk8"
306
+ }]
307
+ ]
308
+ };
309
+ __iconData.node;
310
+ const Users = createLucideIcon(__iconData);
128
311
  //#endregion
129
312
  //#region src/configurator/inspector/token-classes.ts
130
313
  /** Tailwind breakpoints from the Atlas base theme, in rem. */
@@ -2006,275 +2189,1095 @@ const teamSizes = [
2006
2189
  label: "51+ people"
2007
2190
  }
2008
2191
  ];
2009
- /** A basic form, so input, label, helper text and focus styles can be judged in context. */
2010
- function DemoRequestForm() {
2011
- const $ = c(10);
2012
- const [teamSize, setTeamSize] = useState("medium");
2013
- let t0;
2014
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2015
- t0 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Request a demo" }), /* @__PURE__ */ jsx("p", {
2016
- className: "studio-layout-muted",
2017
- children: "We will get back to you within one business day."
2018
- })] });
2019
- $[0] = t0;
2020
- } else t0 = $[0];
2192
+ const navLinks = [
2193
+ "Dashboard",
2194
+ "Projects",
2195
+ "Team",
2196
+ "Settings"
2197
+ ];
2198
+ /** The app's top navigation: brand, page links, search, notifications and the signed-in user. */
2199
+ function NavigationBar(t0) {
2200
+ const $ = c(8);
2201
+ const { active } = t0;
2021
2202
  let t1;
2022
- let t2;
2023
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
2024
- t1 = /* @__PURE__ */ jsx(Input, {
2025
- label: "Full name",
2026
- placeholder: "Jane Doe"
2027
- });
2028
- t2 = /* @__PURE__ */ jsx(Input, {
2029
- label: "Work email",
2030
- placeholder: "jane@company.com",
2031
- isRequired: true
2203
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2204
+ t1 = /* @__PURE__ */ jsxs("span", {
2205
+ className: "studio-layout-brand",
2206
+ children: [/* @__PURE__ */ jsx("span", {
2207
+ "aria-hidden": "true",
2208
+ children: "A"
2209
+ }), "Acme"]
2032
2210
  });
2033
- $[1] = t1;
2211
+ $[0] = t1;
2212
+ } else t1 = $[0];
2213
+ let t2;
2214
+ if ($[1] !== active) {
2215
+ t2 = navLinks.map((link) => /* @__PURE__ */ jsx(Button, {
2216
+ size: "s",
2217
+ variant: link === active ? "subtle" : "ghost",
2218
+ "aria-current": link === active ? "page" : void 0,
2219
+ children: link
2220
+ }, link));
2221
+ $[1] = active;
2034
2222
  $[2] = t2;
2035
- } else {
2036
- t1 = $[1];
2037
- t2 = $[2];
2038
- }
2223
+ } else t2 = $[2];
2039
2224
  let t3;
2040
- if ($[3] !== teamSize) {
2041
- t3 = /* @__PURE__ */ jsx(Select, {
2042
- label: "Team size",
2043
- placeholder: "Select team size",
2044
- items: teamSizes,
2045
- value: teamSize,
2046
- onChange: setTeamSize
2225
+ if ($[3] !== t2) {
2226
+ t3 = /* @__PURE__ */ jsx("nav", {
2227
+ "aria-label": "Main",
2228
+ className: "studio-layout-nav-links",
2229
+ children: t2
2047
2230
  });
2048
- $[3] = teamSize;
2231
+ $[3] = t2;
2049
2232
  $[4] = t3;
2050
2233
  } else t3 = $[4];
2051
2234
  let t4;
2052
2235
  if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
2053
- t4 = /* @__PURE__ */ jsx("div", {
2054
- className: "studio-layout-form-wide",
2055
- children: /* @__PURE__ */ jsx(TextArea, {
2056
- label: "Message",
2057
- placeholder: "What would you like to see?",
2058
- helperText: "Optional, up to 500 characters."
2059
- })
2236
+ t4 = /* @__PURE__ */ jsxs("div", {
2237
+ className: "studio-layout-nav-actions",
2238
+ children: [
2239
+ /* @__PURE__ */ jsx(Input, {
2240
+ label: "Search",
2241
+ hideLabel: true,
2242
+ placeholder: "Search",
2243
+ size: "small",
2244
+ leadingIcon: Search
2245
+ }),
2246
+ /* @__PURE__ */ jsx(IconButton, {
2247
+ icon: Bell,
2248
+ label: "Notifications",
2249
+ variant: "subtle",
2250
+ size: "sm"
2251
+ }),
2252
+ /* @__PURE__ */ jsx("span", {
2253
+ className: "studio-layout-nav-avatar",
2254
+ "aria-label": "Jane Doe",
2255
+ children: "JD"
2256
+ })
2257
+ ]
2060
2258
  });
2061
2259
  $[5] = t4;
2062
2260
  } else t4 = $[5];
2063
2261
  let t5;
2064
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
2065
- t5 = /* @__PURE__ */ jsx(Checkbox, {
2066
- defaultSelected: true,
2067
- children: "Send me product updates"
2068
- });
2069
- $[6] = t5;
2070
- } else t5 = $[6];
2071
- let t6;
2072
- if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
2073
- t6 = /* @__PURE__ */ jsxs("div", {
2074
- className: "studio-layout-form-footer",
2075
- children: [t5, /* @__PURE__ */ jsxs("div", {
2076
- className: "studio-layout-form-actions",
2077
- children: [/* @__PURE__ */ jsx(Button, {
2078
- size: "s",
2079
- variant: "ghost",
2080
- children: "Cancel"
2081
- }), /* @__PURE__ */ jsx(Button, {
2082
- size: "s",
2083
- type: "submit",
2084
- children: "Request demo"
2085
- })]
2086
- })]
2087
- });
2088
- $[7] = t6;
2089
- } else t6 = $[7];
2090
- let t7;
2091
- if ($[8] !== t3) {
2092
- t7 = /* @__PURE__ */ jsxs("article", {
2093
- className: "studio-layout-card is-form",
2094
- children: [t0, /* @__PURE__ */ jsxs("form", {
2095
- className: "studio-layout-form",
2096
- onSubmit: _temp,
2097
- children: [
2098
- t1,
2099
- t2,
2100
- t3,
2101
- t4,
2102
- t6
2103
- ]
2104
- })]
2262
+ if ($[6] !== t3) {
2263
+ t5 = /* @__PURE__ */ jsxs("header", {
2264
+ className: "studio-layout-nav",
2265
+ children: [
2266
+ t1,
2267
+ t3,
2268
+ t4
2269
+ ]
2105
2270
  });
2106
- $[8] = t3;
2107
- $[9] = t7;
2108
- } else t7 = $[9];
2109
- return t7;
2110
- }
2111
- /**
2112
- * Small product cards built only from theme tokens and Povio UI components, so palette, typography, radius and
2113
- * component changes can be judged in a realistic composition rather than component by component.
2114
- */
2115
- function _temp(event) {
2116
- return event.preventDefault();
2271
+ $[6] = t3;
2272
+ $[7] = t5;
2273
+ } else t5 = $[7];
2274
+ return t5;
2117
2275
  }
2118
- function LayoutPreview() {
2119
- const $ = c(13);
2276
+ const stats = [
2277
+ {
2278
+ label: "Revenue",
2279
+ value: "€48,200",
2280
+ trend: "+8.2%"
2281
+ },
2282
+ {
2283
+ label: "Active projects",
2284
+ value: "24",
2285
+ trend: "+3"
2286
+ },
2287
+ {
2288
+ label: "New sign-ups",
2289
+ value: "312",
2290
+ trend: "+12%"
2291
+ },
2292
+ {
2293
+ label: "Churn",
2294
+ value: "1.8%",
2295
+ trend: "−0.4%"
2296
+ }
2297
+ ];
2298
+ const projects = [
2299
+ {
2300
+ name: "Onboarding redesign",
2301
+ owner: "Ada Lovelace",
2302
+ status: "Active",
2303
+ updated: "2 hours ago",
2304
+ budget: "€12,400"
2305
+ },
2306
+ {
2307
+ name: "Billing migration",
2308
+ owner: "Alan Turing",
2309
+ status: "Review",
2310
+ updated: "Yesterday",
2311
+ budget: "€8,900"
2312
+ },
2313
+ {
2314
+ name: "Mobile app 2.0",
2315
+ owner: "Grace Hopper",
2316
+ status: "Active",
2317
+ updated: "3 days ago",
2318
+ budget: "€21,000"
2319
+ },
2320
+ {
2321
+ name: "Design tokens",
2322
+ owner: "Linus Torvalds",
2323
+ status: "Blocked",
2324
+ updated: "Last week",
2325
+ budget: "€4,300"
2326
+ },
2327
+ {
2328
+ name: "Analytics dashboard",
2329
+ owner: "Margaret Hamilton",
2330
+ status: "Review",
2331
+ updated: "Last week",
2332
+ budget: "€9,750"
2333
+ }
2334
+ ];
2335
+ const statusColor = {
2336
+ Active: "primary",
2337
+ Review: "secondary",
2338
+ Blocked: "error"
2339
+ };
2340
+ const projectColumns = [
2341
+ {
2342
+ accessorKey: "name",
2343
+ header: "Project",
2344
+ enableSorting: false
2345
+ },
2346
+ {
2347
+ accessorKey: "owner",
2348
+ header: "Owner",
2349
+ enableSorting: false
2350
+ },
2351
+ {
2352
+ accessorKey: "status",
2353
+ header: "Status",
2354
+ enableSorting: false,
2355
+ cell: ({ row }) => /* @__PURE__ */ jsx(Badge, {
2356
+ color: statusColor[row.original.status],
2357
+ children: row.original.status
2358
+ })
2359
+ },
2360
+ {
2361
+ accessorKey: "updated",
2362
+ header: "Updated",
2363
+ enableSorting: false
2364
+ },
2365
+ {
2366
+ accessorKey: "budget",
2367
+ header: "Budget",
2368
+ enableSorting: false
2369
+ }
2370
+ ];
2371
+ /** A dashboard: navigation, KPI tiles, a project table with status badges and pagination. */
2372
+ function DashboardScreen() {
2373
+ const $ = c(9);
2374
+ const [page, setPage] = useState(1);
2375
+ const [pageSize, setPageSize] = useState(10);
2120
2376
  let t0;
2121
2377
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2122
- t0 = /* @__PURE__ */ jsx("h3", { children: "Layouts" });
2378
+ t0 = /* @__PURE__ */ jsx(NavigationBar, { active: "Dashboard" });
2123
2379
  $[0] = t0;
2124
2380
  } else t0 = $[0];
2125
2381
  let t1;
2126
- let t2;
2127
2382
  if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
2128
- t1 = /* @__PURE__ */ jsx("p", {
2129
- className: "studio-layout-label",
2130
- children: "Sprint 24"
2131
- });
2132
- t2 = /* @__PURE__ */ jsx("h4", { children: "Redesign onboarding flow" });
2383
+ t1 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Dashboard" }), /* @__PURE__ */ jsx("p", {
2384
+ className: "studio-layout-muted",
2385
+ children: "An overview of your team's projects this month."
2386
+ })] });
2133
2387
  $[1] = t1;
2134
- $[2] = t2;
2388
+ } else t1 = $[1];
2389
+ let t2;
2390
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
2391
+ t2 = /* @__PURE__ */ jsxs("div", {
2392
+ className: "studio-layout-screen-heading",
2393
+ children: [t1, /* @__PURE__ */ jsxs("div", {
2394
+ className: "studio-layout-form-actions",
2395
+ children: [/* @__PURE__ */ jsx(Button, {
2396
+ size: "default",
2397
+ variant: "outlined",
2398
+ children: "Default button"
2399
+ }), /* @__PURE__ */ jsx(Button, {
2400
+ size: "default",
2401
+ children: "Default button"
2402
+ })]
2403
+ })]
2404
+ });
2405
+ $[2] = t2;
2406
+ } else t2 = $[2];
2407
+ let t3;
2408
+ let t4;
2409
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
2410
+ t3 = /* @__PURE__ */ jsx("div", {
2411
+ className: "studio-layout-stats",
2412
+ children: stats.map(_temp)
2413
+ });
2414
+ t4 = /* @__PURE__ */ jsx(Table, {
2415
+ items: projects,
2416
+ columns: projectColumns
2417
+ });
2418
+ $[3] = t3;
2419
+ $[4] = t4;
2420
+ } else {
2421
+ t3 = $[3];
2422
+ t4 = $[4];
2423
+ }
2424
+ let t5;
2425
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
2426
+ t5 = (size) => {
2427
+ setPageSize(size);
2428
+ setPage(1);
2429
+ };
2430
+ $[5] = t5;
2431
+ } else t5 = $[5];
2432
+ let t6;
2433
+ if ($[6] !== page || $[7] !== pageSize) {
2434
+ t6 = /* @__PURE__ */ jsxs("article", {
2435
+ className: "studio-layout-card is-screen",
2436
+ children: [
2437
+ t0,
2438
+ t2,
2439
+ t3,
2440
+ t4,
2441
+ /* @__PURE__ */ jsx(Pagination, {
2442
+ page,
2443
+ pageSize,
2444
+ totalItems: 42,
2445
+ hideFirstLast: true,
2446
+ onPageChange: setPage,
2447
+ onPageSizeChange: t5
2448
+ })
2449
+ ]
2450
+ });
2451
+ $[6] = page;
2452
+ $[7] = pageSize;
2453
+ $[8] = t6;
2454
+ } else t6 = $[8];
2455
+ return t6;
2456
+ }
2457
+ /** A sign-in screen: centered form with email, password, remember me, a primary and a secondary action. */
2458
+ function _temp(t0) {
2459
+ const { label, value, trend } = t0;
2460
+ return /* @__PURE__ */ jsxs("div", {
2461
+ className: "studio-layout-stat",
2462
+ children: [
2463
+ /* @__PURE__ */ jsx("span", {
2464
+ className: "studio-layout-label",
2465
+ children: label
2466
+ }),
2467
+ /* @__PURE__ */ jsx("span", {
2468
+ className: "studio-layout-amount",
2469
+ children: value
2470
+ }),
2471
+ /* @__PURE__ */ jsx("span", {
2472
+ className: "studio-layout-trend",
2473
+ children: trend
2474
+ })
2475
+ ]
2476
+ }, label);
2477
+ }
2478
+ function LoginScreen() {
2479
+ const $ = c(9);
2480
+ let t0;
2481
+ let t1;
2482
+ let t2;
2483
+ let t3;
2484
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2485
+ t0 = /* @__PURE__ */ jsxs("span", {
2486
+ className: "studio-layout-brand",
2487
+ children: [/* @__PURE__ */ jsx("span", {
2488
+ "aria-hidden": "true",
2489
+ children: "A"
2490
+ }), "Acme"]
2491
+ });
2492
+ t1 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Sign in to your account" }), /* @__PURE__ */ jsx("p", {
2493
+ className: "studio-layout-muted",
2494
+ children: "Welcome back. Enter your details to continue."
2495
+ })] });
2496
+ t2 = /* @__PURE__ */ jsx(Input, {
2497
+ label: "Email",
2498
+ placeholder: "jane@company.com",
2499
+ type: "email",
2500
+ size: "default"
2501
+ });
2502
+ t3 = /* @__PURE__ */ jsx(PasswordInput, {
2503
+ label: "Password",
2504
+ placeholder: "••••••••",
2505
+ size: "default"
2506
+ });
2507
+ $[0] = t0;
2508
+ $[1] = t1;
2509
+ $[2] = t2;
2510
+ $[3] = t3;
2511
+ } else {
2512
+ t0 = $[0];
2513
+ t1 = $[1];
2514
+ t2 = $[2];
2515
+ t3 = $[3];
2516
+ }
2517
+ let t4;
2518
+ let t5;
2519
+ let t6;
2520
+ let t7;
2521
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
2522
+ t4 = /* @__PURE__ */ jsxs("div", {
2523
+ className: "studio-layout-login-row",
2524
+ children: [/* @__PURE__ */ jsx(Checkbox, { children: "Remember me" }), /* @__PURE__ */ jsx(Link, {
2525
+ href: "#",
2526
+ children: "Forgot password?"
2527
+ })]
2528
+ });
2529
+ t5 = /* @__PURE__ */ jsx(Button, {
2530
+ size: "default",
2531
+ type: "submit",
2532
+ fullWidth: true,
2533
+ children: "Default button"
2534
+ });
2535
+ t6 = /* @__PURE__ */ jsx("span", {
2536
+ className: "studio-layout-login-divider",
2537
+ children: "or"
2538
+ });
2539
+ t7 = /* @__PURE__ */ jsx(Button, {
2540
+ size: "default",
2541
+ variant: "outlined",
2542
+ fullWidth: true,
2543
+ children: "Default button"
2544
+ });
2545
+ $[4] = t4;
2546
+ $[5] = t5;
2547
+ $[6] = t6;
2548
+ $[7] = t7;
2549
+ } else {
2550
+ t4 = $[4];
2551
+ t5 = $[5];
2552
+ t6 = $[6];
2553
+ t7 = $[7];
2554
+ }
2555
+ let t8;
2556
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
2557
+ t8 = /* @__PURE__ */ jsx("article", {
2558
+ className: "studio-layout-card is-screen is-login",
2559
+ children: /* @__PURE__ */ jsxs("form", {
2560
+ className: "studio-layout-login",
2561
+ onSubmit: _temp2,
2562
+ children: [
2563
+ t0,
2564
+ t1,
2565
+ t2,
2566
+ t3,
2567
+ t4,
2568
+ t5,
2569
+ t6,
2570
+ t7,
2571
+ /* @__PURE__ */ jsxs("p", {
2572
+ className: "studio-layout-muted studio-layout-login-footer",
2573
+ children: ["Don't have an account? ", /* @__PURE__ */ jsx(Link, {
2574
+ href: "#",
2575
+ children: "Sign up"
2576
+ })]
2577
+ })
2578
+ ]
2579
+ })
2580
+ });
2581
+ $[8] = t8;
2582
+ } else t8 = $[8];
2583
+ return t8;
2584
+ }
2585
+ function _temp2(event) {
2586
+ return event.preventDefault();
2587
+ }
2588
+ const settingsMenu = [
2589
+ {
2590
+ label: "Profile",
2591
+ icon: User,
2592
+ active: true
2593
+ },
2594
+ {
2595
+ label: "Team",
2596
+ icon: Users
2597
+ },
2598
+ {
2599
+ label: "Notifications",
2600
+ icon: Bell
2601
+ },
2602
+ {
2603
+ label: "Billing",
2604
+ icon: CreditCard
2605
+ },
2606
+ {
2607
+ label: "Security",
2608
+ icon: ShieldCheck
2609
+ }
2610
+ ];
2611
+ const roles = [
2612
+ {
2613
+ id: "designer",
2614
+ label: "Designer"
2615
+ },
2616
+ {
2617
+ id: "developer",
2618
+ label: "Developer"
2619
+ },
2620
+ {
2621
+ id: "manager",
2622
+ label: "Product manager"
2623
+ }
2624
+ ];
2625
+ /**
2626
+ * A settings page: a navigation menu built from the dropdown menu's item classes (so list tokens apply) beside a
2627
+ * profile form with an image drop zone, text fields, a select, a switch and default buttons.
2628
+ */
2629
+ function SettingsPage() {
2630
+ const $ = c(25);
2631
+ const menuCva = UIOverrides.useCva("dropdownMenu.cva", dropdownMenuDefinition);
2632
+ const menuItemCva = UIOverrides.useCva("dropdownMenu.itemCva", menuItemDefinition);
2633
+ const [role, setRole] = useState("designer");
2634
+ let t0;
2635
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2636
+ t0 = /* @__PURE__ */ jsx(NavigationBar, { active: "Settings" });
2637
+ $[0] = t0;
2638
+ } else t0 = $[0];
2639
+ let t1;
2640
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
2641
+ t1 = {
2642
+ id: "home",
2643
+ label: "Home",
2644
+ link: { href: "#" }
2645
+ };
2646
+ $[1] = t1;
2647
+ } else t1 = $[1];
2648
+ let t2;
2649
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
2650
+ t2 = /* @__PURE__ */ jsx(Breadcrumbs, { items: [
2651
+ t1,
2652
+ {
2653
+ id: "settings",
2654
+ label: "Settings",
2655
+ link: { href: "#" }
2656
+ },
2657
+ {
2658
+ id: "profile",
2659
+ label: "Profile"
2660
+ }
2661
+ ] });
2662
+ $[2] = t2;
2663
+ } else t2 = $[2];
2664
+ let t3;
2665
+ if ($[3] !== menuCva) {
2666
+ t3 = menuCva({ isMobile: false });
2667
+ $[3] = menuCva;
2668
+ $[4] = t3;
2669
+ } else t3 = $[4];
2670
+ const t4 = `studio-layout-menu ${t3}`;
2671
+ let t5;
2672
+ if ($[5] !== menuItemCva) {
2673
+ t5 = settingsMenu.map((t6) => {
2674
+ const { label, icon: Icon, active } = t6;
2675
+ return /* @__PURE__ */ jsx("button", {
2676
+ type: "button",
2677
+ "aria-current": active ? "page" : void 0,
2678
+ className: menuItemCva({ isMobile: false }),
2679
+ children: /* @__PURE__ */ jsxs("span", {
2680
+ className: "studio-layout-menu-label",
2681
+ children: [/* @__PURE__ */ jsx(Icon, {
2682
+ size: 16,
2683
+ "aria-hidden": "true"
2684
+ }), label]
2685
+ })
2686
+ }, label);
2687
+ });
2688
+ $[5] = menuItemCva;
2689
+ $[6] = t5;
2690
+ } else t5 = $[6];
2691
+ let t6;
2692
+ if ($[7] !== t4 || $[8] !== t5) {
2693
+ t6 = /* @__PURE__ */ jsx("nav", {
2694
+ "aria-label": "Settings",
2695
+ className: t4,
2696
+ children: t5
2697
+ });
2698
+ $[7] = t4;
2699
+ $[8] = t5;
2700
+ $[9] = t6;
2701
+ } else t6 = $[9];
2702
+ let t7;
2703
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
2704
+ t7 = /* @__PURE__ */ jsxs("div", {
2705
+ className: "studio-layout-form-wide",
2706
+ children: [/* @__PURE__ */ jsx("h4", { children: "Profile" }), /* @__PURE__ */ jsx("p", {
2707
+ className: "studio-layout-muted",
2708
+ children: "This is how others see you across shared projects."
2709
+ })]
2710
+ });
2711
+ $[10] = t7;
2712
+ } else t7 = $[10];
2713
+ let t10;
2714
+ let t8;
2715
+ let t9;
2716
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
2717
+ t8 = /* @__PURE__ */ jsx("div", {
2718
+ className: "studio-layout-form-wide",
2719
+ children: /* @__PURE__ */ jsx(FileUpload, {
2720
+ label: "Profile photo",
2721
+ helperText: "Drop an image here (JPEG, PNG, WEBP), up to 5 MB.",
2722
+ acceptedFileTypes: [
2723
+ "image/jpeg",
2724
+ "image/png",
2725
+ "image/webp"
2726
+ ],
2727
+ variant: "horizontal"
2728
+ })
2729
+ });
2730
+ t9 = /* @__PURE__ */ jsx(Input, {
2731
+ label: "Display name",
2732
+ placeholder: "Jane Doe"
2733
+ });
2734
+ t10 = /* @__PURE__ */ jsx(Input, {
2735
+ label: "Email",
2736
+ placeholder: "jane@company.com",
2737
+ type: "email"
2738
+ });
2739
+ $[11] = t10;
2740
+ $[12] = t8;
2741
+ $[13] = t9;
2742
+ } else {
2743
+ t10 = $[11];
2744
+ t8 = $[12];
2745
+ t9 = $[13];
2746
+ }
2747
+ let t11;
2748
+ if ($[14] !== role) {
2749
+ t11 = /* @__PURE__ */ jsx(Select, {
2750
+ label: "Role",
2751
+ items: roles,
2752
+ value: role,
2753
+ onChange: setRole
2754
+ });
2755
+ $[14] = role;
2756
+ $[15] = t11;
2757
+ } else t11 = $[15];
2758
+ let t12;
2759
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
2760
+ t12 = /* @__PURE__ */ jsx(Input, {
2761
+ label: "Location",
2762
+ placeholder: "Ljubljana, Slovenia"
2763
+ });
2764
+ $[16] = t12;
2765
+ } else t12 = $[16];
2766
+ let t13;
2767
+ if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
2768
+ t13 = /* @__PURE__ */ jsx("div", {
2769
+ className: "studio-layout-form-wide",
2770
+ children: /* @__PURE__ */ jsx(TextArea, {
2771
+ label: "Bio",
2772
+ placeholder: "A few words about you",
2773
+ helperText: "Shown on your public profile."
2774
+ })
2775
+ });
2776
+ $[17] = t13;
2777
+ } else t13 = $[17];
2778
+ let t14;
2779
+ if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
2780
+ t14 = /* @__PURE__ */ jsx(Switch, {
2781
+ defaultSelected: true,
2782
+ children: "Public profile"
2783
+ });
2784
+ $[18] = t14;
2785
+ } else t14 = $[18];
2786
+ let t15;
2787
+ if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
2788
+ t15 = /* @__PURE__ */ jsxs("div", {
2789
+ className: "studio-layout-form-footer",
2790
+ children: [t14, /* @__PURE__ */ jsxs("div", {
2791
+ className: "studio-layout-form-actions",
2792
+ children: [/* @__PURE__ */ jsx(Button, {
2793
+ size: "default",
2794
+ variant: "outlined",
2795
+ children: "Default button"
2796
+ }), /* @__PURE__ */ jsx(Button, {
2797
+ size: "default",
2798
+ type: "submit",
2799
+ children: "Default button"
2800
+ })]
2801
+ })]
2802
+ });
2803
+ $[19] = t15;
2804
+ } else t15 = $[19];
2805
+ let t16;
2806
+ if ($[20] !== t11) {
2807
+ t16 = /* @__PURE__ */ jsxs("form", {
2808
+ className: "studio-layout-form",
2809
+ onSubmit: _temp3,
2810
+ children: [
2811
+ t7,
2812
+ t8,
2813
+ t9,
2814
+ t10,
2815
+ t11,
2816
+ t12,
2817
+ t13,
2818
+ t15
2819
+ ]
2820
+ });
2821
+ $[20] = t11;
2822
+ $[21] = t16;
2823
+ } else t16 = $[21];
2824
+ let t17;
2825
+ if ($[22] !== t16 || $[23] !== t6) {
2826
+ t17 = /* @__PURE__ */ jsxs("article", {
2827
+ className: "studio-layout-card is-settings",
2828
+ children: [
2829
+ t0,
2830
+ t2,
2831
+ /* @__PURE__ */ jsxs("div", {
2832
+ className: "studio-layout-settings",
2833
+ children: [t6, t16]
2834
+ })
2835
+ ]
2836
+ });
2837
+ $[22] = t16;
2838
+ $[23] = t6;
2839
+ $[24] = t17;
2840
+ } else t17 = $[24];
2841
+ return t17;
2842
+ }
2843
+ /**
2844
+ * Opens a real Dialog, so its enter and exit animation can be judged. It is portaled into the preview rather than the
2845
+ * page body, so it uses the draft tokens and the preview's color mode.
2846
+ */
2847
+ function _temp3(event) {
2848
+ return event.preventDefault();
2849
+ }
2850
+ function ModalCard() {
2851
+ const $ = c(10);
2852
+ const [isOpen, setIsOpen] = useState(false);
2853
+ const portalRef = useRef(null);
2854
+ let t0;
2855
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2856
+ t0 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Modal" }), /* @__PURE__ */ jsx("p", {
2857
+ className: "studio-layout-muted",
2858
+ children: "Opens a real dialog with its enter and exit animation."
2859
+ })] });
2860
+ $[0] = t0;
2861
+ } else t0 = $[0];
2862
+ let t1;
2863
+ let t2;
2864
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
2865
+ t1 = /* @__PURE__ */ jsx(Button, {
2866
+ size: "default",
2867
+ onPress: () => setIsOpen(true),
2868
+ children: "Open modal"
2869
+ });
2870
+ t2 = /* @__PURE__ */ jsx("div", { ref: portalRef });
2871
+ $[1] = t1;
2872
+ $[2] = t2;
2873
+ } else {
2874
+ t1 = $[1];
2875
+ t2 = $[2];
2876
+ }
2877
+ let t3;
2878
+ let t4;
2879
+ let t5;
2880
+ let t6;
2881
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
2882
+ t3 = (event) => {
2883
+ event.preventDefault();
2884
+ setIsOpen(false);
2885
+ };
2886
+ t4 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Create project" }), /* @__PURE__ */ jsx("p", {
2887
+ className: "studio-layout-muted",
2888
+ children: "Projects group tasks, files and people around one goal."
2889
+ })] });
2890
+ t5 = /* @__PURE__ */ jsx(Input, {
2891
+ label: "Project name",
2892
+ placeholder: "Website relaunch",
2893
+ size: "default"
2894
+ });
2895
+ t6 = /* @__PURE__ */ jsx(TextArea, {
2896
+ label: "Description",
2897
+ placeholder: "What is this project about?"
2898
+ });
2899
+ $[3] = t3;
2900
+ $[4] = t4;
2901
+ $[5] = t5;
2902
+ $[6] = t6;
2903
+ } else {
2904
+ t3 = $[3];
2905
+ t4 = $[4];
2906
+ t5 = $[5];
2907
+ t6 = $[6];
2908
+ }
2909
+ let t7;
2910
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
2911
+ t7 = /* @__PURE__ */ jsxs("form", {
2912
+ className: "studio-layout-modal",
2913
+ onSubmit: t3,
2914
+ children: [
2915
+ t4,
2916
+ t5,
2917
+ t6,
2918
+ /* @__PURE__ */ jsxs("div", {
2919
+ className: "studio-layout-modal-actions",
2920
+ children: [/* @__PURE__ */ jsx(Button, {
2921
+ size: "default",
2922
+ variant: "outlined",
2923
+ onPress: () => setIsOpen(false),
2924
+ children: "Default button"
2925
+ }), /* @__PURE__ */ jsx(Button, {
2926
+ size: "default",
2927
+ type: "submit",
2928
+ children: "Default button"
2929
+ })]
2930
+ })
2931
+ ]
2932
+ });
2933
+ $[7] = t7;
2934
+ } else t7 = $[7];
2935
+ let t8;
2936
+ if ($[8] !== isOpen) {
2937
+ t8 = /* @__PURE__ */ jsxs("article", {
2938
+ className: "studio-layout-card is-modal",
2939
+ children: [
2940
+ t0,
2941
+ t1,
2942
+ t2,
2943
+ /* @__PURE__ */ jsx(Dialog, {
2944
+ isOpen,
2945
+ onOpenChange: setIsOpen,
2946
+ portalContainerRef: portalRef,
2947
+ showCloseIcon: true,
2948
+ "aria-label": "Create project",
2949
+ children: t7
2950
+ })
2951
+ ]
2952
+ });
2953
+ $[8] = isOpen;
2954
+ $[9] = t8;
2955
+ } else t8 = $[9];
2956
+ return t8;
2957
+ }
2958
+ /** Default-size inputs and buttons side by side, so control heights can be compared while sizing changes. */
2959
+ function InviteCard() {
2960
+ const $ = c(3);
2961
+ let t0;
2962
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2963
+ t0 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Invite your team" }), /* @__PURE__ */ jsx("p", {
2964
+ className: "studio-layout-muted",
2965
+ children: "Teammates get access to every shared project."
2966
+ })] });
2967
+ $[0] = t0;
2968
+ } else t0 = $[0];
2969
+ let t1;
2970
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
2971
+ t1 = /* @__PURE__ */ jsxs("form", {
2972
+ className: "studio-layout-invite",
2973
+ onSubmit: _temp4,
2974
+ children: [/* @__PURE__ */ jsx(Input, {
2975
+ label: "Email address",
2976
+ placeholder: "name@company.com",
2977
+ type: "email",
2978
+ size: "default"
2979
+ }), /* @__PURE__ */ jsx(Button, {
2980
+ size: "default",
2981
+ type: "submit",
2982
+ children: "Default button"
2983
+ })]
2984
+ });
2985
+ $[1] = t1;
2986
+ } else t1 = $[1];
2987
+ let t2;
2988
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
2989
+ t2 = /* @__PURE__ */ jsxs("article", {
2990
+ className: "studio-layout-card is-invite",
2991
+ children: [
2992
+ t0,
2993
+ t1,
2994
+ /* @__PURE__ */ jsxs("div", {
2995
+ className: "studio-layout-invite-actions",
2996
+ children: [/* @__PURE__ */ jsx(Button, {
2997
+ size: "default",
2998
+ variant: "outlined",
2999
+ children: "Default button"
3000
+ }), /* @__PURE__ */ jsx(Button, {
3001
+ size: "default",
3002
+ variant: "ghost",
3003
+ children: "Default button"
3004
+ })]
3005
+ })
3006
+ ]
3007
+ });
3008
+ $[2] = t2;
3009
+ } else t2 = $[2];
3010
+ return t2;
3011
+ }
3012
+ /** A basic form, so input, label, helper text and focus styles can be judged in context. */
3013
+ function _temp4(event) {
3014
+ return event.preventDefault();
3015
+ }
3016
+ function DemoRequestForm() {
3017
+ const $ = c(10);
3018
+ const [teamSize, setTeamSize] = useState("medium");
3019
+ let t0;
3020
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3021
+ t0 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Request a demo" }), /* @__PURE__ */ jsx("p", {
3022
+ className: "studio-layout-muted",
3023
+ children: "We will get back to you within one business day."
3024
+ })] });
3025
+ $[0] = t0;
3026
+ } else t0 = $[0];
3027
+ let t1;
3028
+ let t2;
3029
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
3030
+ t1 = /* @__PURE__ */ jsx(Input, {
3031
+ label: "Full name",
3032
+ placeholder: "Jane Doe"
3033
+ });
3034
+ t2 = /* @__PURE__ */ jsx(Input, {
3035
+ label: "Work email",
3036
+ placeholder: "jane@company.com",
3037
+ isRequired: true
3038
+ });
3039
+ $[1] = t1;
3040
+ $[2] = t2;
2135
3041
  } else {
2136
3042
  t1 = $[1];
2137
3043
  t2 = $[2];
2138
3044
  }
2139
3045
  let t3;
2140
- if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
2141
- t3 = /* @__PURE__ */ jsxs("div", {
3046
+ if ($[3] !== teamSize) {
3047
+ t3 = /* @__PURE__ */ jsx(Select, {
3048
+ label: "Team size",
3049
+ placeholder: "Select team size",
3050
+ items: teamSizes,
3051
+ value: teamSize,
3052
+ onChange: setTeamSize
3053
+ });
3054
+ $[3] = teamSize;
3055
+ $[4] = t3;
3056
+ } else t3 = $[4];
3057
+ let t4;
3058
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
3059
+ t4 = /* @__PURE__ */ jsx("div", {
3060
+ className: "studio-layout-form-wide",
3061
+ children: /* @__PURE__ */ jsx(TextArea, {
3062
+ label: "Message",
3063
+ placeholder: "What would you like to see?",
3064
+ helperText: "Optional, up to 500 characters."
3065
+ })
3066
+ });
3067
+ $[5] = t4;
3068
+ } else t4 = $[5];
3069
+ let t5;
3070
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
3071
+ t5 = /* @__PURE__ */ jsx(Checkbox, {
3072
+ defaultSelected: true,
3073
+ children: "Send me product updates"
3074
+ });
3075
+ $[6] = t5;
3076
+ } else t5 = $[6];
3077
+ let t6;
3078
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
3079
+ t6 = /* @__PURE__ */ jsxs("div", {
3080
+ className: "studio-layout-form-footer",
3081
+ children: [t5, /* @__PURE__ */ jsxs("div", {
3082
+ className: "studio-layout-form-actions",
3083
+ children: [/* @__PURE__ */ jsx(Button, {
3084
+ size: "s",
3085
+ variant: "ghost",
3086
+ children: "Small button"
3087
+ }), /* @__PURE__ */ jsx(Button, {
3088
+ size: "s",
3089
+ type: "submit",
3090
+ children: "Small button"
3091
+ })]
3092
+ })]
3093
+ });
3094
+ $[7] = t6;
3095
+ } else t6 = $[7];
3096
+ let t7;
3097
+ if ($[8] !== t3) {
3098
+ t7 = /* @__PURE__ */ jsxs("article", {
3099
+ className: "studio-layout-card is-form",
3100
+ children: [t0, /* @__PURE__ */ jsxs("form", {
3101
+ className: "studio-layout-form",
3102
+ onSubmit: _temp5,
3103
+ children: [
3104
+ t1,
3105
+ t2,
3106
+ t3,
3107
+ t4,
3108
+ t6
3109
+ ]
3110
+ })]
3111
+ });
3112
+ $[8] = t3;
3113
+ $[9] = t7;
3114
+ } else t7 = $[9];
3115
+ return t7;
3116
+ }
3117
+ /**
3118
+ * Small product cards built only from theme tokens and Povio UI components, so palette, typography, radius and
3119
+ * component changes can be judged in a realistic composition rather than component by component.
3120
+ */
3121
+ function _temp5(event) {
3122
+ return event.preventDefault();
3123
+ }
3124
+ function LayoutCards() {
3125
+ const $ = c(12);
3126
+ let t0;
3127
+ let t1;
3128
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3129
+ t0 = /* @__PURE__ */ jsx("p", {
3130
+ className: "studio-layout-label",
3131
+ children: "Sprint 24"
3132
+ });
3133
+ t1 = /* @__PURE__ */ jsx("h4", { children: "Redesign onboarding flow" });
3134
+ $[0] = t0;
3135
+ $[1] = t1;
3136
+ } else {
3137
+ t0 = $[0];
3138
+ t1 = $[1];
3139
+ }
3140
+ let t2;
3141
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
3142
+ t2 = /* @__PURE__ */ jsxs("div", {
2142
3143
  className: "studio-layout-tags",
2143
3144
  children: [/* @__PURE__ */ jsx(Tag, { children: "Design" }), /* @__PURE__ */ jsx(Tag, { children: "Research" })]
2144
3145
  });
3146
+ $[2] = t2;
3147
+ } else t2 = $[2];
3148
+ let t3;
3149
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
3150
+ t3 = /* @__PURE__ */ jsxs("div", {
3151
+ className: "studio-layout-progress",
3152
+ children: [/* @__PURE__ */ jsx("span", { children: "12 of 18 tasks" }), /* @__PURE__ */ jsx(Progress, { progress: 65 })]
3153
+ });
2145
3154
  $[3] = t3;
2146
3155
  } else t3 = $[3];
2147
3156
  let t4;
2148
3157
  if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
2149
- t4 = /* @__PURE__ */ jsxs("div", {
2150
- className: "studio-layout-progress",
2151
- children: [/* @__PURE__ */ jsx("span", { children: "12 of 18 tasks" }), /* @__PURE__ */ jsx(Progress, { progress: 65 })]
2152
- });
2153
- $[4] = t4;
2154
- } else t4 = $[4];
2155
- let t5;
2156
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
2157
- t5 = /* @__PURE__ */ jsxs("article", {
3158
+ t4 = /* @__PURE__ */ jsxs("article", {
2158
3159
  className: "studio-layout-card is-soft",
2159
3160
  children: [
3161
+ t0,
2160
3162
  t1,
2161
3163
  t2,
2162
3164
  t3,
2163
- t4,
2164
3165
  /* @__PURE__ */ jsxs("div", {
2165
3166
  className: "studio-layout-footer",
2166
3167
  children: [/* @__PURE__ */ jsx("div", {
2167
3168
  className: "studio-layout-avatars",
2168
3169
  "aria-label": `${team.length} team members`,
2169
- children: team.map(_temp2)
3170
+ children: team.map(_temp6)
2170
3171
  }), /* @__PURE__ */ jsx(Button, {
2171
3172
  size: "s",
2172
- children: "Open board"
3173
+ children: "Small button"
2173
3174
  })]
2174
3175
  })
2175
3176
  ]
2176
3177
  });
2177
- $[5] = t5;
2178
- } else t5 = $[5];
3178
+ $[4] = t4;
3179
+ } else t4 = $[4];
3180
+ let t5;
2179
3181
  let t6;
2180
3182
  let t7;
2181
- let t8;
2182
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
2183
- t6 = /* @__PURE__ */ jsx("p", {
3183
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
3184
+ t5 = /* @__PURE__ */ jsx("p", {
2184
3185
  className: "studio-layout-label",
2185
3186
  children: "Weekly active users"
2186
3187
  });
2187
- t7 = /* @__PURE__ */ jsx("p", {
3188
+ t6 = /* @__PURE__ */ jsx("p", {
2188
3189
  className: "studio-layout-amount",
2189
3190
  children: "8,420"
2190
3191
  });
2191
- t8 = /* @__PURE__ */ jsx("p", {
3192
+ t7 = /* @__PURE__ */ jsx("p", {
2192
3193
  className: "studio-layout-trend",
2193
3194
  children: "+12% vs last week"
2194
3195
  });
3196
+ $[5] = t5;
2195
3197
  $[6] = t6;
2196
3198
  $[7] = t7;
2197
- $[8] = t8;
2198
3199
  } else {
3200
+ t5 = $[5];
2199
3201
  t6 = $[6];
2200
3202
  t7 = $[7];
2201
- t8 = $[8];
2202
3203
  }
2203
- let t9;
2204
- if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
2205
- t9 = /* @__PURE__ */ jsxs("article", {
3204
+ let t8;
3205
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
3206
+ t8 = /* @__PURE__ */ jsxs("article", {
2206
3207
  className: "studio-layout-card is-stats",
2207
3208
  children: [
3209
+ t5,
2208
3210
  t6,
2209
3211
  t7,
2210
- t8,
2211
3212
  /* @__PURE__ */ jsx("div", {
2212
3213
  className: "studio-layout-chart",
2213
3214
  role: "img",
2214
3215
  "aria-label": "Daily active users for the last seven days",
2215
- children: week.map(_temp3)
3216
+ children: week.map(_temp7)
2216
3217
  })
2217
3218
  ]
2218
3219
  });
3220
+ $[8] = t8;
3221
+ } else t8 = $[8];
3222
+ let t9;
3223
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
3224
+ t9 = /* @__PURE__ */ jsx("p", {
3225
+ className: "studio-layout-label",
3226
+ children: "Pro plan"
3227
+ });
2219
3228
  $[9] = t9;
2220
3229
  } else t9 = $[9];
2221
3230
  let t10;
2222
3231
  if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
2223
- t10 = /* @__PURE__ */ jsx("p", {
2224
- className: "studio-layout-label",
2225
- children: "Pro plan"
3232
+ t10 = /* @__PURE__ */ jsxs("p", {
3233
+ className: "studio-layout-price",
3234
+ children: ["€24", /* @__PURE__ */ jsx("span", { children: "/month" })]
2226
3235
  });
2227
3236
  $[10] = t10;
2228
3237
  } else t10 = $[10];
2229
3238
  let t11;
2230
3239
  if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
2231
- t11 = /* @__PURE__ */ jsxs("p", {
2232
- className: "studio-layout-price",
2233
- children: ["€24", /* @__PURE__ */ jsx("span", { children: "/month" })]
3240
+ t11 = /* @__PURE__ */ jsxs("div", {
3241
+ className: "studio-layout-grid",
3242
+ children: [
3243
+ t4,
3244
+ t8,
3245
+ /* @__PURE__ */ jsxs("article", {
3246
+ className: "studio-layout-card is-bold",
3247
+ children: [
3248
+ t9,
3249
+ t10,
3250
+ /* @__PURE__ */ jsx("ul", {
3251
+ className: "studio-layout-features",
3252
+ children: features.map(_temp8)
3253
+ }),
3254
+ /* @__PURE__ */ jsx(Button, {
3255
+ size: "s",
3256
+ className: "studio-layout-cta",
3257
+ children: "Small button"
3258
+ })
3259
+ ]
3260
+ }),
3261
+ /* @__PURE__ */ jsx(InviteCard, {}),
3262
+ /* @__PURE__ */ jsx(DemoRequestForm, {}),
3263
+ /* @__PURE__ */ jsx(SettingsPage, {}),
3264
+ /* @__PURE__ */ jsx(DashboardScreen, {}),
3265
+ /* @__PURE__ */ jsx(LoginScreen, {}),
3266
+ /* @__PURE__ */ jsx(ModalCard, {})
3267
+ ]
2234
3268
  });
2235
3269
  $[11] = t11;
2236
3270
  } else t11 = $[11];
2237
- let t12;
2238
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
2239
- t12 = /* @__PURE__ */ jsxs("section", {
2240
- className: "studio-gallery-group",
2241
- "aria-label": "Layouts",
2242
- children: [t0, /* @__PURE__ */ jsxs("div", {
2243
- className: "studio-layout-grid",
2244
- children: [
2245
- t5,
2246
- t9,
2247
- /* @__PURE__ */ jsxs("article", {
2248
- className: "studio-layout-card is-bold",
2249
- children: [
2250
- t10,
2251
- t11,
2252
- /* @__PURE__ */ jsx("ul", {
2253
- className: "studio-layout-features",
2254
- children: features.map(_temp4)
2255
- }),
2256
- /* @__PURE__ */ jsx(Button, {
2257
- size: "s",
2258
- className: "studio-layout-cta",
2259
- children: "Upgrade"
2260
- })
2261
- ]
2262
- }),
2263
- /* @__PURE__ */ jsx(DemoRequestForm, {})
2264
- ]
2265
- })]
2266
- });
2267
- $[12] = t12;
2268
- } else t12 = $[12];
2269
- return t12;
3271
+ return t11;
2270
3272
  }
2271
- function _temp4(feature) {
3273
+ /** The layouts at an app's real width, filling the window, so sizes can be judged as they would ship. */
3274
+ function _temp8(feature) {
2272
3275
  return /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsx(Check, {
2273
3276
  size: 13,
2274
3277
  "aria-hidden": "true"
2275
3278
  }), feature] }, feature);
2276
3279
  }
2277
- function _temp3(t0, index) {
3280
+ function _temp7(t0, index) {
2278
3281
  const { day, value } = t0;
2279
3282
  return /* @__PURE__ */ jsxs("div", {
2280
3283
  className: `studio-layout-bar ${index === week.length - 1 ? "is-today" : ""}`,
@@ -2284,9 +3287,143 @@ function _temp3(t0, index) {
2284
3287
  })]
2285
3288
  }, `${day}-${value}`);
2286
3289
  }
2287
- function _temp2(initials) {
3290
+ function _temp6(initials) {
2288
3291
  return /* @__PURE__ */ jsx("span", { children: initials }, initials);
2289
3292
  }
3293
+ function FullScreenLayouts(t0) {
3294
+ const $ = c(12);
3295
+ const { onClose } = t0;
3296
+ const closeRef = useRef(null);
3297
+ let t1;
3298
+ let t2;
3299
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3300
+ t1 = () => closeRef.current?.focus();
3301
+ t2 = [];
3302
+ $[0] = t1;
3303
+ $[1] = t2;
3304
+ } else {
3305
+ t1 = $[0];
3306
+ t2 = $[1];
3307
+ }
3308
+ useEffect(t1, t2);
3309
+ let t3;
3310
+ if ($[2] !== onClose) {
3311
+ t3 = (event) => {
3312
+ if (event.key !== "Escape") return;
3313
+ event.stopPropagation();
3314
+ onClose();
3315
+ };
3316
+ $[2] = onClose;
3317
+ $[3] = t3;
3318
+ } else t3 = $[3];
3319
+ let t4;
3320
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
3321
+ t4 = /* @__PURE__ */ jsx("span", { children: "Layouts · actual size" });
3322
+ $[4] = t4;
3323
+ } else t4 = $[4];
3324
+ let t5;
3325
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
3326
+ t5 = /* @__PURE__ */ jsx(Minimize2, {
3327
+ size: 13,
3328
+ "aria-hidden": "true"
3329
+ });
3330
+ $[5] = t5;
3331
+ } else t5 = $[5];
3332
+ let t6;
3333
+ if ($[6] !== onClose) {
3334
+ t6 = /* @__PURE__ */ jsxs("div", {
3335
+ className: "studio-layout-fullscreen-bar",
3336
+ children: [t4, /* @__PURE__ */ jsxs("button", {
3337
+ ref: closeRef,
3338
+ type: "button",
3339
+ className: "studio-gallery-back",
3340
+ onClick: onClose,
3341
+ children: [t5, "Exit full screen"]
3342
+ })]
3343
+ });
3344
+ $[6] = onClose;
3345
+ $[7] = t6;
3346
+ } else t6 = $[7];
3347
+ let t7;
3348
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
3349
+ t7 = /* @__PURE__ */ jsx("div", {
3350
+ className: "studio-layout-fullscreen-stage",
3351
+ children: /* @__PURE__ */ jsx(LayoutCards, {})
3352
+ });
3353
+ $[8] = t7;
3354
+ } else t7 = $[8];
3355
+ let t8;
3356
+ if ($[9] !== t3 || $[10] !== t6) {
3357
+ t8 = /* @__PURE__ */ jsxs("div", {
3358
+ className: "studio-layout-fullscreen",
3359
+ role: "dialog",
3360
+ "aria-label": "Layouts at full size",
3361
+ onKeyDown: t3,
3362
+ children: [t6, t7]
3363
+ });
3364
+ $[9] = t3;
3365
+ $[10] = t6;
3366
+ $[11] = t8;
3367
+ } else t8 = $[11];
3368
+ return t8;
3369
+ }
3370
+ function LayoutPreview() {
3371
+ const $ = c(7);
3372
+ const [fullScreen, setFullScreen] = useState(false);
3373
+ const openRef = useRef(null);
3374
+ let t0;
3375
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3376
+ t0 = /* @__PURE__ */ jsx("h3", { children: "Layouts" });
3377
+ $[0] = t0;
3378
+ } else t0 = $[0];
3379
+ let t1;
3380
+ let t2;
3381
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
3382
+ t1 = /* @__PURE__ */ jsxs("div", {
3383
+ className: "studio-layout-heading",
3384
+ children: [t0, /* @__PURE__ */ jsxs("button", {
3385
+ ref: openRef,
3386
+ type: "button",
3387
+ className: "studio-gallery-back",
3388
+ onClick: () => setFullScreen(true),
3389
+ children: [/* @__PURE__ */ jsx(Maximize2, {
3390
+ size: 13,
3391
+ "aria-hidden": "true"
3392
+ }), "Full screen"]
3393
+ })]
3394
+ });
3395
+ t2 = /* @__PURE__ */ jsx(LayoutCards, {});
3396
+ $[1] = t1;
3397
+ $[2] = t2;
3398
+ } else {
3399
+ t1 = $[1];
3400
+ t2 = $[2];
3401
+ }
3402
+ let t3;
3403
+ if ($[3] !== fullScreen) {
3404
+ t3 = fullScreen && /* @__PURE__ */ jsx(FullScreenLayouts, { onClose: () => {
3405
+ setFullScreen(false);
3406
+ openRef.current?.focus();
3407
+ } });
3408
+ $[3] = fullScreen;
3409
+ $[4] = t3;
3410
+ } else t3 = $[4];
3411
+ let t4;
3412
+ if ($[5] !== t3) {
3413
+ t4 = /* @__PURE__ */ jsxs("section", {
3414
+ className: "studio-gallery-group",
3415
+ "aria-label": "Layouts",
3416
+ children: [
3417
+ t1,
3418
+ t2,
3419
+ t3
3420
+ ]
3421
+ });
3422
+ $[5] = t3;
3423
+ $[6] = t4;
3424
+ } else t4 = $[6];
3425
+ return t4;
3426
+ }
2290
3427
  //#endregion
2291
3428
  //#region src/configurator/gallery/ComponentGallery.tsx
2292
3429
  /** Keeps portaled overlays (tooltips, popovers) inside the card so they inherit preview tokens and stay in place. */
@@ -2308,7 +3445,7 @@ function PortalHere(t0) {
2308
3445
  } else t2 = $[3];
2309
3446
  let t3;
2310
3447
  if ($[4] !== t1 || $[5] !== t2) {
2311
- t3 = /* @__PURE__ */ jsx($72abaeab4d80592f$export$78efe591171d7d45, {
3448
+ t3 = /* @__PURE__ */ jsx(UNSAFE_PortalProvider, {
2312
3449
  getContainer: t1,
2313
3450
  children: t2
2314
3451
  });