@ankhorage/zora 0.0.3 → 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 +12 -0
  2. package/README.md +1207 -18
  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
@@ -1,7 +1,7 @@
1
1
  import type { CardProps as SurfaceCardProps } from '@ankhorage/surface';
2
2
  import type React from 'react';
3
3
  import type { ZoraCardTone } from '../../internal/recipes';
4
- export interface CardProps extends Omit<SurfaceCardProps, 'children' | 'p' | 'radius' | 'style' | 'variant'> {
4
+ export interface CardProps extends Omit<SurfaceCardProps, 'children' | 'p' | 'radius' | 'variant'> {
5
5
  children?: React.ReactNode;
6
6
  title?: React.ReactNode;
7
7
  description?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/card/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,SAAU,SAAQ,IAAI,CACrC,gBAAgB,EAChB,UAAU,GAAG,GAAG,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAClD;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/card/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChG,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { IconButtonProps } from './types';
3
+ export declare function IconButton({ icon, label, emphasis, tone, size, ...props }: IconButtonProps): React.JSX.Element;
4
+ //# sourceMappingURL=IconButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,EACL,QAAkB,EAClB,IAAgB,EAChB,IAAU,EACV,GAAG,KAAK,EACT,EAAE,eAAe,qBAajB"}
@@ -0,0 +1,8 @@
1
+ import { IconButton as SurfaceIconButton } from '@ankhorage/surface';
2
+ import React from 'react';
3
+ import { resolveButtonRecipe } from '../../internal/recipes';
4
+ export function IconButton({ icon, label, emphasis = 'ghost', tone = 'neutral', size = 'm', ...props }) {
5
+ const recipe = resolveButtonRecipe({ emphasis, tone, size });
6
+ return (<SurfaceIconButton {...props} icon={icon} accessibilityLabel={label} size={recipe.size} tone={recipe.tone} variant={recipe.variant}/>);
7
+ }
8
+ //# sourceMappingURL=IconButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,EACL,QAAQ,GAAG,OAAO,EAClB,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,GAAG,EACV,GAAG,KAAK,EACQ;IAChB,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7D,OAAO,CACL,CAAC,iBAAiB,CAChB,IAAI,KAAK,CAAC,CACV,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAC1B,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EACxB,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './IconButton';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './IconButton';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/icon-button/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ButtonIconSpec } from '@ankhorage/surface';
2
+ import type { ZoraControlSize, ZoraEmphasis, ZoraTone } from '../../internal/recipes';
3
+ export interface IconButtonProps {
4
+ icon: ButtonIconSpec;
5
+ label: string;
6
+ emphasis?: ZoraEmphasis;
7
+ tone?: ZoraTone;
8
+ size?: ZoraControlSize;
9
+ disabled?: boolean;
10
+ loading?: boolean;
11
+ onPress?: () => void;
12
+ testID?: string;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,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/icon-button/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { SelectProps } from './types';
3
+ export declare function Select<TValue extends string = string>({ value, options, onValueChange, disabled, invalid, testID, }: SelectProps<TValue>): React.JSX.Element;
4
+ //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/select/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,MAAM,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,EACrD,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,OAAO,EACP,MAAM,GACP,EAAE,WAAW,CAAC,MAAM,CAAC,qBAmCrB"}
@@ -0,0 +1,18 @@
1
+ import { Box, useTheme } from '@ankhorage/surface';
2
+ import { Picker } from '@react-native-picker/picker';
3
+ import React from 'react';
4
+ export function Select({ value, options, onValueChange, disabled, invalid, testID, }) {
5
+ const { theme } = useTheme();
6
+ return (<Box bg="surface" borderColor={invalid ? theme.colors.error : theme.colors.border} borderWidth={1} opacity={disabled ? 0.5 : 1} radius="m" testID={testID}>
7
+ <Picker enabled={!disabled} onValueChange={(itemValue) => onValueChange(itemValue)} selectedValue={value} style={{
8
+ height: 44,
9
+ width: '100%',
10
+ backgroundColor: 'transparent',
11
+ color: theme.colors.text,
12
+ borderWidth: 0,
13
+ }}>
14
+ {options.map((option) => (<Picker.Item key={option.value} enabled={!option.disabled} label={option.label} value={option.value}/>))}
15
+ </Picker>
16
+ </Box>);
17
+ }
18
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,UAAU,MAAM,CAAiC,EACrD,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,OAAO,EACP,MAAM,GACc;IACpB,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,OAAO,CACL,CAAC,GAAG,CACF,EAAE,CAAC,SAAS,CACZ,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAChE,WAAW,CAAC,CAAC,CAAC,CAAC,CACf,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5B,MAAM,CAAC,GAAG,CACV,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,MAAM,CACL,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CACnB,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CACvD,aAAa,CAAC,CAAC,KAAK,CAAC,CACrB,KAAK,CAAC,CAAC;YACL,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,MAAM;YACb,eAAe,EAAE,aAAa;YAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;YACxB,WAAW,EAAE,CAAC;SACf,CAAC,CAEF;QAAA,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,CAAC,MAAM,CAAC,IAAI,CACV,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAClB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC1B,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACpB,CACH,CAAC,CACJ;MAAA,EAAE,MAAM,CACV;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './Select';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/select/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './Select';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/select/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface SelectOption<TValue extends string = string> {
2
+ value: TValue;
3
+ label: string;
4
+ disabled?: boolean;
5
+ }
6
+ export interface SelectProps<TValue extends string = string> {
7
+ value: TValue;
8
+ options: readonly SelectOption<TValue>[];
9
+ onValueChange: (value: TValue) => void;
10
+ disabled?: boolean;
11
+ invalid?: boolean;
12
+ testID?: string;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/select/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;IACzC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,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/select/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { TabsProps } from './types';
3
+ export declare function Tabs<TValue extends string = string>({ value, items, onValueChange, variant, size, disabled: tabsDisabled, testID, }: TabsProps<TValue>): React.JSX.Element;
4
+ //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,IAAI,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,EACnD,KAAK,EACL,KAAK,EACL,aAAa,EACb,OAAqB,EACrB,IAAU,EACV,QAAQ,EAAE,YAAY,EACtB,MAAM,GACP,EAAE,SAAS,CAAC,MAAM,CAAC,qBAwFnB"}
@@ -0,0 +1,37 @@
1
+ import { Box, Stack, Text, useTheme } from '@ankhorage/surface';
2
+ import React from 'react';
3
+ import { Button } from '../button';
4
+ export function Tabs({ value, items, onValueChange, variant = 'underline', size = 'm', disabled: tabsDisabled, testID, }) {
5
+ const { theme } = useTheme();
6
+ const renderTab = (item) => {
7
+ const isActive = item.value === value;
8
+ const isDisabled = tabsDisabled ?? item.disabled;
9
+ if (variant === 'segmented') {
10
+ return (<Button key={item.value} emphasis={isActive ? 'solid' : 'ghost'} tone="neutral" size={size} disabled={isDisabled} onPress={() => onValueChange(item.value)} leadingIcon={item.icon} testID={item.testID}>
11
+ {item.label}
12
+ {item.badge}
13
+ </Button>);
14
+ }
15
+ if (variant === 'pill') {
16
+ return (<Button key={item.value} emphasis={isActive ? 'soft' : 'ghost'} tone={isActive ? 'primary' : 'neutral'} size={size} disabled={isDisabled} onPress={() => onValueChange(item.value)} leadingIcon={item.icon} testID={item.testID}>
17
+ {item.label}
18
+ {item.badge}
19
+ </Button>);
20
+ }
21
+ // Default: 'underline'
22
+ return (<Box key={item.value} borderColor={isActive ? theme.colors.primary : 'transparent'} pb="xs" style={{
23
+ borderBottomWidth: 2,
24
+ }}>
25
+ <Button emphasis="ghost" tone="neutral" size={size} disabled={isDisabled} onPress={() => onValueChange(item.value)} leadingIcon={item.icon} testID={item.testID}>
26
+ <Text color={isActive ? theme.colors.primary : undefined} tone={isActive ? undefined : 'muted'} weight={isActive ? 'semiBold' : 'regular'}>
27
+ {item.label}
28
+ </Text>
29
+ {item.badge}
30
+ </Button>
31
+ </Box>);
32
+ };
33
+ return (<Stack direction="row" gap={variant === 'segmented' ? 'none' : 'm'} align="center" testID={testID} p={variant === 'segmented' ? 'xxs' : 'none'} bg={variant === 'segmented' ? 'subtle' : 'transparent'} radius={variant === 'segmented' ? 'm' : 'none'}>
34
+ {items.map(renderTab)}
35
+ </Stack>);
36
+ }
37
+ //# sourceMappingURL=Tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './Tabs';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
@@ -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"}