@povio/ui 5.0.0-rc.13 → 5.0.0-rc.15

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 (82) hide show
  1. package/README.md +8 -0
  2. package/dist/{AppCanvasPage-DtWEvs_Y.js → AppCanvasPage-BnyCHO3I.js} +152 -462
  3. package/dist/{AppCanvasPage-BZ2mrKY4.d.ts → AppCanvasPage-U9SxNwjS.d.ts} +1 -1
  4. package/dist/{BottomSheet-BXLE3161.js → BottomSheet-AqYVSMK9.js} +1 -75
  5. package/dist/BottomSheetHeader-Be6Elvs2.js +79 -0
  6. package/dist/{Calendar-DRHruqr_.js → Calendar-1p3VjSED.js} +3 -3
  7. package/dist/{CanvasComponentsFrame-CbgJJv-3.js → CanvasComponentsFrame-Dp0oDDoH.js} +6 -6
  8. package/dist/{UIConfigurator-DekPXjv9.js → CanvasInspector-DdP3mHUY.js} +1707 -522
  9. package/dist/{ComponentGallery-COqEqqN6.js → ComponentGallery-C_rXFvUY.js} +250 -1797
  10. package/dist/{DatePicker-xDEqzNJv.js → DatePicker-CAzuZRmd.js} +6 -6
  11. package/dist/{DatePickerInput-B0fEeCOf.js → DatePickerInput-BeQOVCk0.js} +4 -3
  12. package/dist/{DateRangePicker-DxuVhRaf.js → DateRangePicker-X3mBhfmL.js} +5 -5
  13. package/dist/{DateTimePicker-4N1Pka07.js → DateTimePicker-EtmGtoRe.js} +6 -6
  14. package/dist/{InputItem-Cv19Hwnx.js → InputItem-yC5oMyN-.js} +7 -7
  15. package/dist/{Inputs-D1aE_J9f.js → Inputs-Bd2nRNqk.js} +1 -1
  16. package/dist/{NumberRangeInput-Bzfe-RlV.js → NumberRangeInput-TkPXiWV3.js} +2 -2
  17. package/dist/{RichTextEditor-Bd7F5D8f.js → RichTextEditor-DiaPcBUM.js} +110 -32
  18. package/dist/{Select-CgIhoWgk.js → Select-tNlFSbAC.js} +5 -5
  19. package/dist/{Table-piX1SWvN.js → Table-CgG02oHQ.js} +1 -1
  20. package/dist/{TextArea-uPffb457.js → TextArea-DuvFUjts.js} +1 -1
  21. package/dist/{TimePicker-DN-i98z5.js → TimePicker-CBkiE-Yq.js} +5 -4
  22. package/dist/{TooltipWrapper-CDHFaUKZ.js → TooltipWrapper-CSXs5-E3.js} +2 -2
  23. package/dist/components/autocomplete.js +3 -3
  24. package/dist/components/bottom-sheet.js +1 -1
  25. package/dist/components/date-picker.js +1 -1
  26. package/dist/components/date-range-picker.js +1 -1
  27. package/dist/components/date-time-picker.js +1 -1
  28. package/dist/components/input.js +3 -3
  29. package/dist/components/number-field.js +3 -3
  30. package/dist/components/number-range-input.js +1 -1
  31. package/dist/components/query-autocomplete.js +1 -1
  32. package/dist/components/query-select.js +2 -2
  33. package/dist/components/select.js +1 -1
  34. package/dist/components/text-area.js +1 -1
  35. package/dist/components/time-picker.js +1 -1
  36. package/dist/config/app-canvas-tanstack.d.ts +1 -1
  37. package/dist/config/app-canvas-tanstack.js +1 -1
  38. package/dist/config/app-canvas.d.ts +1 -1
  39. package/dist/config/app-canvas.js +1 -1
  40. package/dist/config/ui-configurator-vite.d.ts +2 -0
  41. package/dist/config/ui-configurator-vite.js +234 -8
  42. package/dist/config/ui-configurator.d.ts +21 -2
  43. package/dist/config/ui-configurator.js +121 -3
  44. package/dist/{datePickerValue.utils-QWR2q5Vv.js → datePickerValue.utils-BDB6KM8q.js} +1 -1
  45. package/dist/demos-DIwj5vc0.js +2011 -0
  46. package/dist/index.js +7 -7
  47. package/dist/{logger-CqZjM-sn.js → logger-CW24po62.js} +10 -1
  48. package/dist/rhf/date-picker.js +1 -1
  49. package/dist/rhf/date-range-picker.js +1 -1
  50. package/dist/rhf/date-time-picker.js +1 -1
  51. package/dist/rhf/number-range-input.js +1 -1
  52. package/dist/rhf/rich-text-editor.js +1 -1
  53. package/dist/rhf/select.js +1 -1
  54. package/dist/rhf/text-area.js +1 -1
  55. package/dist/rhf/time-picker.js +1 -1
  56. package/dist/rhf.js +7 -7
  57. package/dist/rich-text-editor.js +1 -1
  58. package/dist/{staticDateTimeSegments-BWea3HAt.js → staticDateTimeSegments-Bs1_N5MR.js} +1 -1
  59. package/dist/{staticSelect.utils-BfTCi26B.js → staticSelect.utils-BgdYv2vP.js} +5 -4
  60. package/dist/styles/app-canvas.css +30 -24
  61. package/dist/styles/configurator.css +544 -34
  62. package/dist/tanstack/date-picker.js +1 -1
  63. package/dist/tanstack/date-range-picker.js +1 -1
  64. package/dist/tanstack/date-time-picker.js +1 -1
  65. package/dist/tanstack/form.js +1 -1
  66. package/dist/tanstack/inputs.js +1 -1
  67. package/dist/tanstack/number-range-input.js +1 -1
  68. package/dist/tanstack/rich-text-editor.js +1 -1
  69. package/dist/tanstack/select.js +1 -1
  70. package/dist/tanstack/table.js +2 -2
  71. package/dist/tanstack/text-area.js +1 -1
  72. package/dist/tanstack/time-picker.js +1 -1
  73. package/dist/tanstack.js +15 -15
  74. package/dist/token-classes-BqLWiy6O.js +245 -0
  75. package/dist/{useFieldAccessibility-B-bjtrNw.js → useFieldAccessibility-DnCdz938.js} +2 -1
  76. package/dist/{useFormAutosave-pmh35PXp.js → useFormAutosave-CxqZAJAB.js} +1 -1
  77. package/dist/{useStaticInputHandoff-B7DEm75m.js → useStaticInputHandoff-DKsxpVck.js} +2 -1
  78. package/dist/{useTableColumnConfig-CNJ_ZvIN.js → useTableColumnConfig-BnbKElno.js} +1 -1
  79. package/dist/utils/logger.js +1 -1
  80. package/package.json +1 -1
  81. package/dist/groups-oQmSeqXn.js +0 -18
  82. package/dist/underline-66hmELxa.js +0 -81
