@ankhorage/zora 0.0.4 → 0.1.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.
Files changed (153) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +335 -4
  3. package/dist/components/card/types.d.ts +1 -1
  4. package/dist/components/card/types.d.ts.map +1 -1
  5. package/dist/components/icon-button/IconButton.d.ts +4 -0
  6. package/dist/components/icon-button/IconButton.d.ts.map +1 -0
  7. package/dist/components/icon-button/IconButton.js +8 -0
  8. package/dist/components/icon-button/IconButton.js.map +1 -0
  9. package/dist/components/icon-button/index.d.ts +3 -0
  10. package/dist/components/icon-button/index.d.ts.map +1 -0
  11. package/dist/components/icon-button/index.js +3 -0
  12. package/dist/components/icon-button/index.js.map +1 -0
  13. package/dist/components/icon-button/types.d.ts +14 -0
  14. package/dist/components/icon-button/types.d.ts.map +1 -0
  15. package/dist/components/icon-button/types.js +2 -0
  16. package/dist/components/icon-button/types.js.map +1 -0
  17. package/dist/components/select/Select.d.ts +4 -0
  18. package/dist/components/select/Select.d.ts.map +1 -0
  19. package/dist/components/select/Select.js +18 -0
  20. package/dist/components/select/Select.js.map +1 -0
  21. package/dist/components/select/index.d.ts +3 -0
  22. package/dist/components/select/index.d.ts.map +1 -0
  23. package/dist/components/select/index.js +3 -0
  24. package/dist/components/select/index.js.map +1 -0
  25. package/dist/components/select/types.d.ts +14 -0
  26. package/dist/components/select/types.d.ts.map +1 -0
  27. package/dist/components/select/types.js +2 -0
  28. package/dist/components/select/types.js.map +1 -0
  29. package/dist/components/tabs/Tabs.d.ts +4 -0
  30. package/dist/components/tabs/Tabs.d.ts.map +1 -0
  31. package/dist/components/tabs/Tabs.js +37 -0
  32. package/dist/components/tabs/Tabs.js.map +1 -0
  33. package/dist/components/tabs/index.d.ts +3 -0
  34. package/dist/components/tabs/index.d.ts.map +1 -0
  35. package/dist/components/tabs/index.js +3 -0
  36. package/dist/components/tabs/index.js.map +1 -0
  37. package/dist/components/tabs/types.d.ts +22 -0
  38. package/dist/components/tabs/types.d.ts.map +1 -0
  39. package/dist/components/tabs/types.js +2 -0
  40. package/dist/components/tabs/types.js.map +1 -0
  41. package/dist/components/toolbar/Toolbar.d.ts +4 -0
  42. package/dist/components/toolbar/Toolbar.d.ts.map +1 -0
  43. package/dist/components/toolbar/Toolbar.js +20 -0
  44. package/dist/components/toolbar/Toolbar.js.map +1 -0
  45. package/dist/components/toolbar/ToolbarAction.d.ts +4 -0
  46. package/dist/components/toolbar/ToolbarAction.d.ts.map +1 -0
  47. package/dist/components/toolbar/ToolbarAction.js +6 -0
  48. package/dist/components/toolbar/ToolbarAction.js.map +1 -0
  49. package/dist/components/toolbar/index.d.ts +4 -0
  50. package/dist/components/toolbar/index.d.ts.map +1 -0
  51. package/dist/components/toolbar/index.js +4 -0
  52. package/dist/components/toolbar/index.js.map +1 -0
  53. package/dist/components/toolbar/types.d.ts +19 -0
  54. package/dist/components/toolbar/types.d.ts.map +1 -0
  55. package/dist/components/toolbar/types.js +2 -0
  56. package/dist/components/toolbar/types.js.map +1 -0
  57. package/dist/index.d.ts +22 -0
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +11 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/patterns/collection-editor/CollectionEditor.d.ts +4 -0
  62. package/dist/patterns/collection-editor/CollectionEditor.d.ts.map +1 -0
  63. package/dist/patterns/collection-editor/CollectionEditor.js +41 -0
  64. package/dist/patterns/collection-editor/CollectionEditor.js.map +1 -0
  65. package/dist/patterns/collection-editor/index.d.ts +3 -0
  66. package/dist/patterns/collection-editor/index.d.ts.map +1 -0
  67. package/dist/patterns/collection-editor/index.js +3 -0
  68. package/dist/patterns/collection-editor/index.js.map +1 -0
  69. package/dist/patterns/collection-editor/types.d.ts +24 -0
  70. package/dist/patterns/collection-editor/types.d.ts.map +1 -0
  71. package/dist/patterns/collection-editor/types.js +2 -0
  72. package/dist/patterns/collection-editor/types.js.map +1 -0
  73. package/dist/patterns/disclosure-section/DisclosureSection.d.ts +4 -0
  74. package/dist/patterns/disclosure-section/DisclosureSection.d.ts.map +1 -0
  75. package/dist/patterns/disclosure-section/DisclosureSection.js +27 -0
  76. package/dist/patterns/disclosure-section/DisclosureSection.js.map +1 -0
  77. package/dist/patterns/disclosure-section/index.d.ts +3 -0
  78. package/dist/patterns/disclosure-section/index.d.ts.map +1 -0
  79. package/dist/patterns/disclosure-section/index.js +3 -0
  80. package/dist/patterns/disclosure-section/index.js.map +1 -0
  81. package/dist/patterns/disclosure-section/types.d.ts +15 -0
  82. package/dist/patterns/disclosure-section/types.d.ts.map +1 -0
  83. package/dist/patterns/disclosure-section/types.js +2 -0
  84. package/dist/patterns/disclosure-section/types.js.map +1 -0
  85. package/dist/patterns/inspector-field/InspectorField.d.ts +4 -0
  86. package/dist/patterns/inspector-field/InspectorField.d.ts.map +1 -0
  87. package/dist/patterns/inspector-field/InspectorField.js +12 -0
  88. package/dist/patterns/inspector-field/InspectorField.js.map +1 -0
  89. package/dist/patterns/inspector-field/index.d.ts +3 -0
  90. package/dist/patterns/inspector-field/index.d.ts.map +1 -0
  91. package/dist/patterns/inspector-field/index.js +3 -0
  92. package/dist/patterns/inspector-field/index.js.map +1 -0
  93. package/dist/patterns/inspector-field/types.d.ts +15 -0
  94. package/dist/patterns/inspector-field/types.d.ts.map +1 -0
  95. package/dist/patterns/inspector-field/types.js +2 -0
  96. package/dist/patterns/inspector-field/types.js.map +1 -0
  97. package/dist/patterns/responsive-panel/ResponsivePanel.d.ts +4 -0
  98. package/dist/patterns/responsive-panel/ResponsivePanel.d.ts.map +1 -0
  99. package/dist/patterns/responsive-panel/ResponsivePanel.js +25 -0
  100. package/dist/patterns/responsive-panel/ResponsivePanel.js.map +1 -0
  101. package/dist/patterns/responsive-panel/index.d.ts +3 -0
  102. package/dist/patterns/responsive-panel/index.d.ts.map +1 -0
  103. package/dist/patterns/responsive-panel/index.js +3 -0
  104. package/dist/patterns/responsive-panel/index.js.map +1 -0
  105. package/dist/patterns/responsive-panel/types.d.ts +19 -0
  106. package/dist/patterns/responsive-panel/types.d.ts.map +1 -0
  107. package/dist/patterns/responsive-panel/types.js +2 -0
  108. package/dist/patterns/responsive-panel/types.js.map +1 -0
  109. package/dist/patterns/switch-field/SwitchField.d.ts +4 -0
  110. package/dist/patterns/switch-field/SwitchField.d.ts.map +1 -0
  111. package/dist/patterns/switch-field/SwitchField.js +7 -0
  112. package/dist/patterns/switch-field/SwitchField.js.map +1 -0
  113. package/dist/patterns/switch-field/index.d.ts +3 -0
  114. package/dist/patterns/switch-field/index.d.ts.map +1 -0
  115. package/dist/patterns/switch-field/index.js +3 -0
  116. package/dist/patterns/switch-field/index.js.map +1 -0
  117. package/dist/patterns/switch-field/types.d.ts +10 -0
  118. package/dist/patterns/switch-field/types.d.ts.map +1 -0
  119. package/dist/patterns/switch-field/types.js +2 -0
  120. package/dist/patterns/switch-field/types.js.map +1 -0
  121. package/dist/patterns/tile-grid/PaletteItem.d.ts +4 -0
  122. package/dist/patterns/tile-grid/PaletteItem.d.ts.map +1 -0
  123. package/dist/patterns/tile-grid/PaletteItem.js +24 -0
  124. package/dist/patterns/tile-grid/PaletteItem.js.map +1 -0
  125. package/dist/patterns/tile-grid/TileGrid.d.ts +4 -0
  126. package/dist/patterns/tile-grid/TileGrid.d.ts.map +1 -0
  127. package/dist/patterns/tile-grid/TileGrid.js +26 -0
  128. package/dist/patterns/tile-grid/TileGrid.js.map +1 -0
  129. package/dist/patterns/tile-grid/index.d.ts +4 -0
  130. package/dist/patterns/tile-grid/index.d.ts.map +1 -0
  131. package/dist/patterns/tile-grid/index.js +4 -0
  132. package/dist/patterns/tile-grid/index.js.map +1 -0
  133. package/dist/patterns/tile-grid/types.d.ts +19 -0
  134. package/dist/patterns/tile-grid/types.d.ts.map +1 -0
  135. package/dist/patterns/tile-grid/types.js +2 -0
  136. package/dist/patterns/tile-grid/types.js.map +1 -0
  137. package/dist/patterns/tree-view/TreeItem.d.ts +14 -0
  138. package/dist/patterns/tree-view/TreeItem.d.ts.map +1 -0
  139. package/dist/patterns/tree-view/TreeItem.js +31 -0
  140. package/dist/patterns/tree-view/TreeItem.js.map +1 -0
  141. package/dist/patterns/tree-view/TreeView.d.ts +4 -0
  142. package/dist/patterns/tree-view/TreeView.d.ts.map +1 -0
  143. package/dist/patterns/tree-view/TreeView.js +20 -0
  144. package/dist/patterns/tree-view/TreeView.js.map +1 -0
  145. package/dist/patterns/tree-view/index.d.ts +4 -0
  146. package/dist/patterns/tree-view/index.d.ts.map +1 -0
  147. package/dist/patterns/tree-view/index.js +4 -0
  148. package/dist/patterns/tree-view/index.js.map +1 -0
  149. package/dist/patterns/tree-view/types.d.ts +29 -0
  150. package/dist/patterns/tree-view/types.d.ts.map +1 -0
  151. package/dist/patterns/tree-view/types.js +2 -0
  152. package/dist/patterns/tree-view/types.js.map +1 -0
  153. package/package.json +6 -1
