@povio/ui 5.0.0-rc.14 → 5.0.0-rc.16

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 (80) hide show
  1. package/dist/{AppCanvasPage-vta1j5YQ.js → AppCanvasPage-C3KN-Pwb.js} +156 -589
  2. package/dist/{AppCanvasPage-BZ2mrKY4.d.ts → AppCanvasPage-U9SxNwjS.d.ts} +1 -1
  3. package/dist/{BottomSheet-BXLE3161.js → BottomSheet-AqYVSMK9.js} +1 -75
  4. package/dist/BottomSheetHeader-Be6Elvs2.js +79 -0
  5. package/dist/{Calendar-DRHruqr_.js → Calendar-1p3VjSED.js} +3 -3
  6. package/dist/{CanvasComponentsFrame-D6Mh_G3q.js → CanvasComponentsFrame-Dp0oDDoH.js} +6 -6
  7. package/dist/{UIConfigurator-CjAW1SJY.js → CanvasInspector-TC9DOf5p.js} +1456 -500
  8. package/dist/{ComponentGallery-CzKU899_.js → ComponentGallery-C_rXFvUY.js} +250 -1797
  9. package/dist/{DatePicker-xDEqzNJv.js → DatePicker-CAzuZRmd.js} +6 -6
  10. package/dist/{DatePickerInput-B0fEeCOf.js → DatePickerInput-BeQOVCk0.js} +4 -3
  11. package/dist/{DateRangePicker-DxuVhRaf.js → DateRangePicker-X3mBhfmL.js} +5 -5
  12. package/dist/{DateTimePicker-4N1Pka07.js → DateTimePicker-EtmGtoRe.js} +6 -6
  13. package/dist/{InputItem-Cv19Hwnx.js → InputItem-yC5oMyN-.js} +7 -7
  14. package/dist/{Inputs-D1aE_J9f.js → Inputs-Bd2nRNqk.js} +1 -1
  15. package/dist/{NumberRangeInput-Bzfe-RlV.js → NumberRangeInput-TkPXiWV3.js} +2 -2
  16. package/dist/{RichTextEditor-Bd7F5D8f.js → RichTextEditor-DiaPcBUM.js} +110 -32
  17. package/dist/{Select-CgIhoWgk.js → Select-tNlFSbAC.js} +5 -5
  18. package/dist/{Table-piX1SWvN.js → Table-CgG02oHQ.js} +1 -1
  19. package/dist/{TextArea-uPffb457.js → TextArea-DuvFUjts.js} +1 -1
  20. package/dist/{TimePicker-DN-i98z5.js → TimePicker-CBkiE-Yq.js} +5 -4
  21. package/dist/{TooltipWrapper-CDHFaUKZ.js → TooltipWrapper-CSXs5-E3.js} +2 -2
  22. package/dist/components/autocomplete.js +3 -3
  23. package/dist/components/bottom-sheet.js +1 -1
  24. package/dist/components/date-picker.js +1 -1
  25. package/dist/components/date-range-picker.js +1 -1
  26. package/dist/components/date-time-picker.js +1 -1
  27. package/dist/components/input.js +3 -3
  28. package/dist/components/number-field.js +3 -3
  29. package/dist/components/number-range-input.js +1 -1
  30. package/dist/components/query-autocomplete.js +1 -1
  31. package/dist/components/query-select.js +2 -2
  32. package/dist/components/select.js +1 -1
  33. package/dist/components/text-area.js +1 -1
  34. package/dist/components/time-picker.js +1 -1
  35. package/dist/config/app-canvas-tanstack.d.ts +1 -1
  36. package/dist/config/app-canvas-tanstack.js +1 -1
  37. package/dist/config/app-canvas.d.ts +1 -1
  38. package/dist/config/app-canvas.js +1 -1
  39. package/dist/config/ui-configurator.d.ts +35 -2
  40. package/dist/config/ui-configurator.js +214 -3
  41. package/dist/{datePickerValue.utils-QWR2q5Vv.js → datePickerValue.utils-BDB6KM8q.js} +1 -1
  42. package/dist/demos-DIwj5vc0.js +2011 -0
  43. package/dist/index.js +7 -7
  44. package/dist/{logger-CqZjM-sn.js → logger-CW24po62.js} +10 -1
  45. package/dist/rhf/date-picker.js +1 -1
  46. package/dist/rhf/date-range-picker.js +1 -1
  47. package/dist/rhf/date-time-picker.js +1 -1
  48. package/dist/rhf/number-range-input.js +1 -1
  49. package/dist/rhf/rich-text-editor.js +1 -1
  50. package/dist/rhf/select.js +1 -1
  51. package/dist/rhf/text-area.js +1 -1
  52. package/dist/rhf/time-picker.js +1 -1
  53. package/dist/rhf.js +7 -7
  54. package/dist/rich-text-editor.js +1 -1
  55. package/dist/{staticDateTimeSegments-BWea3HAt.js → staticDateTimeSegments-Bs1_N5MR.js} +1 -1
  56. package/dist/{staticSelect.utils-BfTCi26B.js → staticSelect.utils-BgdYv2vP.js} +5 -4
  57. package/dist/styles/app-canvas.css +30 -24
  58. package/dist/styles/configurator.css +421 -34
  59. package/dist/tanstack/date-picker.js +1 -1
  60. package/dist/tanstack/date-range-picker.js +1 -1
  61. package/dist/tanstack/date-time-picker.js +1 -1
  62. package/dist/tanstack/form.js +1 -1
  63. package/dist/tanstack/inputs.js +1 -1
  64. package/dist/tanstack/number-range-input.js +1 -1
  65. package/dist/tanstack/rich-text-editor.js +1 -1
  66. package/dist/tanstack/select.js +1 -1
  67. package/dist/tanstack/table.js +2 -2
  68. package/dist/tanstack/text-area.js +1 -1
  69. package/dist/tanstack/time-picker.js +1 -1
  70. package/dist/tanstack.js +15 -15
  71. package/dist/token-classes-BqLWiy6O.js +245 -0
  72. package/dist/{useFieldAccessibility-B-bjtrNw.js → useFieldAccessibility-DnCdz938.js} +2 -1
  73. package/dist/{useFormAutosave-pmh35PXp.js → useFormAutosave-CxqZAJAB.js} +1 -1
  74. package/dist/{useStaticInputHandoff-B7DEm75m.js → useStaticInputHandoff-DKsxpVck.js} +2 -1
  75. package/dist/{useTableColumnConfig-CNJ_ZvIN.js → useTableColumnConfig-BnbKElno.js} +1 -1
  76. package/dist/utils/logger.js +1 -1
  77. package/package.json +1 -1
  78. package/src/configurator/README.md +11 -0
  79. package/dist/groups-oQmSeqXn.js +0 -18
  80. package/dist/underline-66hmELxa.js +0 -81