package/dist/tanstack.js CHANGED
@@ -1,10 +1,10 @@
1
- import { t as logger } from "./logger-CqZjM-sn.js";
1
+ import { t as logger } from "./logger-CW24po62.js";
2
2
  import { t as DropdownMenu } from "./DropdownMenu-5jmtgLXd.js";
3
3
  import { n as MenuPopover, r as MenuItem } from "./DropdownMenuDesktop-Cl9gZVq0.js";
4
4
  import { a as isEqual, i as useDeepCompareMemo, n as useDeepCompareEffect, o as ObjectUtils, r as useDeepCompareLayoutEffect, t as UIConfig } from "./uiConfig.context-BS3r_kTS.js";
5
5
  import { t as FileUpload } from "./FileUpload-Cx98L1jz.js";
6
6
  import { t as PasswordInput } from "./PasswordInput-DYwUZ4-k.js";
7
- import { i as CellText, n as useTableNav, r as HeaderText, t as Table } from "./Table-piX1SWvN.js";
7
+ import { i as CellText, n as useTableNav, r as HeaderText, t as Table } from "./Table-CgG02oHQ.js";
8
8
  import { a as checkboxDefinition, i as checkboxContentWrapperDefinition, o as checkboxGroupLabelDefinition, r as checkboxContentRowDefinition, s as checkboxIconDefinition } from "./CheckboxCheckmark-FwKjPVbV.js";
9
9
  import { n as selectListBoxItemDefinition, r as selectInputTagsContentWrapperDefinition, t as selectPopoverDefinition } from "./selectDesktop.cva-CHAMxhfO.js";
10
10
  import { t as X } from "./x-B6vfz8Ps.js";
@@ -12,12 +12,12 @@ import { t as UIOverrides } from "./uiOverrides.context-BTCH9y5a.js";
12
12
  import { n as iconSlotDefinition, t as IconSlot } from "./IconSlot-DSK7qNxc.js";
13
13
  import { t as Breadcrumbs } from "./Breadcrumbs-FF8hMfXd.js";
14
14
  import { t as Checkbox } from "./Checkbox-D3f2Plbc.js";
15
- import { a as getKeyInteractionAction, i as createKeyInteractionsHandler, o as useKeyInteractions, s as useDebounceCallback } from "./staticSelect.utils-BfTCi26B.js";
15
+ import { a as getKeyInteractionAction, i as createKeyInteractionsHandler, o as useKeyInteractions, s as useDebounceCallback } from "./staticSelect.utils-BgdYv2vP.js";
16
16
  import { t as Slider } from "./Slider-CMg0BXJO.js";