@@ -0,0 +1,3 @@
1
+ export * from './Tabs';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/tabs/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { ButtonIconSpec } from '@ankhorage/surface';
2
+ import type { ReactNode } from 'react';
3
+ import type { ZoraControlSize } from '../../internal/recipes';
4
+ export interface TabItem<TValue extends string = string> {
5
+ value: TValue;
6
+ label: ReactNode;
7
+ icon?: ButtonIconSpec;
8
+ badge?: ReactNode;
9
+ disabled?: boolean;
10
+ testID?: string;
11
+ }
12
+ export type TabsVariant = 'underline' | 'pill' | 'segmented';
13
+ export interface TabsProps<TValue extends string = string> {
14
+ value: TValue;
15
+ items: readonly TabItem<TValue>[];
16
+ onValueChange: (value: TValue) => void;
17
+ variant?: TabsVariant;
18
+ size?: ZoraControlSize;
19
+ disabled?: boolean;
20
+ testID?: string;
21
+ }
22
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,OAAO,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAClC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/tabs/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { ToolbarProps } from './types';
3
+ export declare function Toolbar({ children, position, floating, compact, testID, }: ToolbarProps): React.JSX.Element;
4
+ //# sourceMappingURL=Toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,QAAmB,EACnB,QAAgB,EAChB,OAAc,EACd,MAAM,GACP,EAAE,YAAY,qBAyBd"}
@@ -0,0 +1,20 @@
1
+ import { Stack } from '@ankhorage/surface';
2
+ import React from 'react';
3
+ import { Card } from '../card';
4
+ export function Toolbar({ children, position = 'inline', floating = false, compact = true, testID, }) {
5
+ const isFixed = position === 'top' || position === 'bottom';
6
+ return (<Card compact={compact} tone={floating ? 'default' : 'subtle'} testID={testID} style={isFixed
7
+ ? {
8
+ position: 'absolute',
9
+ left: 0,
10
+ right: 0,
11
+ [position]: 0,
12
+ zIndex: 10,
13
+ }
14
+ : undefined}>
15
+ <Stack direction="row" gap="s" align="center">
16
+ {children}
17
+ </Stack>
18
+ </Card>);
19
+ }
20
+ //# sourceMappingURL=Toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,MAAM,UAAU,OAAO,CAAC,EACtB,QAAQ,EACR,QAAQ,GAAG,QAAQ,EACnB,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,IAAI,EACd,MAAM,GACO;IACb,MAAM,OAAO,GAAG,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,QAAQ,CAAC;IAE5D,OAAO,CACL,CAAC,IAAI,CACH,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CACtC,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CACJ,OAAO;YACL,CAAC,CAAC;gBACE,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,CAAC;gBACR,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACb,MAAM,EAAE,EAAE;aACX;YACH,CAAC,CAAC,SACN,CAAC,CAED;MAAA,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAC3C;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,KAAK,CACT;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { ToolbarActionProps } from './types';
3
+ export declare function ToolbarAction({ active, ...props }: ToolbarActionProps): React.JSX.Element;
4
+ //# sourceMappingURL=ToolbarAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarAction.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/ToolbarAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,qBASrE"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { IconButton } from '../icon-button';
3
+ export function ToolbarAction({ active, ...props }) {
4
+ return (<IconButton {...props} emphasis={active ? 'soft' : 'ghost'} tone={active ? 'primary' : 'neutral'} size="m"/>);
5
+ }
6
+ //# sourceMappingURL=ToolbarAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarAction.js","sourceRoot":"","sources":["../../../src/components/toolbar/ToolbarAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,MAAM,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAsB;IACpE,OAAO,CACL,CAAC,UAAU,CACT,IAAI,KAAK,CAAC,CACV,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CACpC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CACrC,IAAI,CAAC,GAAG,EACR,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './Toolbar';
2
+ export * from './ToolbarAction';
3
+ export * from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './Toolbar';
2
+ export * from './ToolbarAction';
3
+ export * from './types';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/toolbar/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ButtonIconSpec } from '@ankhorage/surface';
2
+ import type React from 'react';
3
+ export type ToolbarPosition = 'top' | 'bottom' | 'inline';
4
+ export interface ToolbarProps {
5
+ children?: React.ReactNode;
6
+ position?: ToolbarPosition;
7
+ floating?: boolean;
8
+ compact?: boolean;
9
+ testID?: string;
10
+ }
11
+ export interface ToolbarActionProps {
12
+ label: string;
13
+ icon: ButtonIconSpec;
14
+ active?: boolean;
15
+ disabled?: boolean;
16
+ onPress?: () => void;
17
+ testID?: string;
18
+ }
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/toolbar/types.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -6,12 +6,20 @@ export type { CardProps } from './components/card';
6
6
  export { Card } from './components/card';
