@texturehq/edges 1.5.2 → 1.6.0

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.
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.5.2",
3
- "generatedAt": "2025-10-11T01:32:19.252Z",
2
+ "version": "1.6.0",
3
+ "generatedAt": "2025-10-12T21:02:10.669Z",
4
4
  "components": [
5
5
  {
6
6
  "name": "ActionCell",
@@ -78,6 +78,10 @@
78
78
  {
79
79
  "name": "maxWidth",
80
80
  "type": "string"
81
+ },
82
+ {
83
+ "name": "minWidth",
84
+ "type": "string"
81
85
  }
82
86
  ]
83
87
  },
@@ -353,6 +357,10 @@
353
357
  "importPath": "@texturehq/edges/components/Button",
354
358
  "description": "Renders an Edges Button. When `href` is provided, renders a link-styled button using the same visual system.",
355
359
  "props": [
360
+ {
361
+ "name": "variant",
362
+ "type": "\"default\" | \"primary\" | \"secondary\" | \"destructive\" | \"icon\" | \"link\" | \"unstyled\" | \"ghost\""
363
+ },
356
364
  {
357
365
  "name": "size",
358
366
  "type": "Size"
@@ -687,6 +695,10 @@
687
695
  {
688
696
  "name": "maxWidth",
689
697
  "type": "string"
698
+ },
699
+ {
700
+ "name": "minWidth",
701
+ "type": "string"
690
702
  }
691
703
  ]
692
704
  },
@@ -714,6 +726,34 @@
714
726
  }
715
727
  ]
716
728
  },
729
+ {
730
+ "name": "DataControls",
731
+ "importRoot": "@texturehq/edges",
732
+ "importPath": "@texturehq/edges/components/DataControls",
733
+ "description": "DataControls A unified control bar for data display components (Lists, DataTables). Provides search, filtering, sorting, results count, and action controls with responsive layout. All data operations (search, filter, sort) are handled server-side. This component is purely presentational and controlled. **Responsive Behavior:** - Narrow containers (< 640px): Two rows - Row 1: inputs (search + filter icon), Row 2: outputs (results + sort + actions) - Wide containers (≥ 640px): Single row with all controls visible Example usage: ```tsx <DataControls resultsCount={{ count: 23, label: \"sites\" }} search={{ value: searchQuery, onChange: setSearchQuery, onClear: () => setSearchQuery(''), placeholder: \"Search sites...\" }} filters={activeFilters} onRemoveFilter={removeFilter} onClearAllFilters={clearAllFilters} onManageFilters={() => setFilterDrawerOpen(true)} sort={{ value: sortBy, options: sortOptions, onChange: setSortBy }} /> ```",
734
+ "props": [
735
+ {
736
+ "name": "search",
737
+ "type": "{"
738
+ },
739
+ {
740
+ "name": "value",
741
+ "type": "string"
742
+ },
743
+ {
744
+ "name": "onChange",
745
+ "type": "(value: string) => void"
746
+ },
747
+ {
748
+ "name": "onClear",
749
+ "type": "() => void"
750
+ },
751
+ {
752
+ "name": "placeholder",
753
+ "type": "string"
754
+ }
755
+ ]
756
+ },
717
757
  {
718
758
  "name": "DataTable",
719
759
  "importRoot": "@texturehq/edges",
@@ -746,7 +786,7 @@
746
786
  "name": "Dialog",
747
787
  "importRoot": "@texturehq/edges",
748
788
  "importPath": "@texturehq/edges/components/Dialog",
749
- "description": "Dialog Responsive modal dialog component with backdrop. **Desktop (≥768px):** Centered modal with scale and fade animation **Mobile (<768px):** Bottom sheet that slides up from bottom Includes optional header with title/back button and footer with action buttons.",
789
+ "description": "Dialog Responsive modal dialog component with backdrop. **Desktop (≥768px):** Centered modal with scale and fade animation **Mobile (<768px):** Bottom sheet that slides up from bottom Includes optional header with title/back button and footer with action buttons. ## Usage Patterns ### Uncontrolled with DialogTrigger (Recommended) ```tsx import { DialogTrigger, Dialog, Button } from \"@texturehq/edges\"; <DialogTrigger> <Button>Open Dialog</Button> <Dialog title=\"My Dialog\"> <p>Dialog content</p> </Dialog> </DialogTrigger> ``` ### Controlled (Advanced) ```tsx const [isOpen, setIsOpen] = useState(false); <Dialog isOpen={isOpen} onClose={() => setIsOpen(false)} title=\"My Dialog\"> <p>Dialog content</p> </Dialog> ```",
750
790
  "props": [
751
791
  {
752
792
  "name": "isOpen",
@@ -768,6 +808,10 @@
768
808
  "name": "maxWidth",
769
809
  "type": "string"
770
810
  },
811
+ {
812
+ "name": "minWidth",
813
+ "type": "string"
814
+ },
771
815
  {
772
816
  "name": "contentPadding",
773
817
  "type": "boolean"
@@ -778,6 +822,13 @@
778
822
  }
779
823
  ]
780
824
  },