17
17
  import { t as Accordion } from "./Accordion-BzwO4_ml.js";
18
18
  import { i as radioDefinition, n as radioContentRowDefinition, r as radioContentWrapperDefinition, t as RadioGroup } from "./RadioGroup-efBKgTYA.js";
19
19
  import { n as switchDefinition, t as Switch } from "./Switch-CqnGEdeD.js";
20
- import { n as textAreaWrapperDefinition, t as TextArea } from "./TextArea-uPffb457.js";
20
+ import { n as textAreaWrapperDefinition, t as TextArea } from "./TextArea-DuvFUjts.js";
21
21
  import { t as Tooltip } from "./Tooltip-CpG1nz7Y.js";
22
22
  import { a as breadcrumbsDefinition, i as breadcrumbSegmentDefinition, n as breadcrumbIconDefinition, r as breadcrumbItemDefinition, t as breadcrumbChevronDefinition } from "./breadcrumbs.cva-7zzdDhVR.js";
23
23
  import { i as menuPopoverWrapperDefinition, n as menuItemDefinition, r as menuPopoverDefinition, t as dropdownMenuDefinition } from "./dropdownMenu.cva-DvEmX0bs.js";
@@ -49,24 +49,24 @@ import { t as popoverDefinition } from "./popover.cva-Bhud1wnp.js";
49
49
  import { Input } from "./components/input.js";
50
50
  import { Autocomplete } from "./components/autocomplete.js";
51
51
  import { CheckboxGroup } from "./components/checkbox-group.js";
52
- import { t as DateRangePicker } from "./DateRangePicker-DxuVhRaf.js";
53
- import { n as useScrollableListBox } from "./Calendar-DRHruqr_.js";
54
- import { t as TimePicker } from "./TimePicker-DN-i98z5.js";
52
+ import { t as DateRangePicker } from "./DateRangePicker-X3mBhfmL.js";
53
+ import { n as useScrollableListBox } from "./Calendar-1p3VjSED.js";
54
+ import { t as TimePicker } from "./TimePicker-CBkiE-Yq.js";
55
55
  import { t as ToggleGroup } from "./ToggleGroup-DmVPNWok.js";
56
- import { r as useLongPressRepeat } from "./datePickerValue.utils-QWR2q5Vv.js";
56
+ import { r as useLongPressRepeat } from "./datePickerValue.utils-BDB6KM8q.js";
57
57
  import { t as IntlUtils } from "./intl.utils-zwAFoZ0U.js";
58
58
  import { t as DateTimeUtils } from "./date-time.utils-0F9qduim.js";
59
59
  import { t as DateUtils } from "./date.utils-B8_QF9y6.js";
60
60
  import { t as datePickerInputContentRowDefinition } from "./datePickerInput.cva-Cd7UUN61.js";
61
- import { t as DatePicker } from "./DatePicker-xDEqzNJv.js";
62
- import { t as Select } from "./Select-CgIhoWgk.js";
63
- import { t as DateTimePicker } from "./DateTimePicker-4N1Pka07.js";
61
+ import { t as DatePicker } from "./DatePicker-CAzuZRmd.js";
62
+ import { t as Select } from "./Select-tNlFSbAC.js";
63
+ import { t as DateTimePicker } from "./DateTimePicker-EtmGtoRe.js";
64
64
  import { t as FileUtils } from "./file.utils-DqQxnuAm.js";
65
65
  import { a as progressTrackWrapperDefinition, i as progressTrackDefinition, n as progressDefinition, o as progressValueDefinition, r as progressFillDefinition, t as Progress } from "./Progress-B3mY9rIP.js";
66
66
  import { t as fileUploadDropZoneDefinition } from "./fileUpload.cva-ujmStxB1.js";
67
67
  import { n as fileInputButtonDefinition, r as fileInputDropZoneDefinition, t as FileInput } from "./FileInput-DUyc_sVu.js";
68
68
  import { NumberField } from "./components/number-field.js";
69
- import { t as NumberRangeInput } from "./NumberRangeInput-Bzfe-RlV.js";
69
+ import { t as NumberRangeInput } from "./NumberRangeInput-TkPXiWV3.js";
70
70
  import { QueryAutocomplete } from "./components/query-autocomplete.js";
71
71
  import { QuerySelect } from "./components/query-select.js";
72
72
  import { n as toggleGroupItemDefinition, t as toggleGroupDefinition } from "./toggleGroup.cva-MbpaEBg1.js";
@@ -91,7 +91,7 @@ import { n as ToastProvider, t as ToastContainer } from "./ToastContainer-qgpzMF
91
91
  import { useToast } from "./components/use-toast.js";