7
7
  export type { DrawerProps } from './components/drawer';
8
8
  export { Drawer } from './components/drawer';
9
+ export type { IconButtonProps } from './components/icon-button';
10
+ export { IconButton } from './components/icon-button';
9
11
  export type { InputProps } from './components/input';
10
12
  export { Input } from './components/input';
11
13
  export type { ModalProps } from './components/modal';
12
14
  export { Modal } from './components/modal';
15
+ export type { SelectOption, SelectProps } from './components/select';
16
+ export { Select } from './components/select';
17
+ export type { TabItem, TabsProps } from './components/tabs';
18
+ export { Tabs } from './components/tabs';
13
19
  export type { TextareaProps } from './components/textarea';
14
20
  export { Textarea } from './components/textarea';
21
+ export type { ToolbarActionProps, ToolbarProps } from './components/toolbar';
22
+ export { Toolbar, ToolbarAction } from './components/toolbar';
15
23
  export type { AuthLayoutProps } from './layout/auth-layout';
16
24
  export { AuthLayout } from './layout/auth-layout';
17
25
  export type { PageProps } from './layout/page';
@@ -26,19 +34,33 @@ export type { SidebarLayoutProps } from './layout/sidebar-layout';
26
34
  export { SidebarLayout } from './layout/sidebar-layout';