825
+ {
826
+ "name": "DialogHeader",
827
+ "importRoot": "@texturehq/edges",
828
+ "importPath": "@texturehq/edges/components/DialogHeader",
829
+ "description": "DialogHeader Header area for dialogs with optional back arrow.",
830
+ "props": []
831
+ },
781
832
  {
782
833
  "name": "Drawer",
783
834
  "importRoot": "@texturehq/edges",
@@ -873,6 +924,34 @@
873
924
  }
874
925
  ]
875
926
  },
927
+ {
928
+ "name": "FilterChips",
929
+ "importRoot": "@texturehq/edges",
930
+ "importPath": "@texturehq/edges/components/FilterChips",
931
+ "description": "",
932
+ "props": [
933
+ {
934
+ "name": "search",
935
+ "type": "{"
936
+ },
937
+ {
938
+ "name": "value",
939
+ "type": "string"
940
+ },
941
+ {
942
+ "name": "onChange",
943
+ "type": "(value: string) => void"
944
+ },
945
+ {
946
+ "name": "onClear",
947
+ "type": "() => void"
948
+ },
949
+ {
950
+ "name": "placeholder",
951
+ "type": "string"
952
+ }
953
+ ]
954
+ },
876
955
  {
877
956
  "name": "Form",
878
957
  "importRoot": "@texturehq/edges",
@@ -1107,13 +1186,6 @@
1107
1186
  }
1108
1187
  ]
1109
1188
  },
1110
- {
1111
- "name": "ListHeader",
1112
- "importRoot": "@texturehq/edges",
1113
- "importPath": "@texturehq/edges/components/ListHeader",
1114
- "description": "",
1115
- "props": []
1116
- },
1117
1189
  {
1118
1190
  "name": "ListItem",
1119
1191
  "importRoot": "@texturehq/edges",
@@ -1633,6 +1705,34 @@
1633
1705
  "description": "RangeCalendar Calendar allowing selection of a date range.",
1634
1706
  "props": []
1635
1707
  },
1708
+ {
1709
+ "name": "ResultsCount",
1710
+ "importRoot": "@texturehq/edges",
1711
+ "importPath": "@texturehq/edges/components/ResultsCount",
1712
+ "description": "",
1713
+ "props": [
1714
+ {
1715
+ "name": "search",
1716
+ "type": "{"
1717
+ },
1718
+ {
1719
+ "name": "value",
1720
+ "type": "string"
1721
+ },
1722
+ {
1723
+ "name": "onChange",
1724
+ "type": "(value: string) => void"
1725
+ },
1726
+ {
1727
+ "name": "onClear",
1728
+ "type": "() => void"
1729
+ },
1730
+ {
1731
+ "name": "placeholder",
1732
+ "type": "string"
1733
+ }
1734
+ ]
1735
+ },
1636
1736
  {
1637
1737
  "name": "RichTextEditor",
1638
1738
  "importRoot": "@texturehq/edges",
@@ -1661,6 +1761,34 @@
1661
1761
  }
1662
1762
  ]
1663
1763
  },
1764
+ {
1765
+ "name": "SearchControl",
1766
+ "importRoot": "@texturehq/edges",
1767
+ "importPath": "@texturehq/edges/components/SearchControl",
1768
+ "description": "",
1769
+ "props": [
1770
+ {
1771
+ "name": "search",
1772
+ "type": "{"
1773
+ },
1774
+ {
1775
+ "name": "value",
1776
+ "type": "string"
1777
+ },
1778
+ {
1779
+ "name": "onChange",
1780
+ "type": "(value: string) => void"
1781
+ },
1782
+ {
1783
+ "name": "onClear",
1784
+ "type": "() => void"
1785
+ },
1786
+ {
1787
+ "name": "placeholder",
1788
+ "type": "string"
1789
+ }
1790
+ ]
1791
+ },
1664
1792
  {
1665
1793
  "name": "Section",
1666
1794
  "importRoot": "@texturehq/edges",
@@ -1765,6 +1893,10 @@
1765
1893
  "name": "bottomItems",
1766
1894
  "type": "SideNavItem[]"
1767
1895
  },
1896
+ {
1897
+ "name": "bottomContent",
1898
+ "type": "React.ReactNode"
1899
+ },
1768
1900
  {
1769
1901
  "name": "logo",
1770
1902
  "type": "React.ReactNode"
@@ -1869,6 +2001,34 @@
1869
2001
  }
1870
2002
  ]
1871
2003
  },
2004
+ {
2005
+ "name": "SortControl",
2006
+ "importRoot": "@texturehq/edges",
2007
+ "importPath": "@texturehq/edges/components/SortControl",
2008
+ "description": "",
2009
+ "props": [
2010
+ {
2011
+ "name": "search",
2012
+ "type": "{"
2013
+ },
2014
+ {
2015
+ "name": "value",
2016
+ "type": "string"
2017
+ },
2018
+ {
2019
+ "name": "onChange",
2020
+ "type": "(value: string) => void"
2021
+ },
2022
+ {
2023
+ "name": "onClear",
2024
+ "type": "() => void"
2025
+ },
2026
+ {
2027
+ "name": "placeholder",
2028
+ "type": "string"
2029
+ }
2030
+ ]
2031
+ },
1872
2032
  {
1873
2033
  "name": "SplitPane",
1874
2034
  "importRoot": "@texturehq/edges",