@rhammy/architect-core 1.0.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 (87) hide show
  1. package/CHANGELOG.md +178 -0
  2. package/LICENSE +21 -0
  3. package/README.md +355 -0
  4. package/dist/components/Accordion/Accordion.d.ts +34 -0
  5. package/dist/components/Accordion/Accordion.d.ts.map +1 -0
  6. package/dist/components/Accordion/index.d.ts +3 -0
  7. package/dist/components/Accordion/index.d.ts.map +1 -0
  8. package/dist/components/Button/Button.d.ts +21 -0
  9. package/dist/components/Button/Button.d.ts.map +1 -0
  10. package/dist/components/Button/index.d.ts +3 -0
  11. package/dist/components/Button/index.d.ts.map +1 -0
  12. package/dist/components/Checkbox/Checkbox.d.ts +25 -0
  13. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  14. package/dist/components/Checkbox/index.d.ts +3 -0
  15. package/dist/components/Checkbox/index.d.ts.map +1 -0
  16. package/dist/components/Dialog/Dialog.d.ts +48 -0
  17. package/dist/components/Dialog/Dialog.d.ts.map +1 -0
  18. package/dist/components/Dialog/index.d.ts +3 -0
  19. package/dist/components/Dialog/index.d.ts.map +1 -0
  20. package/dist/components/Dropdown/Dropdown.d.ts +28 -0
  21. package/dist/components/Dropdown/Dropdown.d.ts.map +1 -0
  22. package/dist/components/Dropdown/index.d.ts +3 -0
  23. package/dist/components/Dropdown/index.d.ts.map +1 -0
  24. package/dist/components/Input/ErrorMessage.d.ts +9 -0
  25. package/dist/components/Input/ErrorMessage.d.ts.map +1 -0
  26. package/dist/components/Input/FormField.d.ts +24 -0
  27. package/dist/components/Input/FormField.d.ts.map +1 -0
  28. package/dist/components/Input/Input.d.ts +27 -0
  29. package/dist/components/Input/Input.d.ts.map +1 -0
  30. package/dist/components/Input/Label.d.ts +13 -0
  31. package/dist/components/Input/Label.d.ts.map +1 -0
  32. package/dist/components/Input/index.d.ts +10 -0
  33. package/dist/components/Input/index.d.ts.map +1 -0
  34. package/dist/components/Radio/Radio.d.ts +36 -0
  35. package/dist/components/Radio/Radio.d.ts.map +1 -0
  36. package/dist/components/Radio/index.d.ts +3 -0
  37. package/dist/components/Radio/index.d.ts.map +1 -0
  38. package/dist/components/Select/Select.d.ts +38 -0
  39. package/dist/components/Select/Select.d.ts.map +1 -0
  40. package/dist/components/Select/index.d.ts +3 -0
  41. package/dist/components/Select/index.d.ts.map +1 -0
  42. package/dist/components/Switch/Switch.d.ts +19 -0
  43. package/dist/components/Switch/Switch.d.ts.map +1 -0
  44. package/dist/components/Switch/index.d.ts +3 -0
  45. package/dist/components/Switch/index.d.ts.map +1 -0
  46. package/dist/components/Tabs/Tabs.d.ts +35 -0
  47. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  48. package/dist/components/Tabs/index.d.ts +3 -0
  49. package/dist/components/Tabs/index.d.ts.map +1 -0
  50. package/dist/components/Textarea/Textarea.d.ts +25 -0
  51. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  52. package/dist/components/Textarea/index.d.ts +3 -0
  53. package/dist/components/Textarea/index.d.ts.map +1 -0
  54. package/dist/components/Toast/Toast.d.ts +46 -0
  55. package/dist/components/Toast/Toast.d.ts.map +1 -0
  56. package/dist/components/Toast/index.d.ts +3 -0
  57. package/dist/components/Toast/index.d.ts.map +1 -0
  58. package/dist/components/Tooltip/Tooltip.d.ts +31 -0
  59. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  60. package/dist/components/Tooltip/index.d.ts +3 -0
  61. package/dist/components/Tooltip/index.d.ts.map +1 -0
  62. package/dist/hooks/useClickOutside.d.ts +4 -0
  63. package/dist/hooks/useClickOutside.d.ts.map +1 -0
  64. package/dist/hooks/useControllableState.d.ts +19 -0
  65. package/dist/hooks/useControllableState.d.ts.map +1 -0
  66. package/dist/hooks/useEscapeKey.d.ts +13 -0
  67. package/dist/hooks/useEscapeKey.d.ts.map +1 -0
  68. package/dist/hooks/useFocusTrap.d.ts +15 -0
  69. package/dist/hooks/useFocusTrap.d.ts.map +1 -0
  70. package/dist/hooks/useId.d.ts +10 -0
  71. package/dist/hooks/useId.d.ts.map +1 -0
  72. package/dist/index.cjs +23 -0
  73. package/dist/index.cjs.map +1 -0
  74. package/dist/index.d.ts +25 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +2342 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/style.css +1 -0
  79. package/dist/tests/setup.d.ts +2 -0
  80. package/dist/tests/setup.d.ts.map +1 -0
  81. package/dist/types/index.d.ts +59 -0
  82. package/dist/types/index.d.ts.map +1 -0
  83. package/dist/utils/dom.d.ts +31 -0
  84. package/dist/utils/dom.d.ts.map +1 -0
  85. package/dist/utils/focus.d.ts +26 -0
  86. package/dist/utils/focus.d.ts.map +1 -0
  87. package/package.json +107 -0