27
35
  export type { TopbarLayoutProps } from './layout/topbar-layout';
28
36
  export { TopbarLayout } from './layout/topbar-layout';
37
+ export type { CollectionEditorProps, CollectionEditorRenderItemProps, } from './patterns/collection-editor';
38
+ export { CollectionEditor } from './patterns/collection-editor';
29
39
  export type { ConfirmDialogProps } from './patterns/confirm-dialog';
30
40
  export { ConfirmDialog } from './patterns/confirm-dialog';
41
+ export type { DisclosureSectionProps } from './patterns/disclosure-section';
42
+ export { DisclosureSection } from './patterns/disclosure-section';
31
43
  export type { EmptyStateAction, EmptyStateProps } from './patterns/empty-state';
32
44
  export { EmptyState } from './patterns/empty-state';
33
45
  export type { FormFieldProps } from './patterns/form-field';
34
46
  export { FormField } from './patterns/form-field';
47
+ export type { InspectorFieldProps } from './patterns/inspector-field';
48
+ export { InspectorField } from './patterns/inspector-field';
35
49
  export type { NoticeProps } from './patterns/notice';
36
50
  export { Notice } from './patterns/notice';
37
51
  export type { PanelProps } from './patterns/panel';
38
52
  export { Panel } from './patterns/panel';