92
92
  import { a as tableHeaderTextDefinition, i as tableHeadRowDefinition, n as tableDataDefinition, o as tableRowDefinition, r as tableHeadDataDefinition, t as tableCellTextDefinition } from "./table.cva-DlMT-zLD.js";
93
93
  import { t as useTranslationMemo } from "./useTranslationMemo-CrZbeyBv.js";
94
- import { a as PaginatedTable, i as dynamicColumns, n as useSorting, o as InfiniteTable, r as usePagination, s as ColumnConfigModal, t as useTableColumnConfig } from "./useTableColumnConfig-CNJ_ZvIN.js";
94
+ import { a as PaginatedTable, i as dynamicColumns, n as useSorting, o as InfiniteTable, r as usePagination, s as ColumnConfigModal, t as useTableColumnConfig } from "./useTableColumnConfig-BnbKElno.js";
95
95
  import { t as linkDefinition } from "./link.cva-DMTHZiJG.js";
96
96
  import { Link } from "./components/link.js";
97
97
  import { Badge } from "./components/badge.js";
@@ -105,6 +105,6 @@ import { t as RoutingUtils } from "./routing.utils-UTQonIhB.js";
105
105
  import { t as useFilters } from "./useFilters-XNH27Md2.js";
106
106
  import { n as useStateAndRef, t as DomUtils } from "./dom.utils-D1AopHx9.js";
107
107
  import { n as ArrayUtils, t as QueriesUtils } from "./queries.utils-CmbhAoHU.js";
108
- import { n as useAutosave, r as Form, t as useFormAutosave } from "./useFormAutosave-pmh35PXp.js";
109
- import { t as Inputs } from "./Inputs-D1aE_J9f.js";
108
+ import { n as useAutosave, r as Form, t as useFormAutosave } from "./useFormAutosave-CxqZAJAB.js";
109
+ import { t as Inputs } from "./Inputs-Bd2nRNqk.js";
110
110
  export { Accordion, Alert, AlertDialog, ArrayUtils, Autocomplete, Badge, BadgeButton, BottomSheet, Breadcrumbs, Button, CellText, Checkbox, CheckboxGroup, X as CloseIcon, ColumnConfigModal, Confirmation, DatePicker, DateRangePicker, DateTimePicker, DateTimeUtils, DateUtils, Dialog, DomUtils, Drawer, DropdownMenu, FileInput, FileUpload, FileUploadContainer, FileUtils, Form, FormField, HeaderText, IconButton, IconSlot, InfiniteTable, InlineIconButton, Input, Inputs, IntlUtils, Link, LinkContext, MenuItem, MenuPopover, NumberField, NumberRangeInput, ObjectUtils, PaginatedTable, Pagination, PaginationList, PasswordInput, Popover, Progress, QueriesUtils, QueryAutocomplete, QuerySelect, RadioGroup, RoutingUtils, Select, Slider, Spinner, SplitButton, Stepper, StringUtils, Switch, Table, Tag, TextArea, TextButton, ThemeContext, TimePicker, Toast, ToastContainer, ToastProvider, ToggleButton, ToggleGroup, Tooltip, TooltipEllipsis, Typography, UIConfig, UIOverrides, UIRouter, ZodUtils, accordionChevronDefinition, accordionDefinition, accordionHeadingDefinition, accordionHeadingSubtitleDefinition, accordionHeadingTitleDefinition, accordionIconDefinition, accordionItemDefinition, accordionPanelContentDefinition, accordionPanelDefinition, accordionTriggerDefinition, alertDefinition, badgeButtonContentDefinition, badgeButtonDefinition, breadcrumbChevronDefinition, breadcrumbIconDefinition, breadcrumbItemDefinition, breadcrumbSegmentDefinition, breadcrumbsDefinition, buttonContentDefinition, buttonDefinition, buttonIconSizeDefinition, buttonSizeDefinition, checkboxContentRowDefinition, checkboxContentWrapperDefinition, checkboxDefinition, checkboxGroupLabelDefinition, checkboxIconDefinition, compoundMapper, createKeyInteractionsHandler, datePickerInputContentRowDefinition, dialogContentDefinition, dialogMainDefinition, dialogOverlayDefinition, dropdownMenuDefinition, dynamicColumns, dynamicInputs, fileInputButtonDefinition, fileInputDropZoneDefinition, fileUploadDropZoneDefinition, formFieldErrorDefinition, formFieldHeaderDefinition, formFieldHelperDefinition, getKeyInteractionAction, iconSlotDefinition, inputBaseDefinition, inputClearClassDefinition, inputContentWrapperDefinition, inputSideDefinition, inputSizeDefinition, isEqual, labelDefinition, linkDefinition, logger, menuItemDefinition, menuPopoverDefinition, menuPopoverWrapperDefinition, ns, popoverDefinition, progressDefinition, progressFillDefinition, progressTrackDefinition, progressTrackWrapperDefinition, progressValueDefinition, radioContentRowDefinition, radioContentWrapperDefinition, radioDefinition, resources, selectInputTagsContentWrapperDefinition, selectListBoxItemDefinition, selectPopoverDefinition, spinnerDefinition, spinnerWrapperDefinition, statusIconDefinition, statusSeparatorDefinition, stepperDefinition, stepperIconDefinition, stepperItemDefinition, stepperNumberDefinition, stepperSeparatorDefinition, stepperSubtextDefinition, stepperTitleDefinition, switchDefinition, tableCellTextDefinition, tableDataDefinition, tableHeadDataDefinition, tableHeadRowDefinition, tableHeaderTextDefinition, tableRowDefinition, tagDefinition, textAreaWrapperDefinition, toastDefinition, statusIconDefinition$1 as toastStatusIconDefinition, statusSeparatorDefinition$1 as toastStatusSeparatorDefinition, toggleGroupDefinition, toggleGroupItemDefinition, tooltipDefinition, tooltipPointerHorizontalDefinition, tooltipPointerVerticalDefinition, tooltipTextDefinition, tooltipWrapperTriggerDefinition, typographyDefinition, uiOutlineClass, useAutosave, useBreakpoint, useDebounceCallback, useDeepCompareEffect, useDeepCompareLayoutEffect, useDeepCompareMemo, useFilters, useForm, useFormAutosave, useFormState, useFormValue, useIntersectionObserver, useKeyInteractions, useLocalStorage, useLongPressRepeat, usePagination, useScrollableListBox, useSorting, useStateAndRef, useTableColumnConfig, useTableNav, useToast, useTranslationMemo };