@@ -0,0 +1,26 @@
1
+ import { FocusableElement } from '../types';
2
+
3
+ /**
4
+ * Get all focusable elements within a container
5
+ * Follows WCAG guidelines for what constitutes a focusable element
6
+ */
7
+ export declare function getFocusableElements(container: HTMLElement | null): FocusableElement[];
8
+ /**
9
+ * Trap focus within a container
10
+ * Used for modals, dialogs, and other overlay components
11
+ */
12
+ export declare function createFocusTrap(container: HTMLElement | null): () => void;
13
+ /**
14
+ * Focus the first focusable element in a container
15
+ */
16
+ export declare function focusFirstElement(container: HTMLElement | null): void;
17
+ /**
18
+ * Restore focus to a previously focused element
19
+ * Useful when closing modals or dialogs
20
+ */
21
+ export declare function createFocusRestorer(): () => void;
22
+ /**
23
+ * Check if an element is currently focused
24
+ */
25
+ export declare function isFocused(element: HTMLElement | null): boolean;
26
+ //# sourceMappingURL=focus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../src/utils/focus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,GAAG,IAAI,GAC5B,gBAAgB,EAAE,CAsBpB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,cA+B5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAGrE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,eAMlC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAE9D"}
package/package.json ADDED
@@ -0,0 +1,107 @@
1
+ {
2
+ "name": "@rhammy/architect-core",
3
+ "version": "1.0.0",
4
+ "description": "A production-ready, accessible React component library with 13 components and 254 tests",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "require": "./dist/index.cjs",
13
+ "types": "./dist/index.d.ts"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "README.md",
19
+ "LICENSE",
20
+ "CHANGELOG.md"
21
+ ],
22
+ "scripts": {
23
+ "dev": "vite build --watch",
24
+ "build": "tsc && vite build",
25
+ "test": "vitest",
26
+ "test:ui": "vitest --ui",
27
+ "test:coverage": "vitest --coverage",
28
+ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
29
+ "lint:fix": "eslint . --ext ts,tsx --fix",
30
+ "format": "prettier --write \"src/**/*.{ts,tsx,json,md}\"",
31
+ "format:check": "prettier --check \"src/**/*.{ts,tsx,json,md}\"",
32
+ "storybook": "storybook dev -p 6006",
33
+ "build-storybook": "storybook build",
34
+ "prepublishOnly": "pnpm run build"
35
+ },
36
+ "keywords": [
37
+ "react",
38
+ "components",
39
+ "ui",
40
+ "headless",
41
+ "accessible",
42
+ "a11y",
43
+ "design-system",
44
+ "typescript",
45
+ "wcag",
46
+ "aria",
47
+ "forms",
48
+ "dialog",
49
+ "dropdown",
50
+ "tabs",
51
+ "accordion"
52
+ ],
53
+ "repository": {
54
+ "type": "git",
55
+ "url": "https://github.com/RahmanC/Architect-core.git"
56
+ },
57
+ "bugs": {
58
+ "url": "https://github.com/RahmanC/Architect-core/issues"
59
+ },
60
+ "homepage": "https://github.com/RahmanC/Architect-core#readme",
61
+ "author": "Architect Core Contributors",
62
+ "license": "MIT",
63
+ "peerDependencies": {
64
+ "react": "^18.0.0",
65
+ "react-dom": "^18.0.0"
66
+ },
67
+ "devDependencies": {
68
+ "@storybook/addon-a11y": "^7.6.6",
69
+ "@storybook/addon-essentials": "^7.6.6",
70
+ "@storybook/addon-interactions": "^7.6.6",
71
+ "@storybook/addon-links": "^7.6.6",
72
+ "@storybook/blocks": "^7.6.6",
73
+ "@storybook/react": "^7.6.6",
74
+ "@storybook/react-vite": "^7.6.6",
75
+ "@storybook/testing-library": "^0.2.2",
76
+ "@storybook/theming": "^8.6.14",
77
+ "@testing-library/jest-dom": "^6.1.5",
78
+ "@testing-library/react": "^14.1.2",
79
+ "@testing-library/user-event": "^14.5.1",
80
+ "@types/react": "^18.2.45",
81
+ "@types/react-dom": "^18.2.18",
82
+ "@typescript-eslint/eslint-plugin": "^6.15.0",
83
+ "@typescript-eslint/parser": "^6.15.0",
84
+ "@vitejs/plugin-react": "^4.2.1",
85
+ "@vitest/coverage-v8": "^1.1.0",
86
+ "@vitest/ui": "^1.1.0",
87
+ "eslint": "^8.56.0",
88
+ "eslint-config-prettier": "^9.1.0",
89
+ "eslint-plugin-jsx-a11y": "^6.8.0",
90
+ "eslint-plugin-react": "^7.33.2",
91
+ "eslint-plugin-react-hooks": "^4.6.0",
92
+ "eslint-plugin-storybook": "^0.6.15",
93
+ "jsdom": "^23.0.1",
94
+ "prettier": "^3.1.1",
95
+ "react": "^18.2.0",
96
+ "react-dom": "^18.2.0",
97
+ "storybook": "^7.6.6",
98
+ "typescript": "^5.3.3",
99
+ "vite": "^5.0.8",
100
+ "vite-plugin-dts": "^3.7.0",
101
+ "vitest": "^1.1.0"
102
+ },
103
+ "packageManager": "pnpm@10.16.0",
104
+ "dependencies": {
105
+ "@storybook/addons": "^7.6.17"
106
+ }
107
+ }