53
+ export type { ResponsivePanelProps } from './patterns/responsive-panel';
54
+ export { ResponsivePanel } from './patterns/responsive-panel';
39
55
  export type { SectionHeaderProps } from './patterns/section-header';
40
56
  export { SectionHeader } from './patterns/section-header';
41
57
  export type { SettingsRowProps } from './patterns/settings-row';
42
58
  export { SettingsRow } from './patterns/settings-row';
59
+ export type { SwitchFieldProps } from './patterns/switch-field';
60
+ export { SwitchField } from './patterns/switch-field';
61
+ export type { PaletteItemProps, TileGridProps } from './patterns/tile-grid';
62
+ export { PaletteItem, TileGrid } from './patterns/tile-grid';
63
+ export type { TreeItemNode, TreeItemRenderProps, TreeViewProps } from './patterns/tree-view';
64
+ export { TreeItem, TreeView } from './patterns/tree-view';
43
65
  export * from './theme';
44
66
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,9 +2,13 @@ export { Badge } from './components/badge';
2
2
  export { Button } from './components/button';
3
3
  export { Card } from './components/card';
4
4
  export { Drawer } from './components/drawer';
5
+ export { IconButton } from './components/icon-button';
5
6
  export { Input } from './components/input';
6
7
  export { Modal } from './components/modal';
8
+ export { Select } from './components/select';
9
+ export { Tabs } from './components/tabs';
7
10
  export { Textarea } from './components/textarea';
11
+ export { Toolbar, ToolbarAction } from './components/toolbar';
8
12
  export { AuthLayout } from './layout/auth-layout';
9
13
  export { Page } from './layout/page';
10
14
  export { PageHeader } from './layout/page-header';
@@ -12,12 +16,19 @@ export { PageSection } from './layout/page-section';
12
16
  export { SettingsLayout } from './layout/settings-layout';
13
17
  export { SidebarLayout } from './layout/sidebar-layout';
14
18
  export { TopbarLayout } from './layout/topbar-layout';
19
+ export { CollectionEditor } from './patterns/collection-editor';
15
20
  export { ConfirmDialog } from './patterns/confirm-dialog';
21
+ export { DisclosureSection } from './patterns/disclosure-section';
16
22
  export { EmptyState } from './patterns/empty-state';
17
23
  export { FormField } from './patterns/form-field';
24
+ export { InspectorField } from './patterns/inspector-field';
18
25
  export { Notice } from './patterns/notice';
19
26
  export { Panel } from './patterns/panel';
27
+ export { ResponsivePanel } from './patterns/responsive-panel';
20
28
  export { SectionHeader } from './patterns/section-header';
21
29
  export { SettingsRow } from './patterns/settings-row';
30
+ export { SwitchField } from './patterns/switch-field';
31
+ export { PaletteItem, TileGrid } from './patterns/tile-grid';
32
+ export { TreeItem, TreeView } from './patterns/tree-view';
22
33
  export * from './theme';