@@ -94,11 +94,11 @@
94
94
  background: #fff;
95
95
  overflow: hidden;
96
96
  }
97
- /* With the components shown by the host (the App Canvas), the window is only the editor: narrow and one column. */
98
- .studio-modal[data-components-hosted] {
97
+ /* An editor-only window (the App Canvas, or a host that asks for it) is narrow and one column. */
98
+ .studio-modal[data-editor-only] {
99
99
  width: min(360px, calc(100vw - 48px));
100
100
  }
101
- .studio-modal[data-components-hosted] .studio-dialog {
101
+ .studio-modal[data-editor-only] .studio-dialog {
102
102
  grid-template-columns: minmax(0, 1fr);
103
103
  }
104
104
  /*
@@ -1567,9 +1567,9 @@
1567
1567
  overflow-wrap: anywhere;
1568
1568
  }
1569
1569
 
1570
- /* Shades generator for base palette groups; its group gets top padding so the panel clears the header row. */
1570
+ /* Shades generator for base palette groups: rows of the same table, above the palette's own token rows. */
1571
1571
  .studio-token-group > div:has(> .studio-shades) {
1572
- padding-top: 10px;
1572
+ padding-top: 0;
1573
1573
  }
1574
1574
  .studio-palette-actions {
1575
1575
  display: flex;
@@ -1595,63 +1595,279 @@
1595
1595
  font-weight: 550;
1596
1596
  text-transform: none;
1597
1597
  }
1598
+ /* Shades generator: table rows divided by the same hairlines as the tokens, in the 10px / 24px control language. */
1598
1599
  .studio-shades {
1599
- display: flex;
1600
- flex-direction: column;
1601
- gap: 12px;
1602
- margin: 0 10px 10px;
1603
- padding: 8px;
1604
- border: 1px solid #e3e3e3;
1605
- border-radius: 8px;
1606
- background: #fbfbfb;
1600
+ display: grid;
1607
1601
  }
1608
- .studio-shades-input {
1602
+ .studio-shades > * {
1603
+ border-bottom: 1px solid var(--studio-cell-line);
1604
+ }
1605
+ .studio-shades-row {
1609
1606
  display: flex;
1610
1607
  align-items: center;
1611
- gap: 8px;
1608
+ gap: 6px;
1609
+ min-height: 32px;
1610
+ padding: 4px var(--studio-editor-pad);
1611
+ box-sizing: border-box;
1612
+ }
1613
+ .studio-shades > .studio-error {
1614
+ margin: 0;
1615
+ padding: 4px var(--studio-editor-pad);
1612
1616
  }
1613
- .studio-shades-input label {
1617
+ .studio-shades-label {
1618
+ flex-shrink: 0;
1619
+ color: #464646;
1614
1620
  font-size: 10px;
1615
1621
  font-weight: 550;
1616
1622
  white-space: nowrap;
1617
1623
  }
1618
- .studio-shades-input .studio-token-input {
1624
+ .studio-shades-field {
1625
+ display: flex;
1626
+ flex: 1;
1619
1627
  align-items: center;
1620
1628
  gap: 4px;
1621
- max-width: 140px;
1622
- padding-left: 8px;
1629
+ min-width: 0;
1630
+ height: 24px;
1631
+ padding: 0 6px 0 4px;
1623
1632
  border: 1px solid #e5e5e5;
1624
1633
  border-radius: 5px;
1625
1634
  background: #fff;
1626
1635
  color: #939393;
1636
+ font-size: 10px;
1627
1637
  }
1628
- .studio-shades-input .studio-token-input input {
1629
- width: 100%;
1638
+ .studio-shades-field:focus-within {
1639
+ border-color: #8e8e8e;
1640
+ }
1641
+ .studio-shades-field input[type="color"] {
1642
+ flex-shrink: 0;
1643
+ width: 16px;
1644
+ height: 16px;
1645
+ padding: 0;
1646
+ border: 0;
1647
+ border-radius: 3px;
1648
+ background: none;
1649
+ cursor: pointer;
1650
+ }
1651
+ .studio-shades-field input[type="color"]::-webkit-color-swatch-wrapper {
1652
+ padding: 0;
1653
+ }
1654
+ .studio-shades-field input[type="color"]::-webkit-color-swatch {
1655
+ border: 1px solid #0002;
1656
+ border-radius: 3px;
1657
+ }
1658
+ .studio-shades-field input[type="color"]::-moz-color-swatch {
1659
+ border: 1px solid #0002;
1660
+ border-radius: 3px;
1661
+ }
1662
+ .studio-shades-field input:not([type="color"]) {
1663
+ flex: 1;
1664
+ min-width: 0;
1665
+ padding: 0;
1630
1666
  border: 0;
1631
- padding: 6px 6px 6px 0;
1632
1667
  outline: none;
1668
+ background: transparent;
1669
+ color: #393939;
1633
1670
  font-family: ui-monospace, monospace;
1671
+ font-size: 10px;
1634
1672
  text-transform: uppercase;
1635
1673
  }
1636
- /* Compact actions share the base color row to save vertical space. */
1637
- .studio-shades-actions {
1674
+ .studio-shades .studio-shades-apply {
1675
+ flex-shrink: 0;
1676
+ height: 24px;
1677
+ padding: 0 8px;
1678
+ border-radius: 5px;
1679
+ font-size: 10px;
1680
+ }
1681
+ .studio-shades .studio-shades-apply:disabled {
1682
+ opacity: 0.4;
1683
+ }
1684
+ .studio-shades-bar {
1638
1685
  display: flex;
1686
+ align-items: center;
1687
+ justify-content: space-between;
1688
+ min-height: 28px;
1689
+ padding: 0 calc(var(--studio-editor-pad) - 4px) 0 var(--studio-editor-pad);
1690
+ }
1691
+ .studio-shades-advanced-toggle,
1692
+ .studio-shades-reset {
1693
+ display: inline-flex;
1694
+ align-items: center;
1695
+ gap: 4px;
1696
+ height: 20px;
1697
+ padding: 0 4px;
1698
+ border: 0;
1699
+ border-radius: 4px;
1700
+ background: transparent;
1701
+ color: #707070;
1702
+ font-size: 10px;
1703
+ cursor: pointer;
1704
+ }
1705
+ .studio-shades-advanced-toggle {
1706
+ margin-left: -4px;
1707
+ }
1708
+ .studio-shades-advanced-toggle:hover,
1709
+ .studio-shades-reset:hover {
1710
+ background: #efefef;
1711
+ color: #393939;
1712
+ }
1713
+ .studio-shades-advanced-toggle > svg {
1714
+ transition: rotate 120ms;
1715
+ }
1716
+ .studio-shades-advanced-toggle[aria-expanded="true"] > svg {
1717
+ rotate: 90deg;
1718
+ }
1719
+ .studio-shades-advanced {
1720
+ display: grid;
1639
1721
  gap: 6px;
1640
- margin-left: auto;
1722
+ padding: 8px var(--studio-editor-pad) 10px;
1641
1723
  }
1642
- .studio-shades-actions button {
1643
- padding: 4px 8px;
1724
+ /* Palette curve editor: a vector-style curve with draggable ends and handles, and shades that pin on click. */
1725
+ .studio-curve-editor {
1726
+ display: block;
1727
+ width: 100%;
1728
+ height: auto;
1729
+ border: 1px solid #ececec;
1644
1730
  border-radius: 5px;
1731
+ background: #f7f7f7;
1732
+ touch-action: none;
1733
+ user-select: none;
1734
+ }
1735
+ .studio-curve-editor.is-dragging {
1736
+ cursor: grabbing;
1737
+ }
1738
+ .studio-curve-range {
1739
+ fill: #fff;
1740
+ stroke: #e6e6e6;
1741
+ }
1742
+ .studio-curve-grid,
1743
+ .studio-curve-step {
1744
+ stroke: #efefef;
1745
+ }
1746
+ .studio-curve-step {
1747
+ stroke-dasharray: 1 3;
1748
+ }
1749
+ .studio-curve-base-mark {
1750
+ stroke: #9a9a9a;
1751
+ stroke-dasharray: 2 2;
1752
+ }
1753
+ .studio-curve-path {
1754
+ fill: none;
1755
+ stroke: #393939;
1756
+ stroke-width: 1.5;
1757
+ }
1758
+ .studio-curve-handle-line {
1759
+ stroke: #7655d7;
1760
+ stroke-width: 1;
1761
+ }
1762
+ .studio-curve-handle,
1763
+ .studio-curve-end {
1764
+ fill: #fff;
1765
+ stroke: #7655d7;
1766
+ stroke-width: 1.5;
1767
+ cursor: grab;
1768
+ outline: none;
1769
+ }
1770
+ .studio-curve-end {
1771
+ cursor: ns-resize;
1772
+ }
1773
+ .studio-curve-shade {
1774
+ stroke: #393939;
1775
+ stroke-width: 0.75;
1776
+ cursor: pointer;
1777
+ outline: none;
1778
+ }
1779
+ .studio-curve-shade.is-base {
1780
+ stroke-width: 1.25;
1781
+ }
1782
+ .studio-curve-shade.is-pinned {
1783
+ stroke: #7655d7;
1784
+ stroke-width: 2;
1785
+ }
1786
+ .studio-curve-editor :is(.studio-curve-handle, .studio-curve-end, .studio-curve-shade):focus-visible {
1787
+ stroke: #393939;
1788
+ stroke-width: 2.5;
1789
+ }
1790
+ .studio-curve-label {
1791
+ fill: #707070;
1645
1792
  font-size: 10px;
1646
- line-height: 1.3;
1793
+ pointer-events: none;
1647
1794
  }
1648
- .studio-shades-actions button:not(.studio-primary) {
1649
- border: 1px solid #e7e7e7;
1650
- background: #fff;
1651
- color: #717171;
1795
+ .studio-shades-hint {
1796
+ margin: 0;
1797
+ color: #9a9a9a;
1798
+ font-size: 10px;
1652
1799
  }
1653
- .studio-shades-actions .studio-primary:disabled {
1654
- opacity: 0.5;
1800
+ .studio-shades-heading {
1801
+ display: block;
1802
+ margin: 2px 0 4px;
1803
+ color: #9a9a9a;
1804
+ font-size: 10px;
1805
+ }
1806
+ .studio-slider-fields {
1807
+ display: grid;
1808
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1809
+ gap: 4px;
1810
+ }
1811
+ /* Slider field: the whole 24px field is the slider, filled from its origin to the value. */
1812
+ .studio-slider-field {
1813
+ position: relative;
1814
+ display: flex;
1815
+ align-items: center;
1816
+ justify-content: space-between;
1817
+ gap: 6px;
1818
+ height: 24px;
1819
+ padding: 0 8px;
1820
+ overflow: hidden;
1821
+ border-radius: 5px;
1822
+ background: #f0f0f0;
1823
+ font-size: 10px;
1824
+ cursor: ew-resize;
1825
+ }
1826
+ .studio-slider-field::before {
1827
+ content: "";
1828
+ position: absolute;
1829
+ top: 0;
1830
+ bottom: 0;
1831
+ left: var(--from);
1832
+ width: calc(var(--to) - var(--from));
1833
+ background: #dcdcdc;
1834
+ pointer-events: none;
1835
+ }
1836
+ .studio-slider-field:hover {
1837
+ background: #e9e9e9;
1838
+ }
1839
+ .studio-slider-field:has(input:focus-visible) {
1840
+ outline: 1px solid #393939;
1841
+ outline-offset: -1px;
1842
+ }
1843
+ .studio-slider-field:has(input:disabled) {
1844
+ opacity: 0.45;
1845
+ cursor: default;
1846
+ }
1847
+ .studio-slider-field > span,
1848
+ .studio-slider-field > output {
1849
+ position: relative;
1850
+ overflow: hidden;
1851
+ text-overflow: ellipsis;
1852
+ white-space: nowrap;
1853
+ pointer-events: none;
1854
+ }
1855
+ .studio-slider-field > span {
1856
+ color: #555;
1857
+ }
1858
+ .studio-slider-field > output {
1859
+ flex-shrink: 0;
1860
+ color: #393939;
1861
+ font-variant-numeric: tabular-nums;
1862
+ }
1863
+ .studio-slider-field > input {
1864
+ position: absolute;
1865
+ inset: 0;
1866
+ width: 100%;
1867
+ height: 100%;
1868
+ margin: 0;
1869
+ opacity: 0;
1870
+ cursor: inherit;
1655
1871
  }
1656
1872
  /* Global rounding stepper at the top of the Radius section. */
1657
1873
  .studio-rounding {
@@ -3692,6 +3908,71 @@
3692
3908
  outline: 2px solid #555;
3693
3909
  outline-offset: 1px;
3694
3910
  }
3911
+
3912
+ /* Inspector pieces shared by the App Canvas and the live-page inspector. */
3913
+ .povio-canvas-inspect-hint {
3914
+ margin: 8px 12px;
3915
+ color: #77717e;
3916
+ font-size: 10px;
3917
+ line-height: 16px;
3918
+ }
3919
+ .povio-canvas-auto-spacing .studio-measure-label {
3920
+ display: none;
3921
+ }
3922
+ .povio-canvas-spacing-value {
3923
+ position: absolute;
3924
+ transform: translate(-50%, -50%);
3925
+ border-radius: 3px;
3926
+ background: #24202de6;
3927
+ color: white;
3928
+ padding: 1px 4px;
3929
+ white-space: nowrap;
3930
+ font:
3931
+ 10px/1.3 "Inter Variable",
3932
+ Inter,
3933
+ sans-serif;
3934
+ pointer-events: none;
3935
+ }
3936
+
3937
+ /*
3938
+ * The live-page inspector: a sidebar on the window's right edge. The page gives up that width while inspecting, so the
3939
+ * sidebar sits beside it, like the App Canvas inspector, rather than covering it.
3940
+ */
3941
+ .studio-inspector-panel.studio-page-inspector {
3942
+ position: fixed;
3943
+ top: 0;
3944
+ right: 0;
3945
+ bottom: 0;
3946
+ z-index: 999;
3947
+ width: 272px;
3948
+ height: auto;
3949
+ border: 0;
3950
+ border-left: 1px solid #e8e8eb;
3951
+ border-radius: 0;
3952
+ box-shadow: none;
3953
+ }
3954
+ html.studio-page-inspecting body {
3955
+ margin-right: 272px !important;
3956
+ }
3957
+ .studio-page-inspection {
3958
+ position: fixed;
3959
+ inset: 0;
3960
+ z-index: 998;
3961
+ overflow: visible;
3962
+ pointer-events: none;
3963
+ }
3964
+ /* Crosshair over the page while inspecting; the inspector, configurator and host tools keep their own cursors. */
3965
+ .studio-page-inspecting body,
3966
+ .studio-page-inspecting
3967
+ body
3968
+ *:not([data-povio-inspector-ignore], [data-povio-inspector-ignore] *, .studio-overlay, .studio-overlay *) {
3969
+ cursor: crosshair !important;
3970
+ }
3971
+ /* Cursor inherits, so each tool resets it at its root; its own controls then keep their usual cursors. */
3972
+ .studio-page-inspecting :is([data-povio-inspector-ignore], .studio-overlay) {
3973
+ cursor: default;
3974
+ }
3975
+
3695
3976
  /* Fontsource browsing stays compact even when the preview theme changes. */
3696
3977
  .studio-fontsource {
3697
3978
  display: flex;
@@ -3894,3 +4175,109 @@
3894
4175
  margin-top: 5px;
3895
4176
  font-size: 10px;
3896
4177
  }
4178
+
4179
+ /* The Semantic palette's light / dark toggle: the App Canvas dock's single sun / moon button, in the sub-tab row. */
4180
+ .studio-subtabs-bar .studio-theme-toggle {
4181
+ display: grid;
4182
+ flex-shrink: 0;
4183
+ place-items: center;
4184
+ /* No taller than the tab labels, so the row (and the active tab's underline) keeps its height. */
4185
+ width: 22px;
4186
+ height: 18px;
4187
+ margin: 0 0 2px auto;
4188
+ padding: 0;
4189
+ border: 0;
4190
+ border-radius: 4px;
4191
+ background: transparent;
4192
+ color: #45454d;
4193
+ cursor: pointer;
4194
+ }
4195
+ .studio-subtabs-bar .studio-theme-toggle:hover {
4196
+ background: #f1f1f4;
4197
+ }
4198
+ .studio-subtabs-bar .studio-theme-toggle:focus-visible {
4199
+ outline: 2px solid #7655d7;
4200
+ outline-offset: -2px;
4201
+ }
4202
+ .studio-subtabs-bar .studio-theme-toggle + .studio-toggle-all {
4203
+ margin-left: 4px;
4204
+ }
4205
+
4206
+ /* UIDevToolbar: matches the App Canvas docks, and stays independent of the app theme being configured. */
4207
+ .studio-dev-toolbar,
4208
+ .studio-dev-toolbar-tab {
4209
+ position: fixed;
4210
+ bottom: 12px;
4211
+ z-index: 50;
4212
+ box-sizing: border-box;
4213
+ background: #fff;
4214
+ border: 1px solid #e3e1e8;
4215
+ box-shadow: 0 4px 16px #24202d12;
4216
+ color: #45454d;
4217
+ }
4218
+ .studio-dev-toolbar {
4219
+ left: 12px;
4220
+ display: flex;
4221
+ align-items: center;
4222
+ gap: 2px;
4223
+ padding: 4px;
4224
+ border-radius: 8px;
4225
+ }
4226
+ .studio-dev-toolbar button {
4227
+ display: grid;
4228
+ place-items: center;
4229
+ width: 28px;
4230
+ height: 28px;
4231
+ padding: 0;
4232
+ border: 0;
4233
+ border-radius: 5px;
4234
+ background: transparent;
4235
+ color: inherit;
4236
+ cursor: pointer;
4237
+ }
4238
+ .studio-dev-toolbar button:hover {
4239
+ background: #f1f1f4;
4240
+ }
4241
+ /* Labelled buttons read like the canvas tool dock: icon, then a 10px label. */
4242
+ .studio-dev-toolbar button.studio-dev-toolbar-labelled {
4243
+ display: inline-flex;
4244
+ align-items: center;
4245
+ gap: 4px;
4246
+ width: auto;
4247
+ padding: 0 8px;
4248
+ font:
4249
+ 500 10px/1 Inter,
4250
+ system-ui,
4251
+ sans-serif;
4252
+ white-space: nowrap;
4253
+ }
4254
+ .studio-dev-toolbar button[aria-pressed="true"] {
4255
+ background: #eee8ff;
4256
+ color: #6540c2;
4257
+ }
4258
+ .studio-dev-toolbar button:focus-visible,
4259
+ .studio-dev-toolbar-tab:focus-visible {
4260
+ outline: 2px solid #7655d7;
4261
+ outline-offset: 1px;
4262
+ }
4263
+ .studio-dev-toolbar-divider {
4264
+ width: 1px;
4265
+ height: 16px;
4266
+ margin: 0 2px;
4267
+ background: #e8e8eb;
4268
+ }
4269
+ /* Hidden: a small tab against the left edge that brings the dock back. */
4270
+ .studio-dev-toolbar-tab {
4271
+ left: 0;
4272
+ display: grid;
4273
+ place-items: center;
4274
+ width: 20px;
4275
+ height: 36px;
4276
+ padding: 0;
4277
+ border-left: 0;
4278
+ border-radius: 0 6px 6px 0;
4279
+ cursor: pointer;
4280
+ }
4281
+ .studio-dev-toolbar-tab:hover {
4282
+ background: #f1f1f4;
4283
+ }
@@ -1,2 +1,2 @@
1
- import { t as DatePicker } from "../DatePicker-xDEqzNJv.js";
1
+ import { t as DatePicker } from "../DatePicker-CAzuZRmd.js";
2
2
  export { DatePicker };
@@ -1,2 +1,2 @@
1
- import { t as DateRangePicker } from "../DateRangePicker-DxuVhRaf.js";
1
+ import { t as DateRangePicker } from "../DateRangePicker-X3mBhfmL.js";
2
2
  export { DateRangePicker };
@@ -1,2 +1,2 @@
1
- import { t as DateTimePicker } from "../DateTimePicker-4N1Pka07.js";
1
+ import { t as DateTimePicker } from "../DateTimePicker-EtmGtoRe.js";
2
2
  export { DateTimePicker };
@@ -1,3 +1,3 @@
1
1
  import { i as useFormValue, n as useForm, r as useFormState } from "../form.binding-CG1RPv6o.js";
2
- import { r as Form, t as useFormAutosave } from "../useFormAutosave-pmh35PXp.js";
2
+ import { r as Form, t as useFormAutosave } from "../useFormAutosave-CxqZAJAB.js";
3
3
  export { Form, useForm, useFormAutosave, useFormState, useFormValue };
@@ -1,3 +1,3 @@
1
1
  import { t as dynamicInputs } from "../dynamicInputs-CRMWIpHA.js";
2
- import { t as Inputs } from "../Inputs-D1aE_J9f.js";
2
+ import { t as Inputs } from "../Inputs-Bd2nRNqk.js";
3
3
  export { Inputs, dynamicInputs };
@@ -1,2 +1,2 @@
1
- import { t as NumberRangeInput } from "../NumberRangeInput-Bzfe-RlV.js";
1
+ import { t as NumberRangeInput } from "../NumberRangeInput-TkPXiWV3.js";
2
2
  export { NumberRangeInput };
@@ -1,2 +1,2 @@
1
- import { t as RichTextEditor } from "../RichTextEditor-Bd7F5D8f.js";
1
+ import { t as RichTextEditor } from "../RichTextEditor-DiaPcBUM.js";
2
2
  export { RichTextEditor };
@@ -1,2 +1,2 @@
1
- import { t as Select } from "../Select-CgIhoWgk.js";
1
+ import { t as Select } from "../Select-tNlFSbAC.js";
2
2
  export { Select };
@@ -1,3 +1,3 @@
1
- import { i as CellText, n as useTableNav, r as HeaderText, t as Table } from "../Table-piX1SWvN.js";
2
- 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";
1
+ import { i as CellText, n as useTableNav, r as HeaderText, t as Table } from "../Table-CgG02oHQ.js";
2
+ 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";
3
3
  export { CellText, ColumnConfigModal, HeaderText, InfiniteTable, PaginatedTable, Table, dynamicColumns, usePagination, useSorting, useTableColumnConfig, useTableNav };
@@ -1,2 +1,2 @@
1
- import { t as TextArea } from "../TextArea-uPffb457.js";
1
+ import { t as TextArea } from "../TextArea-DuvFUjts.js";
2
2
  export { TextArea };
@@ -1,2 +1,2 @@
1
- import { t as TimePicker } from "../TimePicker-DN-i98z5.js";
1
+ import { t as TimePicker } from "../TimePicker-CBkiE-Yq.js";
2
2
  export { TimePicker };
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 };