@@ -0,0 +1,245 @@
1
+ //#region src/configurator/inspector/token-classes.ts
2
+ /** Tailwind breakpoints from the Atlas base theme, in rem. */
3
+ const breakpoints = {
4
+ sm: 23.75,
5
+ md: 37.5,
6
+ lg: 80,
7
+ xl: 105
8
+ };
9
+ /** Utility prefix → the slots it sets, its specificity, and the theme namespace its value lives in. */
10
+ const utilities = [
11
+ [
12
+ "p",
13
+ [
14
+ "padding.top",
15
+ "padding.right",
16
+ "padding.bottom",
17
+ "padding.left"
18
+ ],
19
+ 0,
20
+ "spacing"
21
+ ],
22
+ [
23
+ "px",
24
+ ["padding.left", "padding.right"],
25
+ 1,
26
+ "spacing"
27
+ ],
28
+ [
29
+ "py",
30
+ ["padding.top", "padding.bottom"],
31
+ 1,
32
+ "spacing"
33
+ ],
34
+ [
35
+ "pt",
36
+ ["padding.top"],
37
+ 2,
38
+ "spacing"
39
+ ],
40
+ [
41
+ "pr",
42
+ ["padding.right"],
43
+ 2,
44
+ "spacing"
45
+ ],
46
+ [
47
+ "pe",
48
+ ["padding.right"],
49
+ 2,
50
+ "spacing"
51
+ ],
52
+ [
53
+ "pb",
54
+ ["padding.bottom"],
55
+ 2,
56
+ "spacing"
57
+ ],
58
+ [
59
+ "pl",
60
+ ["padding.left"],
61
+ 2,
62
+ "spacing"
63
+ ],
64
+ [
65
+ "ps",
66
+ ["padding.left"],
67
+ 2,
68
+ "spacing"
69
+ ],
70
+ [
71
+ "gap",
72
+ ["gap.row", "gap.column"],
73
+ 0,
74
+ "spacing"
75
+ ],
76
+ [
77
+ "gap-x",
78
+ ["gap.column"],
79
+ 1,
80
+ "spacing"
81
+ ],
82
+ [
83
+ "gap-y",
84
+ ["gap.row"],
85
+ 1,
86
+ "spacing"
87
+ ],
88
+ [
89
+ "rounded",
90
+ ["radius"],
91
+ 0,
92
+ "radius"
93
+ ]
94
+ ];
95
+ /** Splits `md:hover:px-4` into its variants and utility, ignoring colons inside `[...]` / `(...)`. */
96
+ function splitVariants(className) {
97
+ const parts = [];
98
+ let depth = 0;
99
+ let current = "";
100
+ for (const char of className) {
101
+ if (char === "[" || char === "(") depth++;
102
+ if (char === "]" || char === ")") depth--;
103
+ if (char === ":" && depth === 0) {
104
+ parts.push(current);
105
+ current = "";
106
+ } else current += char;
107
+ }
108
+ return {
109
+ variants: parts,
110
+ utility: current
111
+ };
112
+ }
113
+ /** Variants that style a pseudo-element or other elements, never the element's own value. */
114
+ const otherTargets = /* @__PURE__ */ new Set([
115
+ "placeholder",
116
+ "before",
117
+ "after",
118
+ "selection",
119
+ "marker",
120
+ "file",
121
+ "first-letter",
122
+ "first-line",
123
+ "backdrop",
124
+ "*",
125
+ "**"
126
+ ]);
127
+ /** State variants, including the react-aria ones from tailwindcss-react-aria-components (`pressed`, `selected` …). */
128
+ const stateSelectors = {
129
+ hover: ":is(:hover, [data-hovered])",
130
+ hovered: "[data-hovered]",
131
+ focus: ":is(:focus, [data-focused])",
132
+ focused: "[data-focused]",
133
+ "focus-within": ":is(:focus-within, [data-focus-within])",
134
+ "focus-visible": ":is(:focus-visible, [data-focus-visible])",
135
+ active: ":active",
136
+ pressed: ":is([data-pressed], :active)",
137
+ disabled: ":is(:disabled, [data-disabled])",
138
+ enabled: ":enabled",
139
+ checked: ":checked",
140
+ selected: ":is([data-selected], [aria-selected=\"true\"])",
141
+ indeterminate: ":is(:indeterminate, [data-indeterminate])",
142
+ invalid: ":is(:invalid, [data-invalid], [aria-invalid=\"true\"])",
143
+ valid: ":valid",
144
+ required: ":is(:required, [data-required])",
145
+ optional: ":optional",
146
+ "read-only": ":is(:read-only, [data-readonly])",
147
+ readonly: "[data-readonly]",
148
+ "placeholder-shown": ":placeholder-shown",
149
+ expanded: ":is([data-expanded], [aria-expanded=\"true\"])",
150
+ pending: "[data-pending]",
151
+ entering: "[data-entering]",
152
+ exiting: "[data-exiting]",
153
+ empty: ":empty",
154
+ open: ":is([open], [data-open], :popover-open)",
155
+ first: ":first-child",
156
+ last: ":last-child",
157
+ only: ":only-child",
158
+ odd: ":nth-child(odd)",
159
+ even: ":nth-child(even)"
160
+ };
161
+ const unquote = (value) => value.replace(/^['"]|['"]$/g, "");
162
+ /** A CSS selector for one state variant, or `undefined` when its condition cannot be read from the element. */
163
+ function variantSelector(variant) {
164
+ if (variant.startsWith("not-")) {
165
+ const inner = variantSelector(variant.slice(4));
166
+ return inner && `:not(${inner})`;
167
+ }
168
+ if (variant.startsWith("has-")) {
169
+ const inner = variantSelector(variant.slice(4));
170
+ return inner && `:has(${inner})`;
171
+ }
172
+ if (stateSelectors[variant]) return stateSelectors[variant];
173
+ const attribute = variant.match(/^(data|aria)-\[([\w-]+)(?:=([^\]]+))?\]$/);
174
+ if (attribute) return attribute[3] ? `[${attribute[1]}-${attribute[2]}="${unquote(attribute[3])}"]` : `[${attribute[1]}-${attribute[2]}]`;
175
+ if (/^data-[\w-]+$/.test(variant)) return `[${variant}]`;
176
+ if (/^aria-[\w-]+$/.test(variant)) return `[${variant}="true"]`;
177
+ const arbitrary = variant.match(/^\[(&?)(:[^\s&>+~,]+)\]$/);
178
+ return arbitrary ? arbitrary[2].replaceAll("_", " ") : void 0;
179
+ }
180
+ /**
181
+ * How a variant class relates to an element's current value: `other` styles a pseudo-element or descendants,
182
+ * `inactive` / `active` are state conditions read from the element, and `unknown` covers breakpoints, container
183
+ * queries, group/peer state and anything else that cannot be checked from the element alone.
184
+ */
185
+ function variantState(variants, element) {
186
+ if (variants.some((variant) => otherTargets.has(variant))) return "other";
187
+ const selectors = variants.map(variantSelector);
188
+ if (selectors.some((selector) => selector === void 0) || typeof element.matches !== "function") return "unknown";
189
+ try {
190
+ return element.matches(`*${selectors.join("")}`) ? "active" : "inactive";
191
+ } catch {
192
+ return "unknown";
193
+ }
194
+ }
195
+ /** Breakpoint weight when every variant is an active breakpoint; `undefined` for state variants or inactive breakpoints. */
196
+ function variantWeight(variants, viewportWidth, rootFontSize) {
197
+ let weight = 0;
198
+ for (const variant of variants) {
199
+ const max = variant.startsWith("max-");
200
+ const size = breakpoints[max ? variant.slice(4) : variant];
201
+ if (size === void 0) return void 0;
202
+ if (!(max ? viewportWidth < size * rootFontSize : viewportWidth >= size * rootFontSize)) return void 0;
203
+ weight = Math.max(weight, size);
204
+ }
205
+ return weight;
206
+ }
207
+ function tokenFor(value, namespace, isKnown) {
208
+ const referenced = value.match(/^\[.*?var\((--[\w-]+)/)?.[1] ?? value.match(/^\((--[\w-]+)\)$/)?.[1];
209
+ if (referenced) return isKnown(referenced) ? referenced : void 0;
210
+ const name = `--${namespace}-${value}`;
211
+ return isKnown(name) ? name : void 0;
212
+ }
213
+ /**
214
+ * Resolves which theme tokens drive an element's padding, gap and radius from its rendered Tailwind classes.
215
+ * Only tokens accepted by `isKnown` are returned, so every result can be opened in the editor.
216
+ */
217
+ function inspectTokens(className, isKnown, viewportWidth = Infinity, rootFontSize = 16) {
218
+ const winners = /* @__PURE__ */ new Map();
219
+ for (const raw of className.split(/\s+/).filter(Boolean)) {
220
+ const { variants, utility } = splitVariants(raw);
221
+ const weight = variantWeight(variants, viewportWidth, rootFontSize);
222
+ if (weight === void 0) continue;
223
+ const clean = utility.replace(/^!|!$/g, "");
224
+ for (const [prefix, slots, specificity, namespace] of utilities) {
225
+ if (!clean.startsWith(`${prefix}-`)) continue;
226
+ const token = tokenFor(clean.slice(prefix.length + 1), namespace, isKnown);
227
+ if (!token) continue;
228
+ const rank = weight * 10 + specificity;
229
+ for (const slot of slots) if ((winners.get(slot)?.rank ?? -1) <= rank) winners.set(slot, {
230
+ token,
231
+ rank
232
+ });
233
+ }
234
+ }
235
+ const result = {
236
+ padding: {},
237
+ gap: {}
238
+ };
239
+ for (const [slot, { token }] of winners) if (slot === "radius") result.radius = token;
240
+ else if (slot.startsWith("gap.")) result.gap[slot.slice(4)] = token;
241
+ else result.padding[slot.slice(8)] = token;
242
+ return result;
243
+ }
244
+ //#endregion
245
+ export { splitVariants as n, variantState as r, inspectTokens as t };
@@ -6,7 +6,7 @@ import { t as Spinner } from "./Spinner-BeVTUzzx.js";
6
6
  import { InlineIconButton } from "./components/inline-icon-button.js";
7
7
  import { r as FormFieldLabel } from "./FormField-9h3JAhaY.js";
8
8
  import { a as inputSizeDefinition, r as inputContentWrapperDefinition } from "./input.cva-CbMTwuQU.js";
9
- import { n as InputClear } from "./TooltipWrapper-CDHFaUKZ.js";
9
+ import { n as InputClear } from "./TooltipWrapper-CSXs5-E3.js";
10
10
  import { isValidElement, useId } from "react";
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
12
12
  //#region src/components/inputs/Input/shared/InputContent.tsx
@@ -64,6 +64,7 @@ const InputContent = ({ leadingIcon: LeadingIcon, trailingIcon: TrailingIcon, un
64
64
  children: /* @__PURE__ */ jsx(Spinner, {})
65
65
  }),
66
66
  !isLoading && action && /* @__PURE__ */ jsx(InlineIconButton, {
67
+ size: "none",
67
68
  color: "secondary",
68
69
  icon: action.icon,
69
70
  isDisabled,
@@ -3,7 +3,7 @@ import { n as useForm } from "./form.binding-CG1RPv6o.js";
3
3
  import { t as StringUtils } from "./string.utils-BPgv6QwA.js";
4
4
  import { t as ZodUtils } from "./zod.utils-DrrPDT9v.js";
5
5
  import { n as getDefaultInputComponentType } from "./dynamicInputs-CRMWIpHA.js";
6
- import { t as InputItem } from "./InputItem-Cv19Hwnx.js";
6
+ import { t as InputItem } from "./InputItem-yC5oMyN-.js";
7
7
  import { useCallback, useEffect, useMemo, useRef } from "react";
8
8
  import { jsx } from "react/jsx-runtime";
9
9
  import { z } from "zod";
@@ -7,7 +7,7 @@ import { t as Spinner } from "./Spinner-BeVTUzzx.js";
7
7
  import { InlineIconButton } from "./components/inline-icon-button.js";
8
8
  import { r as FormFieldLabel, t as FormField } from "./FormField-9h3JAhaY.js";
9
9
  import { a as inputSizeDefinition, r as inputContentWrapperDefinition, t as inputBaseDefinition } from "./input.cva-CbMTwuQU.js";
10
- import { n as InputClear, t as TooltipWrapper } from "./TooltipWrapper-CDHFaUKZ.js";
10
+ import { n as InputClear, t as TooltipWrapper } from "./TooltipWrapper-CSXs5-E3.js";
11
11
  import { isValidElement, useId, useLayoutEffect, useRef, useState } from "react";
12
12
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
13
13
  import { useFocusRing as $32daac5f69beb98a$re_export$useFocusRing } from "react-aria/useFocusRing";
@@ -141,6 +141,7 @@ const InputFrame = (props) => {
141
141
  children: /* @__PURE__ */ jsx(Spinner, {})
142
142
  }),
143
143
  !isLoading && action && /* @__PURE__ */ jsx(InlineIconButton, {
144
+ size: "none",
144
145
  color: "secondary",
145
146
  icon: action.icon,
146
147
  isDisabled,
@@ -1,4 +1,4 @@
1
- import { t as Table } from "./Table-piX1SWvN.js";
1
+ import { t as Table } from "./Table-CgG02oHQ.js";
2
2
  import { t as Checkbox } from "./Checkbox-D3f2Plbc.js";
3
3
  import { t as Typography } from "./Typography-LU4z2pR1.js";
4
4
  import { t as Spinner } from "./Spinner-BeVTUzzx.js";
@@ -1,2 +1,2 @@
1
- import { t as logger } from "../logger-CqZjM-sn.js";
1
+ import { t as logger } from "../logger-CW24po62.js";
2
2
  export { logger };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@povio/ui",
3
- "version": "5.0.0-rc.13",
3
+ "version": "5.0.0-rc.15",
4
4
  "type": "module",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,18 +0,0 @@
1
- //#region src/configurator/gallery/groups.ts
2
- /** Gallery sections, kept apart from the demos so a host can list them without loading every component. */
3
- const galleryGroups = [
4
- "Buttons",
5
- "Inputs",
6
- "Selection",
7
- "Files",
8
- "Feedback",
9
- "Text",
10
- "Navigation",
11
- "Overlays",
12
- "Data"
13
- ];
14
- /** One App Canvas artboard per section, after the composed layouts. */
15
- const layoutsArtboard = "Layouts";
16
- const componentArtboards = [layoutsArtboard, ...galleryGroups];
17
- //#endregion
18
- export { galleryGroups as n, layoutsArtboard as r, componentArtboards as t };
@@ -1,81 +0,0 @@
1
- import { t as createLucideIcon } from "./createLucideIcon-LcezOE4z.js";
2
- //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/bold.mjs
3
- /**
4
- * @license lucide-react v1.43.0 - ISC
5
- *
6
- * This source code is licensed under the ISC license.
7
- * See the LICENSE file in the root directory of this source tree.
8
- */
9
- const __iconData$2 = {
10
- name: "bold",
11
- size: 24,
12
- node: [["path", {
13
- d: "M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",
14
- key: "mg9rjx"
15
- }]]
16
- };
17
- __iconData$2.node;
18
- const Bold = createLucideIcon(__iconData$2);
19
- //#endregion
20
- //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/italic.mjs
21
- /**
22
- * @license lucide-react v1.43.0 - ISC
23
- *
24
- * This source code is licensed under the ISC license.
25
- * See the LICENSE file in the root directory of this source tree.
26
- */
27
- const __iconData$1 = {
28
- name: "italic",
29
- size: 24,
30
- node: [
31
- ["line", {
32
- x1: "19",
33
- x2: "10",
34
- y1: "4",
35
- y2: "4",
36
- key: "15jd3p"
37
- }],
38
- ["line", {
39
- x1: "14",
40
- x2: "5",
41
- y1: "20",
42
- y2: "20",
43
- key: "bu0au3"
44
- }],
45
- ["line", {
46
- x1: "15",
47
- x2: "9",
48
- y1: "4",
49
- y2: "20",
50
- key: "uljnxc"
51
- }]
52
- ]
53
- };
54
- __iconData$1.node;
55
- const Italic = createLucideIcon(__iconData$1);
56
- //#endregion
57
- //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/underline.mjs
58
- /**
59
- * @license lucide-react v1.43.0 - ISC
60
- *
61
- * This source code is licensed under the ISC license.
62
- * See the LICENSE file in the root directory of this source tree.
63
- */
64
- const __iconData = {
65
- name: "underline",
66
- size: 24,
67
- node: [["path", {
68
- d: "M6 4v6a6 6 0 0 0 12 0V4",
69
- key: "9kb039"
70
- }], ["line", {
71
- x1: "4",
72
- x2: "20",
73
- y1: "20",
74
- y2: "20",
75
- key: "nun2al"
76
- }]]
77
- };
78
- __iconData.node;
79
- const Underline = createLucideIcon(__iconData);
80
- //#endregion
81
- export { Italic as n, Bold as r, Underline as t };