23
34
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAKtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1D,cAAc,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { CollectionEditorProps } from './types';
3
+ export declare function CollectionEditor<TItem>({ title, description, items, renderItem, onAdd, onRemove, onMove, addLabel, emptyLabel, disabled, testID, }: CollectionEditorProps<TItem>): React.JSX.Element;
4
+ //# sourceMappingURL=CollectionEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollectionEditor.d.ts","sourceRoot":"","sources":["../../../src/patterns/collection-editor/CollectionEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,EACtC,KAAK,EACL,WAAW,EACX,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAqB,EACrB,UAA4B,EAC5B,QAAQ,EACR,MAAM,GACP,EAAE,qBAAqB,CAAC,KAAK,CAAC,qBA+E9B"}
@@ -0,0 +1,41 @@
1
+ import { Box, Stack, Text } from '@ankhorage/surface';
2
+ import React from 'react';
3
+ import { Button } from '../../components/button';
4
+ import { IconButton } from '../../components/icon-button';
5
+ import { Panel } from '../panel';
6
+ export function CollectionEditor({ title, description, items, renderItem, onAdd, onRemove, onMove, addLabel = 'Add Item', emptyLabel = 'No items yet.', disabled, testID, }) {
7
+ const isEmpty = items.length === 0;
8
+ return (<Panel compact description={description} testID={testID} title={title} actions={onAdd ? (<Button emphasis="soft" size="s" disabled={disabled} onPress={onAdd}>
9
+ {addLabel}
10
+ </Button>) : null}>
11
+ <Stack gap="s">
12
+ {isEmpty ? (<Box py="m">
13
+ <Text align="center" tone="muted">
14
+ {emptyLabel}
15
+ </Text>
16
+ </Box>) : (items.map((item, index) => (<Box key={index} bg="subtle" p="s" radius="m" borderColor="border" borderWidth={1}>
17
+ <Stack direction="row" gap="m" align="center">
18
+ <Box flex={1}>
19
+ {renderItem({
20
+ item,
21
+ index,
22
+ remove: () => onRemove?.(index),
23
+ moveUp: () => onMove?.(index, index - 1),
24
+ moveDown: () => onMove?.(index, index + 1),
25
+ canMoveUp: index > 0,
26
+ canMoveDown: index < items.length - 1,
27
+ })}
28
+ </Box>
29
+ <Stack direction="row" gap="xs">
30
+ {onMove ? (<>
31
+ <IconButton icon={{ name: 'arrow-up-outline' }} label="Move Up" disabled={disabled ?? index === 0} onPress={() => onMove(index, index - 1)} size="s" emphasis="ghost"/>
32
+ <IconButton icon={{ name: 'arrow-down-outline' }} label="Move Down" disabled={disabled ?? index === items.length - 1} onPress={() => onMove(index, index + 1)} size="s" emphasis="ghost"/>
33
+ </>) : null}
34
+ {onRemove ? (<IconButton icon={{ name: 'trash-outline' }} label="Remove" tone="danger" disabled={disabled} onPress={() => onRemove(index)} size="s" emphasis="ghost"/>) : null}
35
+ </Stack>
36
+ </Stack>
37
+ </Box>)))}
38
+ </Stack>
39
+ </Panel>);
40
+ }
41
+ //# sourceMappingURL=CollectionEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollectionEditor.js","sourceRoot":"","sources":["../../../src/patterns/collection-editor/CollectionEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './CollectionEditor';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/patterns/collection-editor/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './CollectionEditor';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/patterns/collection-editor/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type React from 'react';
2
+ export interface CollectionEditorRenderItemProps<TItem> {
3
+ item: TItem;
4
+ index: number;
5
+ remove: () => void;
6
+ moveUp: () => void;
7
+ moveDown: () => void;
8
+ canMoveUp: boolean;
9
+ canMoveDown: boolean;
10
+ }
11
+ export interface CollectionEditorProps<TItem> {
12
+ title?: React.ReactNode;
13
+ description?: React.ReactNode;
14
+ items: readonly TItem[];
15
+ renderItem: (props: CollectionEditorRenderItemProps<TItem>) => React.ReactNode;
16
+ onAdd?: () => void;
17
+ onRemove?: (index: number) => void;
18
+ onMove?: (from: number, to: number) => void;
19
+ addLabel?: React.ReactNode;
20
+ emptyLabel?: React.ReactNode;
21
+ disabled?: boolean;
22
+ testID?: string;
23
+ }
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/collection-editor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,+BAA+B,CAAC,KAAK;IACpD,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB,CAAC,KAAK;IAC1C,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC/E,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/collection-editor/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { DisclosureSectionProps } from './types';
3
+ export declare function DisclosureSection({ title, description, icon, defaultOpen, open: controlledOpen, onOpenChange, actions, children, disabled, testID, }: DisclosureSectionProps): React.JSX.Element;
4
+ //# sourceMappingURL=DisclosureSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisclosureSection.d.ts","sourceRoot":"","sources":["../../../src/patterns/disclosure-section/DisclosureSection.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,IAAI,EACJ,WAAkB,EAClB,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,GACP,EAAE,sBAAsB,qBA0CxB"}
@@ -0,0 +1,27 @@
1
+ import { Box, Stack } from '@ankhorage/surface';
2
+ import React from 'react';
3
+ import { IconButton } from '../../components/icon-button';
4
+ import { Panel } from '../panel';
5
+ export function DisclosureSection({ title, description, icon, defaultOpen = true, open: controlledOpen, onOpenChange, actions, children, disabled, testID, }) {
6
+ const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
7
+ const isControlled = controlledOpen !== undefined;
8
+ const isOpen = isControlled ? controlledOpen : internalOpen;
9
+ const toggleOpen = () => {
10
+ if (disabled)
11
+ return;
12
+ if (isControlled) {
13
+ onOpenChange?.(!controlledOpen);
14
+ }
15
+ else {
16
+ setInternalOpen(!internalOpen);
17
+ onOpenChange?.(!internalOpen);
18
+ }
19
+ };
20
+ return (<Panel compact description={description} testID={testID} title={title} eyebrow={icon ? <Box pb="xs">{/* Surface icon spec would go here */}</Box> : null} actions={<Stack direction="row" gap="xs" align="center">
21
+ {actions}
22
+ <IconButton icon={{ name: isOpen ? 'chevron-up-outline' : 'chevron-down-outline' }} label={isOpen ? 'Collapse' : 'Expand'} emphasis="ghost" tone="neutral" size="s" disabled={disabled} onPress={toggleOpen}/>
23
+ </Stack>}>
24
+ {isOpen ? <Box pt="m">{children}</Box> : null}
25
+ </Panel>);
26
+ }
27
+ //# sourceMappingURL=DisclosureSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisclosureSection.js","sourceRoot":"","sources":["../../../src/patterns/disclosure-section/DisclosureSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,IAAI,EACJ,WAAW,GAAG,IAAI,EAClB,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,GACiB;IACvB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,cAAc,KAAK,SAAS,CAAC;IAClD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;IAE5D,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,QAAQ;YAAE,OAAO;QAErB,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC;YAC/B,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,KAAK,CACJ,OAAO,CACP,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,qCAAqC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAClF,OAAO,CAAC,CACN,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAC5C;UAAA,CAAC,OAAO,CACR;UAAA,CAAC,UAAU,CACT,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CACvE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CACtC,QAAQ,CAAC,OAAO,CAChB,IAAI,CAAC,SAAS,CACd,IAAI,CAAC,GAAG,CACR,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CAAC,UAAU,CAAC,EAExB;QAAA,EAAE,KAAK,CACT,CAAC,CAED;MAAA,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/C;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './DisclosureSection';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/patterns/disclosure-section/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './DisclosureSection';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/patterns/disclosure-section/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ButtonIconSpec } from '@ankhorage/surface';
2
+ import type { ReactNode } from 'react';
3
+ export interface DisclosureSectionProps {
4
+ title: ReactNode;
5
+ description?: ReactNode;
6
+ icon?: ButtonIconSpec;
7
+ defaultOpen?: boolean;
8
+ open?: boolean;
9
+ onOpenChange?: (open: boolean) => void;
10
+ actions?: ReactNode;
11
+ children?: ReactNode;
12
+ disabled?: boolean;
13
+ testID?: string;
14
+ }
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/disclosure-section/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/disclosure-section/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { InspectorFieldProps } from './types';
3
+ export declare function InspectorField({ label, control, children, ...props }: InspectorFieldProps): React.JSX.Element;
4
+ //# sourceMappingURL=InspectorField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InspectorField.d.ts","sourceRoot":"","sources":["../../../src/patterns/inspector-field/InspectorField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,qBASzF"}
@@ -0,0 +1,12 @@
1
+ import { Box, Stack } from '@ankhorage/surface';
2
+ import React from 'react';
3
+ import { FormField } from '../form-field';
4
+ export function InspectorField({ label, control, children, ...props }) {
5
+ return (<FormField {...props} label={label}>
6
+ <Stack direction="row" gap="s" align="center">
7
+ <Box flex={1}>{children}</Box>
8
+ {control ? <Box>{control}</Box> : null}
9
+ </Stack>
10
+ </FormField>);
11
+ }
12
+ //# sourceMappingURL=InspectorField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InspectorField.js","sourceRoot":"","sources":["../../../src/patterns/inspector-field/InspectorField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAuB;IACxF,OAAO,CACL,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CACjC;MAAA,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAC3C;QAAA,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAC7B;QAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CACxC;MAAA,EAAE,KAAK,CACT;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './InspectorField';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/patterns/inspector-field/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './InspectorField';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/patterns/inspector-field/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface InspectorFieldProps {
3
+ label: ReactNode;
4
+ description?: ReactNode;
5
+ helperText?: ReactNode;
6
+ errorText?: ReactNode;
7
+ required?: boolean;
8
+ invalid?: boolean;
9
+ disabled?: boolean;
10
+ readOnly?: boolean;
11
+ control?: ReactNode;
12
+ children?: ReactNode;
13
+ testID?: string;
14
+ }
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/inspector-field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/inspector-field/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { ResponsivePanelProps } from './types';
3
+ export declare function ResponsivePanel({ title, description, actions, footer, children, open, onOpenChange, side, desktopMode, mobileMode, compact, testID, }: ResponsivePanelProps): React.JSX.Element | null;
4
+ //# sourceMappingURL=ResponsivePanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponsivePanel.d.ts","sourceRoot":"","sources":["../../../src/patterns/responsive-panel/ResponsivePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,IAAc,EACd,WAAsB,EACtB,UAAqB,EACrB,OAAc,EACd,MAAM,GACP,EAAE,oBAAoB,4BAiDtB"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { Drawer } from '../../components/drawer';
3
+ import { Modal } from '../../components/modal';
4
+ import { Panel } from '../panel';
5
+ export function ResponsivePanel({ title, description, actions, footer, children, open, onOpenChange, side = 'right', desktopMode = 'inline', mobileMode = 'drawer', compact = true, testID, }) {
6
+ if (!open)
7
+ return null;
8
+ // For now, we assume desktopMode determines the rendering.
9
+ // In a real app, this would react to window size.
10
+ if (desktopMode === 'floating') {
11
+ if (mobileMode === 'modal') {
12
+ return (<Modal description={description} footer={footer} onDismiss={() => onOpenChange(false)} testID={testID} title={title} visible={open}>
13
+ {children}
14
+ </Modal>);
15
+ }
16
+ return (<Drawer description={description} footer={footer} onDismiss={() => onOpenChange(false)} position={side} testID={testID} title={title} visible={open}>
17
+ {children}
18
+ </Drawer>);
19
+ }
20
+ // default: inline -> Panel
21
+ return (<Panel actions={actions} compact={compact} description={description} footer={footer} testID={testID} title={title}>
22
+ {children}
23
+ </Panel>);
24
+ }
25
+ //# sourceMappingURL=ResponsivePanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponsivePanel.js","sourceRoot":"","sources":["../../../src/patterns/responsive-panel/ResponsivePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,IAAI,GAAG,OAAO,EACd,WAAW,GAAG,QAAQ,EACtB,UAAU,GAAG,QAAQ,EACrB,OAAO,GAAG,IAAI,EACd,MAAM,GACe;IACrB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,2DAA2D;IAC3D,kDAAkD;IAClD,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QAC/B,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,CACL,CAAC,KAAK,CACJ,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACrC,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,OAAO,CAAC,CAAC,IAAI,CAAC,CAEd;UAAA,CAAC,QAAQ,CACX;QAAA,EAAE,KAAK,CAAC,CACT,CAAC;QACJ,CAAC;QAED,OAAO,CACL,CAAC,MAAM,CACL,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACrC,QAAQ,CAAC,CAAC,IAAI,CAAC,CACf,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,OAAO,CAAC,CAAC,IAAI,CAAC,CAEd;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,MAAM,CAAC,CACV,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,OAAO,CACL,CAAC,KAAK,CACJ,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC,KAAK,CAAC,CAEb;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC"}