NathanAW24 commited on
Commit
fd27bb4
Β·
1 Parent(s): 0a2bdd0

add for streamlit_cot

Browse files
This view is limited to 50 files because it contains too many changes. Β  See raw diff
Files changed (50) hide show
  1. .gitignore +175 -0
  2. CONTEXT.md +0 -0
  3. README.md +1 -1
  4. bm25.py +72 -0
  5. evaluation_results_chain_of_thought.json +4 -0
  6. log_resource.py +9 -0
  7. logs_chain_of_thought.json +1 -0
  8. processed_docs/pr_data_0_doc_0.txt +336 -0
  9. processed_docs/pr_data_0_doc_1.txt +247 -0
  10. processed_docs/pr_data_0_doc_10.txt +324 -0
  11. processed_docs/pr_data_0_doc_11.txt +265 -0
  12. processed_docs/pr_data_0_doc_12.txt +415 -0
  13. processed_docs/pr_data_0_doc_13.txt +243 -0
  14. processed_docs/pr_data_0_doc_14.txt +916 -0
  15. processed_docs/pr_data_0_doc_15.txt +889 -0
  16. processed_docs/pr_data_0_doc_16.txt +468 -0
  17. processed_docs/pr_data_0_doc_17.txt +1509 -0
  18. processed_docs/pr_data_0_doc_18.txt +1063 -0
  19. processed_docs/pr_data_0_doc_19.txt +881 -0
  20. processed_docs/pr_data_0_doc_2.txt +515 -0
  21. processed_docs/pr_data_0_doc_20.txt +209 -0
  22. processed_docs/pr_data_0_doc_21.txt +564 -0
  23. processed_docs/pr_data_0_doc_22.txt +170 -0
  24. processed_docs/pr_data_0_doc_23.txt +1356 -0
  25. processed_docs/pr_data_0_doc_24.txt +1068 -0
  26. processed_docs/pr_data_0_doc_25.txt +703 -0
  27. processed_docs/pr_data_0_doc_26.txt +889 -0
  28. processed_docs/pr_data_0_doc_27.txt +1083 -0
  29. processed_docs/pr_data_0_doc_28.txt +1673 -0
  30. processed_docs/pr_data_0_doc_29.txt +164 -0
  31. processed_docs/pr_data_0_doc_3.txt +637 -0
  32. processed_docs/pr_data_0_doc_30.txt +191 -0
  33. processed_docs/pr_data_0_doc_31.txt +240 -0
  34. processed_docs/pr_data_0_doc_32.txt +1567 -0
  35. processed_docs/pr_data_0_doc_33.txt +0 -0
  36. processed_docs/pr_data_0_doc_34.txt +514 -0
  37. processed_docs/pr_data_0_doc_35.txt +531 -0
  38. processed_docs/pr_data_0_doc_36.txt +1153 -0
  39. processed_docs/pr_data_0_doc_37.txt +946 -0
  40. processed_docs/pr_data_0_doc_38.txt +204 -0
  41. processed_docs/pr_data_0_doc_39.txt +430 -0
  42. processed_docs/pr_data_0_doc_4.txt +1002 -0
  43. processed_docs/pr_data_0_doc_40.txt +467 -0
  44. processed_docs/pr_data_0_doc_41.txt +547 -0
  45. processed_docs/pr_data_0_doc_42.txt +211 -0
  46. processed_docs/pr_data_0_doc_43.txt +548 -0
  47. processed_docs/pr_data_0_doc_44.txt +734 -0
  48. processed_docs/pr_data_0_doc_45.txt +738 -0
  49. processed_docs/pr_data_0_doc_46.txt +201 -0
  50. processed_docs/pr_data_0_doc_47.txt +264 -0
.gitignore ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .env
2
+ # Byte-compiled / optimized / DLL files
3
+ __pycache__/
4
+ *.py[cod]
5
+ *$py.class
6
+
7
+ # C extensions
8
+ *.so
9
+
10
+ # Distribution / packaging
11
+ .Python
12
+ build/
13
+ develop-eggs/
14
+ dist/
15
+ downloads/
16
+ eggs/
17
+ .eggs/
18
+ lib/
19
+ lib64/
20
+ parts/
21
+ sdist/
22
+ var/
23
+ wheels/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+ cover/
54
+
55
+ # Translations
56
+ *.mo
57
+ *.pot
58
+
59
+ # Django stuff:
60
+ *.log
61
+ local_settings.py
62
+ db.sqlite3
63
+ db.sqlite3-journal
64
+
65
+ # Flask stuff:
66
+ instance/
67
+ .webassets-cache
68
+
69
+ # Scrapy stuff:
70
+ .scrapy
71
+
72
+ # Sphinx documentation
73
+ docs/_build/
74
+
75
+ # PyBuilder
76
+ .pybuilder/
77
+ target/
78
+
79
+ # Jupyter Notebook
80
+ .ipynb_checkpoints
81
+
82
+ # IPython
83
+ profile_default/
84
+ ipython_config.py
85
+
86
+ # pyenv
87
+ # For a library or package, you might want to ignore these files since the code is
88
+ # intended to run in multiple environments; otherwise, check them in:
89
+ # .python-version
90
+
91
+ # pipenv
92
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
93
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
94
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
95
+ # install all needed dependencies.
96
+ #Pipfile.lock
97
+
98
+ # poetry
99
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
100
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
101
+ # commonly ignored for libraries.
102
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
103
+ #poetry.lock
104
+
105
+ # pdm
106
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
107
+ #pdm.lock
108
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
109
+ # in version control.
110
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
111
+ .pdm.toml
112
+ .pdm-python
113
+ .pdm-build/
114
+
115
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
116
+ __pypackages__/
117
+
118
+ # Celery stuff
119
+ celerybeat-schedule
120
+ celerybeat.pid
121
+
122
+ # SageMath parsed files
123
+ *.sage.py
124
+
125
+ # Environments
126
+ .env
127
+ .venv
128
+ env/
129
+ venv/
130
+ ENV/
131
+ env.bak/
132
+ venv.bak/
133
+
134
+ # Spyder project settings
135
+ .spyderproject
136
+ .spyproject
137
+
138
+ # Rope project settings
139
+ .ropeproject
140
+
141
+ # mkdocs documentation
142
+ /site
143
+
144
+ # mypy
145
+ .mypy_cache/
146
+ .dmypy.json
147
+ dmypy.json
148
+
149
+ # Pyre type checker
150
+ .pyre/
151
+
152
+ # pytype static type analyzer
153
+ .pytype/
154
+
155
+ # Cython debug symbols
156
+ cython_debug/
157
+
158
+ # PyCharm
159
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
160
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
161
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
162
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
163
+ #.idea/
164
+
165
+ # *.json
166
+ .DS_Store
167
+
168
+ !requirements.txt
169
+
170
+ *.sqlite3
171
+ *.bin
172
+ *.pickle
173
+ *.sqlite3
174
+
175
+ .vscode
CONTEXT.md ADDED
File without changes
README.md CHANGED
@@ -5,7 +5,7 @@ colorFrom: gray
5
  colorTo: green
6
  sdk: streamlit
7
  sdk_version: 1.44.0
8
- app_file: app.py
9
  pinned: false
10
  ---
11
 
 
5
  colorTo: green
6
  sdk: streamlit
7
  sdk_version: 1.44.0
8
+ app_file: streamlit_cot.py
9
  pinned: false
10
  ---
11
 
bm25.py ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from rank_bm25 import BM25Okapi
3
+
4
+
5
+ def _read_documents_from_folder(folder_path):
6
+ """
7
+ Private utility function to read all .txt files from a folder.
8
+
9
+ :param folder_path: Path to the folder containing text files.
10
+ :return: List of document contents.
11
+ """
12
+ documents = []
13
+ for root, dirs, files in os.walk(folder_path):
14
+ for file in files:
15
+ if file.endswith(".txt"):
16
+ file_path = os.path.join(root, file)
17
+ with open(file_path, 'r', encoding='utf-8') as f:
18
+ documents.append([file, f.read()])
19
+ return documents
20
+
21
+
22
+ class BM25Retriever:
23
+ def __init__(self, documents):
24
+ """
25
+ Initialize BM25 Retriever using rank-bm25 library.
26
+
27
+ :param documents: List of documents (each document is a string).
28
+ """
29
+ self.tokenized_documents = [doc.split()
30
+ for [file_name, doc] in documents]
31
+ self.bm25 = BM25Okapi(self.tokenized_documents)
32
+
33
+ def retrieve(self, query, top_n=5):
34
+ """
35
+ Retrieve the top N documents for a query based on BM25 scores.
36
+
37
+ :param query: Query string.
38
+ :param top_n: Number of top documents to return.
39
+ :return: List of tuples (document_index, score).
40
+ """
41
+ tokenized_query = query.split() # Tokenize query
42
+ scores = self.bm25.get_scores(tokenized_query)
43
+ top_indices = sorted(
44
+ range(len(scores)), key=lambda i: scores[i], reverse=True)[:top_n]
45
+ return [(index, scores[index]) for index in top_indices]
46
+
47
+
48
+ # Example Usage
49
+ if __name__ == "__main__":
50
+ # Replace with the path to your folder containing .txt files
51
+ folder_path = os.path.join(os.path.dirname(
52
+ os.path.abspath(__file__)), "processed_docs")
53
+
54
+ # Load documents from the folder
55
+ documents = _read_documents_from_folder(folder_path)
56
+ print(f"Loaded {len(documents)} documents.")
57
+
58
+ # Initialize BM25 retriever
59
+ retriever = BM25Retriever(documents)
60
+
61
+ # Query
62
+ query = "performance"
63
+ top_n = 5 # Retrieve top 5 documents
64
+
65
+ # Retrieve documents based on BM25 scores
66
+ results = retriever.retrieve(query, top_n=top_n)
67
+
68
+ # Display results
69
+ for index, score in results:
70
+ print(f"Document {index}: Score = {score}")
71
+ # Display first 200 chars of the document
72
+ print(f"Content: {documents[index][:200]}...\n")
evaluation_results_chain_of_thought.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "results": [],
3
+ "averages": {}
4
+ }
log_resource.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import psutil
2
+ import os
3
+ import time
4
+
5
+
6
+ def log_resource_usage():
7
+ process = psutil.Process(os.getpid())
8
+ print(f"Memory: {process.memory_info().rss / 1024 ** 2:.2f} MB")
9
+ print(f"CPU: {process.cpu_percent(interval=1.0)}%")
logs_chain_of_thought.json ADDED
@@ -0,0 +1 @@
 
 
1
+ []
processed_docs/pr_data_0_doc_0.txt ADDED
@@ -0,0 +1,336 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4294
2
+ Title: feat(docs): preserve scrolling position when navigating to new page
3
+ Base Branch: canary
4
+ Head Branch: eng-1643-preserve-scrolling-when-navigating-docs
5
+ Author: vinroger
6
+ URL: https://github.com/nextui-org/nextui/pull/4294
7
+ State: OPEN
8
+ Created At: 2024-12-09T12:28:58Z
9
+ Merged At: None
10
+ Participants: vinroger
11
+
12
+ Description:
13
+ Preview (Tested on Safari, Chrome, Firefox)
14
+ BEFORE
15
+
16
+
17
+
18
+
19
+
20
+ nextui.sidebar.before.mp4
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+ AFTER (Chrome)
30
+
31
+
32
+
33
+
34
+
35
+ preserverscrolling.mp4
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+ AFTER (Safari)
45
+
46
+
47
+
48
+
49
+
50
+ safari.preserve.scrolling.mp4
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+ πŸ“ Description
60
+ This PR introduces functionality to preserve the scroll position in the documentation sidebar when navigating between pages. This feature enhances user experience by ensuring the sidebar retains its position, preventing the need to scroll back to the previous section manually.
61
+ ⛳️ Current behavior (updates)
62
+ Currently, the sidebar scroll position is reset to the top whenever a user navigates to a new page. This behavior can be disruptive, particularly when exploring deeply nested sections or returning to a previous part of the documentation.
63
+ πŸš€ New behavior
64
+
65
+ Scroll Position Preservation:
66
+
67
+ Upon navigation, the sidebar retains its scroll position by saving and restoring the position using sessionStorage.
68
+ Scroll events are tracked, and the position is stored whenever the user scrolls the sidebar.
69
+ When a new page is loaded, the saved scroll position is retrieved and applied to the sidebar.
70
+
71
+
72
+
73
+ πŸ’£ Is this a breaking change (Yes/No):
74
+ No.
75
+ πŸ“ Additional Information
76
+
77
+ The implementation leverages the useLayoutEffect hook to ensure that the scroll position is restored after the sidebar is rendered.
78
+ Updates include modifications to the ScrollArea and Tree components to accommodate the scroll preservation logic.
79
+ This update does not introduce any new dependencies and adheres to the current architectural conventions of the project.
80
+
81
+
82
+ Summary by CodeRabbit
83
+
84
+
85
+ New Features
86
+
87
+ Enhanced scroll management in the sidebar for improved user experience.
88
+ Added functionality to preserve and restore scroll position across component mounts.
89
+
90
+
91
+
92
+ Bug Fixes
93
+
94
+ Updated tree content to ensure it reflects changes in props appropriately.
95
+
96
+
97
+
98
+ Documentation
99
+
100
+ Improved clarity in component props for better integration and usage.
101
+
102
+ Commits:
103
+ - feat: preserve scrolling position\n
104
+
105
+ Labels:
106
+
107
+
108
+ Comments:
109
+ - linear: <p><a href="https://linear.app/nextui-inc/issue/ENG-1643/preserve-scrolling-position-when-navigating-nextui-docs">ENG-1643 Preserve scrolling position when navigating NextUI docs</a></p>\n- vercel: [vc]: #93h5abNsYyIsMgbJ/cCIcmI0gbCO12iLFehTwfaEn3o=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LWVuZy0xNjQzLXByZXNlcnZlLXNjcm9sbGluLWFkY2QxNS1uZXh0dWktb3JnLnZlcmNlbC5hcHAifSwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLWRvY3MtdjIvQ1R3Uk1yQXNNRmZkdHJVVlJNOVlvZ1JYVGk4aSIsInByZXZpZXdVcmwiOiJuZXh0dWktZG9jcy12Mi1naXQtZW5nLTE2NDMtcHJlc2VydmUtc2Nyb2xsaW4tYWRjZDE1LW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCJ9LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWVuZy0xNjQzLXByZXNlcnZlLXNjci02MzhkODEtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn0sImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvRkRiUllZaGlhTjJCQVNHZW1UMnJSV253emhReCIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1lbmctMTY0My1wcmVzZXJ2ZS1zY3ItNjM4ZDgxLW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCJ9XX0=
110
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
111
+
112
+ | Name | Status | Preview | Comments | Updated (UTC) |
113
+ | :--- | :----- | :------ | :------- | :------ |
114
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/CTwRMrAsMFfdtrUVRM9YogRXTi8i)) | [Visit Preview](https://nextui-docs-v2-git-eng-1643-preserve-scrollin-adcd15-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-eng-1643-preserve-scrollin-adcd15-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 0:29am |
115
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/FDbRYYhiaN2BASGemT2rRWnwzhQx)) | [Visit Preview](https://nextui-storybook-v2-git-eng-1643-preserve-scr-638d81-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-eng-1643-preserve-scr-638d81-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 0:29am |
116
+
117
+
118
+ \n- changeset-bot: ### ⚠️ No Changeset found
119
+
120
+ Latest commit: 8765f0a1f499b4170174ac3bc15c7e6e87f3ae26
121
+
122
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
123
+
124
+ <details><summary>This PR includes no changesets</summary>
125
+
126
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
127
+
128
+ </details>
129
+
130
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
131
+
132
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/eng-1643-preserve-scrolling-when-navigating-docs?filename=.changeset/fast-phones-knock.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0Afeat(docs)%3A%20preserve%20scrolling%20position%20when%20navigating%20to%20new%20page%0A)
133
+
134
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
135
+
136
+
137
+ <!-- walkthrough_start -->
138
+
139
+ ## Walkthrough
140
+ The pull request introduces modifications to the `sidebar.tsx` and `scroll-area.tsx` files, enhancing the functionality of the `Tree`, `DocsSidebar`, and `ScrollArea` components. Key changes include the addition of a `scrollViewPortRef` to manage scroll state, updates to props for handling scroll events, and adjustments to memoization dependencies. The changes aim to improve user experience by preserving scroll positions and facilitating better interactions with the sidebar and scroll area components.
141
+
142
+ ## Changes
143
+
144
+ | File Path | Change Summary |
145
+ |---------------------------------------------|---------------------------------------------------------------------------------------------------|
146
+ | apps/docs/components/docs/sidebar.tsx | - Added `scrollViewPortRef` to `Tree` component. <br> - Updated `treeContent` memoization to include `slug` and `tag`. <br> - Introduced `useLayoutEffect` for restoring scroll position from session storage. <br> - Defined `handleScroll` function for updating scroll position in session storage. |
147
+ | apps/docs/components/scroll-area.tsx | - Enhanced `ScrollArea` props to include `scrollViewPortRef`. <br> - Updated destructuring of props to separate `onScroll` and `scrollViewPortRef`. <br> - Passed `scrollViewPortRef` and `onScroll` to `ScrollAreaPrimitive.Viewport`. |
148
+
149
+ ## Possibly related PRs
150
+ - **#3522**: The changes in this PR enhance dropdown functionality during scrolling, which relates to the scroll management improvements made in the main PR's `Tree` and `DocsSidebar` components.
151
+ - **#3595**: This PR introduces a feature to control popover behavior on scroll, which aligns with the main PR's focus on managing scroll state and enhancing user experience in the sidebar.
152
+ - **#3752**: This PR modifies the behavior of a floating component to allow scrolling while it is displayed, which is relevant to the scroll management improvements in the main PR.
153
+
154
+ ## Suggested reviewers
155
+ - wingkwong
156
+ - jrgarciadev
157
+
158
+ <!-- walkthrough_end -->
159
+ <!-- internal state start -->
160
+
161
+
162
+ <!-- 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 -->
163
+
164
+ <!-- internal state end -->
165
+ <!-- tips_start -->
166
+
167
+ ---
168
+
169
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
170
+
171
+ <details>
172
+ <summary>❀️ Share</summary>
173
+
174
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
175
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
176
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
177
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
178
+
179
+ </details>
180
+
181
+ <details>
182
+ <summary>πŸͺ§ Tips</summary>
183
+
184
+ ### Chat
185
+
186
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
187
+
188
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
189
+ - `I pushed a fix in commit <commit_id>, please review it.`
190
+ - `Generate unit testing code for this file.`
191
+ - `Open a follow-up GitHub issue for this discussion.`
192
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
193
+ - `@coderabbitai generate unit testing code for this file.`
194
+ - `@coderabbitai modularize this function.`
195
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
196
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
197
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
198
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
199
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
200
+
201
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
202
+
203
+ ### CodeRabbit Commands (Invoked using PR comments)
204
+
205
+ - `@coderabbitai pause` to pause the reviews on a PR.
206
+ - `@coderabbitai resume` to resume the paused reviews.
207
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
208
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
209
+ - `@coderabbitai summary` to regenerate the summary of the PR.
210
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
211
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
212
+ - `@coderabbitai help` to get help.
213
+
214
+ ### Other keywords and placeholders
215
+
216
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
217
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
218
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
219
+
220
+ ### Documentation and Community
221
+
222
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
223
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
224
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
225
+
226
+ </details>
227
+
228
+ <!-- tips_end -->\n
229
+
230
+ Files Changed:
231
+ - apps/docs/components/docs/sidebar.tsx (modified, 32 changes)\n Patch: @@ -1,16 +1,15 @@
232
+ "use client";
233
+
234
+ -import {FC, useEffect, useState} from "react";
235
+ +import {FC, useEffect, useState, useRef, useMemo, useLayoutEffect} from "react";
236
+ import {usePostHog} from "posthog-js/react";
237
+ import {ChevronIcon} from "@nextui-org/shared-icons";
238
+ import {CollectionBase, Expandable, MultipleSelection, Node, ItemProps} from "@react-types/shared";
239
+ import {BaseItem} from "@nextui-org/aria-utils";
240
+ -import React, {useRef, useMemo} from "react";
241
+ import {useFocusRing} from "@react-aria/focus";
242
+ import {TreeState, useTreeState} from "@react-stately/tree";
243
+ import {useSelectableCollection} from "@react-aria/selection";
244
+ import {usePress} from "@react-aria/interactions";
245
+ -import {clsx, dataAttr} from "@nextui-org/shared-utils";
246
+ +import {clsx, dataAttr, isEmpty} from "@nextui-org/shared-utils";
247
+ import {
248
+ SpacerProps,
249
+ Spacer,
250
+ @@ -19,7 +18,6 @@ import {
251
+ dataFocusVisibleClasses,
252
+ } from "@nextui-org/react";
253
+ import Link from "next/link";
254
+ -import {isEmpty} from "@nextui-org/shared-utils";
255
+ import {usePathname, useRouter} from "next/navigation";
256
+
257
+ import {ScrollArea} from "../scroll-area";
258
+ @@ -243,6 +241,8 @@ function Tree<T extends object>(props: CollectionBase<T> & Expandable & Multiple
259
+
260
+ let ref = useRef<HTMLDivElement>(null);
261
+
262
+ + const scrollViewPortRef = useRef<HTMLDivElement>(null);
263
+ +
264
+ let keyboardDelegate = useMemo(
265
+ // @ts-expect-error
266
+ () => new TreeKeyboardDelegate(state.collection, state.disabledKeys),
267
+ @@ -255,12 +255,34 @@ function Tree<T extends object>(props: CollectionBase<T> & Expandable & Multiple
268
+ keyboardDelegate,
269
+ });
270
+
271
+ + /* Handle scroll preservation */
272
+ + useLayoutEffect(() => {
273
+ + if (typeof window !== "undefined") {
274
+ + const savedPosition = sessionStorage.getItem("docsSidebarScrollPosition");
275
+ +
276
+ + if (savedPosition && scrollViewPortRef.current) {
277
+ + scrollViewPortRef.current.scrollTop = Number(savedPosition);
278
+ + }
279
+ + }
280
+ + }, []);
281
+ +
282
+ + const handleScroll = () => {
283
+ + if (typeof window !== "undefined" && scrollViewPortRef.current) {
284
+ + sessionStorage.setItem(
285
+ + "docsSidebarScrollPosition",
286
+ + scrollViewPortRef.current.scrollTop.toString(),
287
+ + );
288
+ + }
289
+ + };
290
+ +
291
+ return (
292
+ <ScrollArea
293
+ ref={ref}
294
+ className="h-full max-w-[90%] lg:max-h-[calc(100vh_-_64px)]"
295
+ role="tree"
296
+ {...collectionProps}
297
+ + scrollViewPortRef={scrollViewPortRef}
298
+ + onScroll={handleScroll}
299
+ >
300
+ {[...state.collection].map((item) => {
301
+ if (item.type === "section") {
302
+ @@ -317,7 +339,7 @@ export const DocsSidebar: FC<DocsSidebarProps> = ({routes, slug, tag, className}
303
+ )}
304
+ </Tree>
305
+ );
306
+ - }, [routes]);
307
+ + }, [routes, slug, tag]);
308
+
309
+ return (
310
+ <div\n- apps/docs/components/scroll-area.tsx (modified, 14 changes)\n Patch: @@ -6,15 +6,23 @@ import {cn} from "@nextui-org/react";
311
+
312
+ const ScrollArea = React.forwardRef<
313
+ React.ElementRef<typeof ScrollAreaPrimitive.Root>,
314
+ - React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>
315
+ + React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root> & {
316
+ + scrollViewPortRef: React.RefObject<HTMLDivElement>;
317
+ + }
318
+ >(({className, children, ...props}, ref) => {
319
+ + const {onScroll, scrollViewPortRef, ...restProps} = props;
320
+ +
321
+ return (
322
+ <ScrollAreaPrimitive.Root
323
+ ref={ref}
324
+ className={cn("relative overflow-hidden", className)}
325
+ - {...props}
326
+ + {...restProps}
327
+ >
328
+ - <ScrollAreaPrimitive.Viewport className="h-full w-full rounded-[inherit] pb-28">
329
+ + <ScrollAreaPrimitive.Viewport
330
+ + ref={scrollViewPortRef}
331
+ + className="h-full w-full rounded-[inherit] pb-28"
332
+ + onScroll={onScroll}
333
+ + >
334
+ {children}
335
+ </ScrollAreaPrimitive.Viewport>
336
+ <ScrollBar />\n
processed_docs/pr_data_0_doc_1.txt ADDED
@@ -0,0 +1,247 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4291
2
+ Title: fix(system-rsc): extendVariants typescript type
3
+ Base Branch: canary
4
+ Head Branch: fix/react-types
5
+ Author: shlyamster
6
+ URL: https://github.com/nextui-org/nextui/pull/4291
7
+ State: OPEN
8
+ Created At: 2024-12-09T11:16:14Z
9
+ Merged At: None
10
+ Participants: shlyamster
11
+
12
+ Description:
13
+ Closes #4269
14
+ πŸ“ Description
15
+ This request solves the problem of the data type returned by the extendVariants function.
16
+ ⛳️ Current behavior (updates)
17
+ In the current implementation, the result of the extendVariants function is the ForwardRefRenderFunction data type.
18
+ πŸš€ New behavior
19
+ Because the resolution of the function is forwardRef, therefore it is necessary to return the ForwardRefExoticComponent data type.
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+ These changes work with react/types versions 18 and 19. And they don't break backward compatibility.
22
+
23
+ Summary by CodeRabbit
24
+
25
+ New Features
26
+
27
+ Enhanced type definitions for components, improving clarity and type safety.
28
+ Updated ExtendVariants type to streamline props structure.
29
+
30
+
31
+ Bug Fixes
32
+
33
+ Corrected the return type of the extendVariants function to ensure it meets expected standards.
34
+
35
+ Commits:
36
+ - fix: ReactElement type\n- fix: extendVariants forwardRef return type\n- feat: add changeset\n
37
+
38
+ Labels:
39
+
40
+
41
+ Comments:
42
+ - changeset-bot: ### πŸ¦‹ Changeset detected
43
+
44
+ Latest commit: f88b039d24e08ffaa4db2da35cf75baa47a27e4c
45
+
46
+ **The changes in this PR will be included in the next version bump.**
47
+
48
+ <details><summary>This PR includes changesets to release 35 packages</summary>
49
+
50
+ | Name | Type |
51
+ | ------------------------ | ----- |
52
+ | @nextui-org/system-rsc | Minor |
53
+ | @nextui-org/code | Patch |
54
+ | @nextui-org/divider | Patch |
55
+ | @nextui-org/kbd | Patch |
56
+ | @nextui-org/spacer | Patch |
57
+ | @nextui-org/spinner | Patch |
58
+ | @nextui-org/system | Patch |
59
+ | @nextui-org/react | Patch |
60
+ | @nextui-org/accordion | Patch |
61
+ | @nextui-org/listbox | Patch |
62
+ | @nextui-org/menu | Patch |
63
+ | @nextui-org/table | Patch |
64
+ | @nextui-org/autocomplete | Patch |
65
+ | @nextui-org/button | Patch |
66
+ | @nextui-org/select | Patch |
67
+ | @nextui-org/alert | Patch |
68
+ | @nextui-org/calendar | Patch |
69
+ | @nextui-org/checkbox | Patch |
70
+ | @nextui-org/date-input | Patch |
71
+ | @nextui-org/date-picker | Patch |
72
+ | @nextui-org/drawer | Patch |
73
+ | @nextui-org/dropdown | Patch |
74
+ | @nextui-org/form | Patch |
75
+ | @nextui-org/input-otp | Patch |
76
+ | @nextui-org/input | Patch |
77
+ | @nextui-org/modal | Patch |
78
+ | @nextui-org/navbar | Patch |
79
+ | @nextui-org/popover | Patch |
80
+ | @nextui-org/radio | Patch |
81
+ | @nextui-org/slider | Patch |
82
+ | @nextui-org/snippet | Patch |
83
+ | @nextui-org/tabs | Patch |
84
+ | @nextui-org/tooltip | Patch |
85
+ | @nextui-org/aria-utils | Patch |
86
+ | @nextui-org/framer-utils | Patch |
87
+
88
+ </details>
89
+
90
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
91
+
92
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/shlyamster/nextui/new/fix/react-types?filename=.changeset/cyan-meals-fry.md&value=---%0A%22%40nextui-org%2Fsystem-rsc%22%3A%20patch%0A---%0A%0Afix(system-rsc)%3A%20extendVariants%20typescript%20type%0A)
93
+
94
+ \n- vercel: [vc]: #xLAtnhnkUKaBAeFD0X8bI29p6s8S6KmgUw40bQkMk9w=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvNEVpdnI0R2hIanI3Z2VoMnRHdGg2YVJTempSeSIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1mb3JrLXNobHlhbXN0ZXItZml4LXItNzA0ZWU3LW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1mb3JrLXNobHlhbXN0ZXItZml4LXItNzA0ZWU3LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9DNGZSZDhUQlJzVmpabXVNV2NRSERnWXljYXJaIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLXNobHlhbXN0ZXItZml4LXJlYWN0LXR5cGVzLW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktZG9jcy12Mi1naXQtZm9yay1zaGx5YW1zdGVyLWZpeC1yZWFjdC10eXBlcy1uZXh0dWktb3JnLnZlcmNlbC5hcHAifX1dfQ==
95
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
96
+
97
+ | Name | Status | Preview | Comments | Updated (UTC) |
98
+ | :--- | :----- | :------ | :------- | :------ |
99
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/C4fRd8TBRsVjZmuMWcQHDgYycarZ)) | [Visit Preview](https://nextui-docs-v2-git-fork-shlyamster-fix-react-types-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fork-shlyamster-fix-react-types-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 11:33am |
100
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/4Eivr4GhHjr7geh2tGth6aRSzjRy)) | [Visit Preview](https://nextui-storybook-v2-git-fork-shlyamster-fix-r-704ee7-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fork-shlyamster-fix-r-704ee7-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 11:33am |
101
+
102
+
103
+ \n- vercel: @shlyamster is attempting to deploy a commit to the **NextUI Inc** Team on [Vercel](https://vercel.com).
104
+
105
+ A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=NextUI%20Inc&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%2277c5ac446cf0d4a7ea4713dde2c851a96c3b46ff%22%7D%2C%22id%22%3A%22QmWtapkn4KnNXK2mJNDBQYrsQ21kLeXuZwHrRhrnHrbfTP%22%2C%22org%22%3A%22nextui-org%22%2C%22prId%22%3A4291%2C%22repo%22%3A%22nextui%22%7D).
106
+
107
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
108
+
109
+
110
+
111
+
112
+ <!-- walkthrough_start -->
113
+
114
+ ## Walkthrough
115
+ The changes in this pull request focus on updating type declarations in the `extend-variants.d.ts` file. The import of `ForwardRefRenderFunction` has been replaced with `ForwardRefExoticComponent`, and new types `PropsWithoutRef` and `RefAttributes` have been introduced. The `ExtendVariants` type's return type has been modified to utilize `PropsWithoutRef`, improving the clarity of the props structure while retaining the ability to handle refs.
116
+
117
+ ## Changes
118
+
119
+ | File Path | Change Summary |
120
+ |----------------------------------------------|---------------------------------------------------------------------------------------------------------|
121
+ | packages/core/system-rsc/src/extend-variants.d.ts | Updated type definitions: replaced `ForwardRefRenderFunction` with `ForwardRefExoticComponent`, added `PropsWithoutRef` and `RefAttributes`, and modified `ExtendVariants` return type accordingly. |
122
+ | .changeset/twelve-ducks-thank.md | Minor version update for `@nextui-org/system-rsc` and corrected return type of `extendVariants` function. |
123
+
124
+ ## Assessment against linked issues
125
+
126
+ | Objective | Addressed | Explanation |
127
+ |---------------------------------------------------------------------------|-----------|-------------------------------------------------|
128
+ | Ensure `extendVariants` can be used as a JSX component (#4269) | βœ… | |
129
+
130
+ ## Possibly related PRs
131
+ - **#3299**: This PR addresses issues related to the `extendVariants` functionality, which is directly connected to the changes made in the main PR regarding the `ExtendVariants` type and its return type modifications.
132
+ - **#3503**: This PR fixes handling of the `defaultVariants` null case in `extendVariants`, which relates to the changes in type definitions and functionality in the main PR.
133
+ - **#3559**: This PR enhances type definitions for the `compoundVariants.variant` functionality, which is relevant to the type declaration changes made in the main PR.
134
+
135
+ ## Suggested reviewers
136
+ - jrgarciadev
137
+ - wingkwong
138
+
139
+ <!-- walkthrough_end -->
140
+ <!-- internal state start -->
141
+
142
+
143
+ <!-- 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 -->
144
+
145
+ <!-- internal state end -->
146
+ <!-- tips_start -->
147
+
148
+ ---
149
+
150
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
151
+
152
+ <details>
153
+ <summary>❀️ Share</summary>
154
+
155
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
156
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
157
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
158
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
159
+
160
+ </details>
161
+
162
+ <details>
163
+ <summary>πŸͺ§ Tips</summary>
164
+
165
+ ### Chat
166
+
167
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
168
+
169
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
170
+ - `I pushed a fix in commit <commit_id>, please review it.`
171
+ - `Generate unit testing code for this file.`
172
+ - `Open a follow-up GitHub issue for this discussion.`
173
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
174
+ - `@coderabbitai generate unit testing code for this file.`
175
+ - `@coderabbitai modularize this function.`
176
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
177
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
178
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
179
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
180
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
181
+
182
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
183
+
184
+ ### CodeRabbit Commands (Invoked using PR comments)
185
+
186
+ - `@coderabbitai pause` to pause the reviews on a PR.
187
+ - `@coderabbitai resume` to resume the paused reviews.
188
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
189
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
190
+ - `@coderabbitai summary` to regenerate the summary of the PR.
191
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
192
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
193
+ - `@coderabbitai help` to get help.
194
+
195
+ ### Other keywords and placeholders
196
+
197
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
198
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
199
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
200
+
201
+ ### Documentation and Community
202
+
203
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
204
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
205
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
206
+
207
+ </details>
208
+
209
+ <!-- tips_end -->\n
210
+
211
+ Files Changed:
212
+ - .changeset/twelve-ducks-thank.md (added, 5 changes)\n Patch: @@ -0,0 +1,5 @@
213
+ +---
214
+ +"@nextui-org/system-rsc": minor
215
+ +---
216
+ +
217
+ +Fix data type returned by the extendVariants function (#4269)\n- packages/core/system-rsc/src/extend-variants.d.ts (modified, 16 changes)\n Patch: @@ -1,5 +1,11 @@
218
+ import type {ClassValue, StringToBoolean, OmitUndefined, ClassProp} from "tailwind-variants";
219
+ -import type {ForwardRefRenderFunction, JSXElementConstructor, ReactElement} from "react";
220
+ +import type {
221
+ + ForwardRefExoticComponent,
222
+ + JSXElementConstructor,
223
+ + PropsWithoutRef,
224
+ + ReactElement,
225
+ + RefAttributes,
226
+ +} from "react";
227
+
228
+ type SlotsClassValue<S> = {
229
+ [K in keyof S]?: ClassValue;
230
+ @@ -90,13 +96,13 @@ export type ExtendVariants = {
231
+ slots?: S;
232
+ },
233
+ opts?: Options,
234
+ - ): ForwardRefRenderFunction<
235
+ - ReactElement,
236
+ - {
237
+ + ): ForwardRefExoticComponent<
238
+ + PropsWithoutRef<{
239
+ [key in keyof CP | keyof V]?:
240
+ | (key extends keyof CP ? CP[key] : never)
241
+ | (key extends keyof V ? StringToBoolean<keyof V[key]> : never);
242
+ - }
243
+ + }> &
244
+ + RefAttributes<ReactElement>
245
+ >;
246
+ };
247
+ \n
processed_docs/pr_data_0_doc_10.txt ADDED
@@ -0,0 +1,324 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4278
2
+ Title: fix(dropdown): unnecessary ref in dropdown
3
+ Base Branch: canary
4
+ Head Branch: fix/eng1658
5
+ Author: wingkwong
6
+ URL: https://github.com/nextui-org/nextui/pull/4278
7
+ State: MERGED
8
+ Created At: 2024-12-08T10:32:39Z
9
+ Merged At: 2024-12-08T11:53:08Z
10
+ Participants: wingkwong, jrgarciadev
11
+
12
+ Description:
13
+ Closes #4245
14
+ πŸ“ Description
15
+
16
+ In #4198, forwardRef has been removed from PopoverTrigger since the ref is not used there. The reported warning was caused by passing ref to PopoverTrigger, which no longer accepts. Since the ref will not be used, this PR is to avoid passing the unnecessary ref to PopoverTrigger.
17
+ ⛳️ Current behavior (updates)
18
+
19
+ πŸš€ New behavior
20
+
21
+ πŸ’£ Is this a breaking change (Yes/No):
22
+
23
+ πŸ“ Additional Information
24
+
25
+ Summary by CodeRabbit
26
+
27
+
28
+ Bug Fixes
29
+
30
+ Resolved an issue with the dropdown component by removing an unnecessary reference, improving functionality and performance.
31
+
32
+
33
+
34
+ New Features
35
+
36
+ Simplified the getMenuTriggerProps method in the dropdown component for easier usage and clarity.
37
+
38
+ Commits:
39
+ - fix(dropdown): unnecessary ref in dropdown\n
40
+
41
+ Labels:
42
+
43
+
44
+ Comments:
45
+ - vercel: [vc]: #/rK1Pxpwu880XqCdNzL0jXNmm4b6oA3aJlz53Em1Eog=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9GUnJ1WnU3Q3FxZVE3dkh1NktBUlBROHA3VlZjIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtZW5nMTY1OC1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LWZpeC1lbmcxNjU4LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvQXZQUEpKUkJkbmNXTlZLY1h4Q01vOWdIRkJGWCIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1maXgtZW5nMTY1OC1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LWVuZzE2NTgtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
46
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
47
+
48
+ | Name | Status | Preview | Comments | Updated (UTC) |
49
+ | :--- | :----- | :------ | :------- | :------ |
50
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/FRruZu7CqqeQ7vHu6KARPQ8p7VVc)) | [Visit Preview](https://nextui-docs-v2-git-fix-eng1658-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-eng1658-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 8, 2024 10:37am |
51
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/AvPPJJRBdncWNVKcXxCMo9gHFBFX)) | [Visit Preview](https://nextui-storybook-v2-git-fix-eng1658-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-eng1658-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 8, 2024 10:37am |
52
+
53
+
54
+ \n- changeset-bot: ### πŸ¦‹ Changeset detected
55
+
56
+ Latest commit: 0d0b8ceb26d134ec2ff0e898e188037366d4d7e0
57
+
58
+ **The changes in this PR will be included in the next version bump.**
59
+
60
+ <details><summary>This PR includes changesets to release 2 packages</summary>
61
+
62
+ | Name | Type |
63
+ | -------------------- | ----- |
64
+ | @nextui-org/dropdown | Patch |
65
+ | @nextui-org/react | Patch |
66
+
67
+ </details>
68
+
69
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
70
+
71
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/fix/eng1658?filename=.changeset/perfect-spies-trade.md&value=---%0A%22%40nextui-org%2Fdropdown%22%3A%20patch%0A---%0A%0Afix(dropdown)%3A%20unnecessary%20ref%20in%20dropdown%0A)
72
+
73
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
74
+
75
+
76
+ <!-- walkthrough_start -->
77
+
78
+ ## Walkthrough
79
+ This pull request implements a patch for the `@nextui-org/dropdown` package, specifically addressing a ref warning issue in the dropdown component as reported in issue #4245. The changes include modifications to the `use-dropdown.ts` file, where the `getMenuTriggerProps` function's signature has been simplified by removing an unnecessary parameter. This update streamlines the handling of menu trigger properties and aligns the type definitions accordingly.
80
+
81
+ ## Changes
82
+
83
+ | File Path | Change Summary |
84
+ |---------------------------------------------|-------------------------------------------------------------------------------------------------|
85
+ | .changeset/soft-pugs-travel.md | Patch applied for `@nextui-org/dropdown` addressing a ref warning issue. |
86
+ | packages/components/dropdown/src/use-dropdown.ts | Updated `getMenuTriggerProps` method signature by removing the `_ref` parameter; adjusted `UseDropdownReturn` type accordingly. |
87
+
88
+ ## Assessment against linked issues
89
+
90
+ | Objective | Addressed | Explanation |
91
+ |-------------------------------------------------------|-----------|-------------------------------------------|
92
+ | Resolve ref warning in DropdownTrigger (issue #4245) | βœ… | |
93
+
94
+ ## Possibly related issues
95
+ - **nextui-org/nextui#4267**: This issue also reports a ref warning related to the `DropdownTrigger`, which is directly addressed in this PR.
96
+
97
+ ## Possibly related PRs
98
+ - **#3762**: This PR addresses a bug in the Dropdown component related to an error with `_a2.find`, which is directly connected to the changes made in the main PR that also focuses on the dropdown functionality.
99
+ - **#3211**: This PR fixes an issue with keyboard interactions in the dropdown component, which relates to the overall functionality of the dropdown being improved in the main PR.
100
+ - **#4198**: This PR modifies the `DropdownTrigger` component to ensure it correctly utilizes refs, which is relevant to the changes made in the main PR regarding the dropdown component's functionality.
101
+
102
+ ## Suggested reviewers
103
+ - jrgarciadev
104
+ - winchesHe
105
+
106
+ <!-- walkthrough_end -->
107
+
108
+ ---
109
+
110
+ <details>
111
+ <summary>πŸ“œ Recent review details</summary>
112
+
113
+ **Configuration used: .coderabbit.yaml**
114
+ **Review profile: CHILL**
115
+
116
+ <details>
117
+ <summary>πŸ“₯ Commits</summary>
118
+
119
+ Reviewing files that changed from the base of the PR and between a50aa3ea02bb5c2ee6f5bf30a6aa174e01a1878a and 0d0b8ceb26d134ec2ff0e898e188037366d4d7e0.
120
+
121
+ </details>
122
+
123
+ <details>
124
+ <summary>πŸ“’ Files selected for processing (2)</summary>
125
+
126
+ * `.changeset/soft-pugs-travel.md` (1 hunks)
127
+ * `packages/components/dropdown/src/use-dropdown.ts` (2 hunks)
128
+
129
+ </details>
130
+
131
+ <details>
132
+ <summary>πŸ”‡ Additional comments (4)</summary>
133
+
134
+ <details>
135
+ <summary>.changeset/soft-pugs-travel.md (1)</summary>
136
+
137
+ `1-5`: **LGTM! Appropriate version bump and clear commit message.**
138
+
139
+ The patch version bump is correct for this bug fix, and the commit message properly references the issue being fixed.
140
+
141
+ </details>
142
+ <details>
143
+ <summary>packages/components/dropdown/src/use-dropdown.ts (3)</summary>
144
+
145
+ `167-172`: **LGTM! Correctly removes unnecessary ref handling.**
146
+
147
+ The simplified implementation properly removes the ref parameter while maintaining the essential functionality. This change aligns with the PR objective and resolves the console warning about function components not accepting refs.
148
+
149
+ ---
150
+
151
+ `222-222`: **LGTM! Type definition matches implementation.**
152
+
153
+ The updated type signature correctly reflects the removal of the ref parameter from getMenuTriggerProps.
154
+
155
+ ---
156
+
157
+ Line range hint `167-222`: **Verify PopoverTrigger compatibility.**
158
+
159
+ Let's verify that no components rely on the removed ref functionality.
160
+
161
+ <details>
162
+ <summary>βœ… Verification successful</summary>
163
+
164
+ **Changes to getMenuTriggerProps are safe to proceed**
165
+
166
+ Based on the codebase analysis:
167
+ 1. The only usage of `getMenuTriggerProps` is in `dropdown-trigger.tsx` where it's passed directly to `PopoverTrigger` without any ref handling.
168
+ 2. The `PopoverTrigger` component implementation shows it handles its own ref through the `usePopoverContext`, and doesn't expect refs from its props.
169
+ 3. The removed ref functionality from `getMenuTriggerProps` was unused and redundant since the trigger ref handling is managed by the Popover component.
170
+
171
+
172
+
173
+ </details>
174
+
175
+ <details>
176
+ <summary>🏁 Scripts executed</summary>
177
+
178
+ The following scripts were executed for the analysis:
179
+
180
+ Script:
181
+
182
+ ```shell
183
+ #!/bin/bash
184
+ # Search for any direct usage of getMenuTriggerProps that might expect a ref parameter
185
+ rg -l 'getMenuTriggerProps.*ref' --type ts
186
+
187
+ # Search for PopoverTrigger implementation to confirm it doesn't use refs
188
+ ast-grep --pattern 'export const PopoverTrigger = $$$'
189
+
190
+ ```
191
+
192
+ Length of output: 101
193
+
194
+ ---
195
+
196
+ Script:
197
+
198
+ ```shell
199
+ #!/bin/bash
200
+ # Let's try a broader search for getMenuTriggerProps usage
201
+ rg -A 5 "getMenuTriggerProps" --type ts
202
+
203
+ # Search for PopoverTrigger in a different way
204
+ fd -e ts -e tsx -x cat {} \; | rg -A 10 "PopoverTrigger"
205
+
206
+ # Look for any files that might be using the Dropdown component
207
+ rg -l "useDropdown" --type ts
208
+
209
+ ```
210
+
211
+ Length of output: 18745
212
+
213
+ </details>
214
+
215
+ </details>
216
+
217
+ </details>
218
+
219
+ </details>
220
+ <!-- internal state start -->
221
+
222
+
223
+ <!-- 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 -->
224
+
225
+ <!-- internal state end -->
226
+ <!-- tips_start -->
227
+
228
+ ---
229
+
230
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
231
+
232
+ <details>
233
+ <summary>❀️ Share</summary>
234
+
235
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
236
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
237
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
238
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
239
+
240
+ </details>
241
+
242
+ <details>
243
+ <summary>πŸͺ§ Tips</summary>
244
+
245
+ ### Chat
246
+
247
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
248
+
249
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
250
+ - `I pushed a fix in commit <commit_id>, please review it.`
251
+ - `Generate unit testing code for this file.`
252
+ - `Open a follow-up GitHub issue for this discussion.`
253
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
254
+ - `@coderabbitai generate unit testing code for this file.`
255
+ - `@coderabbitai modularize this function.`
256
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
257
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
258
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
259
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
260
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
261
+
262
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
263
+
264
+ ### CodeRabbit Commands (Invoked using PR comments)
265
+
266
+ - `@coderabbitai pause` to pause the reviews on a PR.
267
+ - `@coderabbitai resume` to resume the paused reviews.
268
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
269
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
270
+ - `@coderabbitai summary` to regenerate the summary of the PR.
271
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
272
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
273
+ - `@coderabbitai help` to get help.
274
+
275
+ ### Other keywords and placeholders
276
+
277
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
278
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
279
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
280
+
281
+ ### Documentation and Community
282
+
283
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
284
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
285
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
286
+
287
+ </details>
288
+
289
+ <!-- tips_end -->\n
290
+
291
+ Files Changed:
292
+ - .changeset/soft-pugs-travel.md (added, 5 changes)\n Patch: @@ -0,0 +1,5 @@
293
+ +---
294
+ +"@nextui-org/dropdown": patch
295
+ +---
296
+ +
297
+ +fix unnecessary ref in dropdown (#4245)\n- packages/components/dropdown/src/use-dropdown.ts (modified, 12 changes)\n Patch: @@ -164,18 +164,12 @@ export function useDropdown(props: UseDropdownProps): UseDropdownReturn {
298
+ };
299
+ };
300
+
301
+ - const getMenuTriggerProps: PropGetter = (
302
+ - originalProps = {},
303
+ - _ref: Ref<any> | null | undefined = null,
304
+ - ) => {
305
+ + const getMenuTriggerProps: PropGetter = (originalProps = {}) => {
306
+ // These props are not needed for the menu trigger since it is handled by the popover trigger.
307
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
308
+ const {onPress, onPressStart, ...otherMenuTriggerProps} = menuTriggerProps;
309
+
310
+ - return {
311
+ - ...mergeProps(otherMenuTriggerProps, {isDisabled}, originalProps),
312
+ - ref: mergeRefs(_ref, triggerRef),
313
+ - };
314
+ + return mergeProps(otherMenuTriggerProps, {isDisabled}, originalProps);
315
+ };
316
+
317
+ const getMenuProps = <T extends object>(
318
+ @@ -225,5 +219,5 @@ export type UseDropdownReturn = {
319
+ disableAnimation: boolean;
320
+ getPopoverProps: PropGetter;
321
+ getMenuProps: <T extends object>(props?: Partial<MenuProps<T>>, ref?: Ref<any>) => MenuProps;
322
+ - getMenuTriggerProps: (props?: any, ref?: Ref<any>) => any;
323
+ + getMenuTriggerProps: (props?: any) => any;
324
+ };\n
processed_docs/pr_data_0_doc_11.txt ADDED
@@ -0,0 +1,265 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4276
2
+ Title: fix(docs): Identifier 'colors' has already been declared
3
+ Base Branch: main
4
+ Head Branch: fix/table-page
5
+ Author: wingkwong
6
+ URL: https://github.com/nextui-org/nextui/pull/4276
7
+ State: MERGED
8
+ Created At: 2024-12-08T06:42:18Z
9
+ Merged At: 2024-12-08T11:53:59Z
10
+ Participants: wingkwong, jrgarciadev
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+
19
+ πŸš€ New behavior
20
+
21
+
22
+ πŸ’£ Is this a breaking change (Yes/No):
23
+
24
+ πŸ“ Additional Information
25
+
26
+ Summary by CodeRabbit
27
+
28
+ Bug Fixes
29
+
30
+ Adjusted the scope of the colors variable in the App component for better encapsulation in multiple table selection components.
31
+
32
+
33
+ Refactor
34
+
35
+ Moved the colors array declaration from global scope to local scope within the App function across various table selection components.
36
+
37
+ Commits:
38
+ - fix(docs): identifier 'colors' has already been declared\n
39
+
40
+ Labels:
41
+
42
+
43
+ Comments:
44
+ - changeset-bot: ### ⚠️ No Changeset found
45
+
46
+ Latest commit: 6eaf3daeed621a6479a18dedf65e7e0819a77ef3
47
+
48
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
49
+
50
+ <details><summary>This PR includes no changesets</summary>
51
+
52
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
53
+
54
+ </details>
55
+
56
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
57
+
58
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/fix/table-page?filename=.changeset/mean-tomatoes-pump.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0Afix(docs)%3A%20Identifier%20'colors'%20has%20already%20been%20declared%0A)
59
+
60
+ \n- vercel: [vc]: #sFgdLGLP/5YoP64NoSJvq6lsTQOhfEZRi5bY4+erF8I=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi85UXFVU3U2aWpHRDcyV0hKSkVmYnJ0V0RjOFhVIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtdGFibGUtcGFnZS1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LWZpeC10YWJsZS1wYWdlLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvQ1BzdFRtYnU4Rmhpd0hYTmYzc3ZVRmc5ZHoxSCIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1maXgtdGFibGUtcGFnZS1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LXRhYmxlLXBhZ2UtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
61
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
62
+
63
+ | Name | Status | Preview | Comments | Updated (UTC) |
64
+ | :--- | :----- | :------ | :------- | :------ |
65
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/9QqUSu6ijGD72WHJJEfbrtWDc8XU)) | [Visit Preview](https://nextui-docs-v2-git-fix-table-page-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-table-page-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 8, 2024 6:45am |
66
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/CPstTmbu8FhiwHXNf3svUFg9dz1H)) | [Visit Preview](https://nextui-storybook-v2-git-fix-table-page-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-table-page-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 8, 2024 6:45am |
67
+
68
+
69
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
70
+
71
+
72
+ <!-- walkthrough_start -->
73
+
74
+ ## Walkthrough
75
+ The changes in this pull request involve modifying the scope of the `colors` array within the `App` component across three files: `disallow-empty-selection.raw.jsx`, `multiple-selection.raw.jsx`, and `single-selection.raw.jsx`. The `colors` array, which defines available color options, has been moved from a global declaration to a local declaration within the `App` function in each file. This adjustment does not alter the functionality or structure of the components.
76
+
77
+ ## Changes
78
+
79
+ | File Path | Change Summary |
80
+ |-----------------------------------------------------------|---------------------------------------------------------------------------------------------------|
81
+ | apps/docs/content/components/table/disallow-empty-selection.raw.jsx | Moved `colors` array declaration from global scope to local scope within the `App` function. |
82
+ | apps/docs/content/components/table/multiple-selection.raw.jsx | Moved `colors` array declaration from global scope to local scope within the `App` function. |
83
+ | apps/docs/content/components/table/single-selection.raw.jsx | Moved `colors` array declaration from global scope to local scope within the `App` function. |
84
+
85
+ ## Possibly related PRs
86
+ - **#3663**: The changes in this PR involve the `select` component's styling, which includes color adjustments that may relate to the `colors` array used in the `App` component of the main PR.
87
+ - **#3738**: This PR updates text colors in the `flat` variant of the theme, which may connect to the color management in the `colors` array of the main PR's `App` component.
88
+ - **#3764**: The styling adjustments for the ghost danger button may relate to the overall color management in the application, similar to the changes made in the main PR regarding the `colors` array.
89
+ - **#3936**: The merging of class names in the dropdown component may indirectly relate to the overall styling approach taken in the main PR, particularly in how components manage their styles and classes.
90
+
91
+ ## Suggested labels
92
+ `πŸ“‹ Scope : Docs`
93
+
94
+ ## Suggested reviewers
95
+ - jrgarciadev
96
+
97
+ <!-- walkthrough_end -->
98
+
99
+ ---
100
+
101
+ <details>
102
+ <summary>πŸ“œ Recent review details</summary>
103
+
104
+ **Configuration used: .coderabbit.yaml**
105
+ **Review profile: CHILL**
106
+
107
+ <details>
108
+ <summary>πŸ“₯ Commits</summary>
109
+
110
+ Reviewing files that changed from the base of the PR and between de046f1df2514133fbc38a3180fb909854da5667 and 6eaf3daeed621a6479a18dedf65e7e0819a77ef3.
111
+
112
+ </details>
113
+
114
+ <details>
115
+ <summary>πŸ“’ Files selected for processing (3)</summary>
116
+
117
+ * `apps/docs/content/components/table/disallow-empty-selection.raw.jsx` (1 hunks)
118
+ * `apps/docs/content/components/table/multiple-selection.raw.jsx` (1 hunks)
119
+ * `apps/docs/content/components/table/single-selection.raw.jsx` (1 hunks)
120
+
121
+ </details>
122
+
123
+ <details>
124
+ <summary>πŸ”‡ Additional comments (3)</summary>
125
+
126
+ <details>
127
+ <summary>apps/docs/content/components/table/single-selection.raw.jsx (1)</summary>
128
+
129
+ `15-16`: **LGTM! Good improvement in variable scoping**
130
+
131
+ Moving the `colors` array inside the `App` function is the right approach as it prevents naming conflicts with other components that might use the same identifier. This change maintains component isolation while preserving the functionality.
132
+
133
+ </details>
134
+ <details>
135
+ <summary>apps/docs/content/components/table/multiple-selection.raw.jsx (1)</summary>
136
+
137
+ `15-16`: **LGTM! Consistent with other changes**
138
+
139
+ Moving the `colors` array inside the `App` function maintains consistency with other components while preventing naming conflicts.
140
+
141
+ </details>
142
+ <details>
143
+ <summary>apps/docs/content/components/table/disallow-empty-selection.raw.jsx (1)</summary>
144
+
145
+ `15-16`: **LGTM! Completes the scope improvement pattern**
146
+
147
+ Moving the `colors` array inside the `App` function completes the pattern across all table selection examples. This change ensures consistent scoping and prevents naming conflicts throughout the documentation.
148
+
149
+ </details>
150
+
151
+ </details>
152
+
153
+ </details>
154
+ <!-- internal state start -->
155
+
156
+
157
+ <!-- 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 -->
158
+
159
+ <!-- internal state end -->
160
+ <!-- tips_start -->
161
+
162
+ ---
163
+
164
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
165
+
166
+ <details>
167
+ <summary>❀️ Share</summary>
168
+
169
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
170
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
171
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
172
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
173
+
174
+ </details>
175
+
176
+ <details>
177
+ <summary>πŸͺ§ Tips</summary>
178
+
179
+ ### Chat
180
+
181
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
182
+
183
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
184
+ - `I pushed a fix in commit <commit_id>, please review it.`
185
+ - `Generate unit testing code for this file.`
186
+ - `Open a follow-up GitHub issue for this discussion.`
187
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
188
+ - `@coderabbitai generate unit testing code for this file.`
189
+ - `@coderabbitai modularize this function.`
190
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
191
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
192
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
193
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
194
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
195
+
196
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
197
+
198
+ ### CodeRabbit Commands (Invoked using PR comments)
199
+
200
+ - `@coderabbitai pause` to pause the reviews on a PR.
201
+ - `@coderabbitai resume` to resume the paused reviews.
202
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
203
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
204
+ - `@coderabbitai summary` to regenerate the summary of the PR.
205
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
206
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
207
+ - `@coderabbitai help` to get help.
208
+
209
+ ### Other keywords and placeholders
210
+
211
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
212
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
213
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
214
+
215
+ ### Documentation and Community
216
+
217
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
218
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
219
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
220
+
221
+ </details>
222
+
223
+ <!-- tips_end -->\n
224
+
225
+ Files Changed:
226
+ - apps/docs/content/components/table/disallow-empty-selection.raw.jsx (modified, 4 changes)\n Patch: @@ -9,11 +9,11 @@ import {
227
+ Radio,
228
+ } from "@nextui-org/react";
229
+
230
+ -const colors = ["default", "primary", "secondary", "success", "warning", "danger"];
231
+ -
232
+ export default function App() {
233
+ const [selectedColor, setSelectedColor] = React.useState("default");
234
+
235
+ + const colors = ["default", "primary", "secondary", "success", "warning", "danger"];
236
+ +
237
+ return (
238
+ <div className="flex flex-col gap-3">
239
+ <Table\n- apps/docs/content/components/table/multiple-selection.raw.jsx (modified, 4 changes)\n Patch: @@ -9,11 +9,11 @@ import {
240
+ Radio,
241
+ } from "@nextui-org/react";
242
+
243
+ -const colors = ["default", "primary", "secondary", "success", "warning", "danger"];
244
+ -
245
+ export default function App() {
246
+ const [selectedColor, setSelectedColor] = React.useState("default");
247
+
248
+ + const colors = ["default", "primary", "secondary", "success", "warning", "danger"];
249
+ +
250
+ return (
251
+ <div className="flex flex-col gap-3">
252
+ <Table\n- apps/docs/content/components/table/single-selection.raw.jsx (modified, 4 changes)\n Patch: @@ -9,11 +9,11 @@ import {
253
+ Radio,
254
+ } from "@nextui-org/react";
255
+
256
+ -const colors = ["default", "primary", "secondary", "success", "warning", "danger"];
257
+ -
258
+ export default function App() {
259
+ const [selectedColor, setSelectedColor] = React.useState("default");
260
+
261
+ + const colors = ["default", "primary", "secondary", "success", "warning", "danger"];
262
+ +
263
+ return (
264
+ <div className="flex flex-col gap-3">
265
+ <Table\n
processed_docs/pr_data_0_doc_12.txt ADDED
@@ -0,0 +1,415 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4274
2
+ Title: fix: prevent multiple parent focus events on click
3
+ Base Branch: canary
4
+ Head Branch: fix/selection-components-parent-focus
5
+ Author: Peterl561
6
+ URL: https://github.com/nextui-org/nextui/pull/4274
7
+ State: OPEN
8
+ Created At: 2024-12-08T03:19:11Z
9
+ Merged At: None
10
+ Participants: Peterl561, macci001, wingkwong
11
+
12
+ Description:
13
+ Closes #4260
14
+ πŸ“ Description
15
+
16
+ caused by #4220
17
+ affects Checkbox, Radio, and Switch components
18
+ occurs when parent container is focusable (see sandbox)
19
+ need to call preventDefault to prevent parent focus from firing multiple times
20
+
21
+ ⛳️ Current behavior (updates)
22
+
23
+
24
+
25
+
26
+
27
+ before.mp4
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+ πŸš€ New behavior
37
+
38
+
39
+
40
+
41
+
42
+ after.mp4
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+ πŸ’£ Is this a breaking change (Yes/No):
52
+ No
53
+ πŸ“ Additional Information
54
+
55
+ Summary by CodeRabbit
56
+
57
+ New Features
58
+
59
+ Improved focus behavior for checkbox, radio, and switch components to enhance user experience by preventing unnecessary focus events.
60
+
61
+
62
+ Bug Fixes
63
+
64
+ Resolved an issue where focus was incorrectly triggered multiple times on parent elements when interacting with checkbox, radio, and switch components.
65
+
66
+
67
+ Tests
68
+
69
+ Added new test cases to verify correct focus behavior for checkbox, radio, and switch components upon interaction.
70
+
71
+ Commits:
72
+ - test(checkbox): focusable parent test\n- test(radio): focusable parent test\n- test(switch): focusable parent test\n- fix(checkbox): prevent parent focus on click\n- fix(radio): prevent parent focus on click\n- fix(switch): prevent parent focus on click\n- chore(changeset): fixed slection components parent focus\n- chore(changeset): add issue number\n
73
+
74
+ Labels:
75
+
76
+
77
+ Comments:
78
+ - changeset-bot: ### πŸ¦‹ Changeset detected
79
+
80
+ Latest commit: 476761c8021a9c274e58b6ea0bbebe681f85ff45
81
+
82
+ **The changes in this PR will be included in the next version bump.**
83
+
84
+ <details><summary>This PR includes changesets to release 5 packages</summary>
85
+
86
+ | Name | Type |
87
+ | -------------------- | ----- |
88
+ | @nextui-org/checkbox | Patch |
89
+ | @nextui-org/switch | Patch |
90
+ | @nextui-org/radio | Patch |
91
+ | @nextui-org/table | Patch |
92
+ | @nextui-org/react | Patch |
93
+
94
+ </details>
95
+
96
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
97
+
98
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/Peterl561/nextui/new/fix/selection-components-parent-focus?filename=.changeset/perfect-countries-approve.md&value=---%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fradio%22%3A%20patch%0A%22%40nextui-org%2Fswitch%22%3A%20patch%0A---%0A%0Afix%3A%20prevent%20multiple%20parent%20focus%20events%20on%20click%0A)
99
+
100
+ \n- vercel: [vc]: #7uMUrbW9/bIiML1u8NE0ldx/viwzsB/5/Vi8qQyic2U=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvRTlMazdVcFB2dFhiTldMOWQzNzFiZlNGaEthciIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2UtMjE0NWFjLW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2UtMjE0NWFjLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9CemRvOWpZU3k4UW5acjhwaDJBd1d3a1RhQll1IiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2VsZWN0aS00MzFlZDUtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2VsZWN0aS00MzFlZDUtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
101
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
102
+
103
+ | Name | Status | Preview | Comments | Updated (UTC) |
104
+ | :--- | :----- | :------ | :------- | :------ |
105
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/Bzdo9jYSy8QnZr8ph2AwWwkTaBYu)) | [Visit Preview](https://nextui-docs-v2-git-fork-peterl561-fix-selecti-431ed5-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fork-peterl561-fix-selecti-431ed5-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 6:01am |
106
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/E9Lk7UpPvtXbNWL9d371bfSFhKar)) | [Visit Preview](https://nextui-storybook-v2-git-fork-peterl561-fix-se-2145ac-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fork-peterl561-fix-se-2145ac-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 6:01am |
107
+
108
+
109
+ \n- vercel: @Peterl561 is attempting to deploy a commit to the **NextUI Inc** Team on [Vercel](https://vercel.com).
110
+
111
+ A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=NextUI%20Inc&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%2220d8d906ff20959e4a179e467abbd54a7a495ca7%22%7D%2C%22id%22%3A%22QmXV5BXNrb2f2w6dVMdkms6ZqGmNihCXkiVwK9hmK4ETfJ%22%2C%22org%22%3A%22nextui-org%22%2C%22prId%22%3A4274%2C%22repo%22%3A%22nextui%22%7D).
112
+
113
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
114
+ <!-- This is an auto-generated comment: rate limited by coderabbit.ai -->
115
+
116
+ > [!WARNING]
117
+ > ## Rate limit exceeded
118
+ >
119
+ > @wingkwong has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait **25 minutes and 22 seconds** before requesting another review.
120
+ >
121
+ > <details>
122
+ > <summary>βŒ› How to resolve this issue?</summary>
123
+ >
124
+ > After the wait time has elapsed, a review can be triggered using the `@coderabbitai review` command as a PR comment. Alternatively, push new commits to this PR.
125
+ >
126
+ > We recommend that you space out your commits to avoid hitting the rate limit.
127
+ >
128
+ > </details>
129
+ >
130
+ >
131
+ > <details>
132
+ > <summary>🚦 How do rate limits work?</summary>
133
+ >
134
+ > CodeRabbit enforces hourly rate limits for each developer per organization.
135
+ >
136
+ > Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.
137
+ >
138
+ > Please see our [FAQ](https://docs.coderabbit.ai/faq) for further information.
139
+ >
140
+ > </details>
141
+ >
142
+ > <details>
143
+ > <summary>πŸ“₯ Commits</summary>
144
+ >
145
+ > Reviewing files that changed from the base of the PR and between 20d8d906ff20959e4a179e467abbd54a7a495ca7 and 476761c8021a9c274e58b6ea0bbebe681f85ff45.
146
+ >
147
+ > </details>
148
+ >
149
+ > <details>
150
+ > <summary>πŸ“’ Files selected for processing (1)</summary>
151
+ >
152
+ > * `.changeset/tricky-panthers-build.md` (1 hunks)
153
+ >
154
+ > </details>
155
+
156
+ <!-- end of auto-generated comment: rate limited by coderabbit.ai -->
157
+
158
+ <!-- walkthrough_start -->
159
+
160
+ ## Walkthrough
161
+ This update introduces a patch for the `@nextui-org/checkbox`, `@nextui-org/switch`, and `@nextui-org/radio` components to address an issue where these components were incorrectly triggering focus on their parent elements multiple times. The changes include the addition of `mouseProps` to manage mouse events more effectively, ensuring that focus behavior is corrected. New test cases have also been added to verify that focus is triggered only once on the parent element when the components are clicked.
162
+
163
+ ## Changes
164
+
165
+ | File | Change Summary |
166
+ |------|----------------|
167
+ | `.changeset/tricky-panthers-build.md` | Patch applied for `@nextui-org/checkbox`, `@nextui-org/switch`, and `@nextui-org/radio` components. |
168
+ | `packages/components/checkbox/__tests__/checkbox.test.tsx` | Added test to verify focus on parent element is triggered once after Checkbox click. |
169
+ | `packages/components/checkbox/src/use-checkbox.ts` | Introduced `mouseProps` with `onMouseDown` to prevent parent focus on Checkbox click. |
170
+ | `packages/components/radio/__tests__/radio.test.tsx` | Added test to verify focus on parent element is triggered once after Radio click. |
171
+ | `packages/components/radio/src/use-radio.ts` | Introduced `mouseProps` with `onMouseDown` to prevent parent focus on Radio click. |
172
+ | `packages/components/switch/__tests__/switch.test.tsx` | Added test to verify focus on parent element is triggered once after Switch click. |
173
+ | `packages/components/switch/src/use-switch.ts` | Introduced `mouseProps` with `onMouseDown` to prevent parent focus on Switch click. |
174
+
175
+ ## Assessment against linked issues
176
+
177
+ | Objective | Addressed | Explanation |
178
+ |-----------|-----------|-------------|
179
+ | Fix focus issue on Switch inside CardBody (#4260) | βœ… | |
180
+ | Ensure focus is triggered once on Checkbox, Switch, and Radio clicks | βœ… | |
181
+
182
+ ## Possibly related PRs
183
+ - **#2854**: Addresses focus behavior in popovers, related to focus management in checkbox, switch, and radio components.
184
+ - **#3000**: Improves focus management in the autocomplete component, relevant to focus behavior changes in the checkbox, switch, and radio components.
185
+ - **#3552**: Resolves a double-click issue in checkbox, switch, and radio components, directly related to focus behavior changes in the main PR.
186
+
187
+ ## Suggested labels
188
+ `πŸ‘€ Status: In Review`
189
+
190
+ ## Suggested reviewers
191
+ - wingkwong
192
+ - jrgarciadev
193
+
194
+ <!-- walkthrough_end -->
195
+ <!-- internal state start -->
196
+
197
+
198
+ <!-- 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 -->
199
+
200
+ <!-- internal state end -->
201
+ <!-- tips_start -->
202
+
203
+ ---
204
+
205
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
206
+
207
+ <details>
208
+ <summary>❀️ Share</summary>
209
+
210
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
211
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
212
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
213
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
214
+
215
+ </details>
216
+
217
+ <details>
218
+ <summary>πŸͺ§ Tips</summary>
219
+
220
+ ### Chat
221
+
222
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
223
+
224
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
225
+ - `I pushed a fix in commit <commit_id>, please review it.`
226
+ - `Generate unit testing code for this file.`
227
+ - `Open a follow-up GitHub issue for this discussion.`
228
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
229
+ - `@coderabbitai generate unit testing code for this file.`
230
+ - `@coderabbitai modularize this function.`
231
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
232
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
233
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
234
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
235
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
236
+
237
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
238
+
239
+ ### CodeRabbit Commands (Invoked using PR comments)
240
+
241
+ - `@coderabbitai pause` to pause the reviews on a PR.
242
+ - `@coderabbitai resume` to resume the paused reviews.
243
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
244
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
245
+ - `@coderabbitai summary` to regenerate the summary of the PR.
246
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
247
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
248
+ - `@coderabbitai help` to get help.
249
+
250
+ ### Other keywords and placeholders
251
+
252
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
253
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
254
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
255
+
256
+ ### Documentation and Community
257
+
258
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
259
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
260
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
261
+
262
+ </details>
263
+
264
+ <!-- tips_end -->\n- macci001: Hey @Peterl561, thanks a lot for fixing the issue.
265
+ The PR looks good to me.\n
266
+
267
+ Files Changed:
268
+ - .changeset/tricky-panthers-build.md (added, 7 changes)\n Patch: @@ -0,0 +1,7 @@
269
+ +---
270
+ +"@nextui-org/checkbox": patch
271
+ +"@nextui-org/switch": patch
272
+ +"@nextui-org/radio": patch
273
+ +---
274
+ +
275
+ +fixed checkbox, radio, and switch triggering focus on focusable parent multiple times (#4260)\n- packages/components/checkbox/__tests__/checkbox.test.tsx (modified, 16 changes)\n Patch: @@ -90,6 +90,22 @@ describe("Checkbox", () => {
276
+ expect(onFocus).toHaveBeenCalled();
277
+ });
278
+
279
+ + it("should trigger focus on focusable parent once after click", async () => {
280
+ + const onFocus = jest.fn();
281
+ +
282
+ + const wrapper = render(
283
+ + <div tabIndex={-1} onFocus={onFocus}>
284
+ + <Checkbox data-testid="checkbox-test">Checkbox</Checkbox>
285
+ + </div>,
286
+ + );
287
+ +
288
+ + const label = wrapper.getByTestId("checkbox-test");
289
+ +
290
+ + await user.click(label);
291
+ +
292
+ + expect(onFocus).toHaveBeenCalledTimes(1);
293
+ + });
294
+ +
295
+ it("should have required attribute when isRequired with native validationBehavior", () => {
296
+ const {container} = render(
297
+ <Checkbox isRequired validationBehavior="native">\n- packages/components/checkbox/src/use-checkbox.ts (modified, 12 changes)\n Patch: @@ -264,6 +264,16 @@ export function useCheckbox(props: UseCheckboxProps = {}) {
298
+
299
+ const baseStyles = clsx(classNames?.base, className);
300
+
301
+ + const mouseProps = useMemo(
302
+ + () => ({
303
+ + onMouseDown: (e: React.MouseEvent<HTMLLabelElement>) => {
304
+ + // prevent parent from being focused
305
+ + e.preventDefault();
306
+ + },
307
+ + }),
308
+ + [],
309
+ + );
310
+ +
311
+ const getBaseProps: PropGetter = useCallback(() => {
312
+ return {
313
+ ref: domRef,
314
+ @@ -277,7 +287,7 @@ export function useCheckbox(props: UseCheckboxProps = {}) {
315
+ "data-readonly": dataAttr(inputProps.readOnly),
316
+ "data-focus-visible": dataAttr(isFocusVisible),
317
+ "data-indeterminate": dataAttr(isIndeterminate),
318
+ - ...mergeProps(hoverProps, otherProps),
319
+ + ...mergeProps(hoverProps, mouseProps, otherProps),
320
+ };
321
+ }, [
322
+ slots,\n- packages/components/radio/__tests__/radio.test.tsx (modified, 20 changes)\n Patch: @@ -142,6 +142,26 @@ describe("Radio", () => {
323
+ expect(onFocus).toHaveBeenCalled();
324
+ });
325
+
326
+ + it("should trigger focus on focusable parent once after click", async () => {
327
+ + const onFocus = jest.fn();
328
+ +
329
+ + const wrapper = render(
330
+ + <div tabIndex={-1} onFocus={onFocus}>
331
+ + <RadioGroup defaultValue="1" label="Options">
332
+ + <Radio data-testid="radio-test-1" value="1">
333
+ + Option 1
334
+ + </Radio>
335
+ + </RadioGroup>
336
+ + </div>,
337
+ + );
338
+ +
339
+ + const label = wrapper.getByTestId("radio-test-1");
340
+ +
341
+ + await user.click(label);
342
+ +
343
+ + expect(onFocus).toHaveBeenCalledTimes(1);
344
+ + });
345
+ +
346
+ it("should have required attribute when isRequired with native validationBehavior", () => {
347
+ const {getByRole, getAllByRole} = render(
348
+ <RadioGroup isRequired label="Options" validationBehavior="native">\n- packages/components/radio/src/use-radio.ts (modified, 12 changes)\n Patch: @@ -150,6 +150,16 @@ export function useRadio(props: UseRadioProps) {
349
+
350
+ const baseStyles = clsx(classNames?.base, className);
351
+
352
+ + const mouseProps = useMemo(
353
+ + () => ({
354
+ + onMouseDown: (e: React.MouseEvent<HTMLLabelElement>) => {
355
+ + // prevent parent from being focused
356
+ + e.preventDefault();
357
+ + },
358
+ + }),
359
+ + [],
360
+ + );
361
+ +
362
+ const getBaseProps: PropGetter = useCallback(
363
+ (props = {}) => {
364
+ return {
365
+ @@ -166,7 +176,7 @@ export function useRadio(props: UseRadioProps) {
366
+ "data-hover-unselected": dataAttr(isHovered && !isSelected),
367
+ "data-readonly": dataAttr(inputProps.readOnly),
368
+ "aria-required": dataAttr(isRequired),
369
+ - ...mergeProps(hoverProps, otherProps),
370
+ + ...mergeProps(hoverProps, mouseProps, otherProps),
371
+ };
372
+ },
373
+ [\n- packages/components/switch/__tests__/switch.test.tsx (modified, 16 changes)\n Patch: @@ -184,6 +184,22 @@ describe("Switch", () => {
374
+ expect(wrapper.getByTestId("start-icon")).toBeInTheDocument();
375
+ expect(wrapper.getByTestId("end-icon")).toBeInTheDocument();
376
+ });
377
+ +
378
+ + it("should trigger focus on focusable parent once after click", async () => {
379
+ + const onFocus = jest.fn();
380
+ +
381
+ + const wrapper = render(
382
+ + <div tabIndex={-1} onFocus={onFocus}>
383
+ + <Switch data-testid="switch-test">Switch</Switch>
384
+ + </div>,
385
+ + );
386
+ +
387
+ + const label = wrapper.getByTestId("switch-test");
388
+ +
389
+ + await user.click(label);
390
+ +
391
+ + expect(onFocus).toHaveBeenCalledTimes(1);
392
+ + });
393
+ });
394
+
395
+ describe("Switch with React Hook Form", () => {\n- packages/components/switch/src/use-switch.ts (modified, 12 changes)\n Patch: @@ -178,9 +178,19 @@ export function useSwitch(originalProps: UseSwitchProps = {}) {
396
+
397
+ const baseStyles = clsx(classNames?.base, className);
398
+
399
+ + const mouseProps = useMemo(
400
+ + () => ({
401
+ + onMouseDown: (e: React.MouseEvent<HTMLLabelElement>) => {
402
+ + // prevent parent from being focused
403
+ + e.preventDefault();
404
+ + },
405
+ + }),
406
+ + [],
407
+ + );
408
+ +
409
+ const getBaseProps: PropGetter = (props) => {
410
+ return {
411
+ - ...mergeProps(hoverProps, otherProps, props),
412
+ + ...mergeProps(hoverProps, mouseProps, otherProps, props),
413
+ ref: domRef,
414
+ className: slots.base({class: clsx(baseStyles, props?.className)}),
415
+ "data-disabled": dataAttr(isDisabled),\n
processed_docs/pr_data_0_doc_13.txt ADDED
@@ -0,0 +1,243 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4272
2
+ Title: fix(checkbox, radio, select): missing data pressed attribute due to labelProps
3
+ Base Branch: canary
4
+ Head Branch: fix/selection-components-data-pressed
5
+ Author: Peterl561
6
+ URL: https://github.com/nextui-org/nextui/pull/4272
7
+ State: CLOSED
8
+ Created At: 2024-12-07T23:03:02Z
9
+ Merged At: None
10
+ Participants: Peterl561
11
+
12
+ Description:
13
+ Closes #4260
14
+ πŸ“ Description
15
+
16
+ affects Checkbox, Radio, and Switch
17
+ focus visible state should not be applied on pointer click
18
+ missing data-pressed attribute
19
+
20
+
21
+
22
+
23
+
24
+
25
+ before.mp4
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+ πŸš€ New behavior
35
+
36
+ affects Checkbox, Radio, and Switch
37
+ fixes focus visible state on pointer click
38
+ fixes data-pressed not being applied
39
+
40
+
41
+
42
+
43
+
44
+
45
+ after.mp4
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+ πŸ’£ Is this a breaking change (Yes/No):
55
+ No
56
+ πŸ“ Additional Information
57
+
58
+ caused by #4220
59
+ affects Checkbox, Radio, and Switch components
60
+ occurs when parent container is focusable (see sandbox)
61
+ the aforementioned PR removed pressProps returned by usePress from getBaseProps
62
+ this led to 2 issues
63
+
64
+ removed onMouseDown handlers from base component, which was calling e.preventDefault()
65
+ caused data-pressed attribute to no longer be applied
66
+
67
+
68
+ to fix this, we can use labelProps from the affected components' respective hooks to replace the removed pressProps
69
+
70
+ this works because labelProps is actually just pressProps from the usePress called internally in react-aria's component hooks
71
+ it also does not regress the previous issue (#4210) addressed in the causative PR
72
+
73
+ Commits:
74
+ - fix(checkbox): missing data-pressed attribute due to labelProps\n- fix(radio): missing data-pressed attribute due to labelProps\n- fix(switch): missing data-pressed attribute due to labelProps\n
75
+
76
+ Labels:
77
+
78
+
79
+ Comments:
80
+ - changeset-bot: ### ⚠️ No Changeset found
81
+
82
+ Latest commit: 1f1e5069e9c9fbcd12353354c9194eea94f80576
83
+
84
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
85
+
86
+ <details><summary>This PR includes no changesets</summary>
87
+
88
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
89
+
90
+ </details>
91
+
92
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
93
+
94
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/Peterl561/nextui/new/fix/selection-components-data-pressed?filename=.changeset/odd-donkeys-matter.md&value=---%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fradio%22%3A%20patch%0A%22%40nextui-org%2Fswitch%22%3A%20patch%0A---%0A%0Afix(checkbox%2C%20radio%2C%20select)%3A%20missing%20data%20pressed%20attribute%20due%20to%20labelProps%0A)
95
+
96
+ \n- vercel: [vc]: #VZOj7uHqxEMIp24SHpN1j9Nx/6+ZAX5cwJY4sEk2ZHw=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvR252Z1pjWUs0S1NUUWtHRDRQajJSWmpoQ1pOZyIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2UtM2ZjMDVhLW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2UtM2ZjMDVhLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi8yVXc5cGN1YlZtd1lNUHdybmROOXhCb0N3Q3FYIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2VsZWN0aS1mYWFiZDEtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2VsZWN0aS1mYWFiZDEtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
97
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
98
+
99
+ | Name | Status | Preview | Comments | Updated (UTC) |
100
+ | :--- | :----- | :------ | :------- | :------ |
101
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/2Uw9pcubVmwYMPwrndN9xBoCwCqX)) | [Visit Preview](https://nextui-docs-v2-git-fork-peterl561-fix-selecti-faabd1-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fork-peterl561-fix-selecti-faabd1-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 11:08pm |
102
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/GnvgZcYK4KSTQkGD4Pj2RZjhCZNg)) | [Visit Preview](https://nextui-storybook-v2-git-fork-peterl561-fix-se-3fc05a-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fork-peterl561-fix-se-3fc05a-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 11:08pm |
103
+
104
+
105
+ \n- vercel: @Peterl561 is attempting to deploy a commit to the **NextUI Inc** Team on [Vercel](https://vercel.com).
106
+
107
+ A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=NextUI%20Inc&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%221f1e5069e9c9fbcd12353354c9194eea94f80576%22%7D%2C%22id%22%3A%22QmVL9CtxqZo42XfVup5jeZtT5uYjZEtY8iPEzd9pegMtjF%22%2C%22org%22%3A%22nextui-org%22%2C%22prId%22%3A4272%2C%22repo%22%3A%22nextui%22%7D).
108
+
109
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
110
+ <!-- This is an auto-generated comment: skip review by coderabbit.ai -->
111
+
112
+ > [!IMPORTANT]
113
+ > ## Review skipped
114
+ >
115
+ > Draft detected.
116
+ >
117
+ > Please check the settings in the CodeRabbit UI or the `.coderabbit.yaml` file in this repository. To trigger a single review, invoke the `@coderabbitai review` command.
118
+ >
119
+ > You can disable this status message by setting the `reviews.review_status` to `false` in the CodeRabbit configuration file.
120
+
121
+ <!-- end of auto-generated comment: skip review by coderabbit.ai -->
122
+
123
+ <!-- tips_start -->
124
+
125
+ ---
126
+
127
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
128
+
129
+ <details>
130
+ <summary>❀️ Share</summary>
131
+
132
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
133
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
134
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
135
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
136
+
137
+ </details>
138
+
139
+ <details>
140
+ <summary>πŸͺ§ Tips</summary>
141
+
142
+ ### Chat
143
+
144
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
145
+
146
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
147
+ - `I pushed a fix in commit <commit_id>, please review it.`
148
+ - `Generate unit testing code for this file.`
149
+ - `Open a follow-up GitHub issue for this discussion.`
150
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
151
+ - `@coderabbitai generate unit testing code for this file.`
152
+ - `@coderabbitai modularize this function.`
153
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
154
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
155
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
156
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
157
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
158
+
159
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
160
+
161
+ ### CodeRabbit Commands (Invoked using PR comments)
162
+
163
+ - `@coderabbitai pause` to pause the reviews on a PR.
164
+ - `@coderabbitai resume` to resume the paused reviews.
165
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
166
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
167
+ - `@coderabbitai summary` to regenerate the summary of the PR.
168
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
169
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
170
+ - `@coderabbitai help` to get help.
171
+
172
+ ### Other keywords and placeholders
173
+
174
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
175
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
176
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
177
+
178
+ ### Documentation and Community
179
+
180
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
181
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
182
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
183
+
184
+ </details>
185
+
186
+ <!-- tips_end -->\n- Peterl561: Working on tests\n- Peterl561: The hidden input in selection components fails to get click events due to logic in `usePress`.\n
187
+
188
+ Files Changed:
189
+ - packages/components/checkbox/src/use-checkbox.ts (modified, 3 changes)\n Patch: @@ -195,6 +195,7 @@ export function useCheckbox(props: UseCheckboxProps = {}) {
190
+
191
+ const {
192
+ inputProps,
193
+ + labelProps,
194
+ isSelected,
195
+ isDisabled,
196
+ isReadOnly,
197
+ @@ -277,7 +278,7 @@ export function useCheckbox(props: UseCheckboxProps = {}) {
198
+ "data-readonly": dataAttr(inputProps.readOnly),
199
+ "data-focus-visible": dataAttr(isFocusVisible),
200
+ "data-indeterminate": dataAttr(isIndeterminate),
201
+ - ...mergeProps(hoverProps, otherProps),
202
+ + ...mergeProps(hoverProps, labelProps, otherProps),
203
+ };
204
+ }, [
205
+ slots,\n- packages/components/radio/src/use-radio.ts (modified, 4 changes)\n Patch: @@ -115,7 +115,7 @@ export function useRadio(props: UseRadioProps) {
206
+ descriptionId,
207
+ ]);
208
+
209
+ - const {inputProps, isDisabled, isSelected, isPressed} = useReactAriaRadio(
210
+ + const {inputProps, labelProps, isDisabled, isSelected, isPressed} = useReactAriaRadio(
211
+ {
212
+ value,
213
+ children: typeof children === "function" ? true : children,
214
+ @@ -166,7 +166,7 @@ export function useRadio(props: UseRadioProps) {
215
+ "data-hover-unselected": dataAttr(isHovered && !isSelected),
216
+ "data-readonly": dataAttr(inputProps.readOnly),
217
+ "aria-required": dataAttr(isRequired),
218
+ - ...mergeProps(hoverProps, otherProps),
219
+ + ...mergeProps(hoverProps, labelProps, otherProps),
220
+ };
221
+ },
222
+ [\n- packages/components/switch/src/use-switch.ts (modified, 8 changes)\n Patch: @@ -155,7 +155,11 @@ export function useSwitch(originalProps: UseSwitchProps = {}) {
223
+ state.setSelected(isInputRefChecked);
224
+ }, [inputRef.current]);
225
+
226
+ - const {inputProps, isPressed, isReadOnly} = useReactAriaSwitch(ariaSwitchProps, state, inputRef);
227
+ + const {inputProps, labelProps, isPressed, isReadOnly} = useReactAriaSwitch(
228
+ + ariaSwitchProps,
229
+ + state,
230
+ + inputRef,
231
+ + );
232
+ const {focusProps, isFocused, isFocusVisible} = useFocusRing({autoFocus: inputProps.autoFocus});
233
+ const {hoverProps, isHovered} = useHover({
234
+ isDisabled: inputProps.disabled,
235
+ @@ -180,7 +184,7 @@ export function useSwitch(originalProps: UseSwitchProps = {}) {
236
+
237
+ const getBaseProps: PropGetter = (props) => {
238
+ return {
239
+ - ...mergeProps(hoverProps, otherProps, props),
240
+ + ...mergeProps(hoverProps, labelProps, otherProps, props),
241
+ ref: domRef,
242
+ className: slots.base({class: clsx(baseStyles, props?.className)}),
243
+ "data-disabled": dataAttr(isDisabled),\n
processed_docs/pr_data_0_doc_14.txt ADDED
@@ -0,0 +1,916 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4270
2
+ Title: Update search meta
3
+ Base Branch: main
4
+ Head Branch: canary
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4270
7
+ State: MERGED
8
+ Created At: 2024-12-07T22:02:53Z
9
+ Merged At: 2024-12-07T22:03:29Z
10
+ Participants: jrgarciadev, ryxxn, wingkwong, abhinav700, macci001, dgz9, juliesaia, alexnguyennz, nnmax, ryo-manba, ShrinidhiUpadhyaya, sanuj21, PentSec, winchesHe, awesome-pro, CanRau, AzpektDev, Peterl561, vinroger, jubar
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+
26
+ New Features
27
+
28
+ Updated GitHub statistics displayed in the application, including:
29
+
30
+ Stars: Increased to 22.2K
31
+ Forks: Increased to 1,566
32
+ Subscribers: Decreased to 83
33
+ Open Issues: Decreased to 406
34
+
35
+ Commits:
36
+ - fix(input): ensure clear button is not focusable when disabled (#3774)
37
+
38
+ * fix(input): ensure clear button is not focusable when disabled
39
+
40
+ * test(input): add test to ensure clear button is not focusable when disabled
41
+
42
+ * chore: add changeset for clear button focus fix when input is disabled
43
+
44
+ * fix(input): update clear button to use button element
45
+
46
+ * test(input): add focus test when disabled
47
+
48
+ and update tests for clear button using button element
49
+
50
+ * test(input): replace querySelector with getByRole for clear button
51
+
52
+ * fix(input): set tabIndex to -1 for clear button
53
+
54
+ * test(input): ensure clear button is not focusable\n- fix(image): add missing `w` to `getWrapperProps` dependency (#3802)
55
+
56
+ * fix(image): add missing `w` to `getWrapperProps` dependency
57
+
58
+ * chore(changeset): add changeset\n- fix(autocomplete): popover should remain open after clicking clear button (#3788)
59
+
60
+ * fix: add state.open() so that dropdown is not closed
61
+
62
+ * chore: add changeset
63
+
64
+ * chore(autocomplete): add testcases for keeping lisbox open when clearButton is clicked
65
+
66
+ * chore: update changeset
67
+
68
+ * chore(autocomplete): change the docs for test cases
69
+
70
+ * chore(changeset): update changeset message and add issue number
71
+
72
+ ---------
73
+
74
+ Co-authored-by: WK Wong <[email protected]>\n- refactor(docs): example of blurred card (#3741)
75
+
76
+ * docs(card): adding info regarding the gradient for blurred card
77
+
78
+ * chore(nit): adding example
79
+
80
+ * chore(docs): revise content for card isBlurred example
81
+
82
+ * chore(docs): revise isBlurred note
83
+
84
+ ---------
85
+
86
+ Co-authored-by: Maharshi Alpesh <[email protected]>
87
+ Co-authored-by: WK Wong <[email protected]>\n- fix(docs): replace twitter logo/links with x logo/links (#3815)
88
+
89
+ * fix(docs): replace Twitter logo/links with X logo/links
90
+
91
+ * docs: update twitter references to x
92
+
93
+ * docs: update changeset for twitter to x changes
94
+
95
+ * docs: update twitter references to x
96
+
97
+ * docs: update twitter references to x
98
+
99
+ * chore(docs): undo .sponsorsrc since it's generated
100
+
101
+ * refactor(docs): remove unnecessary classes
102
+
103
+ * chore(docs): undo .sponsorsrc since it's generated
104
+
105
+ ---------
106
+
107
+ Co-authored-by: WK Wong <[email protected]>\n- fix(date-picker): adding props from calendarProps to getCalendarProps (#3773)
108
+
109
+ * fix(date-picker): adding props from calendarProps to the getCalendarProps
110
+
111
+ * chore(date-picker): adding the changeset
112
+
113
+ * chore(changeset): add issue number
114
+
115
+ ---------
116
+
117
+ Co-authored-by: Maharshi Alpesh <[email protected]>
118
+ Co-authored-by: WK Wong <[email protected]>\n- feat(autocomplete): automatically focus first non-disabled item (#2186)
119
+
120
+ Co-authored-by: WK Wong <[email protected]>\n- docs(accordion): add overflow to custom motion example (#3793)\n- fix(docs): typos in dark mode page (#3823)\n- fix(theme): fullWidth in input and select (#3768)
121
+
122
+ * fix(input): fixing the fullWidth functionality
123
+
124
+ * chore(changeset): add issue number
125
+
126
+ * chore(changeset): revise changeset message
127
+
128
+ ---------
129
+
130
+ Co-authored-by: Maharshi Alpesh <[email protected]>
131
+ Co-authored-by: WK Wong <[email protected]>\n- fix(autocomplete): exit animation on popover close (#3845)
132
+
133
+ * fix(autocomplete): exit animation on popover close
134
+
135
+ * refactor(autocomplete): getListBoxProps
136
+
137
+ ---------
138
+
139
+ Co-authored-by: WK Wong <[email protected]>\n- chore: merge branch with main\n- refactor(theme): replace the use of RTL-specific styles with logical properties (#3868)
140
+
141
+ * chore(rtl): remove the usages of rtl
142
+
143
+ * chore(changeset): adding the changeset
144
+
145
+ * chore(changeset): update changeset message
146
+
147
+ ---------
148
+
149
+ Co-authored-by: WK Wong <[email protected]>\n- fix(select): label placement discrepancy in Select (#3853)
150
+
151
+ * fix(select): label placement incorrect in case of multiline
152
+
153
+ * chore(select): adding the changeset
154
+
155
+ * chore(select): adding the tests
156
+
157
+ * chore(select): code imrovement, wkw's suggestions
158
+
159
+ * chore(changeset): update changeset message
160
+
161
+ ---------
162
+
163
+ Co-authored-by: WK Wong <[email protected]>\n- fix(theme): label placement in select and input (#3869)
164
+
165
+ * fix(theme): fix the label placement
166
+
167
+ * chore(changeset): adding the changeset
168
+
169
+ * chore(select): adding comments\n- fix(docs): avoid translating the code block (#3878)
170
+
171
+ * docs(Codeblock): avoid code be translated
172
+
173
+ * fix(docs): lint issue
174
+
175
+ ---------
176
+
177
+ Co-authored-by: WK Wong <[email protected]>\n- fix(listbox): change listBoxItem key to optional (#3883)
178
+
179
+ * fix(listbox): listBoxItem key to optional
180
+
181
+ * chore: add defaultSelectedKeys test for numeric keys and ids
182
+
183
+ * chore: add changeset\n- chore: comment out section prompts in PR template (#3884)\n- chore(test): update testing libraries and refactor (#3886)\n- fix(theme): show margin only with label in Switch component (#3861)
184
+
185
+ * fix(switch): removed right margin in wrapper #3791
186
+
187
+ * feat(changeset): added changeset
188
+
189
+ * fix(switch): removed me-2 in wrapper
190
+
191
+ * fix(switch): added ms-2 to label
192
+
193
+ * chore(changeset): correct package and message
194
+
195
+ ---------
196
+
197
+ Co-authored-by: WK Wong <[email protected]>\n- fix(theme): removed pseudo cancel btn from input (#3912)
198
+
199
+ * fix(theme): removed pseudo cancel btn from input
200
+
201
+ * chore(changeset): adding the changeset
202
+
203
+ * fix(input): conditionally hiding the webkit search
204
+
205
+ * chore(changeset): revise changeset message
206
+
207
+ ---------
208
+
209
+ Co-authored-by: WK Wong <[email protected]>\n- refactor(docs): dx improvement in accordion (#3856)
210
+
211
+ * refactor: improve dx for writing a docs component (#2544)
212
+
213
+ * refactor: improve dx for write a docs component
214
+
215
+ Signed-off-by: Innei <[email protected]>
216
+
217
+ * refactor(docs): switch to contentlayer2
218
+
219
+ * chore(docs): rename to avoid conflict
220
+
221
+ * refactor(docs): switch to next-contentlayer2
222
+
223
+ * refactor(docs): revise docs lib
224
+
225
+ * chore(deps): bump docs related dependencies
226
+
227
+ * fix(use-aria-multiselect): type issue due to ts version bump
228
+
229
+ ---------
230
+
231
+ Signed-off-by: Innei <[email protected]>
232
+ Co-authored-by: WK Wong <[email protected]>
233
+
234
+ * refactor(docs): accordion codes
235
+
236
+ * feat(docs): declare module `*.jsx?raw`
237
+
238
+ * feat(docs): include `**/*.jsx`
239
+
240
+ * fix(docs): incorrect content
241
+
242
+ * chore(docs): add new lines
243
+
244
+ * refactor(docs): lint
245
+
246
+ ---------
247
+
248
+ Signed-off-by: Innei <[email protected]>
249
+ Co-authored-by: Innei <[email protected]>\n- fix(docs): typos in hero section (#3928)\n- fix(theme): support RTL for breadcrumbs (#3927)
250
+
251
+ * fix(breadcrumbs): added separator rotation for RTL #2486
252
+
253
+ * chore(changeset): added changeset\n- fix(docs): removed unused import and merged classNames in dropdown (#3936)
254
+
255
+ * fix(breadcrumbs): added separator rotation for RTL #2486
256
+
257
+ * chore(changeset): added changeset
258
+
259
+ * fix(docs): removed unused Link import and merged classnames in dropdown\n- fix: avatar filter disableAnimation to dom prop (#3946)\n- feat: add git hook to auto update dependencies (#3365)
260
+
261
+ * feat: add git hook to auto update dependencies
262
+
263
+ * feat: update color\n- fix: prevent test matcher warning (#3893)
264
+
265
+ * fix: prevent test matcher warning
266
+
267
+ * chore: add node types
268
+
269
+ * chore: update Jest related packages
270
+
271
+ * chore: run pnpm install\n- fix(tabs): correct inert value for true condition (#3978)\n- Alert component (#3982)
272
+
273
+ * feat(alert): began the work on alert component
274
+
275
+ * fix(readme): making correction
276
+
277
+ * chore(deps): change to 2.0.0
278
+
279
+ * chore(docs): update README.md
280
+
281
+ * feat(theme): init alert tv
282
+
283
+ * chore(alert): update package.json
284
+
285
+ * feat(alert): init alert storybook structure
286
+
287
+ * chore(changeset): add changeset
288
+
289
+ * chore(changeset): change to minor
290
+
291
+ * chore(alert): revise alert package.json
292
+
293
+ * feat(alert): init test structure
294
+
295
+ * chore(deps): pnpm-lock.yaml
296
+
297
+ * feat(alert): initailized theme and basic structure
298
+
299
+ * feat(alert): completed use-alert.ts and alert.tsx
300
+
301
+ * feat(alert): remove innerWrapper, replace helperWrapper with mainWrapper, adding isCloseable prop
302
+
303
+ * feat(alert): adding isCloseable prop to baseWrapper dependency
304
+
305
+ * feat(alert): setting the default value of isCloseable prop to true
306
+
307
+ * feat(alert): moving CloseIcon inside the button
308
+
309
+ * feat(alert): updated package.json
310
+
311
+ * feat(alert): default variant and default story
312
+
313
+ * feat(alert): adding color and radius stories
314
+
315
+ * feat(alert): completed the styling
316
+
317
+ * feat(alert): add stories for isCloseable prop and restyle other stories
318
+
319
+ * feat(alert): correcting ref type
320
+
321
+ * feat(alert): add test cases
322
+
323
+ * feat(alert): remove startContent and endContent props
324
+
325
+ * feat(alert): make styling more accurate
326
+
327
+ * feat(alert): fixed default props
328
+
329
+ * feat(alert): fixed theme docs
330
+
331
+ * feat(alert): add logic for icons
332
+
333
+ * feat(alert): begin to add docs
334
+
335
+ * chore(alert): implement the changes suggested in code review
336
+
337
+ * feat(alert): add onclose prop to alert
338
+
339
+ * feat(alert): add test cases
340
+
341
+ * docs(alert): add onClose event
342
+
343
+ * feat(docs): add alert to routes.json
344
+
345
+ * fix(alert): correct the text colors
346
+
347
+ * docs(alert): fix imports and syntax errors
348
+
349
+ * chore(alert): implement the changes suggested in code review
350
+
351
+ * chore(alert): lint the code and change isCloseable to isClosable
352
+
353
+ * chore(alert): lint the code
354
+
355
+ * chore(alert): run pnpm i
356
+
357
+ * fix(alert): fix the logic for close button and add test case
358
+
359
+ * docs(alert): fix docs, change isCloseable to isClosable and change docs for isClosable property
360
+
361
+ * chore(alert): add the support for RTL, refactor the code and fix the typos
362
+
363
+ * docs(alert): grammer issues fix
364
+
365
+ * fix(alert): replace rtl with ms
366
+
367
+ * chore(alert): custom style and custom implementation, remove isClosable={false}, refactor, fix typos
368
+
369
+ * chore(alert): linting and implement coderabbit suggestions
370
+
371
+ * chore(alert): refactor and typos fix
372
+
373
+ * chore(alert): add import for closeIcon
374
+
375
+ * chore(alert): add props for closeIcon
376
+
377
+ * chore(alert): refactor fixes
378
+
379
+ * chore(alert): implement ryo-manba's suggestion on close Icon
380
+
381
+ * chore(alert): make alert more responsive
382
+
383
+ * chore(alert): fix grammer issues suggested by coderabbit
384
+
385
+ * fix(alert): add max-w property to make alert responsive
386
+
387
+ * chore(alert): improve responsiveness and refactor alertIcon
388
+
389
+ * chore(alert): add missing dependency to useMemo
390
+
391
+ * chore(alert): implement coderabbit's suggestions
392
+
393
+ * chore(alert): update docs and refactor
394
+
395
+ * chore(alert): refactor alertIcon and implement coderabbit's suggestion
396
+
397
+ * chore: fixes
398
+
399
+ ---------
400
+
401
+ Co-authored-by: Abhinav Agarwal <[email protected]>
402
+ Co-authored-by: WK Wong <[email protected]>
403
+ Co-authored-by: Abhinav Agarwal <[email protected]>\n- Feat/add draggable modal (#3983)
404
+
405
+ * feat(hooks): add use-draggable hook
406
+
407
+ * feat(components): [modal] export use-draggable
408
+
409
+ * docs(components): [modal] add draggable modal
410
+
411
+ * feat(components): [modal] add ref prop for modal-header
412
+
413
+ * chore(components): [modal] add draggable modal for storybook
414
+
415
+ * chore: add changeset for draggable modal
416
+
417
+ * docs(hooks): [use-draggable] fix typo
418
+
419
+ * chore: upper changeset
420
+
421
+ * chore(components): [modal] add overflow draggable modal to sb
422
+
423
+ * test(components): [modal] add draggable modal tests
424
+
425
+ * build: update pnpm-lock
426
+
427
+ * chore(changeset): include issue number
428
+
429
+ * feat(hooks): [use-draggable] set user-select to none when during the dragging
430
+
431
+ * docs(components): [modal] update code demo title
432
+
433
+ * docs(components): [modal] condense description for draggable overflow
434
+
435
+ * feat(hooks): [use-draggable] change version to 0.1.0
436
+
437
+ * refactor(hooks): [use-draggable] use use-move implement use-draggable
438
+
439
+ * feat(hooks): [use-draggable] remove repeated user-select
440
+
441
+ * test(components): [modal] update test case to use-draggable base use-move
442
+
443
+ * docs(components): [modal] update draggable examples
444
+
445
+ * fix(hooks): [use-draggable] fix mobile device touchmove event conflict
446
+
447
+ * refactor(hooks): [use-draggable] remove drag ref prop
448
+
449
+ * refactor(hooks): [use-draggable] draggable2is-disabled overflow2can-overflow
450
+
451
+ * test(components): [modal] add draggble disable test
452
+
453
+ * chore(hooks): [use-draggable] add commant for body touchmove
454
+
455
+ * Update packages/hooks/use-draggable/src/index.ts
456
+
457
+ Co-authored-by: Ryo Matsukawa <[email protected]>
458
+
459
+ * fix(hooks): [use-draggable] import use-callback
460
+
461
+ * test(components): [modal] add mobile-sized test for draggable
462
+
463
+ * chore(hooks): [use-draggable] add use-callback for func
464
+
465
+ * chore(hooks): [use-draggable] update version to 2.0.0
466
+
467
+ * chore: fix typo
468
+
469
+ * Update .changeset/soft-apricots-sleep.md
470
+
471
+ * fix: pnpm lock
472
+
473
+ * fix: build
474
+
475
+ * chore: add updated moadl
476
+
477
+ ---------
478
+
479
+ Co-authored-by: wzc520pyfm <[email protected]>
480
+ Co-authored-by: Υ‘Ι¨ΥΌΙ’Σ„Υ‘Φ…ΥΌΙ’ <[email protected]>
481
+ Co-authored-by: Ryo Matsukawa <[email protected]>\n- chore: upgrade react-aria / React 19 & Next.js 15 support (#3732)
482
+
483
+ * chore: upgrade react-aria
484
+
485
+ * chore: add changeset
486
+
487
+ * chore: fix type error
488
+
489
+ ---------
490
+
491
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat(date-picker): add selectorButtonPlacement property (#3248)
492
+
493
+ * feat(date-picker): add selectorButtonPlacement property
494
+
495
+ * chore: update changeset
496
+
497
+ * Update .changeset/neat-donkeys-accept.md
498
+
499
+ Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
500
+
501
+ ---------
502
+
503
+ Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
504
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat: add tab ref (#3974)
505
+
506
+ * feat: add tab ref
507
+
508
+ * feat: add changeset\n- feat: pre-release workflow (#2910)
509
+
510
+ * feat(workflow): pre-release
511
+
512
+ * feat(workflow): exit pre-release
513
+
514
+ * chore(workflow): update version & publish commands
515
+
516
+ * fix(workflow): add missing attributes and use schangeset:beta cmd
517
+
518
+ * feat(root): add changeset:beta
519
+
520
+ * fix(workflows): revise pre-release logic
521
+
522
+ * fix(workflows): add missing run
523
+
524
+ * fix(workflows): use changeset:exit with version instead
525
+
526
+ * feat(root): add changeset:exit cmd
527
+
528
+ * refactor(workflows): add pths, id, and format
529
+
530
+ * feat(workflows): enter pre-release mode
531
+
532
+ * chore(workflows): remove pre.json only
533
+
534
+ * refactor(workflows): remove enter-pre-release-mode
535
+
536
+ * fix(workflows): incorrect url
537
+
538
+ * refactor(root): remove unused exit command
539
+
540
+ * refactor(workflows): add comments
541
+
542
+ * feat(changeset): change to main branch as baseBranch
543
+
544
+ * feat(root): add changeset:canary
545
+
546
+ * refactor(workflows): remove unused workflow
547
+
548
+ * feat(workflow): support canary pre-release mode
549
+
550
+ * refactor(docs): change to canary\n- feat(popover): added control for closing popover on scroll (#3595)
551
+
552
+ * fix(navbar): fixed the height when style h-full
553
+
554
+ * fix(navbar): fixed the height when style h-full
555
+
556
+ * docs(changeset): resolved extra file
557
+
558
+ * feat(popover): added control for closing popover on scroll
559
+
560
+ * update(changeset): correction
561
+
562
+ * feat(popover): removed extra story
563
+
564
+ * refactor(test): corrected test for both true and false values of shouldCloseOnScroll
565
+
566
+ * refactor(docs): added shouldCloseOnScroll prop
567
+
568
+ * chore(changeset): change to minor
569
+
570
+ ---------
571
+
572
+ Co-authored-by: Υ‘Σ„Υ‘ <[email protected]>\n- feat: add month and year pickers to DateRangePicker and RangeCalendar (#3302)
573
+
574
+ * feat: add month and year pickers to DateRangePicker and RangeCalendar
575
+
576
+ * chore: update docs
577
+
578
+ * Update .changeset/kind-cobras-travel.md
579
+
580
+ * chore: react package version
581
+
582
+ ---------
583
+
584
+ Co-authored-by: Junior Garcia <[email protected]>\n- chore(deps): bump tailwind-merge version (#3657)
585
+
586
+ * chore(deps): bump tailwind-merge versions
587
+
588
+ * chore(theme): adopt latest extendTailwindMerge
589
+
590
+ * chore(changeset): add changeset
591
+
592
+ * chore(changeset): change to minor
593
+
594
+ * Update .changeset/grumpy-mayflies-rhyme.md
595
+
596
+ ---------
597
+
598
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat: added drawer component (#3986)
599
+
600
+ Signed-off-by: The1111mp <[email protected]>
601
+ Co-authored-by: The1111mp <[email protected]>\n- refactor: optimisations (#3523)
602
+
603
+ * refactor: replace lodash with native approaches
604
+
605
+ * refactor(deps): update framer-motion versions
606
+
607
+ * feat(utilities): add @nextui-org/dom-animation
608
+
609
+ * refactor(components): load domAnimation dynamically
610
+
611
+ * refactor(deps): add @nextui-org/dom-animation
612
+
613
+ * fix(utilities): relocate index.ts
614
+
615
+ * feat(changeset): framer motion optimization
616
+
617
+ * chore(deps): bump framer-motion version
618
+
619
+ * fix(docs): conflict issue
620
+
621
+ * refactor(hooks): remove the unnecessary this aliasing
622
+
623
+ * refactor(utilities): remove the unnecessary this aliasing
624
+
625
+ * chore(docs): remove {} so that it won't be true all the time
626
+
627
+ * chore(dom-animation): end with new line
628
+
629
+ * refactor(hooks): use debounce from `@nextui-org/shared-utils`
630
+
631
+ * chore(deps): add `@nextui-org/shared-utils`
632
+
633
+ * refactor: move mapKeys logic to `@nextui-org/shared-utils`
634
+
635
+ * refactor: use `get` from `@nextui-org/shared-utils`
636
+
637
+ * refactor(docs): use `get` from `@nextui-org/shared-utils`
638
+
639
+ * refactor(shared-utils): mapKeys
640
+
641
+ * chore(deps): bump framer-motion version
642
+
643
+ * chore(deps): remove lodash
644
+
645
+ * refactor(docs): use intersectionBy from shared-utils
646
+
647
+ * feat(shared-utils): add intersectionBy
648
+
649
+ * chore(dom-animation): remove extra blank line
650
+
651
+ * refactor(shared-utils): revise intersectionBy
652
+
653
+ * fix(modal): add willChange
654
+
655
+ * refactor(shared-utils): add comments
656
+
657
+ * fix: build & tests
658
+
659
+ ---------
660
+
661
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat(hooks): use-theme hook (#3169)
662
+
663
+ * feat(docs): update dark mode content
664
+
665
+ * feat(hooks): @nextui-org/use-theme
666
+
667
+ * chore(docs): revise ThemeSwitcher code
668
+
669
+ * refactor(hooks): simplify useTheme and support custom theme names
670
+
671
+ * feat(hooks): add use-theme test cases
672
+
673
+ * feat(changeset): add changeset
674
+
675
+ * refactor(hooks): make localStorageMock globally and clear before each test
676
+
677
+ * fix(docs): typo
678
+
679
+ * fix(hooks): coderabbitai comments
680
+
681
+ * chore(hooks): remove unnecessary +
682
+
683
+ * chore(changeset): change to minor
684
+
685
+ * feat(hooks): handle system theme
686
+
687
+ * chore(hooks): add EOL
688
+
689
+ * refactor(hooks): add default theme
690
+
691
+ * refactor(hooks): revise useTheme
692
+
693
+ * refactor(hooks): resolve pr comments
694
+
695
+ * refactor(hooks): resolve pr comments
696
+
697
+ * refactor(hooks): resolve pr comments
698
+
699
+ * refactor(hooks): remove unused theme in dependency array
700
+
701
+ * chore(docs): typos
702
+
703
+ * refactor(hooks): mark system as key for system theme
704
+
705
+ * chore: merged with canary
706
+
707
+ ---------
708
+
709
+ Co-authored-by: Junior Garcia <[email protected]>\n- Fix/avatar flashing (#3987)
710
+
711
+ * fix(use-image): cached image flashing
712
+
713
+ * chore: merged with canary
714
+
715
+ ---------
716
+
717
+ Co-authored-by: Rakha Kanz Kautsar <[email protected]>\n- refactor(menu): Use `useMenu` and `useMenuItem` from RA (#3261)
718
+
719
+ * refactor(menu): use useMenu from react-aria instead
720
+
721
+ * refactor(menu): use useMenuItem from react-aria instead
722
+
723
+ * feat(changeset): add changeset
724
+
725
+ * chore: merged with canary
726
+
727
+ * fix: dropdown tests
728
+
729
+ ---------
730
+
731
+ Co-authored-by: Junior Garcia <[email protected]>\n- fix(theme): added stripe color gradients for progress (#3938)
732
+
733
+ * fix(breadcrumbs): added separator rotation for RTL #2486
734
+
735
+ * chore(changeset): added changeset
736
+
737
+ * fix(docs): removed unused Link import and merged classnames in dropdown
738
+
739
+ * fix(theme):added stripe color gradients for progress #1933
740
+
741
+ * refactor(theme): added stripe-size and createStripeGradient\n- chore: add all minor releases\n- fix(docs): invalid canary storybook link (#4030)\n- fix(use-image): image ReferenceError in SSR (#4122)
742
+
743
+ * fix(use-image): image ReferenceError in SSR
744
+
745
+ * fix(use-image): sync with beta
746
+
747
+ * fix(use-image): sync with beta
748
+
749
+ * chore(use-image): remove unnecessary comments\n- fix(docs): buildLocation expects an object (#4118)
750
+
751
+ * fix(docs): routing.mdx
752
+
753
+ * Delete .changeset/pre.json\n- chore: merged with main\n- chore(docs): update yarn installation command (#4132)
754
+
755
+ There is no `-g` flag in yarn. `global` is a command which must immediately follow yarn.
756
+
757
+ Source: https://classic.yarnpkg.com/lang/en/docs/cli/global/\n
758
+
759
+ Labels:
760
+
761
+
762
+ Comments:
763
+ - changeset-bot: ### ⚠️ No Changeset found
764
+
765
+ Latest commit: 79eb0d8696eb057d32088219df2e6ca14e8821d3
766
+
767
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
768
+
769
+ <details><summary>This PR includes no changesets</summary>
770
+
771
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
772
+
773
+ </details>
774
+
775
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
776
+
777
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/canary?filename=.changeset/many-emus-warn.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0AUpdate%20search%20meta%0A)
778
+
779
+ \n- vercel: [vc]: #0da+pKRY7986nwvJxrmlNpjisAj4qiqmhoNDdrD68J0=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9BalZhc1NXeWhWb2dMQ1E3dEdXU1VyZUR3YXcxIiwicHJldmlld1VybCI6ImNhbmFyeS5uZXh0dWkub3JnIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6ImNhbmFyeS5uZXh0dWkub3JnIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi9IV2RldUpYRGFEMktpWlhkeUJrTVg1N3FXNkVLIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWNhbmFyeS1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiUEVORElORyIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1jYW5hcnktbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
780
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
781
+
782
+ | Name | Status | Preview | Comments | Updated (UTC) |
783
+ | :--- | :----- | :------ | :------- | :------ |
784
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/AjVasSWyhVogLCQ7tGWSUreDwaw1)) | [Visit Preview](https://canary.nextui.org) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/canary.nextui.org?via=pr-comment-feedback-link) | Dec 7, 2024 10:03pm |
785
+ | **nextui-storybook-v2** | πŸ”„ Building ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/HWdeuJXDaD2KiZXdyBkMX57qW6EK)) | [Visit Preview](https://nextui-storybook-v2-git-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 10:03pm |
786
+
787
+
788
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
789
+ <!-- This is an auto-generated comment: failure by coderabbit.ai -->
790
+
791
+ > [!CAUTION]
792
+ > ## Review failed
793
+ >
794
+ > The pull request is closed.
795
+
796
+ <!-- end of auto-generated comment: failure by coderabbit.ai -->
797
+
798
+ <!-- internal state start -->
799
+
800
+
801
+ <!-- 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= -->
802
+
803
+ <!-- internal state end -->
804
+ <!-- walkthrough_start -->
805
+
806
+ ## Walkthrough
807
+ The pull request updates the `github-info.json` configuration file with new statistics. The counts for "stars," "forks," "subscribers," and "openIssues" have been modified to reflect the latest data. Specifically, the "stars" count has increased, while the "subscribers" and "openIssues" counts have decreased.
808
+
809
+ ## Changes
810
+
811
+ | File | Change Summary |
812
+ |--------------------------------------|--------------------------------------------------------------------------------------------------------|
813
+ | apps/docs/config/github-info.json | - Updated "stars": `{ "raw": 22002, "formatted": "22K" }` β†’ `{ "raw": 22226, "formatted": "22.2K" }`<br>- Updated "forks": `1536` β†’ `1566`<br>- Updated "subscribers": `85` β†’ `83`<br>- Updated "openIssues": `433` β†’ `406` |
814
+
815
+ <!-- walkthrough_end -->
816
+
817
+ ---
818
+
819
+ <details>
820
+ <summary>πŸ“œ Recent review details</summary>
821
+
822
+ **Configuration used: .coderabbit.yaml**
823
+ **Review profile: CHILL**
824
+
825
+ <details>
826
+ <summary>πŸ“₯ Commits</summary>
827
+
828
+ Reviewing files that changed from the base of the PR and between 46875513eafdc9a8f723cf5fa1d124cdc23f48aa and 79eb0d8696eb057d32088219df2e6ca14e8821d3.
829
+
830
+ </details>
831
+
832
+ <details>
833
+ <summary>πŸ“’ Files selected for processing (1)</summary>
834
+
835
+ * `apps/docs/config/github-info.json` (1 hunks)
836
+
837
+ </details>
838
+
839
+ </details>
840
+ <!-- tips_start -->
841
+
842
+ ---
843
+
844
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
845
+
846
+ <details>
847
+ <summary>❀️ Share</summary>
848
+
849
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
850
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
851
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
852
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
853
+
854
+ </details>
855
+
856
+ <details>
857
+ <summary>πŸͺ§ Tips</summary>
858
+
859
+ ### Chat
860
+
861
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
862
+
863
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
864
+ - `I pushed a fix in commit <commit_id>, please review it.`
865
+ - `Generate unit testing code for this file.`
866
+ - `Open a follow-up GitHub issue for this discussion.`
867
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
868
+ - `@coderabbitai generate unit testing code for this file.`
869
+ - `@coderabbitai modularize this function.`
870
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
871
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
872
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
873
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
874
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
875
+
876
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
877
+
878
+ ### CodeRabbit Commands (Invoked using PR comments)
879
+
880
+ - `@coderabbitai pause` to pause the reviews on a PR.
881
+ - `@coderabbitai resume` to resume the paused reviews.
882
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
883
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
884
+ - `@coderabbitai summary` to regenerate the summary of the PR.
885
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
886
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
887
+ - `@coderabbitai help` to get help.
888
+
889
+ ### Other keywords and placeholders
890
+
891
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
892
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
893
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
894
+
895
+ ### Documentation and Community
896
+
897
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
898
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
899
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
900
+
901
+ </details>
902
+
903
+ <!-- tips_end -->\n
904
+
905
+ Files Changed:
906
+ - apps/docs/config/github-info.json (modified, 8 changes)\n Patch: @@ -1,6 +1,6 @@
907
+ {
908
+ - "stars": { "raw": 22002, "formatted": "22K" },
909
+ - "forks": 1536,
910
+ - "subscribers": 85,
911
+ - "openIssues": 433
912
+ + "stars": { "raw": 22226, "formatted": "22.2K" },
913
+ + "forks": 1566,
914
+ + "subscribers": 83,
915
+ + "openIssues": 406
916
+ }\n- apps/docs/config/search-meta.json (modified, 3312 changes)\n Patch: No patch available\n
processed_docs/pr_data_0_doc_15.txt ADDED
@@ -0,0 +1,889 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4265
2
+ Title: feat: replace framer-motion with motion
3
+ Base Branch: canary
4
+ Head Branch: motion
5
+ Author: simPod
6
+ URL: https://github.com/nextui-org/nextui/pull/4265
7
+ State: OPEN
8
+ Created At: 2024-12-07T14:03:25Z
9
+ Merged At: None
10
+ Participants: simPod, wingkwong
11
+
12
+ Description:
13
+ πŸ“ Description
14
+ framer-motion changed to motion https://motion.dev/blog/framer-motion-is-now-independent-introducing-motion
15
+ ⛳️ Current behavior (updates)
16
+
17
+ πŸš€ New behavior
18
+ This changes the framer-motion occurences to motion.
19
+ πŸ’£ Is this a breaking change (Yes/No):
20
+ I'm not sure how to proceed with BC here. Tell users to install motion since v2.7+?
21
+ πŸ“ Additional Information
22
+
23
+ Summary by CodeRabbit
24
+
25
+
26
+ New Features
27
+
28
+ Updated animation library from framer-motion to motion/react across various components, enhancing animation capabilities.
29
+
30
+
31
+
32
+ Documentation
33
+
34
+ Revised installation instructions and dependency details to reflect the transition from framer-motion to motion.
35
+ Updated prop descriptions and examples to clarify usage with the new animation library.
36
+
37
+
38
+
39
+ Chores
40
+
41
+ Adjusted package.json files across multiple components to replace framer-motion with motion, ensuring consistency in dependency management.
42
+
43
+ Commits:
44
+ - feat: replace framer-motion with motion\n
45
+
46
+ Labels:
47
+
48
+
49
+ Comments:
50
+ - vercel: [vc]: #b+dn97W/3Edpclk9s3yExJ+urngjl9c4/cZyD4/mXmA=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvQkc3OVNNQmZ5OVVRaG93Y3FQSEF6Y054Mmo3ZyIsInByZXZpZXdVcmwiOiIiLCJuZXh0Q29tbWl0U3RhdHVzIjoiRkFJTEVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6IiJ9fSx7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9BZko2ejVSbUc5RlVrVlV0ZDFpaXBHWUM2VEdZIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLXNpbXBvZC1tb3Rpb24tbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLXNpbXBvZC1tb3Rpb24tbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
51
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
52
+
53
+ | Name | Status | Preview | Comments | Updated (UTC) |
54
+ | :--- | :----- | :------ | :------- | :------ |
55
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/AfJ6z5RmG9FUkVUtd1iipGYC6TGY)) | [Visit Preview](https://nextui-docs-v2-git-fork-simpod-motion-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fork-simpod-motion-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 2:07pm |
56
+ | **nextui-storybook-v2** | ❌ Failed ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/BG79SMBfy9UQhowcqPHAzcNx2j7g)) | | | Dec 7, 2024 2:07pm |
57
+
58
+
59
+ \n- changeset-bot: ### ⚠️ No Changeset found
60
+
61
+ Latest commit: 12ea871a074d38f683145cba5170c6c3e04c7c5b
62
+
63
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
64
+
65
+ <details><summary>This PR includes no changesets</summary>
66
+
67
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
68
+
69
+ </details>
70
+
71
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
72
+
73
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/simPod/nextui/new/motion?filename=.changeset/eight-tools-cross.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A%22%40nextui-org%2Faccordion%22%3A%20patch%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Fbutton%22%3A%20patch%0A%22%40nextui-org%2Fcalendar%22%3A%20patch%0A%22%40nextui-org%2Fcard%22%3A%20patch%0A%22%40nextui-org%2Fdate-picker%22%3A%20patch%0A---%0A%0Afeat%3A%20replace%20framer-motion%20with%20motion%0A)
74
+
75
+ \n- vercel: @simPod is attempting to deploy a commit to the **NextUI Inc** Team on [Vercel](https://vercel.com).
76
+
77
+ A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=NextUI%20Inc&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%229884fea9e9dc33ca74aa736d9c6c8ad5f16069a5%22%7D%2C%22id%22%3A%22QmSHg1SPuEF1gCfQrCQ3nTuZ3nb8PNdKsxG27ng8AuAt8B%22%2C%22org%22%3A%22nextui-org%22%2C%22prId%22%3A4265%2C%22repo%22%3A%22nextui%22%7D).
78
+
79
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
80
+
81
+
82
+ <!-- walkthrough_start -->
83
+
84
+ ## Walkthrough
85
+ The pull request involves a comprehensive update across multiple components and documentation files, primarily transitioning from the `framer-motion` library to the `motion/react` library. This change includes modifications to import statements, dependency updates in `package.json` files, and adjustments in documentation to reflect the new library usage. The overall functionality and structure of the components remain intact, with no significant alterations to logic or error handling.
86
+
87
+ ## Changes
88
+
89
+ | File Path | Change Summary |
90
+ |---------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
91
+ | apps/docs/components/blog-post.tsx | Updated import from `framer-motion` to `motion/react`. |
92
+ | apps/docs/components/blog/video-in-view.tsx | Updated import for `useInView` from `framer-motion` to `motion/react`. |
93
+ | apps/docs/components/docs/components/code-demo/code-demo.tsx | Updated import for `useInView` from `framer-motion` to `motion/react`. |
94
+ | apps/docs/components/docs/components/code-demo/window-resizer.tsx | Updated imports for motion-related functions from `framer-motion` to `motion/react`. |
95
+ | apps/docs/components/marketing/a11y-otb.tsx | Updated import for `useInView` from `framer-motion` to `motion/react`. |
96
+ | apps/docs/components/navbar.tsx | Updated import for animation components from `framer-motion` to `motion/react`. |
97
+ | apps/docs/components/sandpack/use-sandpack.ts | Updated `framer-motion` version in dependencies from `11.9.0` to `11.13.1` and renamed to `motion`. |
98
+ | apps/docs/config/search-meta.json | Various entries added/modified for documentation organization. |
99
+ | apps/docs/content/docs/api-references/nextui-provider.mdx | Updated prop descriptions and renamed `skipFramerMotionAnimations` to `skipMotionAnimations`. |
100
+ | apps/docs/content/docs/frameworks/*.mdx | Updated installation commands to replace `framer-motion` with `motion`. |
101
+ | apps/docs/content/docs/guide/*.mdx | Updated installation instructions to reflect the new dependency naming. |
102
+ | apps/docs/package.json | Updated dependency from `framer-motion` to `motion` with version change. |
103
+ | packages/components/*/package.json | Replaced `framer-motion` with `motion` in both `peerDependencies` and `devDependencies`. |
104
+ | packages/components/*/src/*.tsx | Updated import statements from `framer-motion` to `motion/react` across various components. |
105
+ | packages/core/*/package.json | Updated dependency from `framer-motion` to `motion` in `peerDependencies`. |
106
+ | packages/utilities/*/package.json | Updated dependency from `framer-motion` to `motion` in `peerDependencies` and `devDependencies`. |
107
+
108
+ ## Possibly related PRs
109
+ - **#3308**: Updates the version requirements for the `framer-motion` dependency across various components.
110
+ - **#4013**: Corrects the Yarn installation command for the `nextui-cli`, relevant to package management updates.
111
+ - **#4132**: Updates the Yarn installation command, reinforcing changes in the main PR regarding import statement updates.
112
+ - **#3856**: Improves documentation for the accordion component, relating to overall documentation clarity.
113
+ - **#3922**: Revises code block structure in documentation, aligning with clarity enhancements in the main PR.
114
+ - **#4227**: Introduces a new section for NextUI Pro on the landing page, relating to overall documentation enhancements.
115
+
116
+ ## Suggested labels
117
+ `πŸ’₯ Type: Breaking Change`, `πŸ“‹ Scope : Docs`
118
+
119
+ ## Suggested reviewers
120
+ - wingkwong
121
+ - jrgarciadev
122
+ - ryo-manba
123
+
124
+ <!-- walkthrough_end -->
125
+ <!-- internal state start -->
126
+
127
+
128
+ <!-- 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 -->
129
+
130
+ <!-- internal state end -->
131
+ <!-- tips_start -->
132
+
133
+ ---
134
+
135
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
136
+
137
+ <details>
138
+ <summary>❀️ Share</summary>
139
+
140
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
141
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
142
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
143
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
144
+
145
+ </details>
146
+
147
+ <details>
148
+ <summary>πŸͺ§ Tips</summary>
149
+
150
+ ### Chat
151
+
152
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
153
+
154
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
155
+ - `I pushed a fix in commit <commit_id>, please review it.`
156
+ - `Generate unit testing code for this file.`
157
+ - `Open a follow-up GitHub issue for this discussion.`
158
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
159
+ - `@coderabbitai generate unit testing code for this file.`
160
+ - `@coderabbitai modularize this function.`
161
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
162
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
163
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
164
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
165
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
166
+
167
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
168
+
169
+ ### CodeRabbit Commands (Invoked using PR comments)
170
+
171
+ - `@coderabbitai pause` to pause the reviews on a PR.
172
+ - `@coderabbitai resume` to resume the paused reviews.
173
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
174
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
175
+ - `@coderabbitai summary` to regenerate the summary of the PR.
176
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
177
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
178
+ - `@coderabbitai help` to get help.
179
+
180
+ ### Other keywords and placeholders
181
+
182
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
183
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
184
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
185
+
186
+ ### Documentation and Community
187
+
188
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
189
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
190
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
191
+
192
+ </details>
193
+
194
+ <!-- tips_end -->\n- simPod: I don't really know why pnpm can't load
195
+
196
+ > Error: @nextui-org/dom-animation:build: src/index.ts(1,28): error TS2307: Cannot find module 'motion/react' or its corresponding type declarations.
197
+ \n
198
+
199
+ Files Changed:
200
+ - apps/docs/components/blog-post.tsx (modified, 2 changes)\n Patch: @@ -5,7 +5,7 @@ import {Card, CardFooter, CardBody, CardHeader, Link, Avatar, Image} from "@next
201
+ import Balancer from "react-wrap-balancer";
202
+ import {format, parseISO} from "date-fns";
203
+ import NextLink from "next/link";
204
+ -import {AnimatePresence, motion} from "framer-motion";
205
+ +import {AnimatePresence, motion} from "motion/react";
206
+ import {usePostHog} from "posthog-js/react";
207
+
208
+ import {useIsMounted} from "@/hooks/use-is-mounted";\n- apps/docs/components/blog/video-in-view.tsx (modified, 2 changes)\n Patch: @@ -1,7 +1,7 @@
209
+ /* eslint-disable jsx-a11y/media-has-caption */
210
+ "use client";
211
+
212
+ -import {useInView} from "framer-motion";
213
+ +import {useInView} from "motion/react";
214
+ import {useRef, FC, useEffect, useState, useCallback} from "react";
215
+ import {Button, cn, Spinner, Tooltip} from "@nextui-org/react";
216
+ \n- apps/docs/components/docs/components/code-demo/code-demo.tsx (modified, 2 changes)\n Patch: @@ -3,7 +3,7 @@
217
+ import React, {useCallback, useMemo, useRef} from "react";
218
+ import dynamic from "next/dynamic";
219
+ import {Skeleton, Tab, Tabs} from "@nextui-org/react";
220
+ -import {useInView} from "framer-motion";
221
+ +import {useInView} from "motion/react";
222
+
223
+ import {useCodeDemo, UseCodeDemoProps} from "./use-code-demo";
224
+ import WindowResizer, {WindowResizerProps} from "./window-resizer";\n- apps/docs/components/docs/components/code-demo/window-resizer.tsx (modified, 2 changes)\n Patch: @@ -1,5 +1,5 @@
225
+ import React from "react";
226
+ -import {motion, useMotionValue, useTransform} from "framer-motion";
227
+ +import {motion, useMotionValue, useTransform} from "motion/react";
228
+ import {tv} from "tailwind-variants";
229
+
230
+ import {useIsMobile} from "@/hooks/use-media-query";\n- apps/docs/components/marketing/a11y-otb.tsx (modified, 2 changes)\n Patch: @@ -11,7 +11,7 @@ import {
231
+ DropdownItem,
232
+ Tooltip,
233
+ } from "@nextui-org/react";
234
+ -import {useInView} from "framer-motion";
235
+ +import {useInView} from "motion/react";
236
+ import {clsx} from "@nextui-org/shared-utils";
237
+ import {
238
+ AddNoteBulkIcon,\n- apps/docs/components/navbar.tsx (modified, 2 changes)\n Patch: @@ -25,7 +25,7 @@ import {isAppleDevice} from "@react-aria/utils";
239
+ import {clsx} from "@nextui-org/shared-utils";
240
+ import NextLink from "next/link";
241
+ import {usePathname} from "next/navigation";
242
+ -import {motion, AnimatePresence} from "framer-motion";
243
+ +import {motion, AnimatePresence} from "motion/react";
244
+ import {useEffect} from "react";
245
+ import {usePress} from "@react-aria/interactions";
246
+ import {useFocusRing} from "@react-aria/focus";\n- apps/docs/components/sandpack/use-sandpack.ts (modified, 4 changes)\n Patch: @@ -70,7 +70,7 @@ export const useSandpack = ({
247
+ }, {});
248
+
249
+ let dependencies = {
250
+ - "framer-motion": "11.9.0",
251
+ + motion: "11.13.1",
252
+ "@nextui-org/react": "latest",
253
+ };
254
+
255
+ @@ -143,7 +143,7 @@ export const useSandpack = ({
256
+
257
+ // const dependencies = useMemo(() => {
258
+ // let deps = {
259
+ - // "framer-motion": "11.9.0",
260
+ + // "motion": "11.11.12",
261
+ // };
262
+
263
+ // if (hasComponents) {\n- apps/docs/config/search-meta.json (modified, 8 changes)\n Patch: @@ -10774,14 +10774,14 @@
264
+ }
265
+ },
266
+ {
267
+ - "content": "Why does NextUI use Framer Motion?",
268
+ + "content": "Why does NextUI use Motion?",
269
+ "objectID": "d76533f7-0ca8-40cd-b77a-80f708d8d744",
270
+ "type": "lvl3",
271
+ - "url": "/docs/guide/introduction#why-does-nextui-use-framer-motion",
272
+ + "url": "/docs/guide/introduction#why-does-nextui-use-motion",
273
+ "hierarchy": {
274
+ "lvl1": "Introduction",
275
+ "lvl2": "Can I use NextUI with other front-end frameworks or libraries, such as Vue or Angular?",
276
+ - "lvl3": "Why does NextUI use Framer Motion?"
277
+ + "lvl3": "Why does NextUI use Motion?"
278
+ }
279
+ },
280
+ {
281
+ @@ -11096,7 +11096,7 @@
282
+ "content": "Install Framer motion",
283
+ "objectID": "ef778f69-5c80-44b6-a995-1385c7136cdf",
284
+ "type": "lvl3",
285
+ - "url": "/docs/guide/upgrade-to-v2#install-framer-motion",
286
+ + "url": "/docs/guide/upgrade-to-v2#install-motion",
287
+ "hierarchy": {
288
+ "lvl1": "Upgrade to v2",
289
+ "lvl2": "Upgrade React version",\n- apps/docs/content/docs/api-references/nextui-provider.mdx (modified, 28 changes)\n Patch: @@ -5,7 +5,7 @@ description: API References for NextUI Provider
290
+
291
+ # NextUI Provider
292
+
293
+ -API reference for the `NextUIProvider`.
294
+ +API reference for the `NextUIProvider`.
295
+
296
+ ------
297
+
298
+ @@ -67,11 +67,11 @@ Here's the supported locales. By default, It is `en-US`.
299
+ ```tsx
300
+ const localeValues = [
301
+ 'fr-FR', 'fr-CA', 'de-DE', 'en-US', 'en-GB', 'ja-JP',
302
+ - 'da-DK', 'nl-NL', 'fi-FI', 'it-IT', 'nb-NO', 'es-ES',
303
+ - 'sv-SE', 'pt-BR', 'zh-CN', 'zh-TW', 'ko-KR', 'bg-BG',
304
+ - 'hr-HR', 'cs-CZ', 'et-EE', 'hu-HU', 'lv-LV', 'lt-LT',
305
+ - 'pl-PL', 'ro-RO', 'ru-RU', 'sr-SP', 'sk-SK', 'sl-SI',
306
+ - 'tr-TR', 'uk-UA', 'ar-AE', 'ar-DZ', 'AR-EG', 'ar-SA',
307
+ + 'da-DK', 'nl-NL', 'fi-FI', 'it-IT', 'nb-NO', 'es-ES',
308
+ + 'sv-SE', 'pt-BR', 'zh-CN', 'zh-TW', 'ko-KR', 'bg-BG',
309
+ + 'hr-HR', 'cs-CZ', 'et-EE', 'hu-HU', 'lv-LV', 'lt-LT',
310
+ + 'pl-PL', 'ro-RO', 'ru-RU', 'sr-SP', 'sk-SK', 'sl-SI',
311
+ + 'tr-TR', 'uk-UA', 'ar-AE', 'ar-DZ', 'AR-EG', 'ar-SA',
312
+ 'el-GR', 'he-IL', 'fa-AF', 'am-ET', 'hi-IN', 'th-TH'
313
+ ];
314
+ ```
315
+ @@ -112,7 +112,7 @@ interface AppProviderProps {
316
+
317
+ `createCalendar`
318
+
319
+ -- **Description**:
320
+ +- **Description**:
321
+ This function helps to reduce the bundle size by providing a custom calendar system.
322
+
323
+ By default, this includes all calendar systems supported by `@internationalized/date`. However,
324
+ @@ -144,7 +144,7 @@ interface AppProviderProps {
325
+
326
+ `disableAnimation`
327
+
328
+ -- **Description**: Disables animations globally. This will also avoid `framer-motion` features to be loaded in the bundle which can potentially reduce the bundle size.
329
+ +- **Description**: Disables animations globally. This will also avoid `motion` features to be loaded in the bundle which can potentially reduce the bundle size.
330
+ - **Type**: `boolean`
331
+ - **Default**: `false`
332
+
333
+ @@ -158,12 +158,12 @@ interface AppProviderProps {
334
+
335
+ <Spacer y={2}/>
336
+
337
+ -`skipFramerMotionAnimations`
338
+ +`skipMotionAnimations`
339
+
340
+ - **Description**:
341
+ - Controls whether `framer-motion` animations are skipped within the application.
342
+ + Controls whether `motion` animations are skipped within the application.
343
+ This property is automatically enabled (`true`) when the `disableAnimation` prop is set to `true`,
344
+ - effectively skipping all `framer-motion` animations. To retain `framer-motion` animations while
345
+ + effectively skipping all `motion` animations. To retain `motion` animations while
346
+ using the `disableAnimation` prop for other purposes, set this to `false`. However, note that
347
+ animations in NextUI Components are still omitted if the `disableAnimation` prop is `true`.
348
+ - **Type**: `boolean`
349
+ @@ -173,14 +173,14 @@ interface AppProviderProps {
350
+
351
+ `validationBehavior`
352
+
353
+ -- **Description**: Whether to use native HTML form validation to prevent form submission when the value is missing or invalid,
354
+ +- **Description**: Whether to use native HTML form validation to prevent form submission when the value is missing or invalid,
355
+ or mark the field as required or invalid via ARIA.
356
+ - **Type**: `native | aria`
357
+ - **Default**: `aria`
358
+
359
+ `reducedMotion`
360
+
361
+ -- **Description**: Controls the motion preferences for the entire application, allowing developers to respect user settings for reduced motion.
362
+ +- **Description**: Controls the motion preferences for the entire application, allowing developers to respect user settings for reduced motion.
363
+ The available options are:
364
+ - `"user"`: Adapts to the user's device settings for reduced motion.
365
+ - `"always"`: Disables all animations.
366
+ @@ -216,4 +216,4 @@ type SupportedCalendars =
367
+ | "persian"
368
+ | "roc"
369
+ | "gregory";
370
+ -```
371
+
372
+ +```\n- apps/docs/content/docs/frameworks/astro.mdx (modified, 10 changes)\n Patch: @@ -31,10 +31,10 @@ In your Astro project, run one of the following command to install NextUI:
373
+
374
+ <PackageManagers
375
+ commands={{
376
+ - npm: 'npm i @nextui-org/react framer-motion',
377
+ - yarn: 'yarn add @nextui-org/react framer-motion',
378
+ - pnpm: 'pnpm add @nextui-org/react framer-motion',
379
+ - bun: "bun add @nextui-org/react framer-motion"
380
+ + npm: 'npm i @nextui-org/react motion',
381
+ + yarn: 'yarn add @nextui-org/react motion',
382
+ + pnpm: 'pnpm add @nextui-org/react motion',
383
+ + bun: "bun add @nextui-org/react motion"
384
+ }}
385
+ />
386
+
387
+ @@ -55,7 +55,7 @@ After modifying the `.npmrc` file, you need to run `pnpm install` again to ensur
388
+ ### Tailwind CSS Setup
389
+
390
+ NextUI is built on top of Tailwind CSS, so you need to install Tailwind CSS first. You can follow the official
391
+ -[installation guide](https://tailwindcss.com/docs/guides/astro) to install Tailwind CSS. Then you need to add
392
+ +[installation guide](https://tailwindcss.com/docs/guides/astro) to install Tailwind CSS. Then you need to add
393
+ the following code to your `tailwind.config.cjs` file:
394
+
395
+ <Blockquote color="primary">\n- apps/docs/content/docs/frameworks/nextjs.mdx (modified, 34 changes)\n Patch: @@ -21,7 +21,7 @@ To use NextUI in your Next.js project, you need to follow the steps below, depen
396
+
397
+ ## App Directory Setup
398
+
399
+ -Next.js 13 introduces a new `app/` directory structure. By default it uses Server Components.
400
+ +Next.js 13 introduces a new `app/` directory structure. By default it uses Server Components.
401
+ As NextUI components use React hooks, we added the `use client;` at build time, so you can import them
402
+ directly in your React Server Components (RSC).
403
+
404
+ @@ -39,7 +39,7 @@ npm install -g nextui-cli
405
+ nextui init -t app
406
+ ```
407
+
408
+ -### create-next-app
409
+ +### create-next-app
410
+
411
+ If you are starting a new project, you can run one of the following commands to create a Next.js project pre-configured with NextUI:
412
+
413
+ @@ -146,10 +146,10 @@ In your Next.js project, run one of the following commands to install NextUI:
414
+
415
+ <PackageManagers
416
+ commands={{
417
+ - npm: 'npm i @nextui-org/react framer-motion',
418
+ - yarn: 'yarn add @nextui-org/react framer-motion',
419
+ - pnpm: 'pnpm add @nextui-org/react framer-motion',
420
+ - bun: "bun add @nextui-org/react framer-motion"
421
+ + npm: 'npm i @nextui-org/react motion',
422
+ + yarn: 'yarn add @nextui-org/react motion',
423
+ + pnpm: 'pnpm add @nextui-org/react motion',
424
+ + bun: "bun add @nextui-org/react motion"
425
+ }}
426
+ />
427
+
428
+ @@ -170,7 +170,7 @@ After modifying the `.npmrc` file, you need to run `pnpm install` again to ensur
429
+ ### Tailwind CSS Setup
430
+
431
+ NextUI is built on top of Tailwind CSS, so you need to install Tailwind CSS first. You can follow the official
432
+ -[installation guide](https://tailwindcss.com/docs/guides/nextjs) to install Tailwind CSS. Then you need to add
433
+ +[installation guide](https://tailwindcss.com/docs/guides/nextjs) to install Tailwind CSS. Then you need to add
434
+ the following code to your `tailwind.config.js` file:
435
+
436
+ <Blockquote color="primary">
437
+ @@ -242,7 +242,7 @@ export default function RootLayout({children}: { children: React.ReactNode }) {
438
+ }
439
+ ```
440
+
441
+ -> **Note**: NextUI automatically adds two themes, `light` and `dark`, to your application. You can use any
442
+ +> **Note**: NextUI automatically adds two themes, `light` and `dark`, to your application. You can use any
443
+ of them by adding the `dark`/`light` class to the `html` tag. See the [theme docs](/docs/customization/customize-theme) for more details.
444
+
445
+
446
+ @@ -253,7 +253,7 @@ the `use client;` directive:
447
+
448
+ ```jsx {2,7}
449
+ // app/page.tsx
450
+ -import {Button} from '@nextui-org/button';
451
+ +import {Button} from '@nextui-org/button';
452
+
453
+ export default function Page() {
454
+ return (
455
+ @@ -263,11 +263,11 @@ export default function Page() {
456
+ )
457
+ }
458
+ ```
459
+ -> **Important 🚨**: Note that you need to import the component from the individual package, not from `@nextui-org/react`.
460
+ +> **Important 🚨**: Note that you need to import the component from the individual package, not from `@nextui-org/react`.
461
+
462
+ </Steps>
463
+
464
+ -## Pages Directory Setup
465
+ +## Pages Directory Setup
466
+
467
+ ### NextUI CLI (recommended)
468
+
469
+ @@ -285,7 +285,7 @@ nextui init -t pages
470
+
471
+ If you are using the `/pages` Next.js project structure, you need to follow the steps below.
472
+
473
+ -### create-next-app
474
+ +### create-next-app
475
+
476
+ If you are starting a new project, you can run one of the following commands to create a Next.js project pre-configured with NextUI:
477
+
478
+ @@ -392,10 +392,10 @@ In your Next.js project, run one of the following commands to install NextUI:
479
+
480
+ <PackageManagers
481
+ commands={{
482
+ - npm: 'npm i @nextui-org/react framer-motion',
483
+ - yarn: 'yarn add @nextui-org/react framer-motion',
484
+ - pnpm: 'pnpm add @nextui-org/react framer-motion',
485
+ - bun: "bun add @nextui-org/react framer-motion"
486
+ + npm: 'npm i @nextui-org/react motion',
487
+ + yarn: 'yarn add @nextui-org/react motion',
488
+ + pnpm: 'pnpm add @nextui-org/react motion',
489
+ + bun: "bun add @nextui-org/react motion"
490
+ }}
491
+ />
492
+
493
+ @@ -416,7 +416,7 @@ After modifying the `.npmrc` file, you need to run `pnpm install` again to ensur
494
+ ### Tailwind CSS Setup
495
+
496
+ NextUI is built on top of Tailwind CSS, so you need to install Tailwind CSS first. You can follow the official
497
+ -[installation guide](https://tailwindcss.com/docs/guides/nextjs) to install Tailwind CSS. Then you need to add
498
+ +[installation guide](https://tailwindcss.com/docs/guides/nextjs) to install Tailwind CSS. Then you need to add
499
+ the following code to your `tailwind.config.js` file:
500
+
501
+ <Blockquote color="primary">\n- apps/docs/content/docs/frameworks/remix.mdx (modified, 10 changes)\n Patch: @@ -25,10 +25,10 @@ In your Remix project, run one of the following command to install NextUI:
502
+
503
+ <PackageManagers
504
+ commands={{
505
+ - npm: 'npm i @nextui-org/react framer-motion',
506
+ - yarn: 'yarn add @nextui-org/react framer-motion',
507
+ - pnpm: 'pnpm add @nextui-org/react framer-motion',
508
+ - bun: "bun add @nextui-org/react framer-motion"
509
+ + npm: 'npm i @nextui-org/react motion',
510
+ + yarn: 'yarn add @nextui-org/react motion',
511
+ + pnpm: 'pnpm add @nextui-org/react motion',
512
+ + bun: "bun add @nextui-org/react motion"
513
+ }}
514
+ />
515
+
516
+ @@ -49,7 +49,7 @@ After modifying the `.npmrc` file, you need to run `pnpm install` again to ensur
517
+ ### Tailwind CSS Setup
518
+
519
+ NextUI is built on top of Tailwind CSS, so you need to install Tailwind CSS first. You can follow the official
520
+ -[installation guide](https://tailwindcss.com/docs/guides/remix) to install Tailwind CSS. Then you need to add
521
+ +[installation guide](https://tailwindcss.com/docs/guides/remix) to install Tailwind CSS. Then you need to add
522
+ the following code to your `tailwind.config.js` file:
523
+
524
+ <Blockquote color="primary">\n- apps/docs/content/docs/frameworks/vite.mdx (modified, 10 changes)\n Patch: @@ -26,10 +26,10 @@ In your Vite React project, run one of the following command to install NextUI:
525
+
526
+ <PackageManagers
527
+ commands={{
528
+ - npm: 'npm i @nextui-org/react framer-motion',
529
+ - yarn: 'yarn add @nextui-org/react framer-motion',
530
+ - pnpm: 'pnpm add @nextui-org/react framer-motion',
531
+ - bun: "bun add @nextui-org/react framer-motion"
532
+ + npm: 'npm i @nextui-org/react motion',
533
+ + yarn: 'yarn add @nextui-org/react motion',
534
+ + pnpm: 'pnpm add @nextui-org/react motion',
535
+ + bun: "bun add @nextui-org/react motion"
536
+ }}
537
+ />
538
+
539
+ @@ -50,7 +50,7 @@ After modifying the `.npmrc` file, you need to run `pnpm install` again to ensur
540
+ ### Tailwind CSS Setup
541
+
542
+ NextUI is built on top of Tailwind CSS, so you need to install Tailwind CSS first. You can follow the official
543
+ -[installation guide](https://tailwindcss.com/docs/guides/vite#react) to install Tailwind CSS. Then you need to add
544
+ +[installation guide](https://tailwindcss.com/docs/guides/vite#react) to install Tailwind CSS. Then you need to add
545
+ the following code to your `tailwind.config.js` file:
546
+
547
+ <Blockquote color="primary">\n- apps/docs/content/docs/guide/installation.mdx (modified, 20 changes)\n Patch: @@ -21,7 +21,7 @@ Using the CLI is now the easiest way to start a NextUI project. You can initiali
548
+
549
+ <Steps>
550
+
551
+ -### Installation
552
+ +### Installation
553
+ Execute one of the following commands in your terminal:
554
+ <PackageManagers
555
+ commands={{
556
+ @@ -33,7 +33,7 @@ Execute one of the following commands in your terminal:
557
+ />
558
+
559
+ ### Initialization and Starting the App
560
+ -Initialize the project by using the `init` command.
561
+ +Initialize the project by using the `init` command.
562
+ ```codeBlock bash
563
+ nextui init my-nextui-app
564
+ ```
565
+ @@ -133,10 +133,10 @@ To install NextUI, run one of the following commands in your terminal:
566
+
567
+ <PackageManagers
568
+ commands={{
569
+ - npm: "npm install @nextui-org/react framer-motion",
570
+ - yarn: "yarn add @nextui-org/react framer-motion",
571
+ - pnpm: "pnpm add @nextui-org/react framer-motion",
572
+ - bun: "bun add @nextui-org/react framer-motion"
573
+ + npm: "npm install @nextui-org/react motion",
574
+ + yarn: "yarn add @nextui-org/react motion",
575
+ + pnpm: "pnpm add @nextui-org/react motion",
576
+ + bun: "bun add @nextui-org/react motion"
577
+ }}
578
+ />
579
+
580
+ @@ -228,10 +228,10 @@ Run one of the following commands in your terminal to install the core packages:
581
+
582
+ <PackageManagers
583
+ commands={{
584
+ - npm: "npm install @nextui-org/theme @nextui-org/system framer-motion",
585
+ - yarn: "yarn add @nextui-org/theme @nextui-org/system framer-motion",
586
+ - pnpm: "pnpm add @nextui-org/theme @nextui-org/system framer-motion",
587
+ - bun: "bun add @nextui-org/theme @nextui-org/system framer-motion"
588
+ + npm: "npm install @nextui-org/theme @nextui-org/system motion",
589
+ + yarn: "yarn add @nextui-org/theme @nextui-org/system motion",
590
+ + pnpm: "pnpm add @nextui-org/theme @nextui-org/system motion",
591
+ + bun: "bun add @nextui-org/theme @nextui-org/system motion"
592
+ }}
593
+ />
594
+ \n- apps/docs/content/docs/guide/upgrade-to-v2.mdx (modified, 36 changes)\n Patch: @@ -12,7 +12,7 @@ Requirements:
595
+ - [Tailwind CSS 3.4](https://tailwindcss.com/) or later
596
+ - [Framer Motion 11.9](https://www.framer.com/motion/) or later
597
+
598
+ ------
599
+ +-----
600
+
601
+ <CarbonAd/>
602
+
603
+ @@ -23,7 +23,7 @@ Make sure to follow the previous steps since they are required to upgrade to v2.
604
+
605
+ ## App directory Setup
606
+
607
+ -Next.js 13 introduces a new `app/` directory structure. By default it uses Server Components.
608
+ +Next.js 13 introduces a new `app/` directory structure. By default it uses Server Components.
609
+ As NextUI components use React hooks, we added the `use client;` at build time, so you can import them
610
+ directly in your React Server Components (RSC).
611
+
612
+ @@ -36,9 +36,9 @@ In your Next.js project, run one of the following command to install NextUI:
613
+
614
+ <PackageManagers
615
+ commands={{
616
+ - npm: 'npm i @nextui-org/react framer-motion',
617
+ - yarn: 'yarn add @nextui-org/react framer-motion',
618
+ - pnpm: 'pnpm add @nextui-org/react framer-motion',
619
+ + npm: 'npm i @nextui-org/react motion',
620
+ + yarn: 'yarn add @nextui-org/react motion',
621
+ + pnpm: 'pnpm add @nextui-org/react motion',
622
+ }}
623
+ />
624
+
625
+ @@ -59,7 +59,7 @@ After modifying the `.npmrc` file, you need to run `pnpm install` again to ensur
626
+ ### Tailwind CSS Setup
627
+
628
+ NextUI is built on top of Tailwind CSS, so you need to install Tailwind CSS first. You can follow the official
629
+ -[installation guide](https://tailwindcss.com/docs/guides/nextjs) to install Tailwind CSS. Then you need to add
630
+ +[installation guide](https://tailwindcss.com/docs/guides/nextjs) to install Tailwind CSS. Then you need to add
631
+ the following code to your `tailwind.config.js` file:
632
+
633
+
634
+ @@ -122,7 +122,7 @@ export default function RootLayout({children}: { children: React.ReactNode }) {
635
+ }
636
+ ```
637
+
638
+ -> **Note**: NextUI automatically add two themes `light` and `dark` to your application. You can use any
639
+ +> **Note**: NextUI automatically add two themes `light` and `dark` to your application. You can use any
640
+ of them by adding the `dark`/`light` class to the `html` tag. See the [theme docs](/docs/customization/customize-theme) for more details.
641
+
642
+
643
+ @@ -144,13 +144,13 @@ export default function Page() {
644
+ }
645
+ ```
646
+
647
+ -> **Important 🚨**: Note that you need to import the component from the individual package, not the from `@nextui-org/react`.
648
+ +> **Important 🚨**: Note that you need to import the component from the individual package, not the from `@nextui-org/react`.
649
+
650
+ </Steps>
651
+
652
+ <Spacer y={8} />
653
+
654
+ -## Pages Directory Setup
655
+ +## Pages Directory Setup
656
+
657
+ <Steps>
658
+
659
+ @@ -161,9 +161,9 @@ In your Next.js project, run one of the following command to install NextUI:
660
+
661
+ <PackageManagers
662
+ commands={{
663
+ - npm: 'npm i @nextui-org/react framer-motion',
664
+ - yarn: 'yarn add @nextui-org/react framer-motion',
665
+ - pnpm: 'pnpm add @nextui-org/react framer-motion',
666
+ + npm: 'npm i @nextui-org/react motion',
667
+ + yarn: 'yarn add @nextui-org/react motion',
668
+ + pnpm: 'pnpm add @nextui-org/react motion',
669
+ }}
670
+ />
671
+
672
+ @@ -184,7 +184,7 @@ After modifying the `.npmrc` file, you need to run `pnpm install` again to ensur
673
+ ### Tailwind CSS Setup
674
+
675
+ NextUI is built on top of Tailwind CSS, so you need to install Tailwind CSS first. You can follow the official
676
+ -[installation guide](https://tailwindcss.com/docs/guides/nextjs) to install Tailwind CSS. Then you need to add
677
+ +[installation guide](https://tailwindcss.com/docs/guides/nextjs) to install Tailwind CSS. Then you need to add
678
+ the following code to your `tailwind.config.js` file:
679
+
680
+
681
+ @@ -260,15 +260,15 @@ NextUI v2 requires React 18 or later. To upgrade React, run the following comman
682
+ }}
683
+ />
684
+
685
+ -### Install Framer motion
686
+ +### Install Motion
687
+
688
+ -In v2, NextUI now requires `framer-motion` as a dependency. To install both, use the following command:
689
+ +In v2, NextUI now requires `motion` as a dependency. To install both, use the following command:
690
+
691
+ <PackageManagers
692
+ commands={{
693
+ - npm: 'npm i framer-motion',
694
+ - yarn: 'yarn add framer-motion',
695
+ - pnpm: 'pnpm add framer-motion',
696
+ + npm: 'npm i motion',
697
+ + yarn: 'yarn add motion',
698
+ + pnpm: 'pnpm add motion',
699
+ }}
700
+ />
701
+ \n- apps/docs/package.json (modified, 2 changes)\n Patch: @@ -58,7 +58,7 @@
702
+ "color2k": "2.0.3",
703
+ "contentlayer2": "0.5.3",
704
+ "date-fns": "4.1.0",
705
+ - "framer-motion": "11.11.13",
706
+ + "motion": "11.13.1",
707
+ "geist": "1.3.1",
708
+ "github-slugger": "^2.0.0",
709
+ "gray-matter": "^4.0.3",\n- packages/components/accordion/package.json (modified, 6 changes)\n Patch: @@ -42,7 +42,7 @@
710
+ "peerDependencies": {
711
+ "react": ">=18 || >=19.0.0-rc.0",
712
+ "react-dom": ">=18 || >=19.0.0-rc.0",
713
+ - "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
714
+ + "motion": ">=11.11.12 || >=12.0.0-alpha.1",
715
+ "@nextui-org/theme": ">=2.4.0",
716
+ "@nextui-org/system": ">=2.4.0"
717
+ },
718
+ @@ -70,10 +70,10 @@
719
+ "@nextui-org/avatar": "workspace:*",
720
+ "@nextui-org/input": "workspace:*",
721
+ "@nextui-org/test-utils": "workspace:*",
722
+ - "framer-motion": "11.9.0",
723
+ "clean-package": "2.2.0",
724
+ + "motion": "11.11.12",
725
+ "react": "^18.0.0",
726
+ "react-dom": "^18.0.0"
727
+ },
728
+ "clean-package": "../../../clean-package.config.json"
729
+ -}
730
+
731
+ +}\n- packages/components/accordion/src/accordion-item.tsx (modified, 4 changes)\n Patch: @@ -1,9 +1,9 @@
732
+ -import type {Variants} from "framer-motion";
733
+ +import type {Variants} from "motion/react";
734
+
735
+ import {forwardRef} from "@nextui-org/system";
736
+ import {useMemo, ReactNode} from "react";
737
+ import {ChevronIcon} from "@nextui-org/shared-icons";
738
+ -import {AnimatePresence, LazyMotion, m, useWillChange} from "framer-motion";
739
+ +import {AnimatePresence, LazyMotion, m, useWillChange} from "motion/react";
740
+ import {TRANSITION_VARIANTS} from "@nextui-org/framer-utils";
741
+
742
+ import {UseAccordionItemProps, useAccordionItem} from "./use-accordion-item";\n- packages/components/accordion/src/accordion.tsx (modified, 2 changes)\n Patch: @@ -1,5 +1,5 @@
743
+ import {forwardRef} from "@nextui-org/system";
744
+ -import {LayoutGroup} from "framer-motion";
745
+ +import {LayoutGroup} from "motion/react";
746
+ import {Divider} from "@nextui-org/divider";
747
+ import {Fragment, Key, useCallback, useMemo} from "react";
748
+ \n- packages/components/accordion/src/base/accordion-item-base.tsx (modified, 2 changes)\n Patch: @@ -8,7 +8,7 @@ import {As} from "@nextui-org/system";
749
+ import {ItemProps, BaseItem} from "@nextui-org/aria-utils";
750
+ import {FocusableProps, PressEvents} from "@react-types/shared";
751
+ import {ReactNode, MouseEventHandler} from "react";
752
+ -import {HTMLMotionProps} from "framer-motion";
753
+ +import {HTMLMotionProps} from "motion/react";
754
+
755
+ export type AccordionItemIndicatorProps = {
756
+ /**\n- packages/components/autocomplete/package.json (modified, 4 changes)\n Patch: @@ -36,7 +36,7 @@
757
+ "peerDependencies": {
758
+ "@nextui-org/system": ">=2.4.0",
759
+ "@nextui-org/theme": ">=2.4.0",
760
+ - "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
761
+ + "motion": ">=11.11.12 || >=12.0.0-alpha.1",
762
+ "react": ">=18 || >=19.0.0-rc.0",
763
+ "react-dom": ">=18 || >=19.0.0-rc.0"
764
+ },
765
+ @@ -73,7 +73,7 @@
766
+ "@nextui-org/use-infinite-scroll": "workspace:*",
767
+ "@react-stately/data": "3.11.7",
768
+ "clean-package": "2.2.0",
769
+ - "framer-motion": "11.9.0",
770
+ + "motion": "11.11.12",
771
+ "react": "^18.0.0",
772
+ "react-dom": "^18.0.0",
773
+ "react-hook-form": "^7.51.3"\n- packages/components/autocomplete/src/autocomplete.tsx (modified, 2 changes)\n Patch: @@ -6,7 +6,7 @@ import {Listbox} from "@nextui-org/listbox";
774
+ import {Button} from "@nextui-org/button";
775
+ import {Input} from "@nextui-org/input";
776
+ import {ForwardedRef, ReactElement} from "react";
777
+ -import {AnimatePresence} from "framer-motion";
778
+ +import {AnimatePresence} from "motion/react";
779
+
780
+ import {UseAutocompleteProps, useAutocomplete} from "./use-autocomplete";
781
+ \n- packages/components/button/package.json (modified, 6 changes)\n Patch: @@ -36,7 +36,7 @@
782
+ "peerDependencies": {
783
+ "react": ">=18 || >=19.0.0-rc.0",
784
+ "react-dom": ">=18 || >=19.0.0-rc.0",
785
+ - "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
786
+ + "motion": ">=11.11.12 || >=12.0.0-alpha.1",
787
+ "@nextui-org/theme": ">=2.4.0",
788
+ "@nextui-org/system": ">=2.4.0"
789
+ },
790
+ @@ -57,10 +57,10 @@
791
+ "@nextui-org/theme": "workspace:*",
792
+ "@nextui-org/system": "workspace:*",
793
+ "@nextui-org/shared-icons": "workspace:*",
794
+ - "framer-motion": "11.9.0",
795
+ "clean-package": "2.2.0",
796
+ + "motion": "11.11.12",
797
+ "react": "^18.0.0",
798
+ "react-dom": "^18.0.0"
799
+ },
800
+ "clean-package": "../../../clean-package.config.json"
801
+ -}
802
+
803
+ +}\n- packages/components/calendar/package.json (modified, 4 changes)\n Patch: @@ -36,7 +36,7 @@
804
+ "peerDependencies": {
805
+ "@nextui-org/system": ">=2.4.0",
806
+ "@nextui-org/theme": ">=2.4.0",
807
+ - "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
808
+ + "motion": ">=11.11.12 || >=12.0.0-alpha.1",
809
+ "react": ">=18 || >=19.0.0-rc.0",
810
+ "react-dom": ">=18 || >=19.0.0-rc.0"
811
+ },
812
+ @@ -68,7 +68,7 @@
813
+ "@nextui-org/theme": "workspace:*",
814
+ "@nextui-org/radio": "workspace:*",
815
+ "@nextui-org/test-utils": "workspace:*",
816
+ - "framer-motion": "11.9.0",
817
+ + "motion": "11.11.12",
818
+ "clean-package": "2.2.0",
819
+ "react": "^18.0.0",
820
+ "react-dom": "^18.0.0"\n- packages/components/calendar/src/calendar-base.tsx (modified, 2 changes)\n Patch: @@ -7,7 +7,7 @@ import {Fragment, useState} from "react";
821
+ import {VisuallyHidden} from "@react-aria/visually-hidden";
822
+ import {Button} from "@nextui-org/button";
823
+ import {chain, mergeProps} from "@react-aria/utils";
824
+ -import {AnimatePresence, LazyMotion, MotionConfig} from "framer-motion";
825
+ +import {AnimatePresence, LazyMotion, MotionConfig} from "motion/react";
826
+ import {ResizablePanel} from "@nextui-org/framer-utils";
827
+
828
+ import {ChevronLeftIcon} from "./chevron-left";\n- packages/components/calendar/src/calendar-header.tsx (modified, 2 changes)\n Patch: @@ -3,7 +3,7 @@ import type {CalendarDate} from "@internationalized/date";
829
+
830
+ import {HTMLNextUIProps} from "@nextui-org/system";
831
+ import {useDateFormatter} from "@react-aria/i18n";
832
+ -import {m} from "framer-motion";
833
+ +import {m} from "motion/react";
834
+ import {Button} from "@nextui-org/button";
835
+ import {useCallback} from "react";
836
+ \n- packages/components/calendar/src/calendar-month.tsx (modified, 2 changes)\n Patch: @@ -3,7 +3,7 @@ import {CalendarPropsBase} from "@react-types/calendar";
837
+ import {HTMLNextUIProps} from "@nextui-org/system";
838
+ import {useLocale} from "@react-aria/i18n";
839
+ import {useCalendarGrid} from "@react-aria/calendar";
840
+ -import {m} from "framer-motion";
841
+ +import {m} from "motion/react";
842
+ import {dataAttr, getInertValue} from "@nextui-org/shared-utils";
843
+
844
+ import {CalendarCell} from "./calendar-cell";\n- packages/components/calendar/src/calendar-transitions.ts (modified, 2 changes)\n Patch: @@ -1,4 +1,4 @@
845
+ -import {Variants} from "framer-motion";
846
+ +import {Variants} from "motion/react";
847
+
848
+ export const transition = {
849
+ type: "spring",\n- packages/components/card/package.json (modified, 6 changes)\n Patch: @@ -36,7 +36,7 @@
850
+ "peerDependencies": {
851
+ "react": ">=18 || >=19.0.0-rc.0",
852
+ "react-dom": ">=18 || >=19.0.0-rc.0",
853
+ - "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
854
+ + "motion": ">=11.11.12 || >=12.0.0-alpha.1",
855
+ "@nextui-org/theme": ">=2.4.0",
856
+ "@nextui-org/system": ">=2.4.0"
857
+ },
858
+ @@ -59,10 +59,10 @@
859
+ "@nextui-org/button": "workspace:*",
860
+ "@nextui-org/avatar": "workspace:*",
861
+ "@nextui-org/image": "workspace:*",
862
+ - "framer-motion": "11.9.0",
863
+ "clean-package": "2.2.0",
864
+ + "motion": "11.11.12",
865
+ "react": "^18.0.0",
866
+ "react-dom": "^18.0.0"
867
+ },
868
+ "clean-package": "../../../clean-package.config.json"
869
+ -}
870
+
871
+ +}\n- packages/components/date-picker/package.json (modified, 4 changes)\n Patch: @@ -36,7 +36,7 @@
872
+ "peerDependencies": {
873
+ "@nextui-org/system": ">=2.4.0",
874
+ "@nextui-org/theme": ">=2.4.0",
875
+ - "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
876
+ + "motion": ">=11.11.12 || >=12.0.0-alpha.1",
877
+ "react": ">=18 || >=19.0.0-rc.0",
878
+ "react-dom": ">=18 || >=19.0.0-rc.0"
879
+ },
880
+ @@ -65,8 +65,8 @@
881
+ "@nextui-org/system": "workspace:*",
882
+ "@nextui-org/test-utils": "workspace:*",
883
+ "@nextui-org/theme": "workspace:*",
884
+ - "framer-motion": "11.9.0",
885
+ "clean-package": "2.2.0",
886
+ + "motion": "11.11.12",
887
+ "react": "^18.0.0",
888
+ "react-dom": "^18.0.0"
889
+ },\n
processed_docs/pr_data_0_doc_16.txt ADDED
@@ -0,0 +1,468 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4264
2
+ Title: fix: missing react-types package added
3
+ Base Branch: canary
4
+ Head Branch: fix/react-types-system
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4264
7
+ State: MERGED
8
+ Created At: 2024-12-07T13:31:39Z
9
+ Merged At: 2024-12-08T12:20:17Z
10
+ Participants: jrgarciadev, AnYiEE, wingkwong
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+
26
+
27
+ Bug Fixes
28
+
29
+ Resolved a missing dependency issue by adding react-types to enhance functionality and type safety.
30
+
31
+
32
+
33
+ New Features
34
+
35
+ Updated the dependency @react-types/shared to version 3.26.0 across multiple packages, improving overall functionality and compatibility.
36
+
37
+ Commits:
38
+ - fix: missing react-types package added\n- Merge branch 'canary' of github.com:nextui-org/nextui into fix/react-types-system\n- chore: react types version increased\n
39
+
40
+ Labels:
41
+
42
+
43
+ Comments:
44
+ - changeset-bot: ### πŸ¦‹ Changeset detected
45
+
46
+ Latest commit: ff63a16d648c2e86b1fee6dfdf2b661f73cab166
47
+
48
+ **The changes in this PR will be included in the next version bump.**
49
+
50
+ <details><summary>This PR includes changesets to release 27 packages</summary>
51
+
52
+ | Name | Type |
53
+ | ------------------------ | ----- |
54
+ | @nextui-org/system | Patch |
55
+ | @nextui-org/accordion | Patch |
56
+ | @nextui-org/autocomplete | Patch |
57
+ | @nextui-org/calendar | Patch |
58
+ | @nextui-org/checkbox | Patch |
59
+ | @nextui-org/date-input | Patch |
60
+ | @nextui-org/date-picker | Patch |
61
+ | @nextui-org/drawer | Patch |
62
+ | @nextui-org/dropdown | Patch |
63
+ | @nextui-org/form | Patch |
64
+ | @nextui-org/input-otp | Patch |
65
+ | @nextui-org/input | Patch |
66
+ | @nextui-org/listbox | Patch |
67
+ | @nextui-org/menu | Patch |
68
+ | @nextui-org/modal | Patch |
69
+ | @nextui-org/navbar | Patch |
70
+ | @nextui-org/popover | Patch |
71
+ | @nextui-org/radio | Patch |
72
+ | @nextui-org/select | Patch |
73
+ | @nextui-org/slider | Patch |
74
+ | @nextui-org/snippet | Patch |
75
+ | @nextui-org/table | Patch |
76
+ | @nextui-org/tabs | Patch |
77
+ | @nextui-org/tooltip | Patch |
78
+ | @nextui-org/react | Patch |
79
+ | @nextui-org/aria-utils | Patch |
80
+ | @nextui-org/framer-utils | Patch |
81
+
82
+ </details>
83
+
84
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
85
+
86
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/fix/react-types-system?filename=.changeset/cold-cooks-love.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A%22%40nextui-org%2Faccordion%22%3A%20patch%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Fbreadcrumbs%22%3A%20patch%0A%22%40nextui-org%2Fbutton%22%3A%20patch%0A%22%40nextui-org%2Fcalendar%22%3A%20patch%0A%22%40nextui-org%2Fcard%22%3A%20patch%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fdate-input%22%3A%20patch%0A%22%40nextui-org%2Fdate-picker%22%3A%20patch%0A%22%40nextui-org%2Fdivider%22%3A%20patch%0A%22%40nextui-org%2Fdropdown%22%3A%20patch%0A%22%40nextui-org%2Fform%22%3A%20patch%0A%22%40nextui-org%2Finput%22%3A%20patch%0A%22%40nextui-org%2Flistbox%22%3A%20patch%0A%22%40nextui-org%2Fmenu%22%3A%20patch%0A%22%40nextui-org%2Fradio%22%3A%20patch%0A%22%40nextui-org%2Fselect%22%3A%20patch%0A%22%40nextui-org%2Fswitch%22%3A%20patch%0A%22%40nextui-org%2Ftabs%22%3A%20patch%0A%22%40nextui-org%2Fsystem-rsc%22%3A%20patch%0A%22%40nextui-org%2Fsystem%22%3A%20patch%0A%22%40nextui-org%2Fuse-aria-accordion-item%22%3A%20patch%0A%22%40nextui-org%2Fuse-aria-accordion%22%3A%20patch%0A%22%40nextui-org%2Fuse-aria-button%22%3A%20patch%0A%22%40nextui-org%2Fuse-aria-link%22%3A%20patch%0A%22%40nextui-org%2Fuse-aria-menu%22%3A%20patch%0A%22%40nextui-org%2Fuse-aria-modal-overlay%22%3A%20patch%0A---%0A%0Afix%3A%20missing%20react-types%20package%20added%0A)
87
+
88
+ \n- vercel: [vc]: #N/JJhzqHteDpBt3mUhbjk4KZXjECt+mDL1iUa50L/qE=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9CaXJNUTdFc1RpTEZSZmI4VDh3SndjWXFiMVdKIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtcmVhY3QtdHlwZXMtc3lzdGVtLW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktZG9jcy12Mi1naXQtZml4LXJlYWN0LXR5cGVzLXN5c3RlbS1uZXh0dWktb3JnLnZlcmNlbC5hcHAifX0seyJuYW1lIjoibmV4dHVpLXN0b3J5Ym9vay12MiIsInJvb3REaXJlY3RvcnkiOiJwYWNrYWdlcy9zdG9yeWJvb2siLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktc3Rvcnlib29rLXYyL0JvZ2ZkQnBBTXVEM0FxOFIzbkw3aDNxQzgzdWkiLCJwcmV2aWV3VXJsIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LXJlYWN0LXR5cGVzLXN5c3RlbS1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LXJlYWN0LXR5cGVzLXN5c3RlbS1uZXh0dWktb3JnLnZlcmNlbC5hcHAifX1dfQ==
89
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
90
+
91
+ | Name | Status | Preview | Comments | Updated (UTC) |
92
+ | :--- | :----- | :------ | :------- | :------ |
93
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/BirMQ7EsTiLFRfb8T8wJwcYqb1WJ)) | [Visit Preview](https://nextui-docs-v2-git-fix-react-types-system-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-react-types-system-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 8, 2024 0:21am |
94
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/BogfdBpAMuD3Aq8R3nL7h3qC83ui)) | [Visit Preview](https://nextui-storybook-v2-git-fix-react-types-system-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-react-types-system-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 8, 2024 0:21am |
95
+
96
+
97
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
98
+
99
+
100
+
101
+
102
+ <!-- walkthrough_start -->
103
+
104
+ ## Walkthrough
105
+ A patch has been introduced for the `@nextui-org/system` package to resolve a missing dependency issue by adding the `react-types` package. Additionally, the `package.json` files across various packages have been updated to include a new dependency on `@react-types/shared` at version `3.26.0`. These changes enhance type safety and ensure that necessary types for React are included in the packages.
106
+
107
+ ## Changes
108
+
109
+ | File | Change Summary |
110
+ |----------------------------------------------|---------------------------------------------------------------|
111
+ | .changeset/gorgeous-mice-think.md | Added dependency: `react-types` to `@nextui-org/system`. |
112
+ | packages/core/system/package.json | Added dependency: `"@react-types/shared": "3.26.0"` in `package.json`. |
113
+ | apps/docs/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"` in `devDependencies`. |
114
+ | package.json | Updated dependency version: `@react-types/shared` from `3.25.0` to `3.26.0`. |
115
+ | packages/components/accordion/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
116
+ | packages/components/autocomplete/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
117
+ | packages/components/breadcrumbs/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
118
+ | packages/components/button/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
119
+ | packages/components/calendar/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
120
+ | packages/components/card/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
121
+ | packages/components/checkbox/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
122
+ | packages/components/date-input/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
123
+ | packages/components/date-picker/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
124
+ | packages/components/divider/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
125
+ | packages/components/dropdown/src/use-dropdown.ts | Updated item retrieval logic in `getMenuItem` function. |
126
+ | packages/components/form/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
127
+ | packages/components/input/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
128
+ | packages/components/listbox/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
129
+ | packages/components/menu/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
130
+ | packages/components/radio/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
131
+ | packages/components/select/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
132
+ | packages/components/switch/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
133
+ | packages/components/tabs/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
134
+ | packages/core/system-rsc/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` οΏ½οΏ½οΏ½ `"3.26.0"`. |
135
+ | packages/hooks/use-aria-accordion-item/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
136
+ | packages/hooks/use-aria-accordion/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
137
+ | packages/hooks/use-aria-button/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
138
+ | packages/hooks/use-aria-link/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
139
+ | packages/hooks/use-aria-menu/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
140
+ | packages/hooks/use-aria-modal-overlay/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
141
+ | packages/hooks/use-aria-multiselect/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
142
+ | packages/hooks/use-aria-toggle-button/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
143
+ | packages/hooks/use-intersection-observer/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
144
+ | packages/utilities/aria-utils/package.json | Updated dependency version: `"@react-types/shared": "3.25.0"` β†’ `"3.26.0"`. |
145
+
146
+ ## Possibly related PRs
147
+ - #2943: This PR addresses a missing logic issue related to the `useHref` function in the `@nextui-org/system` package, which is relevant to the changes made in the main PR regarding the addition of the `react-types` dependency.
148
+ - #3119: This PR fixes a href issue in the `@nextui-org/system` package, which may relate to the changes in the main PR that involve ensuring proper type handling and dependencies.
149
+ - #3501: This PR adds `@react-types/shared` to the `system-rsc` package, which is directly related to the changes in the main PR that involve adding dependencies for type safety.
150
+ - #4226: This PR updates the `@react-aria/utils` version, which is relevant as the main PR also involves updates to dependencies that enhance type safety and functionality.
151
+
152
+ ## Suggested labels
153
+ `πŸ“‹ Scope : Docs`
154
+
155
+ ## Suggested reviewers
156
+ - wingkwong
157
+
158
+ <!-- walkthrough_end -->
159
+ <!-- internal state start -->
160
+
161
+
162
+ <!-- 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= -->
163
+
164
+ <!-- internal state end -->
165
+ <!-- tips_start -->
166
+
167
+ ---
168
+
169
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
170
+
171
+ <details>
172
+ <summary>❀️ Share</summary>
173
+
174
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
175
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
176
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
177
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
178
+
179
+ </details>
180
+
181
+ <details>
182
+ <summary>πŸͺ§ Tips</summary>
183
+
184
+ ### Chat
185
+
186
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
187
+
188
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
189
+ - `I pushed a fix in commit <commit_id>, please review it.`
190
+ - `Generate unit testing code for this file.`
191
+ - `Open a follow-up GitHub issue for this discussion.`
192
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
193
+ - `@coderabbitai generate unit testing code for this file.`
194
+ - `@coderabbitai modularize this function.`
195
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
196
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
197
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
198
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
199
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
200
+
201
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
202
+
203
+ ### CodeRabbit Commands (Invoked using PR comments)
204
+
205
+ - `@coderabbitai pause` to pause the reviews on a PR.
206
+ - `@coderabbitai resume` to resume the paused reviews.
207
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
208
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
209
+ - `@coderabbitai summary` to regenerate the summary of the PR.
210
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
211
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
212
+ - `@coderabbitai help` to get help.
213
+
214
+ ### Other keywords and placeholders
215
+
216
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
217
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
218
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
219
+
220
+ ### Documentation and Community
221
+
222
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
223
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
224
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
225
+
226
+ </details>
227
+
228
+ <!-- tips_end -->\n- jrgarciadev: @AnYiEE fixed, thanks for the suggestions, just checked it out and everything works as expected with the `v3.26.0` \n
229
+
230
+ Files Changed:
231
+ - .changeset/gorgeous-mice-think.md (added, 5 changes)\n Patch: @@ -0,0 +1,5 @@
232
+ +---
233
+ +"@nextui-org/system": patch
234
+ +---
235
+ +
236
+ +Fix, mising react-types package added to the system package\n- apps/docs/package.json (modified, 2 changes)\n Patch: @@ -106,7 +106,7 @@
237
+ "@next/env": "14.3.0-canary.43",
238
+ "@react-types/calendar": "3.4.10",
239
+ "@react-types/datepicker": "3.8.3",
240
+ - "@react-types/shared": "3.25.0",
241
+ + "@react-types/shared": "3.26.0",
242
+ "@tailwindcss/typography": "^0.5.9",
243
+ "@types/canvas-confetti": "^1.4.2",
244
+ "@types/marked": "^5.0.0",\n- package.json (modified, 2 changes)\n Patch: @@ -71,7 +71,7 @@
245
+ "@commitlint/config-conventional": "^17.2.0",
246
+ "@react-bootstrap/babel-preset": "^2.1.0",
247
+ "@react-types/link": "3.5.7",
248
+ - "@react-types/shared": "3.25.0",
249
+ + "@react-types/shared": "3.26.0",
250
+ "@storybook/react": "^8.4.5",
251
+ "@swc/core": "^1.3.35",
252
+ "@swc/jest": "^0.2.24",\n- packages/components/accordion/package.json (modified, 2 changes)\n Patch: @@ -61,7 +61,7 @@
253
+ "@react-stately/tree": "3.8.5",
254
+ "@react-aria/button": "3.10.1",
255
+ "@react-types/accordion": "3.0.0-alpha.24",
256
+ - "@react-types/shared": "3.25.0"
257
+ + "@react-types/shared": "3.26.0"
258
+ },
259
+ "devDependencies": {
260
+ "@nextui-org/theme": "workspace:*",\n- packages/components/autocomplete/package.json (modified, 2 changes)\n Patch: @@ -62,7 +62,7 @@
261
+ "@react-aria/visually-hidden": "3.8.17",
262
+ "@react-stately/combobox": "3.10.0",
263
+ "@react-types/combobox": "3.13.0",
264
+ - "@react-types/shared": "3.25.0"
265
+ + "@react-types/shared": "3.26.0"
266
+ },
267
+ "devDependencies": {
268
+ "@nextui-org/avatar": "workspace:*",\n- packages/components/breadcrumbs/package.json (modified, 2 changes)\n Patch: @@ -47,7 +47,7 @@
269
+ "@react-aria/breadcrumbs": "3.5.18",
270
+ "@react-aria/utils": "3.26.0",
271
+ "@react-types/breadcrumbs": "3.7.8",
272
+ - "@react-types/shared": "3.25.0"
273
+ + "@react-types/shared": "3.26.0"
274
+ },
275
+ "devDependencies": {
276
+ "@nextui-org/theme": "workspace:*",\n- packages/components/button/package.json (modified, 2 changes)\n Patch: @@ -50,7 +50,7 @@
277
+ "@react-aria/interactions": "3.22.4",
278
+ "@react-aria/utils": "3.26.0",
279
+ "@react-aria/focus": "3.18.4",
280
+ - "@react-types/shared": "3.25.0",
281
+ + "@react-types/shared": "3.26.0",
282
+ "@react-types/button": "3.10.0"
283
+ },
284
+ "devDependencies": {\n- packages/components/calendar/package.json (modified, 2 changes)\n Patch: @@ -59,7 +59,7 @@
285
+ "@react-stately/utils": "3.10.4",
286
+ "@react-types/calendar": "3.4.10",
287
+ "@react-aria/interactions": "3.22.4",
288
+ - "@react-types/shared": "3.25.0",
289
+ + "@react-types/shared": "3.26.0",
290
+ "scroll-into-view-if-needed": "3.0.10",
291
+ "@types/lodash.debounce": "^4.0.7"
292
+ },\n- packages/components/card/package.json (modified, 2 changes)\n Patch: @@ -49,7 +49,7 @@
293
+ "@react-aria/utils": "3.26.0",
294
+ "@react-aria/interactions": "3.22.4",
295
+ "@react-aria/button": "3.10.1",
296
+ - "@react-types/shared": "3.25.0"
297
+ + "@react-types/shared": "3.26.0"
298
+ },
299
+ "devDependencies": {
300
+ "@nextui-org/theme": "workspace:*",\n- packages/components/checkbox/package.json (modified, 2 changes)\n Patch: @@ -53,7 +53,7 @@
301
+ "@react-stately/checkbox": "3.6.9",
302
+ "@react-stately/toggle": "3.7.8",
303
+ "@react-types/checkbox": "3.8.4",
304
+ - "@react-types/shared": "3.25.0"
305
+ + "@react-types/shared": "3.26.0"
306
+ },
307
+ "devDependencies": {
308
+ "@nextui-org/chip": "workspace:*",\n- packages/components/date-input/package.json (modified, 2 changes)\n Patch: @@ -48,7 +48,7 @@
309
+ "@react-aria/i18n": "3.12.3",
310
+ "@react-stately/datepicker": "3.10.3",
311
+ "@react-types/datepicker": "3.8.3",
312
+ - "@react-types/shared": "3.25.0",
313
+ + "@react-types/shared": "3.26.0",
314
+ "@react-aria/utils": "3.26.0"
315
+ },
316
+ "devDependencies": {\n- packages/components/date-picker/package.json (modified, 2 changes)\n Patch: @@ -58,7 +58,7 @@
317
+ "@react-stately/overlays": "3.6.11",
318
+ "@react-stately/utils": "3.10.4",
319
+ "@react-types/datepicker": "3.8.3",
320
+ - "@react-types/shared": "3.25.0"
321
+ + "@react-types/shared": "3.26.0"
322
+ },
323
+ "devDependencies": {
324
+ "@nextui-org/radio": "workspace:*",\n- packages/components/divider/package.json (modified, 2 changes)\n Patch: @@ -42,7 +42,7 @@
325
+ "@nextui-org/shared-utils": "workspace:*",
326
+ "@nextui-org/react-rsc-utils": "workspace:*",
327
+ "@nextui-org/system-rsc": "workspace:*",
328
+ - "@react-types/shared": "3.25.0"
329
+ + "@react-types/shared": "3.26.0"
330
+ },
331
+ "devDependencies": {
332
+ "@nextui-org/theme": "workspace:*",\n- packages/components/dropdown/src/use-dropdown.ts (modified, 2 changes)\n Patch: @@ -51,7 +51,7 @@ const getMenuItem = <T extends object>(props: Partial<MenuProps<T>> | undefined,
333
+
334
+ if (mergedChildren && mergedChildren.length) {
335
+ const item = ((mergedChildren as CollectionElement<T>[]).find((item) => {
336
+ - if (item.key === key) {
337
+ + if (item && item.key === key) {
338
+ return item;
339
+ }
340
+ }) || {}) as {props: MenuProps};\n- packages/components/form/package.json (modified, 2 changes)\n Patch: @@ -45,7 +45,7 @@
341
+ "@nextui-org/system": "workspace:*",
342
+ "@nextui-org/theme": "workspace:*",
343
+ "@react-aria/utils": "3.26.0",
344
+ - "@react-types/shared": "3.25.0",
345
+ + "@react-types/shared": "3.26.0",
346
+ "@react-stately/form": "3.0.6",
347
+ "@react-types/form": "^3.7.8"
348
+ },\n- packages/components/input/package.json (modified, 2 changes)\n Patch: @@ -50,7 +50,7 @@
349
+ "@react-aria/textfield": "3.14.10",
350
+ "@react-aria/utils": "3.26.0",
351
+ "@react-stately/utils": "3.10.4",
352
+ - "@react-types/shared": "3.25.0",
353
+ + "@react-types/shared": "3.26.0",
354
+ "@react-types/textfield": "3.9.7",
355
+ "react-textarea-autosize": "^8.5.3"
356
+ },\n- packages/components/listbox/package.json (modified, 2 changes)\n Patch: @@ -52,7 +52,7 @@
357
+ "@react-aria/focus": "3.18.4",
358
+ "@react-aria/interactions": "3.22.4",
359
+ "@react-types/menu": "3.9.12",
360
+ - "@react-types/shared": "3.25.0"
361
+ + "@react-types/shared": "3.26.0"
362
+ },
363
+ "devDependencies": {
364
+ "@nextui-org/avatar": "workspace:*",\n- packages/components/menu/package.json (modified, 2 changes)\n Patch: @@ -53,7 +53,7 @@
365
+ "@react-stately/menu": "3.8.3",
366
+ "@react-stately/tree": "3.8.5",
367
+ "@react-types/menu": "3.9.12",
368
+ - "@react-types/shared": "3.25.0"
369
+ + "@react-types/shared": "3.26.0"
370
+ },
371
+ "devDependencies": {
372
+ "@nextui-org/theme": "workspace:*",\n- packages/components/radio/package.json (modified, 2 changes)\n Patch: @@ -50,7 +50,7 @@
373
+ "@react-aria/visually-hidden": "3.8.17",
374
+ "@react-stately/radio": "3.10.8",
375
+ "@react-types/radio": "3.8.4",
376
+ - "@react-types/shared": "3.25.0"
377
+ + "@react-types/shared": "3.26.0"
378
+ },
379
+ "devDependencies": {
380
+ "@nextui-org/theme": "workspace:*",\n- packages/components/select/package.json (modified, 2 changes)\n Patch: @@ -58,7 +58,7 @@
381
+ "@react-aria/interactions": "3.22.4",
382
+ "@react-aria/utils": "3.26.0",
383
+ "@react-aria/visually-hidden": "3.8.17",
384
+ - "@react-types/shared": "3.25.0",
385
+ + "@react-types/shared": "3.26.0",
386
+ "@tanstack/react-virtual": "3.10.9"
387
+ },
388
+ "devDependencies": {\n- packages/components/switch/package.json (modified, 2 changes)\n Patch: @@ -49,7 +49,7 @@
389
+ "@react-aria/utils": "3.26.0",
390
+ "@react-aria/visually-hidden": "3.8.17",
391
+ "@react-stately/toggle": "3.7.8",
392
+ - "@react-types/shared": "3.25.0"
393
+ + "@react-types/shared": "3.26.0"
394
+ },
395
+ "devDependencies": {
396
+ "@nextui-org/theme": "workspace:*",\n- packages/components/tabs/package.json (modified, 2 changes)\n Patch: @@ -52,7 +52,7 @@
397
+ "@react-aria/tabs": "3.9.7",
398
+ "@react-aria/utils": "3.26.0",
399
+ "@react-stately/tabs": "3.6.10",
400
+ - "@react-types/shared": "3.25.0",
401
+ + "@react-types/shared": "3.26.0",
402
+ "@react-types/tabs": "3.3.10",
403
+ "scroll-into-view-if-needed": "3.0.10"
404
+ },\n- packages/core/system-rsc/package.json (modified, 2 changes)\n Patch: @@ -46,7 +46,7 @@
405
+ "clean-package": "2.2.0"
406
+ },
407
+ "dependencies": {
408
+ - "@react-types/shared": "3.25.0",
409
+ + "@react-types/shared": "3.26.0",
410
+ "clsx": "^1.2.1"
411
+ },
412
+ "clean-package": "../../../clean-package.config.json",\n- packages/core/system/package.json (modified, 3 changes)\n Patch: @@ -61,6 +61,7 @@
413
+ "@react-aria/overlays": "3.23.4",
414
+ "@react-aria/utils": "3.26.0",
415
+ "@react-stately/utils": "3.10.4",
416
+ - "@react-types/datepicker": "3.8.3"
417
+ + "@react-types/datepicker": "3.8.3",
418
+ + "@react-types/shared": "3.26.0"
419
+ }
420
+ }\n- packages/hooks/use-aria-accordion-item/package.json (modified, 2 changes)\n Patch: @@ -37,7 +37,7 @@
421
+ "@react-aria/button": "3.10.1",
422
+ "@react-aria/focus": "3.18.4",
423
+ "@react-stately/tree": "3.8.5",
424
+ - "@react-types/shared": "3.25.0"
425
+ + "@react-types/shared": "3.26.0"
426
+ },
427
+ "peerDependencies": {
428
+ "react": ">=18 || >=19.0.0-rc.0"\n- packages/hooks/use-aria-accordion/package.json (modified, 2 changes)\n Patch: @@ -40,7 +40,7 @@
429
+ "@react-aria/utils": "3.26.0",
430
+ "@react-stately/tree": "3.8.5",
431
+ "@react-types/accordion": "3.0.0-alpha.24",
432
+ - "@react-types/shared": "3.25.0"
433
+ + "@react-types/shared": "3.26.0"
434
+ },
435
+ "peerDependencies": {
436
+ "react": ">=18 || >=19.0.0-rc.0"\n- packages/hooks/use-aria-button/package.json (modified, 2 changes)\n Patch: @@ -41,7 +41,7 @@
437
+ "@react-aria/interactions": "3.22.4",
438
+ "@react-aria/utils": "3.26.0",
439
+ "@react-types/button": "3.10.0",
440
+ - "@react-types/shared": "3.25.0"
441
+ + "@react-types/shared": "3.26.0"
442
+ },
443
+ "devDependencies": {
444
+ "clean-package": "2.2.0",\n- packages/hooks/use-aria-link/package.json (modified, 2 changes)\n Patch: @@ -41,7 +41,7 @@
445
+ "@react-aria/interactions": "3.22.4",
446
+ "@react-aria/utils": "3.26.0",
447
+ "@react-types/link": "3.5.8",
448
+ - "@react-types/shared": "3.25.0"
449
+ + "@react-types/shared": "3.26.0"
450
+ },
451
+ "devDependencies": {
452
+ "clean-package": "2.2.0",\n- packages/hooks/use-aria-menu/package.json (modified, 2 changes)\n Patch: @@ -39,7 +39,7 @@
453
+ },
454
+ "dependencies": {
455
+ "@react-aria/utils": "3.26.0",
456
+ - "@react-types/shared": "3.25.0",
457
+ + "@react-types/shared": "3.26.0",
458
+ "@react-aria/menu": "3.15.5",
459
+ "@react-aria/interactions": "3.22.4",
460
+ "@react-stately/tree": "3.8.5",\n- packages/hooks/use-aria-modal-overlay/package.json (modified, 2 changes)\n Patch: @@ -37,7 +37,7 @@
461
+ "@react-aria/overlays": "3.23.4",
462
+ "@react-aria/utils": "3.26.0",
463
+ "@react-stately/overlays": "3.6.11",
464
+ - "@react-types/shared": "3.25.0"
465
+ + "@react-types/shared": "3.26.0"
466
+ },
467
+ "peerDependencies": {
468
+ "react": ">=18 || >=19.0.0-rc.0",\n
processed_docs/pr_data_0_doc_17.txt ADDED
@@ -0,0 +1,1509 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4262
2
+ Title: Docs & New version
3
+ Base Branch: main
4
+ Head Branch: canary
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4262
7
+ State: MERGED
8
+ Created At: 2024-12-07T12:34:58Z
9
+ Merged At: 2024-12-07T12:40:39Z
10
+ Participants: jrgarciadev, ryxxn, wingkwong, abhinav700, macci001, dgz9, juliesaia, alexnguyennz, nnmax, ryo-manba, ShrinidhiUpadhyaya, sanuj21, PentSec, winchesHe, awesome-pro, CanRau, AzpektDev, Peterl561, vinroger, jubar
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+
26
+
27
+ New Features
28
+
29
+ Introduced new components: Form, Drawer, Input OTP, and Alert in NextUI version 2.6.0.
30
+ Enhanced functionality with built-in validation and accessibility features for the Form component.
31
+ Added draggable modal functionality and improved router integration.
32
+
33
+
34
+
35
+ Bug Fixes
36
+
37
+ Corrected peer dependency issues across multiple packages.
38
+ Resolved layout issues in the DocsToc and DocPage components.
39
+
40
+
41
+
42
+ Documentation
43
+
44
+ Updated changelogs to reflect new versions and changes across various components.
45
+
46
+ Commits:
47
+ - fix(input): ensure clear button is not focusable when disabled (#3774)
48
+
49
+ * fix(input): ensure clear button is not focusable when disabled
50
+
51
+ * test(input): add test to ensure clear button is not focusable when disabled
52
+
53
+ * chore: add changeset for clear button focus fix when input is disabled
54
+
55
+ * fix(input): update clear button to use button element
56
+
57
+ * test(input): add focus test when disabled
58
+
59
+ and update tests for clear button using button element
60
+
61
+ * test(input): replace querySelector with getByRole for clear button
62
+
63
+ * fix(input): set tabIndex to -1 for clear button
64
+
65
+ * test(input): ensure clear button is not focusable\n- fix(image): add missing `w` to `getWrapperProps` dependency (#3802)
66
+
67
+ * fix(image): add missing `w` to `getWrapperProps` dependency
68
+
69
+ * chore(changeset): add changeset\n- fix(autocomplete): popover should remain open after clicking clear button (#3788)
70
+
71
+ * fix: add state.open() so that dropdown is not closed
72
+
73
+ * chore: add changeset
74
+
75
+ * chore(autocomplete): add testcases for keeping lisbox open when clearButton is clicked
76
+
77
+ * chore: update changeset
78
+
79
+ * chore(autocomplete): change the docs for test cases
80
+
81
+ * chore(changeset): update changeset message and add issue number
82
+
83
+ ---------
84
+
85
+ Co-authored-by: WK Wong <[email protected]>\n- refactor(docs): example of blurred card (#3741)
86
+
87
+ * docs(card): adding info regarding the gradient for blurred card
88
+
89
+ * chore(nit): adding example
90
+
91
+ * chore(docs): revise content for card isBlurred example
92
+
93
+ * chore(docs): revise isBlurred note
94
+
95
+ ---------
96
+
97
+ Co-authored-by: Maharshi Alpesh <[email protected]>
98
+ Co-authored-by: WK Wong <[email protected]>\n- fix(docs): replace twitter logo/links with x logo/links (#3815)
99
+
100
+ * fix(docs): replace Twitter logo/links with X logo/links
101
+
102
+ * docs: update twitter references to x
103
+
104
+ * docs: update changeset for twitter to x changes
105
+
106
+ * docs: update twitter references to x
107
+
108
+ * docs: update twitter references to x
109
+
110
+ * chore(docs): undo .sponsorsrc since it's generated
111
+
112
+ * refactor(docs): remove unnecessary classes
113
+
114
+ * chore(docs): undo .sponsorsrc since it's generated
115
+
116
+ ---------
117
+
118
+ Co-authored-by: WK Wong <[email protected]>\n- fix(date-picker): adding props from calendarProps to getCalendarProps (#3773)
119
+
120
+ * fix(date-picker): adding props from calendarProps to the getCalendarProps
121
+
122
+ * chore(date-picker): adding the changeset
123
+
124
+ * chore(changeset): add issue number
125
+
126
+ ---------
127
+
128
+ Co-authored-by: Maharshi Alpesh <[email protected]>
129
+ Co-authored-by: WK Wong <[email protected]>\n- feat(autocomplete): automatically focus first non-disabled item (#2186)
130
+
131
+ Co-authored-by: WK Wong <[email protected]>\n- docs(accordion): add overflow to custom motion example (#3793)\n- fix(docs): typos in dark mode page (#3823)\n- fix(theme): fullWidth in input and select (#3768)
132
+
133
+ * fix(input): fixing the fullWidth functionality
134
+
135
+ * chore(changeset): add issue number
136
+
137
+ * chore(changeset): revise changeset message
138
+
139
+ ---------
140
+
141
+ Co-authored-by: Maharshi Alpesh <[email protected]>
142
+ Co-authored-by: WK Wong <[email protected]>\n- fix(autocomplete): exit animation on popover close (#3845)
143
+
144
+ * fix(autocomplete): exit animation on popover close
145
+
146
+ * refactor(autocomplete): getListBoxProps
147
+
148
+ ---------
149
+
150
+ Co-authored-by: WK Wong <[email protected]>\n- chore: merge branch with main\n- refactor(theme): replace the use of RTL-specific styles with logical properties (#3868)
151
+
152
+ * chore(rtl): remove the usages of rtl
153
+
154
+ * chore(changeset): adding the changeset
155
+
156
+ * chore(changeset): update changeset message
157
+
158
+ ---------
159
+
160
+ Co-authored-by: WK Wong <[email protected]>\n- fix(select): label placement discrepancy in Select (#3853)
161
+
162
+ * fix(select): label placement incorrect in case of multiline
163
+
164
+ * chore(select): adding the changeset
165
+
166
+ * chore(select): adding the tests
167
+
168
+ * chore(select): code imrovement, wkw's suggestions
169
+
170
+ * chore(changeset): update changeset message
171
+
172
+ ---------
173
+
174
+ Co-authored-by: WK Wong <[email protected]>\n- fix(theme): label placement in select and input (#3869)
175
+
176
+ * fix(theme): fix the label placement
177
+
178
+ * chore(changeset): adding the changeset
179
+
180
+ * chore(select): adding comments\n- fix(docs): avoid translating the code block (#3878)
181
+
182
+ * docs(Codeblock): avoid code be translated
183
+
184
+ * fix(docs): lint issue
185
+
186
+ ---------
187
+
188
+ Co-authored-by: WK Wong <[email protected]>\n- fix(listbox): change listBoxItem key to optional (#3883)
189
+
190
+ * fix(listbox): listBoxItem key to optional
191
+
192
+ * chore: add defaultSelectedKeys test for numeric keys and ids
193
+
194
+ * chore: add changeset\n- chore: comment out section prompts in PR template (#3884)\n- chore(test): update testing libraries and refactor (#3886)\n- fix(theme): show margin only with label in Switch component (#3861)
195
+
196
+ * fix(switch): removed right margin in wrapper #3791
197
+
198
+ * feat(changeset): added changeset
199
+
200
+ * fix(switch): removed me-2 in wrapper
201
+
202
+ * fix(switch): added ms-2 to label
203
+
204
+ * chore(changeset): correct package and message
205
+
206
+ ---------
207
+
208
+ Co-authored-by: WK Wong <[email protected]>\n- fix(theme): removed pseudo cancel btn from input (#3912)
209
+
210
+ * fix(theme): removed pseudo cancel btn from input
211
+
212
+ * chore(changeset): adding the changeset
213
+
214
+ * fix(input): conditionally hiding the webkit search
215
+
216
+ * chore(changeset): revise changeset message
217
+
218
+ ---------
219
+
220
+ Co-authored-by: WK Wong <[email protected]>\n- refactor(docs): dx improvement in accordion (#3856)
221
+
222
+ * refactor: improve dx for writing a docs component (#2544)
223
+
224
+ * refactor: improve dx for write a docs component
225
+
226
+ Signed-off-by: Innei <[email protected]>
227
+
228
+ * refactor(docs): switch to contentlayer2
229
+
230
+ * chore(docs): rename to avoid conflict
231
+
232
+ * refactor(docs): switch to next-contentlayer2
233
+
234
+ * refactor(docs): revise docs lib
235
+
236
+ * chore(deps): bump docs related dependencies
237
+
238
+ * fix(use-aria-multiselect): type issue due to ts version bump
239
+
240
+ ---------
241
+
242
+ Signed-off-by: Innei <[email protected]>
243
+ Co-authored-by: WK Wong <[email protected]>
244
+
245
+ * refactor(docs): accordion codes
246
+
247
+ * feat(docs): declare module `*.jsx?raw`
248
+
249
+ * feat(docs): include `**/*.jsx`
250
+
251
+ * fix(docs): incorrect content
252
+
253
+ * chore(docs): add new lines
254
+
255
+ * refactor(docs): lint
256
+
257
+ ---------
258
+
259
+ Signed-off-by: Innei <[email protected]>
260
+ Co-authored-by: Innei <[email protected]>\n- fix(docs): typos in hero section (#3928)\n- fix(theme): support RTL for breadcrumbs (#3927)
261
+
262
+ * fix(breadcrumbs): added separator rotation for RTL #2486
263
+
264
+ * chore(changeset): added changeset\n- fix(docs): removed unused import and merged classNames in dropdown (#3936)
265
+
266
+ * fix(breadcrumbs): added separator rotation for RTL #2486
267
+
268
+ * chore(changeset): added changeset
269
+
270
+ * fix(docs): removed unused Link import and merged classnames in dropdown\n- fix: avatar filter disableAnimation to dom prop (#3946)\n- feat: add git hook to auto update dependencies (#3365)
271
+
272
+ * feat: add git hook to auto update dependencies
273
+
274
+ * feat: update color\n- fix: prevent test matcher warning (#3893)
275
+
276
+ * fix: prevent test matcher warning
277
+
278
+ * chore: add node types
279
+
280
+ * chore: update Jest related packages
281
+
282
+ * chore: run pnpm install\n- fix(tabs): correct inert value for true condition (#3978)\n- Alert component (#3982)
283
+
284
+ * feat(alert): began the work on alert component
285
+
286
+ * fix(readme): making correction
287
+
288
+ * chore(deps): change to 2.0.0
289
+
290
+ * chore(docs): update README.md
291
+
292
+ * feat(theme): init alert tv
293
+
294
+ * chore(alert): update package.json
295
+
296
+ * feat(alert): init alert storybook structure
297
+
298
+ * chore(changeset): add changeset
299
+
300
+ * chore(changeset): change to minor
301
+
302
+ * chore(alert): revise alert package.json
303
+
304
+ * feat(alert): init test structure
305
+
306
+ * chore(deps): pnpm-lock.yaml
307
+
308
+ * feat(alert): initailized theme and basic structure
309
+
310
+ * feat(alert): completed use-alert.ts and alert.tsx
311
+
312
+ * feat(alert): remove innerWrapper, replace helperWrapper with mainWrapper, adding isCloseable prop
313
+
314
+ * feat(alert): adding isCloseable prop to baseWrapper dependency
315
+
316
+ * feat(alert): setting the default value of isCloseable prop to true
317
+
318
+ * feat(alert): moving CloseIcon inside the button
319
+
320
+ * feat(alert): updated package.json
321
+
322
+ * feat(alert): default variant and default story
323
+
324
+ * feat(alert): adding color and radius stories
325
+
326
+ * feat(alert): completed the styling
327
+
328
+ * feat(alert): add stories for isCloseable prop and restyle other stories
329
+
330
+ * feat(alert): correcting ref type
331
+
332
+ * feat(alert): add test cases
333
+
334
+ * feat(alert): remove startContent and endContent props
335
+
336
+ * feat(alert): make styling more accurate
337
+
338
+ * feat(alert): fixed default props
339
+
340
+ * feat(alert): fixed theme docs
341
+
342
+ * feat(alert): add logic for icons
343
+
344
+ * feat(alert): begin to add docs
345
+
346
+ * chore(alert): implement the changes suggested in code review
347
+
348
+ * feat(alert): add onclose prop to alert
349
+
350
+ * feat(alert): add test cases
351
+
352
+ * docs(alert): add onClose event
353
+
354
+ * feat(docs): add alert to routes.json
355
+
356
+ * fix(alert): correct the text colors
357
+
358
+ * docs(alert): fix imports and syntax errors
359
+
360
+ * chore(alert): implement the changes suggested in code review
361
+
362
+ * chore(alert): lint the code and change isCloseable to isClosable
363
+
364
+ * chore(alert): lint the code
365
+
366
+ * chore(alert): run pnpm i
367
+
368
+ * fix(alert): fix the logic for close button and add test case
369
+
370
+ * docs(alert): fix docs, change isCloseable to isClosable and change docs for isClosable property
371
+
372
+ * chore(alert): add the support for RTL, refactor the code and fix the typos
373
+
374
+ * docs(alert): grammer issues fix
375
+
376
+ * fix(alert): replace rtl with ms
377
+
378
+ * chore(alert): custom style and custom implementation, remove isClosable={false}, refactor, fix typos
379
+
380
+ * chore(alert): linting and implement coderabbit suggestions
381
+
382
+ * chore(alert): refactor and typos fix
383
+
384
+ * chore(alert): add import for closeIcon
385
+
386
+ * chore(alert): add props for closeIcon
387
+
388
+ * chore(alert): refactor fixes
389
+
390
+ * chore(alert): implement ryo-manba's suggestion on close Icon
391
+
392
+ * chore(alert): make alert more responsive
393
+
394
+ * chore(alert): fix grammer issues suggested by coderabbit
395
+
396
+ * fix(alert): add max-w property to make alert responsive
397
+
398
+ * chore(alert): improve responsiveness and refactor alertIcon
399
+
400
+ * chore(alert): add missing dependency to useMemo
401
+
402
+ * chore(alert): implement coderabbit's suggestions
403
+
404
+ * chore(alert): update docs and refactor
405
+
406
+ * chore(alert): refactor alertIcon and implement coderabbit's suggestion
407
+
408
+ * chore: fixes
409
+
410
+ ---------
411
+
412
+ Co-authored-by: Abhinav Agarwal <[email protected]>
413
+ Co-authored-by: WK Wong <[email protected]>
414
+ Co-authored-by: Abhinav Agarwal <[email protected]>\n- Feat/add draggable modal (#3983)
415
+
416
+ * feat(hooks): add use-draggable hook
417
+
418
+ * feat(components): [modal] export use-draggable
419
+
420
+ * docs(components): [modal] add draggable modal
421
+
422
+ * feat(components): [modal] add ref prop for modal-header
423
+
424
+ * chore(components): [modal] add draggable modal for storybook
425
+
426
+ * chore: add changeset for draggable modal
427
+
428
+ * docs(hooks): [use-draggable] fix typo
429
+
430
+ * chore: upper changeset
431
+
432
+ * chore(components): [modal] add overflow draggable modal to sb
433
+
434
+ * test(components): [modal] add draggable modal tests
435
+
436
+ * build: update pnpm-lock
437
+
438
+ * chore(changeset): include issue number
439
+
440
+ * feat(hooks): [use-draggable] set user-select to none when during the dragging
441
+
442
+ * docs(components): [modal] update code demo title
443
+
444
+ * docs(components): [modal] condense description for draggable overflow
445
+
446
+ * feat(hooks): [use-draggable] change version to 0.1.0
447
+
448
+ * refactor(hooks): [use-draggable] use use-move implement use-draggable
449
+
450
+ * feat(hooks): [use-draggable] remove repeated user-select
451
+
452
+ * test(components): [modal] update test case to use-draggable base use-move
453
+
454
+ * docs(components): [modal] update draggable examples
455
+
456
+ * fix(hooks): [use-draggable] fix mobile device touchmove event conflict
457
+
458
+ * refactor(hooks): [use-draggable] remove drag ref prop
459
+
460
+ * refactor(hooks): [use-draggable] draggable2is-disabled overflow2can-overflow
461
+
462
+ * test(components): [modal] add draggble disable test
463
+
464
+ * chore(hooks): [use-draggable] add commant for body touchmove
465
+
466
+ * Update packages/hooks/use-draggable/src/index.ts
467
+
468
+ Co-authored-by: Ryo Matsukawa <[email protected]>
469
+
470
+ * fix(hooks): [use-draggable] import use-callback
471
+
472
+ * test(components): [modal] add mobile-sized test for draggable
473
+
474
+ * chore(hooks): [use-draggable] add use-callback for func
475
+
476
+ * chore(hooks): [use-draggable] update version to 2.0.0
477
+
478
+ * chore: fix typo
479
+
480
+ * Update .changeset/soft-apricots-sleep.md
481
+
482
+ * fix: pnpm lock
483
+
484
+ * fix: build
485
+
486
+ * chore: add updated moadl
487
+
488
+ ---------
489
+
490
+ Co-authored-by: wzc520pyfm <[email protected]>
491
+ Co-authored-by: Υ‘Ι¨ΥΌΙ’Σ„Υ‘Φ…ΥΌΙ’ <[email protected]>
492
+ Co-authored-by: Ryo Matsukawa <[email protected]>\n- chore: upgrade react-aria / React 19 & Next.js 15 support (#3732)
493
+
494
+ * chore: upgrade react-aria
495
+
496
+ * chore: add changeset
497
+
498
+ * chore: fix type error
499
+
500
+ ---------
501
+
502
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat(date-picker): add selectorButtonPlacement property (#3248)
503
+
504
+ * feat(date-picker): add selectorButtonPlacement property
505
+
506
+ * chore: update changeset
507
+
508
+ * Update .changeset/neat-donkeys-accept.md
509
+
510
+ Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
511
+
512
+ ---------
513
+
514
+ Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
515
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat: add tab ref (#3974)
516
+
517
+ * feat: add tab ref
518
+
519
+ * feat: add changeset\n- feat: pre-release workflow (#2910)
520
+
521
+ * feat(workflow): pre-release
522
+
523
+ * feat(workflow): exit pre-release
524
+
525
+ * chore(workflow): update version & publish commands
526
+
527
+ * fix(workflow): add missing attributes and use schangeset:beta cmd
528
+
529
+ * feat(root): add changeset:beta
530
+
531
+ * fix(workflows): revise pre-release logic
532
+
533
+ * fix(workflows): add missing run
534
+
535
+ * fix(workflows): use changeset:exit with version instead
536
+
537
+ * feat(root): add changeset:exit cmd
538
+
539
+ * refactor(workflows): add pths, id, and format
540
+
541
+ * feat(workflows): enter pre-release mode
542
+
543
+ * chore(workflows): remove pre.json only
544
+
545
+ * refactor(workflows): remove enter-pre-release-mode
546
+
547
+ * fix(workflows): incorrect url
548
+
549
+ * refactor(root): remove unused exit command
550
+
551
+ * refactor(workflows): add comments
552
+
553
+ * feat(changeset): change to main branch as baseBranch
554
+
555
+ * feat(root): add changeset:canary
556
+
557
+ * refactor(workflows): remove unused workflow
558
+
559
+ * feat(workflow): support canary pre-release mode
560
+
561
+ * refactor(docs): change to canary\n- feat(popover): added control for closing popover on scroll (#3595)
562
+
563
+ * fix(navbar): fixed the height when style h-full
564
+
565
+ * fix(navbar): fixed the height when style h-full
566
+
567
+ * docs(changeset): resolved extra file
568
+
569
+ * feat(popover): added control for closing popover on scroll
570
+
571
+ * update(changeset): correction
572
+
573
+ * feat(popover): removed extra story
574
+
575
+ * refactor(test): corrected test for both true and false values of shouldCloseOnScroll
576
+
577
+ * refactor(docs): added shouldCloseOnScroll prop
578
+
579
+ * chore(changeset): change to minor
580
+
581
+ ---------
582
+
583
+ Co-authored-by: Υ‘Σ„Υ‘ <[email protected]>\n- feat: add month and year pickers to DateRangePicker and RangeCalendar (#3302)
584
+
585
+ * feat: add month and year pickers to DateRangePicker and RangeCalendar
586
+
587
+ * chore: update docs
588
+
589
+ * Update .changeset/kind-cobras-travel.md
590
+
591
+ * chore: react package version
592
+
593
+ ---------
594
+
595
+ Co-authored-by: Junior Garcia <[email protected]>\n- chore(deps): bump tailwind-merge version (#3657)
596
+
597
+ * chore(deps): bump tailwind-merge versions
598
+
599
+ * chore(theme): adopt latest extendTailwindMerge
600
+
601
+ * chore(changeset): add changeset
602
+
603
+ * chore(changeset): change to minor
604
+
605
+ * Update .changeset/grumpy-mayflies-rhyme.md
606
+
607
+ ---------
608
+
609
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat: added drawer component (#3986)
610
+
611
+ Signed-off-by: The1111mp <[email protected]>
612
+ Co-authored-by: The1111mp <[email protected]>\n- refactor: optimisations (#3523)
613
+
614
+ * refactor: replace lodash with native approaches
615
+
616
+ * refactor(deps): update framer-motion versions
617
+
618
+ * feat(utilities): add @nextui-org/dom-animation
619
+
620
+ * refactor(components): load domAnimation dynamically
621
+
622
+ * refactor(deps): add @nextui-org/dom-animation
623
+
624
+ * fix(utilities): relocate index.ts
625
+
626
+ * feat(changeset): framer motion optimization
627
+
628
+ * chore(deps): bump framer-motion version
629
+
630
+ * fix(docs): conflict issue
631
+
632
+ * refactor(hooks): remove the unnecessary this aliasing
633
+
634
+ * refactor(utilities): remove the unnecessary this aliasing
635
+
636
+ * chore(docs): remove {} so that it won't be true all the time
637
+
638
+ * chore(dom-animation): end with new line
639
+
640
+ * refactor(hooks): use debounce from `@nextui-org/shared-utils`
641
+
642
+ * chore(deps): add `@nextui-org/shared-utils`
643
+
644
+ * refactor: move mapKeys logic to `@nextui-org/shared-utils`
645
+
646
+ * refactor: use `get` from `@nextui-org/shared-utils`
647
+
648
+ * refactor(docs): use `get` from `@nextui-org/shared-utils`
649
+
650
+ * refactor(shared-utils): mapKeys
651
+
652
+ * chore(deps): bump framer-motion version
653
+
654
+ * chore(deps): remove lodash
655
+
656
+ * refactor(docs): use intersectionBy from shared-utils
657
+
658
+ * feat(shared-utils): add intersectionBy
659
+
660
+ * chore(dom-animation): remove extra blank line
661
+
662
+ * refactor(shared-utils): revise intersectionBy
663
+
664
+ * fix(modal): add willChange
665
+
666
+ * refactor(shared-utils): add comments
667
+
668
+ * fix: build & tests
669
+
670
+ ---------
671
+
672
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat(hooks): use-theme hook (#3169)
673
+
674
+ * feat(docs): update dark mode content
675
+
676
+ * feat(hooks): @nextui-org/use-theme
677
+
678
+ * chore(docs): revise ThemeSwitcher code
679
+
680
+ * refactor(hooks): simplify useTheme and support custom theme names
681
+
682
+ * feat(hooks): add use-theme test cases
683
+
684
+ * feat(changeset): add changeset
685
+
686
+ * refactor(hooks): make localStorageMock globally and clear before each test
687
+
688
+ * fix(docs): typo
689
+
690
+ * fix(hooks): coderabbitai comments
691
+
692
+ * chore(hooks): remove unnecessary +
693
+
694
+ * chore(changeset): change to minor
695
+
696
+ * feat(hooks): handle system theme
697
+
698
+ * chore(hooks): add EOL
699
+
700
+ * refactor(hooks): add default theme
701
+
702
+ * refactor(hooks): revise useTheme
703
+
704
+ * refactor(hooks): resolve pr comments
705
+
706
+ * refactor(hooks): resolve pr comments
707
+
708
+ * refactor(hooks): resolve pr comments
709
+
710
+ * refactor(hooks): remove unused theme in dependency array
711
+
712
+ * chore(docs): typos
713
+
714
+ * refactor(hooks): mark system as key for system theme
715
+
716
+ * chore: merged with canary
717
+
718
+ ---------
719
+
720
+ Co-authored-by: Junior Garcia <[email protected]>\n- Fix/avatar flashing (#3987)
721
+
722
+ * fix(use-image): cached image flashing
723
+
724
+ * chore: merged with canary
725
+
726
+ ---------
727
+
728
+ Co-authored-by: Rakha Kanz Kautsar <[email protected]>\n- refactor(menu): Use `useMenu` and `useMenuItem` from RA (#3261)
729
+
730
+ * refactor(menu): use useMenu from react-aria instead
731
+
732
+ * refactor(menu): use useMenuItem from react-aria instead
733
+
734
+ * feat(changeset): add changeset
735
+
736
+ * chore: merged with canary
737
+
738
+ * fix: dropdown tests
739
+
740
+ ---------
741
+
742
+ Co-authored-by: Junior Garcia <[email protected]>\n- fix(theme): added stripe color gradients for progress (#3938)
743
+
744
+ * fix(breadcrumbs): added separator rotation for RTL #2486
745
+
746
+ * chore(changeset): added changeset
747
+
748
+ * fix(docs): removed unused Link import and merged classnames in dropdown
749
+
750
+ * fix(theme):added stripe color gradients for progress #1933
751
+
752
+ * refactor(theme): added stripe-size and createStripeGradient\n- chore: add all minor releases\n- fix(docs): invalid canary storybook link (#4030)\n- fix(use-image): image ReferenceError in SSR (#4122)
753
+
754
+ * fix(use-image): image ReferenceError in SSR
755
+
756
+ * fix(use-image): sync with beta
757
+
758
+ * fix(use-image): sync with beta
759
+
760
+ * chore(use-image): remove unnecessary comments\n- fix(docs): buildLocation expects an object (#4118)
761
+
762
+ * fix(docs): routing.mdx
763
+
764
+ * Delete .changeset/pre.json\n- chore: merged with main\n- chore(docs): update yarn installation command (#4132)
765
+
766
+ There is no `-g` flag in yarn. `global` is a command which must immediately follow yarn.
767
+
768
+ Source: https://classic.yarnpkg.com/lang/en/docs/cli/global/\n
769
+
770
+ Labels:
771
+
772
+
773
+ Comments:
774
+ - changeset-bot: ### ⚠️ No Changeset found
775
+
776
+ Latest commit: 949dd1863ea53abfdce7951e6e2a2105362deaf9
777
+
778
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
779
+
780
+ <details><summary>This PR includes no changesets</summary>
781
+
782
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
783
+
784
+ </details>
785
+
786
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
787
+
788
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/canary?filename=.changeset/lovely-ants-care.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A%22%40nextui-org%2Faccordion%22%3A%20patch%0A%22%40nextui-org%2Falert%22%3A%20patch%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Favatar%22%3A%20patch%0A%22%40nextui-org%2Fbadge%22%3A%20patch%0A%22%40nextui-org%2Fbreadcrumbs%22%3A%20patch%0A%22%40nextui-org%2Fbutton%22%3A%20patch%0A%22%40nextui-org%2Fcalendar%22%3A%20patch%0A%22%40nextui-org%2Fcard%22%3A%20patch%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fchip%22%3A%20patch%0A%22%40nextui-org%2Fcode%22%3A%20patch%0A%22%40nextui-org%2Fdate-input%22%3A%20patch%0A%22%40nextui-org%2Fdate-picker%22%3A%20patch%0A---%0A%0ADocs%20%26%20New%20version%0A)
789
+
790
+ \n- vercel: [vc]: #CpKJawFcHzHZhJCBUP753oFegLsdJsrjg3bg5CNu04U=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9DWDhVQmhNbWV5dkVOZG83dGt3ZjlEUXlMWExVIiwicHJldmlld1VybCI6IiIsIm5leHRDb21taXRTdGF0dXMiOiJDQU5DRUxFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiIifX0seyJuYW1lIjoibmV4dHVpLXN0b3J5Ym9vay12MiIsInJvb3REaXJlY3RvcnkiOiJwYWNrYWdlcy9zdG9yeWJvb2siLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktc3Rvcnlib29rLXYyL0RWVURrRjdwMlpBTnFzRUpxNmZEYkF0S1oyS2ciLCJwcmV2aWV3VXJsIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtY2FuYXJ5LW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1jYW5hcnktbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
791
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
792
+
793
+ | Name | Status | Preview | Comments | Updated (UTC) |
794
+ | :--- | :----- | :------ | :------- | :------ |
795
+ | **nextui-docs-v2** | πŸ›‘ Canceled ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/CX8UBhMmeyvENdo7tkwf9DQyLXLU)) | | | Dec 7, 2024 0:45am |
796
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/DVUDkF7p2ZANqsEJq6fDbAtKZ2Kg)) | [Visit Preview](https://nextui-storybook-v2-git-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 0:45am |
797
+
798
+
799
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
800
+ <!-- This is an auto-generated comment: failure by coderabbit.ai -->
801
+
802
+ > [!CAUTION]
803
+ > ## Review failed
804
+ >
805
+ > The pull request is closed.
806
+
807
+ <!-- end of auto-generated comment: failure by coderabbit.ai -->
808
+
809
+ <!-- internal state start -->
810
+
811
+
812
+ <!-- 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 -->
813
+
814
+ <!-- internal state end -->
815
+ <!-- walkthrough_start -->
816
+
817
+ ## Walkthrough
818
+ The pull request introduces several updates across various components and packages, primarily focusing on fixing incorrect peer dependencies for the theme and system packages. Changes include version increments and updates to dependencies in multiple components such as `accordion`, `alert`, `button`, `calendar`, and others. Additionally, the `DocPage` and `DocsToc` components were modified to adjust layout styles and improve document retrieval handling, ensuring better functionality and user experience.
819
+
820
+ ## Changes
821
+
822
+ | File Path | Change Summary |
823
+ |-----------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|
824
+ | apps/docs/app/docs/[[...slug]]/page.tsx | Modified `DocPage` component to adjust `DocsToc` padding from `pl-4` to `pl-0` and updated `getDocFromParams` to return `null` if no document is found. |
825
+ | apps/docs/components/docs/toc.tsx | Adjusted text size classes for list items and "Back to top" link from `text-sm`/`text-small` to `text-tiny`. |
826
+ | apps/docs/content/blog/v2.6.0.mdx | Updated release notes for NextUI v2.6.0, detailing new components, features, bug fixes, and performance improvements. |
827
+ | packages/components/*/CHANGELOG.md | Updated changelogs for multiple components to include version `2.2.3` or `2.3.3`, documenting peer dependency fixes. |
828
+ | packages/components/*/package.json | Incremented version numbers and updated peer dependencies for multiple components to require `>=2.4.0`. |
829
+
830
+ ## Possibly related PRs
831
+ - **#3014**: Addresses peer dependency updates in multiple components, potentially relevant to the document retrieval handling.
832
+ - **#3307**: Refactors the `Popover` component, which may share structural similarities with `DocPage` and `DocsToc`.
833
+ - **#3762**: Fixes an issue in the `Dropdown` component, potentially overlapping with `DocsToc` functionality.
834
+ - **#3822**: Modifies the `DocsToc` component, specifically adjusting padding for headings, directly related to layout changes in the main PR.
835
+ - **#4013**: Updates the Yarn installation command in documentation, indirectly related to overall documentation structure.
836
+ - **#4132**: Corrects the Yarn installation command, relevant to documentation aspects of the main PR.
837
+ - **#4204**: Addresses a core package issue that may affect overall functionality of modified components.
838
+ - **#4227**: Adds a section for NextUI Pro on the landing page, enhancing documentation and user experience.
839
+
840
+ ## Suggested labels
841
+ `πŸ“‹ Scope : Docs`, `πŸ’₯ Type: Breaking Change`
842
+
843
+ ## Suggested reviewers
844
+ - wingkwong
845
+
846
+ <!-- walkthrough_end -->
847
+
848
+ ---
849
+
850
+ <details>
851
+ <summary>πŸ“œ Recent review details</summary>
852
+
853
+ **Configuration used: .coderabbit.yaml**
854
+ **Review profile: CHILL**
855
+
856
+ <details>
857
+ <summary>πŸ“₯ Commits</summary>
858
+
859
+ Reviewing files that changed from the base of the PR and between d9ae7c89c021626fb3e54aaf805f7ace3f3ee3a8 and 949dd1863ea53abfdce7951e6e2a2105362deaf9.
860
+
861
+ </details>
862
+
863
+ <details>
864
+ <summary>πŸ“’ Files selected for processing (82)</summary>
865
+
866
+ * `apps/docs/app/docs/[[...slug]]/page.tsx` (1 hunks)
867
+ * `apps/docs/components/docs/toc.tsx` (2 hunks)
868
+ * `apps/docs/content/blog/v2.6.0.mdx` (1 hunks)
869
+ * `packages/components/accordion/CHANGELOG.md` (1 hunks)
870
+ * `packages/components/accordion/package.json` (2 hunks)
871
+ * `packages/components/alert/CHANGELOG.md` (1 hunks)
872
+ * `packages/components/alert/package.json` (2 hunks)
873
+ * `packages/components/autocomplete/CHANGELOG.md` (1 hunks)
874
+ * `packages/components/autocomplete/package.json` (2 hunks)
875
+ * `packages/components/avatar/CHANGELOG.md` (1 hunks)
876
+ * `packages/components/avatar/package.json` (2 hunks)
877
+ * `packages/components/badge/CHANGELOG.md` (1 hunks)
878
+ * `packages/components/badge/package.json` (2 hunks)
879
+ * `packages/components/breadcrumbs/CHANGELOG.md` (1 hunks)
880
+ * `packages/components/breadcrumbs/package.json` (2 hunks)
881
+ * `packages/components/button/CHANGELOG.md` (1 hunks)
882
+ * `packages/components/button/package.json` (2 hunks)
883
+ * `packages/components/calendar/CHANGELOG.md` (1 hunks)
884
+ * `packages/components/calendar/package.json` (2 hunks)
885
+ * `packages/components/card/CHANGELOG.md` (1 hunks)
886
+ * `packages/components/card/package.json` (2 hunks)
887
+ * `packages/components/checkbox/CHANGELOG.md` (1 hunks)
888
+ * `packages/components/checkbox/package.json` (2 hunks)
889
+ * `packages/components/chip/CHANGELOG.md` (1 hunks)
890
+ * `packages/components/chip/package.json` (2 hunks)
891
+ * `packages/components/code/CHANGELOG.md` (1 hunks)
892
+ * `packages/components/code/package.json` (2 hunks)
893
+ * `packages/components/date-input/CHANGELOG.md` (1 hunks)
894
+ * `packages/components/date-input/package.json` (2 hunks)
895
+ * `packages/components/date-picker/CHANGELOG.md` (1 hunks)
896
+ * `packages/components/date-picker/package.json` (2 hunks)
897
+ * `packages/components/divider/CHANGELOG.md` (1 hunks)
898
+ * `packages/components/divider/package.json` (2 hunks)
899
+ * `packages/components/drawer/CHANGELOG.md` (1 hunks)
900
+ * `packages/components/drawer/package.json` (2 hunks)
901
+ * `packages/components/dropdown/CHANGELOG.md` (1 hunks)
902
+ * `packages/components/dropdown/package.json` (2 hunks)
903
+ * `packages/components/form/CHANGELOG.md` (1 hunks)
904
+ * `packages/components/form/package.json` (2 hunks)
905
+ * `packages/components/image/CHANGELOG.md` (1 hunks)
906
+ * `packages/components/image/package.json` (2 hunks)
907
+ * `packages/components/input-otp/CHANGELOG.md` (1 hunks)
908
+ * `packages/components/input-otp/package.json` (2 hunks)
909
+ * `packages/components/input/CHANGELOG.md` (1 hunks)
910
+ * `packages/components/input/package.json` (2 hunks)
911
+ * `packages/components/kbd/CHANGELOG.md` (1 hunks)
912
+ * `packages/components/kbd/package.json` (2 hunks)
913
+ * `packages/components/link/CHANGELOG.md` (1 hunks)
914
+ * `packages/components/link/package.json` (2 hunks)
915
+ * `packages/components/listbox/CHANGELOG.md` (1 hunks)
916
+ * `packages/components/listbox/package.json` (2 hunks)
917
+ * `packages/components/menu/CHANGELOG.md` (1 hunks)
918
+ * `packages/components/menu/package.json` (2 hunks)
919
+ * `packages/components/modal/CHANGELOG.md` (1 hunks)
920
+ * `packages/components/modal/package.json` (2 hunks)
921
+ * `packages/components/navbar/CHANGELOG.md` (1 hunks)
922
+ * `packages/components/navbar/package.json` (2 hunks)
923
+ * `packages/components/pagination/CHANGELOG.md` (1 hunks)
924
+ * `packages/components/pagination/package.json` (2 hunks)
925
+ * `packages/components/popover/CHANGELOG.md` (1 hunks)
926
+ * `packages/components/popover/package.json` (2 hunks)
927
+ * `packages/components/progress/CHANGELOG.md` (1 hunks)
928
+ * `packages/components/progress/package.json` (2 hunks)
929
+ * `packages/components/radio/CHANGELOG.md` (1 hunks)
930
+ * `packages/components/radio/package.json` (2 hunks)
931
+ * `packages/components/ripple/CHANGELOG.md` (1 hunks)
932
+ * `packages/components/ripple/package.json` (2 hunks)
933
+ * `packages/components/scroll-shadow/CHANGELOG.md` (1 hunks)
934
+ * `packages/components/scroll-shadow/package.json` (2 hunks)
935
+ * `packages/components/select/CHANGELOG.md` (1 hunks)
936
+ * `packages/components/select/package.json` (2 hunks)
937
+ * `packages/components/skeleton/CHANGELOG.md` (1 hunks)
938
+ * `packages/components/skeleton/package.json` (2 hunks)
939
+ * `packages/components/slider/CHANGELOG.md` (1 hunks)
940
+ * `packages/components/slider/package.json` (2 hunks)
941
+ * `packages/components/snippet/CHANGELOG.md` (1 hunks)
942
+ * `packages/components/snippet/package.json` (2 hunks)
943
+ * `packages/components/spacer/CHANGELOG.md` (1 hunks)
944
+ * `packages/components/spacer/package.json` (2 hunks)
945
+ * `packages/components/spinner/CHANGELOG.md` (1 hunks)
946
+ * `packages/components/spinner/package.json` (2 hunks)
947
+ * `packages/components/switch/CHANGELOG.md` (1 hunks)
948
+
949
+ </details>
950
+
951
+ <details>
952
+ <summary>β›” Files not processed due to max files limit (20)</summary>
953
+
954
+ * packages/components/switch/package.json
955
+ * packages/components/table/CHANGELOG.md
956
+ * packages/components/table/package.json
957
+ * packages/components/tabs/CHANGELOG.md
958
+ * packages/components/tabs/package.json
959
+ * packages/components/tooltip/CHANGELOG.md
960
+ * packages/components/tooltip/package.json
961
+ * packages/components/user/CHANGELOG.md
962
+ * packages/components/user/package.json
963
+ * packages/core/react/CHANGELOG.md
964
+ * packages/core/react/package.json
965
+ * packages/core/system-rsc/CHANGELOG.md
966
+ * packages/core/system-rsc/package.json
967
+ * packages/core/system/CHANGELOG.md
968
+ * packages/core/system/package.json
969
+ * packages/utilities/aria-utils/CHANGELOG.md
970
+ * packages/utilities/aria-utils/package.json
971
+ * packages/utilities/framer-utils/CHANGELOG.md
972
+ * packages/utilities/framer-utils/package.json
973
+ * plop/component/package.json.hbs
974
+
975
+ </details>
976
+
977
+ </details>
978
+ <!-- tips_start -->
979
+
980
+ ---
981
+
982
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
983
+
984
+ <details>
985
+ <summary>❀️ Share</summary>
986
+
987
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
988
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
989
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
990
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
991
+
992
+ </details>
993
+
994
+ <details>
995
+ <summary>πŸͺ§ Tips</summary>
996
+
997
+ ### Chat
998
+
999
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
1000
+
1001
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
1002
+ - `I pushed a fix in commit <commit_id>, please review it.`
1003
+ - `Generate unit testing code for this file.`
1004
+ - `Open a follow-up GitHub issue for this discussion.`
1005
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
1006
+ - `@coderabbitai generate unit testing code for this file.`
1007
+ - `@coderabbitai modularize this function.`
1008
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
1009
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
1010
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
1011
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
1012
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
1013
+
1014
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
1015
+
1016
+ ### CodeRabbit Commands (Invoked using PR comments)
1017
+
1018
+ - `@coderabbitai pause` to pause the reviews on a PR.
1019
+ - `@coderabbitai resume` to resume the paused reviews.
1020
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
1021
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
1022
+ - `@coderabbitai summary` to regenerate the summary of the PR.
1023
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
1024
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
1025
+ - `@coderabbitai help` to get help.
1026
+
1027
+ ### Other keywords and placeholders
1028
+
1029
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
1030
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
1031
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
1032
+
1033
+ ### Documentation and Community
1034
+
1035
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
1036
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
1037
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
1038
+
1039
+ </details>
1040
+
1041
+ <!-- tips_end -->\n
1042
+
1043
+ Files Changed:
1044
+ - apps/docs/app/docs/[[...slug]]/page.tsx (modified, 2 changes)\n Patch: @@ -99,7 +99,7 @@ export default async function DocPage({params}: DocPageProps) {
1045
+ </footer>
1046
+ </div>
1047
+ {headings && headings.length > 0 && (
1048
+ - <div className="hidden z-10 xl:flex xl:col-span-2 mt-8 pl-4">
1049
+ + <div className="hidden z-10 xl:flex xl:col-span-2 mt-8 pl-0">
1050
+ <DocsToc headings={headings} />
1051
+ </div>
1052
+ )}\n- apps/docs/components/docs/toc.tsx (modified, 4 changes)\n Patch: @@ -87,7 +87,7 @@ export const DocsToc: FC<DocsTocProps> = ({headings}) => {
1053
+ className={clsx(
1054
+ "transition-colors",
1055
+ "font-normal",
1056
+ - "flex items-center text-sm font-normal text-default-500 dark:text-default-300",
1057
+ + "flex items-center text-tiny font-normal text-default-500 dark:text-default-300",
1058
+ "data-[active=true]:text-foreground",
1059
+ "dark:data-[active=true]:text-foreground",
1060
+ "before:content-['']",
1061
+ @@ -115,7 +115,7 @@ export const DocsToc: FC<DocsTocProps> = ({headings}) => {
1062
+ <Divider />
1063
+ <Spacer y={2} />
1064
+ <a
1065
+ - className="flex gap-2 items-center text-small text-default-500 dark:text-foreground/30 hover:text-foreground/80 pl-4 transition-opacity"
1066
+ + className="flex gap-2 items-center text-tiny text-default-500 dark:text-foreground/30 hover:text-foreground/80 pl-4 transition-opacity"
1067
+ href={`#${firstId}`}
1068
+ >
1069
+ Back to top\n- apps/docs/content/blog/v2.6.0.mdx (modified, 2 changes)\n Patch: @@ -749,7 +749,7 @@ The circular progress Tailwind variants have been moved from `circular-progress`
1070
+ - Replaced VA by Posthog by [@wingkwong](https://github.com/wingkwong) in [PR #4123](https://github.com/nextui-org/nextui/pull/4123)
1071
+ - Moved circular-progress tv to progress by [@winchesHe](https://github.com/winchesHe) in [PR #3321](https://github.com/nextui-org/nextui/pull/3321)
1072
+
1073
+ -Special thanks to NextUI Team members [@wingkwong](https://github.com/wingkwong), [@macci001](https://github.com/macci001),
1074
+ +Special thanks to NextUI Team members [@wingkwong](https://github.com/wingkwong), [@macci001](https://github.com/macci001), [@vinroger](https://github.com/vinroger),
1075
+ [@ryo-manba](https://github.com/ryo-manba), [@winchesHe](https://github.com/winchesHe), [@tianenpang](https://github.com/tianenpang) and contributors for their contributions to this release.
1076
+
1077
+ For a full list of changes, please refer to the [release notes](https://github.com/nextui-org/nextui/releases/tag/%40nextui-org%2Freact%402.6.2).\n- packages/components/accordion/CHANGELOG.md (modified, 11 changes)\n Patch: @@ -1,5 +1,16 @@
1078
+ # @nextui-org/accordion
1079
+
1080
+ +## 2.2.3
1081
+ +
1082
+ +### Patch Changes
1083
+ +
1084
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1085
+ +
1086
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1087
+ + - @nextui-org/[email protected]
1088
+ + - @nextui-org/[email protected]
1089
+ + - @nextui-org/[email protected]
1090
+ +
1091
+ ## 2.2.2
1092
+
1093
+ ### Patch Changes\n- packages/components/accordion/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1094
+ {
1095
+ "name": "@nextui-org/accordion",
1096
+ - "version": "2.2.2",
1097
+ + "version": "2.2.3",
1098
+ "description": "Collapse display a list of high-level options that can expand/collapse to reveal more information.",
1099
+ "keywords": [
1100
+ "react",
1101
+ @@ -43,8 +43,8 @@
1102
+ "react": ">=18 || >=19.0.0-rc.0",
1103
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1104
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1105
+ - "@nextui-org/theme": ">=2.3.0",
1106
+ - "@nextui-org/system": ">=2.3.0"
1107
+ + "@nextui-org/theme": ">=2.4.0",
1108
+ + "@nextui-org/system": ">=2.4.0"
1109
+ },
1110
+ "dependencies": {
1111
+ "@nextui-org/aria-utils": "workspace:*",\n- packages/components/alert/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1112
+ # @nextui-org/alert
1113
+
1114
+ +## 2.2.3
1115
+ +
1116
+ +### Patch Changes
1117
+ +
1118
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1119
+ +
1120
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1121
+ + - @nextui-org/[email protected]
1122
+ +
1123
+ ## 2.2.2
1124
+
1125
+ ### Patch Changes\n- packages/components/alert/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1126
+ {
1127
+ "name": "@nextui-org/alert",
1128
+ - "version": "2.2.2",
1129
+ + "version": "2.2.3",
1130
+ "description": "Alerts are temporary notifications that provide concise feedback about an action or event.",
1131
+ "keywords": [
1132
+ "alert"
1133
+ @@ -40,8 +40,8 @@
1134
+ "peerDependencies": {
1135
+ "react": ">=18 || >=19.0.0-rc.0",
1136
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1137
+ - "@nextui-org/theme": ">=2.3.0",
1138
+ - "@nextui-org/system": ">=2.3.0"
1139
+ + "@nextui-org/theme": ">=2.4.0",
1140
+ + "@nextui-org/system": ">=2.4.0"
1141
+ },
1142
+ "dependencies": {
1143
+ "@nextui-org/react-utils": "workspace:*",\n- packages/components/autocomplete/CHANGELOG.md (modified, 16 changes)\n Patch: @@ -1,5 +1,21 @@
1144
+ # @nextui-org/autocomplete
1145
+
1146
+ +## 2.3.3
1147
+ +
1148
+ +### Patch Changes
1149
+ +
1150
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1151
+ +
1152
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1153
+ + - @nextui-org/[email protected]
1154
+ + - @nextui-org/[email protected]
1155
+ + - @nextui-org/[email protected]
1156
+ + - @nextui-org/[email protected]
1157
+ + - @nextui-org/[email protected]
1158
+ + - @nextui-org/[email protected]
1159
+ + - @nextui-org/[email protected]
1160
+ + - @nextui-org/[email protected]
1161
+ +
1162
+ ## 2.3.2
1163
+
1164
+ ### Patch Changes\n- packages/components/autocomplete/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1165
+ {
1166
+ "name": "@nextui-org/autocomplete",
1167
+ - "version": "2.3.2",
1168
+ + "version": "2.3.3",
1169
+ "description": "An autocomplete combines a text input with a listbox, allowing users to filter a list of options to items matching a query.",
1170
+ "keywords": [
1171
+ "autocomplete"
1172
+ @@ -34,8 +34,8 @@
1173
+ "postpack": "clean-package restore"
1174
+ },
1175
+ "peerDependencies": {
1176
+ - "@nextui-org/system": ">=2.3.0",
1177
+ - "@nextui-org/theme": ">=2.3.0",
1178
+ + "@nextui-org/system": ">=2.4.0",
1179
+ + "@nextui-org/theme": ">=2.4.0",
1180
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1181
+ "react": ">=18 || >=19.0.0-rc.0",
1182
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/avatar/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
1183
+ # @nextui-org/avatar
1184
+
1185
+ +## 2.2.3
1186
+ +
1187
+ +### Patch Changes
1188
+ +
1189
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1190
+ +
1191
+ ## 2.2.2
1192
+
1193
+ ### Patch Changes\n- packages/components/avatar/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1194
+ {
1195
+ "name": "@nextui-org/avatar",
1196
+ - "version": "2.2.2",
1197
+ + "version": "2.2.3",
1198
+ "description": "The Avatar component is used to represent a user, and displays the profile picture, initials or fallback icon.",
1199
+ "keywords": [
1200
+ "avatar"
1201
+ @@ -36,8 +36,8 @@
1202
+ "peerDependencies": {
1203
+ "react": ">=18 || >=19.0.0-rc.0",
1204
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1205
+ - "@nextui-org/theme": ">=2.3.0",
1206
+ - "@nextui-org/system": ">=2.3.0"
1207
+ + "@nextui-org/theme": ">=2.4.0",
1208
+ + "@nextui-org/system": ">=2.4.0"
1209
+ },
1210
+ "dependencies": {
1211
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/badge/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
1212
+ # @nextui-org/badge
1213
+
1214
+ +## 2.2.3
1215
+ +
1216
+ +### Patch Changes
1217
+ +
1218
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1219
+ +
1220
+ ## 2.2.2
1221
+
1222
+ ### Patch Changes\n- packages/components/badge/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1223
+ {
1224
+ "name": "@nextui-org/badge",
1225
+ - "version": "2.2.2",
1226
+ + "version": "2.2.3",
1227
+ "description": "Badges are used as a small numerical value or status descriptor for UI elements.",
1228
+ "keywords": [
1229
+ "badge"
1230
+ @@ -36,8 +36,8 @@
1231
+ "peerDependencies": {
1232
+ "react": ">=18 || >=19.0.0-rc.0",
1233
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1234
+ - "@nextui-org/theme": ">=2.3.0",
1235
+ - "@nextui-org/system": ">=2.3.0"
1236
+ + "@nextui-org/theme": ">=2.4.0",
1237
+ + "@nextui-org/system": ">=2.4.0"
1238
+ },
1239
+ "dependencies": {
1240
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/breadcrumbs/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
1241
+ # @nextui-org/breadcrumbs
1242
+
1243
+ +## 2.2.3
1244
+ +
1245
+ +### Patch Changes
1246
+ +
1247
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1248
+ +
1249
+ ## 2.2.2
1250
+
1251
+ ### Patch Changes\n- packages/components/breadcrumbs/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1252
+ {
1253
+ "name": "@nextui-org/breadcrumbs",
1254
+ - "version": "2.2.2",
1255
+ + "version": "2.2.3",
1256
+ "description": "Breadcrumbs display a hierarchy of links to the current page or resource in an application.",
1257
+ "keywords": [
1258
+ "breadcrumbs"
1259
+ @@ -36,8 +36,8 @@
1260
+ "peerDependencies": {
1261
+ "react": ">=18 || >=19.0.0-rc.0",
1262
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1263
+ - "@nextui-org/theme": ">=2.3.0",
1264
+ - "@nextui-org/system": ">=2.3.0"
1265
+ + "@nextui-org/theme": ">=2.4.0",
1266
+ + "@nextui-org/system": ">=2.4.0"
1267
+ },
1268
+ "dependencies": {
1269
+ "@nextui-org/react-utils": "workspace:*",\n- packages/components/button/CHANGELOG.md (modified, 10 changes)\n Patch: @@ -1,5 +1,15 @@
1270
+ # @nextui-org/button
1271
+
1272
+ +## 2.2.3
1273
+ +
1274
+ +### Patch Changes
1275
+ +
1276
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1277
+ +
1278
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1279
+ + - @nextui-org/[email protected]
1280
+ + - @nextui-org/[email protected]
1281
+ +
1282
+ ## 2.2.2
1283
+
1284
+ ### Patch Changes\n- packages/components/button/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1285
+ {
1286
+ "name": "@nextui-org/button",
1287
+ - "version": "2.2.2",
1288
+ + "version": "2.2.3",
1289
+ "description": "Buttons allow users to perform actions and choose with a single tap.",
1290
+ "keywords": [
1291
+ "button"
1292
+ @@ -37,8 +37,8 @@
1293
+ "react": ">=18 || >=19.0.0-rc.0",
1294
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1295
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1296
+ - "@nextui-org/theme": ">=2.3.0",
1297
+ - "@nextui-org/system": ">=2.3.0"
1298
+ + "@nextui-org/theme": ">=2.4.0",
1299
+ + "@nextui-org/system": ">=2.4.0"
1300
+ },
1301
+ "dependencies": {
1302
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/calendar/CHANGELOG.md (modified, 10 changes)\n Patch: @@ -1,5 +1,15 @@
1303
+ # @nextui-org/calendar
1304
+
1305
+ +## 2.2.3
1306
+ +
1307
+ +### Patch Changes
1308
+ +
1309
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1310
+ +
1311
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1312
+ + - @nextui-org/[email protected]
1313
+ + - @nextui-org/[email protected]
1314
+ +
1315
+ ## 2.2.2
1316
+
1317
+ ### Patch Changes\n- packages/components/calendar/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1318
+ {
1319
+ "name": "@nextui-org/calendar",
1320
+ - "version": "2.2.2",
1321
+ + "version": "2.2.3",
1322
+ "description": "A calendar displays one or more date grids and allows users to select a single date.",
1323
+ "keywords": [
1324
+ "calendar"
1325
+ @@ -34,8 +34,8 @@
1326
+ "postpack": "clean-package restore"
1327
+ },
1328
+ "peerDependencies": {
1329
+ - "@nextui-org/system": ">=2.3.0",
1330
+ - "@nextui-org/theme": ">=2.3.0",
1331
+ + "@nextui-org/system": ">=2.4.0",
1332
+ + "@nextui-org/theme": ">=2.4.0",
1333
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1334
+ "react": ">=18 || >=19.0.0-rc.0",
1335
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/card/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1336
+ # @nextui-org/card
1337
+
1338
+ +## 2.2.3
1339
+ +
1340
+ +### Patch Changes
1341
+ +
1342
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1343
+ +
1344
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1345
+ + - @nextui-org/[email protected]
1346
+ +
1347
+ ## 2.2.2
1348
+
1349
+ ### Patch Changes\n- packages/components/card/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1350
+ {
1351
+ "name": "@nextui-org/card",
1352
+ - "version": "2.2.2",
1353
+ + "version": "2.2.3",
1354
+ "description": "Card is a container for text, photos, and actions in the context of a single subject.",
1355
+ "keywords": [
1356
+ "card"
1357
+ @@ -37,8 +37,8 @@
1358
+ "react": ">=18 || >=19.0.0-rc.0",
1359
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1360
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1361
+ - "@nextui-org/theme": ">=2.3.0",
1362
+ - "@nextui-org/system": ">=2.3.0"
1363
+ + "@nextui-org/theme": ">=2.4.0",
1364
+ + "@nextui-org/system": ">=2.4.0"
1365
+ },
1366
+ "dependencies": {
1367
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/checkbox/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1368
+ # @nextui-org/checkbox
1369
+
1370
+ +## 2.3.3
1371
+ +
1372
+ +### Patch Changes
1373
+ +
1374
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1375
+ +
1376
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1377
+ + - @nextui-org/[email protected]
1378
+ +
1379
+ ## 2.3.2
1380
+
1381
+ ### Patch Changes\n- packages/components/checkbox/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1382
+ {
1383
+ "name": "@nextui-org/checkbox",
1384
+ - "version": "2.3.2",
1385
+ + "version": "2.3.3",
1386
+ "description": "Checkboxes allow users to select multiple items from a list of individual items, or to mark one individual item as selected.",
1387
+ "keywords": [
1388
+ "checkbox"
1389
+ @@ -34,8 +34,8 @@
1390
+ "postpack": "clean-package restore"
1391
+ },
1392
+ "peerDependencies": {
1393
+ - "@nextui-org/system": ">=2.3.0",
1394
+ - "@nextui-org/theme": ">=2.3.0",
1395
+ + "@nextui-org/system": ">=2.4.0",
1396
+ + "@nextui-org/theme": ">=2.4.0",
1397
+ "react": ">=18 || >=19.0.0-rc.0",
1398
+ "react-dom": ">=18 || >=19.0.0-rc.0"
1399
+ },\n- packages/components/chip/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
1400
+ # @nextui-org/chip
1401
+
1402
+ +## 2.2.3
1403
+ +
1404
+ +### Patch Changes
1405
+ +
1406
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1407
+ +
1408
+ ## 2.2.2
1409
+
1410
+ ### Patch Changes\n- packages/components/chip/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1411
+ {
1412
+ "name": "@nextui-org/chip",
1413
+ - "version": "2.2.2",
1414
+ + "version": "2.2.3",
1415
+ "description": "Chips help people enter information, make selections, filter content, or trigger actions.",
1416
+ "keywords": [
1417
+ "chip"
1418
+ @@ -36,8 +36,8 @@
1419
+ "peerDependencies": {
1420
+ "react": ">=18 || >=19.0.0-rc.0",
1421
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1422
+ - "@nextui-org/theme": ">=2.3.0",
1423
+ - "@nextui-org/system": ">=2.3.0"
1424
+ + "@nextui-org/theme": ">=2.4.0",
1425
+ + "@nextui-org/system": ">=2.4.0"
1426
+ },
1427
+ "dependencies": {
1428
+ "@nextui-org/shared-icons": "workspace:*",\n- packages/components/code/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1429
+ # @nextui-org/code
1430
+
1431
+ +## 2.2.3
1432
+ +
1433
+ +### Patch Changes
1434
+ +
1435
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1436
+ +
1437
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1438
+ + - @nextui-org/[email protected]
1439
+ +
1440
+ ## 2.2.2
1441
+
1442
+ ### Patch Changes\n- packages/components/code/package.json (modified, 4 changes)\n Patch: @@ -1,6 +1,6 @@
1443
+ {
1444
+ "name": "@nextui-org/code",
1445
+ - "version": "2.2.2",
1446
+ + "version": "2.2.3",
1447
+ "description": "Code is a component used to display inline code.",
1448
+ "keywords": [
1449
+ "code"
1450
+ @@ -36,7 +36,7 @@
1451
+ "peerDependencies": {
1452
+ "react": ">=18 || >=19.0.0-rc.0",
1453
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1454
+ - "@nextui-org/theme": ">=2.3.0"
1455
+ + "@nextui-org/theme": ">=2.4.0"
1456
+ },
1457
+ "dependencies": {
1458
+ "@nextui-org/system-rsc": "workspace:*",\n- packages/components/date-input/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1459
+ # @nextui-org/date-input
1460
+
1461
+ +## 2.3.3
1462
+ +
1463
+ +### Patch Changes
1464
+ +
1465
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1466
+ +
1467
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1468
+ + - @nextui-org/[email protected]
1469
+ +
1470
+ ## 2.3.2
1471
+
1472
+ ### Patch Changes\n- packages/components/date-input/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1473
+ {
1474
+ "name": "@nextui-org/date-input",
1475
+ - "version": "2.3.2",
1476
+ + "version": "2.3.3",
1477
+ "description": "A date input allows users to enter and edit date and time values using a keyboard.",
1478
+ "keywords": [
1479
+ "date-field"
1480
+ @@ -34,8 +34,8 @@
1481
+ "postpack": "clean-package restore"
1482
+ },
1483
+ "peerDependencies": {
1484
+ - "@nextui-org/system": ">=2.3.0",
1485
+ - "@nextui-org/theme": ">=2.3.0",
1486
+ + "@nextui-org/system": ">=2.4.0",
1487
+ + "@nextui-org/theme": ">=2.4.0",
1488
+ "react": ">=18 || >=19.0.0-rc.0",
1489
+ "react-dom": ">=18 || >=19.0.0-rc.0"
1490
+ },\n- packages/components/date-picker/CHANGELOG.md (modified, 14 changes)\n Patch: @@ -1,5 +1,19 @@
1491
+ # @nextui-org/date-picker
1492
+
1493
+ +## 2.3.3
1494
+ +
1495
+ +### Patch Changes
1496
+ +
1497
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1498
+ +
1499
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1500
+ + - @nextui-org/[email protected]
1501
+ + - @nextui-org/[email protected]
1502
+ + - @nextui-org/[email protected]
1503
+ + - @nextui-org/[email protected]
1504
+ + - @nextui-org/[email protected]
1505
+ + - @nextui-org/[email protected]
1506
+ +
1507
+ ## 2.3.2
1508
+
1509
+ ### Patch Changes\n
processed_docs/pr_data_0_doc_18.txt ADDED
@@ -0,0 +1,1063 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4261
2
+ Title: ci(changesets): :package: version packages
3
+ Base Branch: canary
4
+ Head Branch: changeset-release/canary
5
+ Author: github-actions
6
+ URL: https://github.com/nextui-org/nextui/pull/4261
7
+ State: MERGED
8
+ Created At: 2024-12-07T12:16:13Z
9
+ Merged At: 2024-12-07T12:20:34Z
10
+ Participants: jrgarciadev
11
+
12
+ Description:
13
+ This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to canary, this PR will be updated.
14
+ Releases
15
+ @nextui-org/[email protected]
16
+ Patch Changes
17
+
18
+
19
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
20
+
21
+
22
+ Updated dependencies [6a94a12]:
23
+
24
+ @nextui-org/[email protected]
25
+ @nextui-org/[email protected]
26
+ @nextui-org/[email protected]
27
+
28
+
29
+
30
+ @nextui-org/[email protected]
31
+ Patch Changes
32
+
33
+
34
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
35
+
36
+
37
+ Updated dependencies [6a94a12]:
38
+
39
+ @nextui-org/[email protected]
40
+
41
+
42
+
43
+ @nextui-org/[email protected]
44
+ Patch Changes
45
+
46
+
47
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
48
+
49
+
50
+ Updated dependencies [6a94a12]:
51
+
52
+ @nextui-org/[email protected]
53
+ @nextui-org/[email protected]
54
+ @nextui-org/[email protected]
55
+ @nextui-org/[email protected]
56
+ @nextui-org/[email protected]
57
+ @nextui-org/[email protected]
58
+ @nextui-org/[email protected]
59
+ @nextui-org/[email protected]
60
+
61
+
62
+
63
+ @nextui-org/[email protected]
64
+ Patch Changes
65
+
66
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
67
+
68
+ @nextui-org/[email protected]
69
+ Patch Changes
70
+
71
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
72
+
73
+ @nextui-org/[email protected]
74
+ Patch Changes
75
+
76
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
77
+
78
+ @nextui-org/[email protected]
79
+ Patch Changes
80
+
81
+
82
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
83
+
84
+
85
+ Updated dependencies [6a94a12]:
86
+
87
+ @nextui-org/[email protected]
88
+ @nextui-org/[email protected]
89
+
90
+
91
+
92
+ @nextui-org/[email protected]
93
+ Patch Changes
94
+
95
+
96
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
97
+
98
+
99
+ Updated dependencies [6a94a12]:
100
+
101
+ @nextui-org/[email protected]
102
+ @nextui-org/[email protected]
103
+
104
+
105
+
106
+ @nextui-org/[email protected]
107
+ Patch Changes
108
+
109
+
110
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
111
+
112
+
113
+ Updated dependencies [6a94a12]:
114
+
115
+ @nextui-org/[email protected]
116
+
117
+
118
+
119
+ @nextui-org/[email protected]
120
+ Patch Changes
121
+
122
+
123
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
124
+
125
+
126
+ Updated dependencies [6a94a12]:
127
+
128
+ @nextui-org/[email protected]
129
+
130
+
131
+
132
+ @nextui-org/[email protected]
133
+ Patch Changes
134
+
135
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
136
+
137
+ @nextui-org/[email protected]
138
+ Patch Changes
139
+
140
+
141
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
142
+
143
+
144
+ Updated dependencies [6a94a12]:
145
+
146
+ @nextui-org/[email protected]
147
+
148
+
149
+
150
+ @nextui-org/[email protected]
151
+ Patch Changes
152
+
153
+
154
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
155
+
156
+
157
+ Updated dependencies [6a94a12]:
158
+
159
+ @nextui-org/[email protected]
160
+
161
+
162
+
163
+ @nextui-org/[email protected]
164
+ Patch Changes
165
+
166
+
167
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
168
+
169
+
170
+ Updated dependencies [6a94a12]:
171
+
172
+ @nextui-org/[email protected]
173
+ @nextui-org/[email protected]
174
+ @nextui-org/[email protected]
175
+ @nextui-org/[email protected]
176
+ @nextui-org/[email protected]
177
+ @nextui-org/[email protected]
178
+
179
+
180
+
181
+ @nextui-org/[email protected]
182
+ Patch Changes
183
+
184
+
185
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
186
+
187
+
188
+ Updated dependencies [6a94a12]:
189
+
190
+ @nextui-org/[email protected]
191
+
192
+
193
+
194
+ @nextui-org/[email protected]
195
+ Patch Changes
196
+
197
+
198
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
199
+
200
+
201
+ Updated dependencies [6a94a12]:
202
+
203
+ @nextui-org/[email protected]
204
+ @nextui-org/[email protected]
205
+
206
+
207
+
208
+ @nextui-org/[email protected]
209
+ Patch Changes
210
+
211
+
212
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
213
+
214
+
215
+ Updated dependencies [6a94a12]:
216
+
217
+ @nextui-org/[email protected]
218
+ @nextui-org/[email protected]
219
+ @nextui-org/[email protected]
220
+
221
+
222
+
223
+ @nextui-org/[email protected]
224
+ Patch Changes
225
+
226
+
227
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
228
+
229
+
230
+ Updated dependencies []:
231
+
232
+ @nextui-org/[email protected]
233
+
234
+
235
+
236
+ @nextui-org/[email protected]
237
+ Patch Changes
238
+
239
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
240
+
241
+ @nextui-org/[email protected]
242
+ Patch Changes
243
+
244
+
245
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
246
+
247
+
248
+ Updated dependencies [6a94a12]:
249
+
250
+ @nextui-org/[email protected]
251
+
252
+
253
+
254
+ @nextui-org/[email protected]
255
+ Patch Changes
256
+
257
+
258
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
259
+
260
+
261
+ Updated dependencies [6a94a12]:
262
+
263
+ @nextui-org/[email protected]
264
+
265
+
266
+
267
+ @nextui-org/[email protected]
268
+ Patch Changes
269
+
270
+
271
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
272
+
273
+
274
+ Updated dependencies [6a94a12]:
275
+
276
+ @nextui-org/[email protected]
277
+
278
+
279
+
280
+ @nextui-org/[email protected]
281
+ Patch Changes
282
+
283
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
284
+
285
+ @nextui-org/[email protected]
286
+ Patch Changes
287
+
288
+
289
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
290
+
291
+
292
+ Updated dependencies [6a94a12]:
293
+
294
+ @nextui-org/[email protected]
295
+ @nextui-org/[email protected]
296
+
297
+
298
+
299
+ @nextui-org/[email protected]
300
+ Patch Changes
301
+
302
+
303
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
304
+
305
+
306
+ Updated dependencies [6a94a12]:
307
+
308
+ @nextui-org/[email protected]
309
+ @nextui-org/[email protected]
310
+
311
+
312
+
313
+ @nextui-org/[email protected]
314
+ Patch Changes
315
+
316
+
317
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
318
+
319
+
320
+ Updated dependencies []:
321
+
322
+ @nextui-org/[email protected]
323
+
324
+
325
+
326
+ @nextui-org/[email protected]
327
+ Patch Changes
328
+
329
+
330
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
331
+
332
+
333
+ Updated dependencies []:
334
+
335
+ @nextui-org/[email protected]
336
+
337
+
338
+
339
+ @nextui-org/[email protected]
340
+ Patch Changes
341
+
342
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
343
+
344
+ @nextui-org/[email protected]
345
+ Patch Changes
346
+
347
+
348
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
349
+
350
+
351
+ Updated dependencies [6a94a12]:
352
+
353
+ @nextui-org/[email protected]
354
+ @nextui-org/[email protected]
355
+ @nextui-org/[email protected]
356
+
357
+
358
+
359
+ @nextui-org/[email protected]
360
+ Patch Changes
361
+
362
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
363
+
364
+ @nextui-org/[email protected]
365
+ Patch Changes
366
+
367
+
368
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
369
+
370
+
371
+ Updated dependencies [6a94a12]:
372
+
373
+ @nextui-org/[email protected]
374
+
375
+
376
+
377
+ @nextui-org/[email protected]
378
+ Patch Changes
379
+
380
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
381
+
382
+ @nextui-org/[email protected]
383
+ Patch Changes
384
+
385
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
386
+
387
+ @nextui-org/[email protected]
388
+ Patch Changes
389
+
390
+
391
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
392
+
393
+
394
+ Updated dependencies [6a94a12]:
395
+
396
+ @nextui-org/[email protected]
397
+ @nextui-org/[email protected]
398
+ @nextui-org/[email protected]
399
+ @nextui-org/[email protected]
400
+ @nextui-org/[email protected]
401
+ @nextui-org/[email protected]
402
+
403
+
404
+
405
+ @nextui-org/[email protected]
406
+ Patch Changes
407
+
408
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
409
+
410
+ @nextui-org/[email protected]
411
+ Patch Changes
412
+
413
+
414
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
415
+
416
+
417
+ Updated dependencies [6a94a12]:
418
+
419
+ @nextui-org/[email protected]
420
+
421
+
422
+
423
+ @nextui-org/[email protected]
424
+ Patch Changes
425
+
426
+
427
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
428
+
429
+
430
+ Updated dependencies [6a94a12]:
431
+
432
+ @nextui-org/[email protected]
433
+ @nextui-org/[email protected]
434
+
435
+
436
+
437
+ @nextui-org/[email protected]
438
+ Patch Changes
439
+
440
+
441
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
442
+
443
+
444
+ Updated dependencies [6a94a12]:
445
+
446
+ @nextui-org/[email protected]
447
+
448
+
449
+
450
+ @nextui-org/[email protected]
451
+ Patch Changes
452
+
453
+
454
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
455
+
456
+
457
+ Updated dependencies [6a94a12]:
458
+
459
+ @nextui-org/[email protected]
460
+
461
+
462
+
463
+ @nextui-org/[email protected]
464
+ Patch Changes
465
+
466
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
467
+
468
+ @nextui-org/[email protected]
469
+ Patch Changes
470
+
471
+
472
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
473
+
474
+
475
+ Updated dependencies [6a94a12]:
476
+
477
+ @nextui-org/[email protected]
478
+ @nextui-org/[email protected]
479
+
480
+
481
+
482
+ @nextui-org/[email protected]
483
+ Patch Changes
484
+
485
+
486
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
487
+
488
+
489
+ Updated dependencies []:
490
+
491
+ @nextui-org/[email protected]
492
+ @nextui-org/[email protected]
493
+
494
+
495
+
496
+ @nextui-org/[email protected]
497
+ Patch Changes
498
+
499
+
500
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
501
+
502
+
503
+ Updated dependencies []:
504
+
505
+ @nextui-org/[email protected]
506
+ @nextui-org/[email protected]
507
+
508
+
509
+
510
+ @nextui-org/[email protected]
511
+ Patch Changes
512
+
513
+
514
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
515
+
516
+
517
+ Updated dependencies [6a94a12]:
518
+
519
+ @nextui-org/[email protected]
520
+
521
+
522
+
523
+ @nextui-org/[email protected]
524
+ Patch Changes
525
+
526
+ Updated dependencies [6a94a12]:
527
+
528
+ @nextui-org/[email protected]
529
+ @nextui-org/[email protected]
530
+ @nextui-org/[email protected]
531
+ @nextui-org/[email protected]
532
+ @nextui-org/[email protected]
533
+ @nextui-org/[email protected]
534
+ @nextui-org/[email protected]
535
+ @nextui-org/[email protected]
536
+ @nextui-org/[email protected]
537
+ @nextui-org/[email protected]
538
+ @nextui-org/[email protected]
539
+ @nextui-org/[email protected]
540
+ @nextui-org/[email protected]
541
+ @nextui-org/[email protected]
542
+ @nextui-org/[email protected]
543
+ @nextui-org/[email protected]
544
+ @nextui-org/[email protected]
545
+ @nextui-org/[email protected]
546
+ @nextui-org/[email protected]
547
+ @nextui-org/[email protected]
548
+ @nextui-org/[email protected]
549
+ @nextui-org/[email protected]
550
+ @nextui-org/[email protected]
551
+ @nextui-org/[email protected]
552
+ @nextui-org/[email protected]
553
+ @nextui-org/[email protected]
554
+ @nextui-org/[email protected]
555
+ @nextui-org/[email protected]
556
+ @nextui-org/[email protected]
557
+ @nextui-org/[email protected]
558
+ @nextui-org/[email protected]
559
+ @nextui-org/[email protected]
560
+ @nextui-org/[email protected]
561
+ @nextui-org/[email protected]
562
+ @nextui-org/[email protected]
563
+ @nextui-org/[email protected]
564
+ @nextui-org/[email protected]
565
+ @nextui-org/[email protected]
566
+ @nextui-org/[email protected]
567
+ @nextui-org/[email protected]
568
+ @nextui-org/[email protected]
569
+ @nextui-org/[email protected]
570
+ @nextui-org/[email protected]
571
+ @nextui-org/[email protected]
572
+ @nextui-org/[email protected]
573
+ @nextui-org/[email protected]
574
+
575
+
576
+
577
+ @nextui-org/[email protected]
578
+ Patch Changes
579
+
580
+ Updated dependencies [6a94a12]:
581
+
582
+ @nextui-org/[email protected]
583
+
584
+
585
+
586
+ @nextui-org/[email protected]
587
+ Patch Changes
588
+
589
+ #4255 6a94a12 Thanks @wingkwong! - fixed incorrect peerDependencies for theme and system package (#4254)
590
+
591
+ @nextui-org/[email protected]
592
+ Patch Changes
593
+
594
+ Updated dependencies []:
595
+
596
+ @nextui-org/[email protected]
597
+
598
+
599
+
600
+ @nextui-org/[email protected]
601
+ Patch Changes
602
+
603
+ Updated dependencies []:
604
+
605
+ @nextui-org/[email protected]
606
+
607
+ Commits:
608
+ - ci(changesets): version packages\n
609
+
610
+ Labels:
611
+
612
+
613
+ Comments:
614
+ - vercel: [vc]: #UylkMd8Pj9uGGTS2eF+Kxl8B3ICN2R0fz2G3yKh0blU=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvRWs1aFJxZ1pUYk5BSk5jS1NFN3VuUGp3c1JxUCIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1jaGFuZ2VzZXQtcmVsZWFzZS1jYW5hcnktbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWNoYW5nZXNldC1yZWxlYXNlLWNhbmFyeS1uZXh0dWktb3JnLnZlcmNlbC5hcHAifX0seyJuYW1lIjoibmV4dHVpLWRvY3MtdjIiLCJyb290RGlyZWN0b3J5IjoiYXBwcy9kb2NzIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLWRvY3MtdjIvNFdiODVMTjlLV25MNlRXS3NuWkVndm4xNUhNQyIsInByZXZpZXdVcmwiOiJuZXh0dWktZG9jcy12Mi1naXQtY2hhbmdlc2V0LXJlbGVhc2UtY2FuYXJ5LW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktZG9jcy12Mi1naXQtY2hhbmdlc2V0LXJlbGVhc2UtY2FuYXJ5LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
615
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
616
+
617
+ | Name | Status | Preview | Comments | Updated (UTC) |
618
+ | :--- | :----- | :------ | :------- | :------ |
619
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/4Wb85LN9KWnL6TWKsnZEgvn15HMC)) | [Visit Preview](https://nextui-docs-v2-git-changeset-release-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-changeset-release-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 0:22am |
620
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/Ek5hRqgZTbNAJNcKSE7unPjwsRqP)) | [Visit Preview](https://nextui-storybook-v2-git-changeset-release-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-changeset-release-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 0:22am |
621
+
622
+
623
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
624
+ <!-- This is an auto-generated comment: skip review by coderabbit.ai -->
625
+
626
+ > [!IMPORTANT]
627
+ > ## Review skipped
628
+ >
629
+ > Ignore keyword(s) in the title.
630
+ >
631
+ > <details>
632
+ > <summary>:no_entry: Ignored keywords (3)</summary>
633
+ >
634
+ > * WIP
635
+ > * DO NOT MERGE
636
+ > * ci(changesets)
637
+ >
638
+ > </details>
639
+ >
640
+ > Please check the settings in the CodeRabbit UI or the `.coderabbit.yaml` file in this repository. To trigger a single review, invoke the `@coderabbitai review` command.
641
+ >
642
+ > You can disable this status message by setting the `reviews.review_status` to `false` in the CodeRabbit configuration file.
643
+
644
+ <!-- end of auto-generated comment: skip review by coderabbit.ai -->
645
+
646
+ <!-- tips_start -->
647
+
648
+ ---
649
+
650
+
651
+
652
+ <details>
653
+ <summary>πŸͺ§ Tips</summary>
654
+
655
+ ### Chat
656
+
657
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
658
+
659
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
660
+ - `I pushed a fix in commit <commit_id>, please review it.`
661
+ - `Generate unit testing code for this file.`
662
+ - `Open a follow-up GitHub issue for this discussion.`
663
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
664
+ - `@coderabbitai generate unit testing code for this file.`
665
+ - `@coderabbitai modularize this function.`
666
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
667
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
668
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
669
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
670
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
671
+
672
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
673
+
674
+ ### CodeRabbit Commands (Invoked using PR comments)
675
+
676
+ - `@coderabbitai pause` to pause the reviews on a PR.
677
+ - `@coderabbitai resume` to resume the paused reviews.
678
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
679
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
680
+ - `@coderabbitai summary` to regenerate the summary of the PR.
681
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
682
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
683
+ - `@coderabbitai help` to get help.
684
+
685
+ ### Other keywords and placeholders
686
+
687
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
688
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
689
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
690
+
691
+ ### Documentation and Community
692
+
693
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
694
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
695
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
696
+
697
+ </details>
698
+
699
+ <!-- tips_end -->\n
700
+
701
+ Files Changed:
702
+ - .changeset/hungry-mugs-exercise.md (removed, 49 changes)\n Patch: @@ -1,49 +0,0 @@
703
+ ----
704
+ -"@nextui-org/scroll-shadow": patch
705
+ -"@nextui-org/autocomplete": patch
706
+ -"@nextui-org/breadcrumbs": patch
707
+ -"@nextui-org/date-picker": patch
708
+ -"@nextui-org/date-input": patch
709
+ -"@nextui-org/pagination": patch
710
+ -"@nextui-org/accordion": patch
711
+ -"@nextui-org/input-otp": patch
712
+ -"@nextui-org/calendar": patch
713
+ -"@nextui-org/checkbox": patch
714
+ -"@nextui-org/dropdown": patch
715
+ -"@nextui-org/progress": patch
716
+ -"@nextui-org/skeleton": patch
717
+ -"@nextui-org/divider": patch
718
+ -"@nextui-org/listbox": patch
719
+ -"@nextui-org/popover": patch
720
+ -"@nextui-org/snippet": patch
721
+ -"@nextui-org/spinner": patch
722
+ -"@nextui-org/tooltip": patch
723
+ -"@nextui-org/avatar": patch
724
+ -"@nextui-org/button": patch
725
+ -"@nextui-org/drawer": patch
726
+ -"@nextui-org/navbar": patch
727
+ -"@nextui-org/ripple": patch
728
+ -"@nextui-org/select": patch
729
+ -"@nextui-org/slider": patch
730
+ -"@nextui-org/spacer": patch
731
+ -"@nextui-org/switch": patch
732
+ -"@nextui-org/alert": patch
733
+ -"@nextui-org/badge": patch
734
+ -"@nextui-org/image": patch
735
+ -"@nextui-org/input": patch
736
+ -"@nextui-org/modal": patch
737
+ -"@nextui-org/radio": patch
738
+ -"@nextui-org/table": patch
739
+ -"@nextui-org/card": patch
740
+ -"@nextui-org/chip": patch
741
+ -"@nextui-org/code": patch
742
+ -"@nextui-org/form": patch
743
+ -"@nextui-org/link": patch
744
+ -"@nextui-org/menu": patch
745
+ -"@nextui-org/tabs": patch
746
+ -"@nextui-org/user": patch
747
+ -"@nextui-org/system-rsc": patch
748
+ -"@nextui-org/kbd": patch
749
+ ----
750
+ -
751
+ -fixed incorrect peerDependencies for theme and system package (#4254)\n- packages/components/accordion/CHANGELOG.md (modified, 11 changes)\n Patch: @@ -1,5 +1,16 @@
752
+ # @nextui-org/accordion
753
+
754
+ +## 2.2.3
755
+ +
756
+ +### Patch Changes
757
+ +
758
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
759
+ +
760
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
761
+ + - @nextui-org/[email protected]
762
+ + - @nextui-org/[email protected]
763
+ + - @nextui-org/[email protected]
764
+ +
765
+ ## 2.2.2
766
+
767
+ ### Patch Changes\n- packages/components/accordion/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
768
+ {
769
+ "name": "@nextui-org/accordion",
770
+ - "version": "2.2.2",
771
+ + "version": "2.2.3",
772
+ "description": "Collapse display a list of high-level options that can expand/collapse to reveal more information.",
773
+ "keywords": [
774
+ "react",\n- packages/components/alert/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
775
+ # @nextui-org/alert
776
+
777
+ +## 2.2.3
778
+ +
779
+ +### Patch Changes
780
+ +
781
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
782
+ +
783
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
784
+ + - @nextui-org/[email protected]
785
+ +
786
+ ## 2.2.2
787
+
788
+ ### Patch Changes\n- packages/components/alert/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
789
+ {
790
+ "name": "@nextui-org/alert",
791
+ - "version": "2.2.2",
792
+ + "version": "2.2.3",
793
+ "description": "Alerts are temporary notifications that provide concise feedback about an action or event.",
794
+ "keywords": [
795
+ "alert"\n- packages/components/autocomplete/CHANGELOG.md (modified, 16 changes)\n Patch: @@ -1,5 +1,21 @@
796
+ # @nextui-org/autocomplete
797
+
798
+ +## 2.3.3
799
+ +
800
+ +### Patch Changes
801
+ +
802
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
803
+ +
804
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
805
+ + - @nextui-org/[email protected]
806
+ + - @nextui-org/[email protected]
807
+ + - @nextui-org/[email protected]
808
+ + - @nextui-org/[email protected]
809
+ + - @nextui-org/[email protected]
810
+ + - @nextui-org/[email protected]
811
+ + - @nextui-org/[email protected]
812
+ + - @nextui-org/[email protected]
813
+ +
814
+ ## 2.3.2
815
+
816
+ ### Patch Changes\n- packages/components/autocomplete/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
817
+ {
818
+ "name": "@nextui-org/autocomplete",
819
+ - "version": "2.3.2",
820
+ + "version": "2.3.3",
821
+ "description": "An autocomplete combines a text input with a listbox, allowing users to filter a list of options to items matching a query.",
822
+ "keywords": [
823
+ "autocomplete"\n- packages/components/avatar/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
824
+ # @nextui-org/avatar
825
+
826
+ +## 2.2.3
827
+ +
828
+ +### Patch Changes
829
+ +
830
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
831
+ +
832
+ ## 2.2.2
833
+
834
+ ### Patch Changes\n- packages/components/avatar/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
835
+ {
836
+ "name": "@nextui-org/avatar",
837
+ - "version": "2.2.2",
838
+ + "version": "2.2.3",
839
+ "description": "The Avatar component is used to represent a user, and displays the profile picture, initials or fallback icon.",
840
+ "keywords": [
841
+ "avatar"\n- packages/components/badge/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
842
+ # @nextui-org/badge
843
+
844
+ +## 2.2.3
845
+ +
846
+ +### Patch Changes
847
+ +
848
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
849
+ +
850
+ ## 2.2.2
851
+
852
+ ### Patch Changes\n- packages/components/badge/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
853
+ {
854
+ "name": "@nextui-org/badge",
855
+ - "version": "2.2.2",
856
+ + "version": "2.2.3",
857
+ "description": "Badges are used as a small numerical value or status descriptor for UI elements.",
858
+ "keywords": [
859
+ "badge"\n- packages/components/breadcrumbs/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
860
+ # @nextui-org/breadcrumbs
861
+
862
+ +## 2.2.3
863
+ +
864
+ +### Patch Changes
865
+ +
866
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
867
+ +
868
+ ## 2.2.2
869
+
870
+ ### Patch Changes\n- packages/components/breadcrumbs/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
871
+ {
872
+ "name": "@nextui-org/breadcrumbs",
873
+ - "version": "2.2.2",
874
+ + "version": "2.2.3",
875
+ "description": "Breadcrumbs display a hierarchy of links to the current page or resource in an application.",
876
+ "keywords": [
877
+ "breadcrumbs"\n- packages/components/button/CHANGELOG.md (modified, 10 changes)\n Patch: @@ -1,5 +1,15 @@
878
+ # @nextui-org/button
879
+
880
+ +## 2.2.3
881
+ +
882
+ +### Patch Changes
883
+ +
884
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
885
+ +
886
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
887
+ + - @nextui-org/[email protected]
888
+ + - @nextui-org/[email protected]
889
+ +
890
+ ## 2.2.2
891
+
892
+ ### Patch Changes\n- packages/components/button/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
893
+ {
894
+ "name": "@nextui-org/button",
895
+ - "version": "2.2.2",
896
+ + "version": "2.2.3",
897
+ "description": "Buttons allow users to perform actions and choose with a single tap.",
898
+ "keywords": [
899
+ "button"\n- packages/components/calendar/CHANGELOG.md (modified, 10 changes)\n Patch: @@ -1,5 +1,15 @@
900
+ # @nextui-org/calendar
901
+
902
+ +## 2.2.3
903
+ +
904
+ +### Patch Changes
905
+ +
906
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
907
+ +
908
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
909
+ + - @nextui-org/[email protected]
910
+ + - @nextui-org/[email protected]
911
+ +
912
+ ## 2.2.2
913
+
914
+ ### Patch Changes\n- packages/components/calendar/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
915
+ {
916
+ "name": "@nextui-org/calendar",
917
+ - "version": "2.2.2",
918
+ + "version": "2.2.3",
919
+ "description": "A calendar displays one or more date grids and allows users to select a single date.",
920
+ "keywords": [
921
+ "calendar"\n- packages/components/card/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
922
+ # @nextui-org/card
923
+
924
+ +## 2.2.3
925
+ +
926
+ +### Patch Changes
927
+ +
928
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
929
+ +
930
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
931
+ + - @nextui-org/[email protected]
932
+ +
933
+ ## 2.2.2
934
+
935
+ ### Patch Changes\n- packages/components/card/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
936
+ {
937
+ "name": "@nextui-org/card",
938
+ - "version": "2.2.2",
939
+ + "version": "2.2.3",
940
+ "description": "Card is a container for text, photos, and actions in the context of a single subject.",
941
+ "keywords": [
942
+ "card"\n- packages/components/checkbox/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
943
+ # @nextui-org/checkbox
944
+
945
+ +## 2.3.3
946
+ +
947
+ +### Patch Changes
948
+ +
949
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
950
+ +
951
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
952
+ + - @nextui-org/[email protected]
953
+ +
954
+ ## 2.3.2
955
+
956
+ ### Patch Changes\n- packages/components/checkbox/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
957
+ {
958
+ "name": "@nextui-org/checkbox",
959
+ - "version": "2.3.2",
960
+ + "version": "2.3.3",
961
+ "description": "Checkboxes allow users to select multiple items from a list of individual items, or to mark one individual item as selected.",
962
+ "keywords": [
963
+ "checkbox"\n- packages/components/chip/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
964
+ # @nextui-org/chip
965
+
966
+ +## 2.2.3
967
+ +
968
+ +### Patch Changes
969
+ +
970
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
971
+ +
972
+ ## 2.2.2
973
+
974
+ ### Patch Changes\n- packages/components/chip/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
975
+ {
976
+ "name": "@nextui-org/chip",
977
+ - "version": "2.2.2",
978
+ + "version": "2.2.3",
979
+ "description": "Chips help people enter information, make selections, filter content, or trigger actions.",
980
+ "keywords": [
981
+ "chip"\n- packages/components/code/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
982
+ # @nextui-org/code
983
+
984
+ +## 2.2.3
985
+ +
986
+ +### Patch Changes
987
+ +
988
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
989
+ +
990
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
991
+ + - @nextui-org/[email protected]
992
+ +
993
+ ## 2.2.2
994
+
995
+ ### Patch Changes\n- packages/components/code/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
996
+ {
997
+ "name": "@nextui-org/code",
998
+ - "version": "2.2.2",
999
+ + "version": "2.2.3",
1000
+ "description": "Code is a component used to display inline code.",
1001
+ "keywords": [
1002
+ "code"\n- packages/components/date-input/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1003
+ # @nextui-org/date-input
1004
+
1005
+ +## 2.3.3
1006
+ +
1007
+ +### Patch Changes
1008
+ +
1009
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1010
+ +
1011
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1012
+ + - @nextui-org/[email protected]
1013
+ +
1014
+ ## 2.3.2
1015
+
1016
+ ### Patch Changes\n- packages/components/date-input/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1017
+ {
1018
+ "name": "@nextui-org/date-input",
1019
+ - "version": "2.3.2",
1020
+ + "version": "2.3.3",
1021
+ "description": "A date input allows users to enter and edit date and time values using a keyboard.",
1022
+ "keywords": [
1023
+ "date-field"\n- packages/components/date-picker/CHANGELOG.md (modified, 14 changes)\n Patch: @@ -1,5 +1,19 @@
1024
+ # @nextui-org/date-picker
1025
+
1026
+ +## 2.3.3
1027
+ +
1028
+ +### Patch Changes
1029
+ +
1030
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1031
+ +
1032
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1033
+ + - @nextui-org/[email protected]
1034
+ + - @nextui-org/[email protected]
1035
+ + - @nextui-org/[email protected]
1036
+ + - @nextui-org/[email protected]
1037
+ + - @nextui-org/[email protected]
1038
+ + - @nextui-org/[email protected]
1039
+ +
1040
+ ## 2.3.2
1041
+
1042
+ ### Patch Changes\n- packages/components/date-picker/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1043
+ {
1044
+ "name": "@nextui-org/date-picker",
1045
+ - "version": "2.3.2",
1046
+ + "version": "2.3.3",
1047
+ "description": "A date picker combines a DateInput and a Calendar popover to allow users to enter or select a date and time value.",
1048
+ "keywords": [
1049
+ "date-picker"\n- packages/components/divider/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1050
+ # @nextui-org/divider
1051
+
1052
+ +## 2.2.3
1053
+ +
1054
+ +### Patch Changes
1055
+ +
1056
+ +- [#4255](https://github.com/nextui-org/nextui/pull/4255) [`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050) Thanks [@wingkwong](https://github.com/wingkwong)! - fixed incorrect peerDependencies for theme and system package (#4254)
1057
+ +
1058
+ +- Updated dependencies [[`6a94a12`](https://github.com/nextui-org/nextui/commit/6a94a125d4836b0a18d9cd2cb521c85a6bfa9050)]:
1059
+ + - @nextui-org/[email protected]
1060
+ +
1061
+ ## 2.2.2
1062
+
1063
+ ### Patch Changes\n
processed_docs/pr_data_0_doc_19.txt ADDED
@@ -0,0 +1,881 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4258
2
+ Title: chore(deps): sync with upstream RA versions
3
+ Base Branch: canary
4
+ Head Branch: fix/eng-1656
5
+ Author: wingkwong
6
+ URL: https://github.com/nextui-org/nextui/pull/4258
7
+ State: MERGED
8
+ Created At: 2024-12-07T06:57:58Z
9
+ Merged At: 2024-12-08T12:38:06Z
10
+ Participants: wingkwong, jrgarciadev
11
+
12
+ Description:
13
+ Closes #4243
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+ Release Notes
26
+
27
+
28
+ New Features
29
+
30
+ Enhanced state management across various components to allow for null values, improving flexibility in handling unselected or invalid states.
31
+ Updated dropdown menu items to include unique key attributes for better rendering performance.
32
+
33
+
34
+
35
+ Bug Fixes
36
+
37
+ Improved error handling in state management for date-related components to prevent runtime issues.
38
+
39
+
40
+
41
+ Documentation
42
+
43
+ Updated installation instructions and dependency versions for several components, ensuring users have the latest information for setup.
44
+
45
+
46
+
47
+ Dependency Updates
48
+
49
+ Incremented versions for multiple dependencies across various packages to maintain compatibility and incorporate improvements.
50
+
51
+ Commits:
52
+ - chore(deps): sync with upstream RA versions\n- chore(changeset): add changeset\n- chore(form): remove caret\n- chore(deps): pnpm-lock.yaml\n- fix(tooltip): type 'null' is not assignable to type 'PlacementAxis'\n- fix(deps): bump `@internationalized/date`\n- chore(deps): sync `@react-types` versions\n- Merge branch 'canary' into fix/eng-1656\n- Merge branch 'canary' into fix/eng-1656\n- fix(input): follow RAC typing in useTextField\n- fix(popover): typecheck error\n- fix: typecheck errors\n- fix: typecheck errors\n- fix(docs): bump RA versions\n- fix: merge conflicts\n
53
+
54
+ Labels:
55
+
56
+
57
+ Comments:
58
+ - linear: <p><a href="https://linear.app/nextui-inc/issue/ENG-1656/[bug]-type-datevalue-is-not-assignable-to-type-datevalue-or-null-or">ENG-1656 [BUG] - Type 'DateValue' is not assignable to type 'DateValue | null | undefined'</a></p>\n- vercel: [vc]: #46q7oEIPSeF8OrPSXJ3ThPOUQvsH5nR4oWMa6fvphhw=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi85S0oyN0RtZ25qQVdjaUVqVTZNR1ZDSFJkdmZ1IiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtZW5nLTE2NTYtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtZW5nLTE2NTYtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi9HbXlXNFZQZ0x3VW9XbmNNS3JhNjV2dzhhRWZNIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZpeC1lbmctMTY1Ni1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LWVuZy0xNjU2LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
59
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
60
+
61
+ | Name | Status | Preview | Comments | Updated (UTC) |
62
+ | :--- | :----- | :------ | :------- | :------ |
63
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/9KJ27DmgnjAWciEjU6MGVCHRdvfu)) | [Visit Preview](https://nextui-docs-v2-git-fix-eng-1656-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-eng-1656-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 8, 2024 0:38am |
64
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/GmyW4VPgLwUoWncMKra65vw8aEfM)) | [Visit Preview](https://nextui-storybook-v2-git-fix-eng-1656-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-eng-1656-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 8, 2024 0:38am |
65
+
66
+
67
+ \n- changeset-bot: ### πŸ¦‹ Changeset detected
68
+
69
+ Latest commit: a617526fc919a07c53cac9996235ad97ab8a4d16
70
+
71
+ **The changes in this PR will be included in the next version bump.**
72
+
73
+ <details><summary>This PR includes changesets to release 57 packages</summary>
74
+
75
+ | Name | Type |
76
+ | ------------------------------------- | ----- |
77
+ | @nextui-org/use-intersection-observer | Patch |
78
+ | @nextui-org/use-aria-accordion-item | Patch |
79
+ | @nextui-org/use-aria-modal-overlay | Patch |
80
+ | @nextui-org/use-aria-toggle-button | Patch |
81
+ | @nextui-org/use-aria-multiselect | Patch |
82
+ | @nextui-org/use-aria-accordion | Patch |
83
+ | @nextui-org/autocomplete | Patch |
84
+ | @nextui-org/breadcrumbs | Patch |
85
+ | @nextui-org/date-picker | Patch |
86
+ | @nextui-org/date-input | Patch |
87
+ | @nextui-org/pagination | Patch |
88
+ | @nextui-org/use-aria-button | Patch |
89
+ | @nextui-org/accordion | Patch |
90
+ | @nextui-org/input-otp | Patch |
91
+ | @nextui-org/use-disclosure | Patch |
92
+ | @nextui-org/use-pagination | Patch |
93
+ | @nextui-org/aria-utils | Patch |
94
+ | @nextui-org/calendar | Patch |
95
+ | @nextui-org/checkbox | Patch |
96
+ | @nextui-org/dropdown | Patch |
97
+ | @nextui-org/progress | Patch |
98
+ | @nextui-org/use-aria-link | Patch |
99
+ | @nextui-org/use-aria-menu | Patch |
100
+ | @nextui-org/use-draggable | Patch |
101
+ | @nextui-org/use-is-mobile | Patch |
102
+ | @nextui-org/divider | Patch |
103
+ | @nextui-org/listbox | Patch |
104
+ | @nextui-org/popover | Patch |
105
+ | @nextui-org/snippet | Patch |
106
+ | @nextui-org/tooltip | Patch |
107
+ | @nextui-org/avatar | Patch |
108
+ | @nextui-org/button | Patch |
109
+ | @nextui-org/navbar | Patch |
110
+ | @nextui-org/select | Patch |
111
+ | @nextui-org/slider | Patch |
112
+ | @nextui-org/switch | Patch |
113
+ | @nextui-org/alert | Patch |
114
+ | @nextui-org/input | Patch |
115
+ | @nextui-org/modal | Patch |
116
+ | @nextui-org/radio | Patch |
117
+ | @nextui-org/table | Patch |
118
+ | @nextui-org/card | Patch |
119
+ | @nextui-org/chip | Patch |
120
+ | @nextui-org/form | Patch |
121
+ | @nextui-org/link | Patch |
122
+ | @nextui-org/menu | Patch |
123
+ | @nextui-org/tabs | Patch |
124
+ | @nextui-org/user | Patch |
125
+ | @nextui-org/system-rsc | Patch |
126
+ | @nextui-org/system | Patch |
127
+ | @nextui-org/react | Patch |
128
+ | @nextui-org/drawer | Patch |
129
+ | @nextui-org/code | Patch |
130
+ | @nextui-org/kbd | Patch |
131
+ | @nextui-org/spacer | Patch |
132
+ | @nextui-org/spinner | Patch |
133
+ | @nextui-org/framer-utils | Patch |
134
+
135
+ </details>
136
+
137
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
138
+
139
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/fix/eng-1656?filename=.changeset/metal-rocks-beam.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0Achore(deps)%3A%20sync%20with%20upstream%20RA%20versions%0A)
140
+
141
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
142
+
143
+
144
+
145
+
146
+ <!-- walkthrough_start -->
147
+
148
+ ## Walkthrough
149
+ This pull request introduces updates to various components and utilities from the `@nextui-org` library, aligning them with the latest upstream versions. Key modifications include changes to state types across several date-related components, allowing them to accept `null` values in addition to `DateValue`. Additionally, several components have had `key` attributes added to their dropdown items for improved rendering performance. The documentation for components such as `DateInput`, `DatePicker`, and `DateRangePicker` has also been updated to reflect version changes in dependencies.
150
+
151
+ ## Changes
152
+
153
+ | File Path | Change Summary |
154
+ |-----------------------------------------------------------|------------------------------------------------------------------------------------------------|
155
+ | .changeset/fast-lamps-accept.md | Synchronization of various components from `@nextui-org` library with upstream versions. |
156
+ | apps/docs/app/examples/table/custom-styles/page.tsx | Added `key` attributes to `DropdownItem` components in `DropdownMenu`. |
157
+ | apps/docs/app/examples/table/use-case/page.tsx | Added `key` attributes to `DropdownItem` components in `DropdownMenu`. |
158
+ | apps/docs/content/components/calendar/*.raw.tsx | Updated state types from `DateValue` to `DateValue | null` in multiple calendar components. |
159
+ | apps/docs/content/components/date-input/*.raw.tsx | Updated state types from `DateValue` to `DateValue | null` in multiple date input components. |
160
+ | apps/docs/content/components/date-picker/*.raw.tsx | Updated state types from `DateValue` to `DateValue | null` in multiple date picker components.|
161
+ | apps/docs/content/components/date-range-picker/*.raw.tsx | Updated state types from `RangeValue<DateValue>` to `RangeValue<DateValue> | null`. |
162
+ | apps/docs/content/docs/components/*.mdx | Updated installation instructions for `DateInput`, `DatePicker`, and `DateRangePicker`. |
163
+ | apps/docs/package.json | Updated dependencies for various packages, including `@internationalized/date`. |
164
+ | packages/components/*/package.json | Updated dependency versions across multiple components. |
165
+ | packages/components/calendar/stories/*.tsx | Updated state management in stories to allow for `null` values in date handling. |
166
+ | packages/hooks/use-aria-accordion-item/package.json | Updated dependency versions for `@react-aria` and `@react-types`. |
167
+ | packages/hooks/use-aria-accordion/package.json | Updated dependency versions for `@react-aria` and `@react-types`. |
168
+ | packages/hooks/use-aria-button/package.json | Updated dependency versions for `@react-aria` and `@react-types`. |
169
+ | packages/hooks/use-aria-link/package.json | Updated dependency versions for `@react-aria` and `@react-types`. |
170
+
171
+ ## Assessment against linked issues
172
+
173
+ | Objective | Addressed | Explanation |
174
+ |---------------------------------------------------------------------------|-----------|----------------------------------------------|
175
+ | Type 'DateValue' should be assignable to 'DateValue | null | undefined' (4243) | βœ… | |
176
+ | Ensure date components handle null state properly (4243) | βœ… | |
177
+ | Maintain compatibility with upstream versions for date components (4243) | βœ… | |
178
+
179
+ ## Possibly related PRs
180
+ - **#3230**: This PR updates the `@internationalized/date` package, which is relevant as the main PR involves synchronization of various components, including date-related functionalities.
181
+ - **#3302**: This PR adds month and year pickers to the `DateRangePicker` and `RangeCalendar`, directly related to the main PR's focus on updating components in the `@nextui-org` library.
182
+ - **#3331**: This PR fixes a bug related to the year display in the `showMonthAndYearPickers`, which is relevant to the main PR's updates on date-related components.
183
+ - **#3603**: This PR addresses the Gregorian year offset for the Persian calendar, which is relevant to the main PR's focus on date handling and synchronization.
184
+ - **#4226**: This PR updates the `@react-aria/utils` version, which is significant for maintaining compatibility across the updated components in the main PR.
185
+
186
+ ## Suggested reviewers
187
+ - jrgarciadev
188
+
189
+ <!-- walkthrough_end -->
190
+
191
+ ---
192
+
193
+ <details>
194
+ <summary>πŸ“œ Recent review details</summary>
195
+
196
+ **Configuration used: .coderabbit.yaml**
197
+ **Review profile: CHILL**
198
+
199
+ <details>
200
+ <summary>πŸ“₯ Commits</summary>
201
+
202
+ Reviewing files that changed from the base of the PR and between 04ab029bd5c92feec067e044f835ccfa48a808ed and ef7bdf93d86578a74c499775a152b1485893db7a.
203
+
204
+ </details>
205
+
206
+ <details>
207
+ <summary>β›” Files ignored due to path filters (1)</summary>
208
+
209
+ * `pnpm-lock.yaml` is excluded by `!**/pnpm-lock.yaml`
210
+
211
+ </details>
212
+
213
+ <details>
214
+ <summary>πŸ“’ Files selected for processing (1)</summary>
215
+
216
+ * `apps/docs/package.json` (3 hunks)
217
+
218
+ </details>
219
+
220
+ <details>
221
+ <summary>🚧 Files skipped from review as they are similar to previous changes (1)</summary>
222
+
223
+ * apps/docs/package.json
224
+
225
+ </details>
226
+
227
+ </details>
228
+ <!-- internal state start -->
229
+
230
+
231
+ <!-- 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= -->
232
+
233
+ <!-- internal state end -->
234
+ <!-- tips_start -->
235
+
236
+ ---
237
+
238
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
239
+
240
+ <details>
241
+ <summary>❀️ Share</summary>
242
+
243
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
244
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
245
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
246
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
247
+
248
+ </details>
249
+
250
+ <details>
251
+ <summary>πŸͺ§ Tips</summary>
252
+
253
+ ### Chat
254
+
255
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
256
+
257
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
258
+ - `I pushed a fix in commit <commit_id>, please review it.`
259
+ - `Generate unit testing code for this file.`
260
+ - `Open a follow-up GitHub issue for this discussion.`
261
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
262
+ - `@coderabbitai generate unit testing code for this file.`
263
+ - `@coderabbitai modularize this function.`
264
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
265
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
266
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
267
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
268
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
269
+
270
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
271
+
272
+ ### CodeRabbit Commands (Invoked using PR comments)
273
+
274
+ - `@coderabbitai pause` to pause the reviews on a PR.
275
+ - `@coderabbitai resume` to resume the paused reviews.
276
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
277
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
278
+ - `@coderabbitai summary` to regenerate the summary of the PR.
279
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
280
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
281
+ - `@coderabbitai help` to get help.
282
+
283
+ ### Other keywords and placeholders
284
+
285
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
286
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
287
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
288
+
289
+ ### Documentation and Community
290
+
291
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
292
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
293
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
294
+
295
+ </details>
296
+
297
+ <!-- tips_end -->\n
298
+
299
+ Files Changed:
300
+ - .changeset/fast-lamps-accept.md (added, 55 changes)\n Patch: @@ -0,0 +1,55 @@
301
+ +---
302
+ +"@nextui-org/use-intersection-observer": patch
303
+ +"@nextui-org/use-aria-accordion-item": patch
304
+ +"@nextui-org/use-aria-modal-overlay": patch
305
+ +"@nextui-org/use-aria-toggle-button": patch
306
+ +"@nextui-org/use-aria-multiselect": patch
307
+ +"@nextui-org/use-aria-accordion": patch
308
+ +"@nextui-org/autocomplete": patch
309
+ +"@nextui-org/breadcrumbs": patch
310
+ +"@nextui-org/date-picker": patch
311
+ +"@nextui-org/date-input": patch
312
+ +"@nextui-org/pagination": patch
313
+ +"@nextui-org/use-aria-button": patch
314
+ +"@nextui-org/accordion": patch
315
+ +"@nextui-org/input-otp": patch
316
+ +"@nextui-org/use-disclosure": patch
317
+ +"@nextui-org/use-pagination": patch
318
+ +"@nextui-org/aria-utils": patch
319
+ +"@nextui-org/calendar": patch
320
+ +"@nextui-org/checkbox": patch
321
+ +"@nextui-org/dropdown": patch
322
+ +"@nextui-org/progress": patch
323
+ +"@nextui-org/use-aria-link": patch
324
+ +"@nextui-org/use-aria-menu": patch
325
+ +"@nextui-org/use-draggable": patch
326
+ +"@nextui-org/use-is-mobile": patch
327
+ +"@nextui-org/divider": patch
328
+ +"@nextui-org/listbox": patch
329
+ +"@nextui-org/popover": patch
330
+ +"@nextui-org/snippet": patch
331
+ +"@nextui-org/tooltip": patch
332
+ +"@nextui-org/avatar": patch
333
+ +"@nextui-org/button": patch
334
+ +"@nextui-org/navbar": patch
335
+ +"@nextui-org/select": patch
336
+ +"@nextui-org/slider": patch
337
+ +"@nextui-org/switch": patch
338
+ +"@nextui-org/alert": patch
339
+ +"@nextui-org/input": patch
340
+ +"@nextui-org/modal": patch
341
+ +"@nextui-org/radio": patch
342
+ +"@nextui-org/table": patch
343
+ +"@nextui-org/card": patch
344
+ +"@nextui-org/chip": patch
345
+ +"@nextui-org/form": patch
346
+ +"@nextui-org/link": patch
347
+ +"@nextui-org/menu": patch
348
+ +"@nextui-org/tabs": patch
349
+ +"@nextui-org/user": patch
350
+ +"@nextui-org/system-rsc": patch
351
+ +"@nextui-org/system": patch
352
+ +"@nextui-org/react": patch
353
+ +---
354
+ +
355
+ +sync with upstream RA versions\n- apps/docs/app/examples/table/custom-styles/page.tsx (modified, 6 changes)\n Patch: @@ -360,9 +360,9 @@ export default function Page() {
356
+ </Button>
357
+ </DropdownTrigger>
358
+ <DropdownMenu>
359
+ - <DropdownItem>View</DropdownItem>
360
+ - <DropdownItem>Edit</DropdownItem>
361
+ - <DropdownItem>Delete</DropdownItem>
362
+ + <DropdownItem key="view">View</DropdownItem>
363
+ + <DropdownItem key="edit">Edit</DropdownItem>
364
+ + <DropdownItem key="delete">Delete</DropdownItem>
365
+ </DropdownMenu>
366
+ </Dropdown>
367
+ </div>\n- apps/docs/app/examples/table/use-case/page.tsx (modified, 6 changes)\n Patch: @@ -352,9 +352,9 @@ export default function Page() {
368
+ </Button>
369
+ </DropdownTrigger>
370
+ <DropdownMenu>
371
+ - <DropdownItem>View</DropdownItem>
372
+ - <DropdownItem>Edit</DropdownItem>
373
+ - <DropdownItem>Delete</DropdownItem>
374
+ + <DropdownItem key="view">View</DropdownItem>
375
+ + <DropdownItem key="edit">Edit</DropdownItem>
376
+ + <DropdownItem key="delete">Delete</DropdownItem>
377
+ </DropdownMenu>
378
+ </Dropdown>
379
+ </div>\n- apps/docs/content/components/calendar/controlled-focused-value.raw.tsx (modified, 2 changes)\n Patch: @@ -6,7 +6,7 @@ import {today, getLocalTimeZone} from "@internationalized/date";
380
+
381
+ export default function App() {
382
+ let defaultDate = today(getLocalTimeZone());
383
+ - let [focusedDate, setFocusedDate] = React.useState<DateValue>(defaultDate);
384
+ + let [focusedDate, setFocusedDate] = React.useState<DateValue | null>(defaultDate);
385
+
386
+ return (
387
+ <Calendar\n- apps/docs/content/components/calendar/controlled.raw.tsx (modified, 2 changes)\n Patch: @@ -5,7 +5,7 @@ import {Calendar} from "@nextui-org/react";
388
+ import {parseDate} from "@internationalized/date";
389
+
390
+ export default function App() {
391
+ - let [value, setValue] = React.useState<DateValue>(parseDate("2024-03-07"));
392
+ + let [value, setValue] = React.useState<DateValue | null>(parseDate("2024-03-07"));
393
+
394
+ return <Calendar aria-label="Date (Controlled)" value={value} onChange={setValue} />;
395
+ }\n- apps/docs/content/components/calendar/invalid-date.raw.tsx (modified, 4 changes)\n Patch: @@ -6,9 +6,9 @@ import {today, getLocalTimeZone, isWeekend} from "@internationalized/date";
396
+ import {useLocale} from "@react-aria/i18n";
397
+
398
+ export default function App() {
399
+ - let [date, setDate] = React.useState<DateValue>(today(getLocalTimeZone()));
400
+ + let [date, setDate] = React.useState<DateValue | null>(today(getLocalTimeZone()));
401
+ let {locale} = useLocale();
402
+ - let isInvalid = isWeekend(date, locale);
403
+ + let isInvalid = isWeekend(date!, locale);
404
+
405
+ return (
406
+ <Calendar\n- apps/docs/content/components/calendar/presets.raw.tsx (modified, 2 changes)\n Patch: @@ -7,7 +7,7 @@ import {useLocale} from "@react-aria/i18n";
407
+
408
+ export default function App() {
409
+ let defaultDate = today(getLocalTimeZone());
410
+ - let [value, setValue] = React.useState<DateValue>(defaultDate);
411
+ + let [value, setValue] = React.useState<DateValue | null>(defaultDate);
412
+ let {locale} = useLocale();
413
+
414
+ let now = today(getLocalTimeZone());\n- apps/docs/content/components/date-input/controlled.raw.tsx (modified, 2 changes)\n Patch: @@ -4,7 +4,7 @@ import {DateValue, parseDate, getLocalTimeZone} from "@internationalized/date";
415
+ import {useDateFormatter} from "@react-aria/i18n";
416
+
417
+ export default function App() {
418
+ - const [value, setValue] = React.useState<DateValue>(parseDate("2024-04-04"));
419
+ + const [value, setValue] = React.useState<DateValue | null>(parseDate("2024-04-04"));
420
+
421
+ let formatter = useDateFormatter({dateStyle: "full"});
422
+ \n- apps/docs/content/components/date-input/granularity.raw.tsx (modified, 4 changes)\n Patch: @@ -3,7 +3,9 @@ import {DateInput} from "@nextui-org/react";
423
+ import {DateValue, now, parseAbsoluteToLocal} from "@internationalized/date";
424
+
425
+ export default function App() {
426
+ - let [date, setDate] = React.useState<DateValue>(parseAbsoluteToLocal("2021-04-07T18:45:22Z"));
427
+ + let [date, setDate] = React.useState<DateValue | null>(
428
+ + parseAbsoluteToLocal("2021-04-07T18:45:22Z"),
429
+ + );
430
+
431
+ return (
432
+ <div className="w-full max-w-xl flex flex-col items-start gap-4">\n- apps/docs/content/components/date-input/international-calendar.raw.tsx (modified, 4 changes)\n Patch: @@ -4,7 +4,9 @@ import {DateValue, parseAbsoluteToLocal} from "@internationalized/date";
433
+ import {I18nProvider} from "@react-aria/i18n";
434
+
435
+ export default function App() {
436
+ - const [date, setDate] = React.useState<DateValue>(parseAbsoluteToLocal("2021-04-07T18:45:22Z"));
437
+ + const [date, setDate] = React.useState<DateValue | null>(
438
+ + parseAbsoluteToLocal("2021-04-07T18:45:22Z"),
439
+ + );
440
+
441
+ return (
442
+ <div className="flex flex-col gap-4">\n- apps/docs/content/components/date-picker/controlled.raw.tsx (modified, 2 changes)\n Patch: @@ -4,7 +4,7 @@ import {DateValue, parseDate, getLocalTimeZone} from "@internationalized/date";
443
+ import {useDateFormatter} from "@react-aria/i18n";
444
+
445
+ export default function App() {
446
+ - const [value, setValue] = React.useState<DateValue>(parseDate("2024-04-04"));
447
+ + const [value, setValue] = React.useState<DateValue | null>(parseDate("2024-04-04"));
448
+
449
+ let formatter = useDateFormatter({dateStyle: "full"});
450
+ \n- apps/docs/content/components/date-picker/granularity.raw.tsx (modified, 4 changes)\n Patch: @@ -3,7 +3,9 @@ import {DatePicker} from "@nextui-org/react";
451
+ import {DateValue, now, parseAbsoluteToLocal} from "@internationalized/date";
452
+
453
+ export default function App() {
454
+ - let [date, setDate] = React.useState<DateValue>(parseAbsoluteToLocal("2021-04-07T18:45:22Z"));
455
+ + let [date, setDate] = React.useState<DateValue | null>(
456
+ + parseAbsoluteToLocal("2021-04-07T18:45:22Z"),
457
+ + );
458
+
459
+ return (
460
+ <div className="w-full max-w-xl flex flex-col items-start gap-4">\n- apps/docs/content/components/date-picker/granularity.ts (modified, 2 changes)\n Patch: @@ -35,7 +35,7 @@ const AppTs = `import {DatePicker} from "@nextui-org/react";
461
+ import {DateValue, now, parseAbsoluteToLocal} from "@internationalized/date";
462
+
463
+ export default function App() {
464
+ - let [date, setDate] = React.useState<DateValue>(parseAbsoluteToLocal("2021-04-07T18:45:22Z"));
465
+ + let [date, setDate] = React.useState<DateValue | null>(parseAbsoluteToLocal("2021-04-07T18:45:22Z"));
466
+
467
+ return (
468
+ <div className="w-full max-w-xl flex flex-col items-start gap-4">\n- apps/docs/content/components/date-picker/international-calendar.raw.tsx (modified, 4 changes)\n Patch: @@ -4,7 +4,9 @@ import {DateValue, parseAbsoluteToLocal} from "@internationalized/date";
469
+ import {I18nProvider} from "@react-aria/i18n";
470
+
471
+ export default function App() {
472
+ - let [date, setDate] = React.useState<DateValue>(parseAbsoluteToLocal("2021-04-07T18:45:22Z"));
473
+ + let [date, setDate] = React.useState<DateValue | null>(
474
+ + parseAbsoluteToLocal("2021-04-07T18:45:22Z"),
475
+ + );
476
+
477
+ return (
478
+ <div className="flex flex-col gap-4">\n- apps/docs/content/components/date-picker/preset.raw.tsx (modified, 2 changes)\n Patch: @@ -12,7 +12,7 @@ import {useLocale, useDateFormatter} from "@react-aria/i18n";
479
+ export default function App() {
480
+ let defaultDate = today(getLocalTimeZone());
481
+
482
+ - const [value, setValue] = React.useState<DateValue>(defaultDate);
483
+ + const [value, setValue] = React.useState<DateValue | null>(defaultDate);
484
+
485
+ let {locale} = useLocale();
486
+ let formatter = useDateFormatter({dateStyle: "full"});\n- apps/docs/content/components/date-range-picker/controlled.raw.tsx (modified, 2 changes)\n Patch: @@ -7,7 +7,7 @@ import {parseDate, getLocalTimeZone} from "@internationalized/date";
487
+ import {useDateFormatter} from "@react-aria/i18n";
488
+
489
+ export default function App() {
490
+ - const [value, setValue] = React.useState<RangeValue<DateValue>>({
491
+ + const [value, setValue] = React.useState<RangeValue<DateValue> | null>({
492
+ start: parseDate("2024-04-01"),
493
+ end: parseDate("2024-04-08"),
494
+ });\n- apps/docs/content/components/date-range-picker/granularity.raw.tsx (modified, 2 changes)\n Patch: @@ -6,7 +6,7 @@ import {DateRangePicker} from "@nextui-org/react";
495
+ import {parseAbsoluteToLocal} from "@internationalized/date";
496
+
497
+ export default function App() {
498
+ - let [date, setDate] = React.useState<RangeValue<DateValue>>({
499
+ + let [date, setDate] = React.useState<RangeValue<DateValue> | null>({
500
+ start: parseAbsoluteToLocal("2024-04-01T18:45:22Z"),
501
+ end: parseAbsoluteToLocal("2024-04-08T19:15:22Z"),
502
+ });\n- apps/docs/content/components/date-range-picker/international-calendar.raw.tsx (modified, 2 changes)\n Patch: @@ -7,7 +7,7 @@ import {parseAbsoluteToLocal} from "@internationalized/date";
503
+ import {I18nProvider} from "@react-aria/i18n";
504
+
505
+ export default function App() {
506
+ - let [date, setDate] = React.useState<RangeValue<DateValue>>({
507
+ + let [date, setDate] = React.useState<RangeValue<DateValue> | null>({
508
+ start: parseAbsoluteToLocal("2021-04-01T18:45:22Z"),
509
+ end: parseAbsoluteToLocal("2021-04-14T19:15:22Z"),
510
+ });\n- apps/docs/content/components/range-calendar/presets.raw.tsx (modified, 2 changes)\n Patch: @@ -19,7 +19,7 @@ export default function App() {
511
+ end: today(getLocalTimeZone()).add({weeks: 1, days: 3}),
512
+ });
513
+
514
+ - let [focusedValue, setFocusedValue] = React.useState<DateValue>(today(getLocalTimeZone()));
515
+ + let [focusedValue, setFocusedValue] = React.useState<DateValue | null>(today(getLocalTimeZone()));
516
+
517
+ let {locale} = useLocale();
518
+ \n- apps/docs/content/components/table/custom-styles.raw.jsx (modified, 6 changes)\n Patch: @@ -449,9 +449,9 @@ export default function App() {
519
+ </Button>
520
+ </DropdownTrigger>
521
+ <DropdownMenu>
522
+ - <DropdownItem>View</DropdownItem>
523
+ - <DropdownItem>Edit</DropdownItem>
524
+ - <DropdownItem>Delete</DropdownItem>
525
+ + <DropdownItem key="view">View</DropdownItem>
526
+ + <DropdownItem key="edit">Edit</DropdownItem>
527
+ + <DropdownItem key="delete">Delete</DropdownItem>
528
+ </DropdownMenu>
529
+ </Dropdown>
530
+ </div>\n- apps/docs/content/components/table/custom-styles.raw.tsx (modified, 6 changes)\n Patch: @@ -461,9 +461,9 @@ export default function App() {
531
+ </Button>
532
+ </DropdownTrigger>
533
+ <DropdownMenu>
534
+ - <DropdownItem>View</DropdownItem>
535
+ - <DropdownItem>Edit</DropdownItem>
536
+ - <DropdownItem>Delete</DropdownItem>
537
+ + <DropdownItem key="view">View</DropdownItem>
538
+ + <DropdownItem key="edit">Edit</DropdownItem>
539
+ + <DropdownItem key="delete">Delete</DropdownItem>
540
+ </DropdownMenu>
541
+ </Dropdown>
542
+ </div>\n- apps/docs/content/components/table/use-case.raw.jsx (modified, 6 changes)\n Patch: @@ -441,9 +441,9 @@ export default function App() {
543
+ </Button>
544
+ </DropdownTrigger>
545
+ <DropdownMenu>
546
+ - <DropdownItem>View</DropdownItem>
547
+ - <DropdownItem>Edit</DropdownItem>
548
+ - <DropdownItem>Delete</DropdownItem>
549
+ + <DropdownItem key="view">View</DropdownItem>
550
+ + <DropdownItem key="edit">Edit</DropdownItem>
551
+ + <DropdownItem key="delete">Delete</DropdownItem>
552
+ </DropdownMenu>
553
+ </Dropdown>
554
+ </div>\n- apps/docs/content/components/table/use-case.raw.tsx (modified, 6 changes)\n Patch: @@ -454,9 +454,9 @@ export default function App() {
555
+ </Button>
556
+ </DropdownTrigger>
557
+ <DropdownMenu>
558
+ - <DropdownItem>View</DropdownItem>
559
+ - <DropdownItem>Edit</DropdownItem>
560
+ - <DropdownItem>Delete</DropdownItem>
561
+ + <DropdownItem key="view">View</DropdownItem>
562
+ + <DropdownItem key="edit">Edit</DropdownItem>
563
+ + <DropdownItem key="delete">Delete</DropdownItem>
564
+ </DropdownMenu>
565
+ </Dropdown>
566
+ </div>\n- apps/docs/content/components/time-input/controlled.raw.tsx (modified, 2 changes)\n Patch: @@ -6,7 +6,7 @@ import {parseAbsoluteToLocal, Time, ZonedDateTime} from "@internationalized/date
567
+ import {useDateFormatter} from "@react-aria/i18n";
568
+
569
+ export default function App() {
570
+ - let [value, setValue] = React.useState<TimeInputValue>(
571
+ + let [value, setValue] = React.useState<TimeInputValue | null>(
572
+ parseAbsoluteToLocal("2024-04-08T18:45:22Z"),
573
+ );
574
+ \n- apps/docs/content/components/time-input/granularity.raw.tsx (modified, 2 changes)\n Patch: @@ -5,7 +5,7 @@ import {TimeInput} from "@nextui-org/react";
575
+ import {parseAbsoluteToLocal} from "@internationalized/date";
576
+
577
+ export default function App() {
578
+ - let [date, setDate] = React.useState<TimeInputValue>(
579
+ + let [date, setDate] = React.useState<TimeInputValue | null>(
580
+ parseAbsoluteToLocal("2021-04-07T18:45:22Z"),
581
+ );
582
+ \n- apps/docs/content/docs/components/date-input.mdx (modified, 36 changes)\n Patch: @@ -104,9 +104,9 @@ in multiple formats into `ZonedDateTime` objects.
583
+
584
+ <PackageManagers
585
+ commands={{
586
+ - npm: "npm install @internationalized/[email protected]",
587
+ - yarn: "yarn add @internationalized/[email protected]",
588
+ - pnpm: "pnpm add @internationalized/[email protected]",
589
+ + npm: "npm install @internationalized/[email protected]",
590
+ + yarn: "yarn add @internationalized/[email protected]",
591
+ + pnpm: "pnpm add @internationalized/[email protected]",
592
+ }}
593
+ />
594
+
595
+ @@ -129,9 +129,9 @@ in multiple formats into `ZonedDateTime` objects.
596
+
597
+ <PackageManagers
598
+ commands={{
599
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
600
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
601
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
602
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
603
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
604
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
605
+ }}
606
+ />
607
+
608
+ @@ -153,9 +153,9 @@ in multiple formats into `ZonedDateTime` objects.
609
+
610
+ <PackageManagers
611
+ commands={{
612
+ - npm: "npm install @internationalized/[email protected]",
613
+ - yarn: "yarn add @internationalized/[email protected]",
614
+ - pnpm: "pnpm add @internationalized/[email protected]",
615
+ + npm: "npm install @internationalized/[email protected]",
616
+ + yarn: "yarn add @internationalized/[email protected]",
617
+ + pnpm: "pnpm add @internationalized/[email protected]",
618
+ }}
619
+ />
620
+
621
+ @@ -177,9 +177,9 @@ in multiple formats into `ZonedDateTime` objects.
622
+
623
+ <PackageManagers
624
+ commands={{
625
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
626
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
627
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
628
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
629
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
630
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
631
+ }}
632
+ />
633
+
634
+ @@ -200,9 +200,9 @@ in multiple formats into `ZonedDateTime` objects.
635
+
636
+ <PackageManagers
637
+ commands={{
638
+ - npm: "npm install @internationalized/[email protected]",
639
+ - yarn: "yarn add @internationalized/[email protected]",
640
+ - pnpm: "pnpm add @internationalized/[email protected]",
641
+ + npm: "npm install @internationalized/[email protected]",
642
+ + yarn: "yarn add @internationalized/[email protected]",
643
+ + pnpm: "pnpm add @internationalized/[email protected]",
644
+ }}
645
+ />
646
+
647
+ @@ -223,9 +223,9 @@ in multiple formats into `ZonedDateTime` objects.
648
+
649
+ <PackageManagers
650
+ commands={{
651
+ - npm: "npm install @internationalized/[email protected]",
652
+ - yarn: "yarn add @internationalized/[email protected]",
653
+ - pnpm: "pnpm add @internationalized/[email protected]",
654
+ + npm: "npm install @internationalized/[email protected]",
655
+ + yarn: "yarn add @internationalized/[email protected]",
656
+ + pnpm: "pnpm add @internationalized/[email protected]",
657
+ }}
658
+ />
659
+ \n- apps/docs/content/docs/components/date-picker.mdx (modified, 36 changes)\n Patch: @@ -119,9 +119,9 @@ in multiple formats into `ZonedDateTime` objects.
660
+
661
+ <PackageManagers
662
+ commands={{
663
+ - npm: "npm install @internationalized/[email protected]",
664
+ - yarn: "yarn add @internationalized/[email protected]",
665
+ - pnpm: "pnpm add @internationalized/[email protected]",
666
+ + npm: "npm install @internationalized/[email protected]",
667
+ + yarn: "yarn add @internationalized/[email protected]",
668
+ + pnpm: "pnpm add @internationalized/[email protected]",
669
+ }}
670
+ />
671
+
672
+ @@ -144,9 +144,9 @@ in multiple formats into `ZonedDateTime` objects.
673
+
674
+ <PackageManagers
675
+ commands={{
676
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
677
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
678
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
679
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
680
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
681
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
682
+ }}
683
+ />
684
+
685
+ @@ -168,9 +168,9 @@ in multiple formats into `ZonedDateTime` objects.
686
+
687
+ <PackageManagers
688
+ commands={{
689
+ - npm: "npm install @internationalized/[email protected]",
690
+ - yarn: "yarn add @internationalized/[email protected]",
691
+ - pnpm: "pnpm add @internationalized/[email protected]",
692
+ + npm: "npm install @internationalized/[email protected]",
693
+ + yarn: "yarn add @internationalized/[email protected]",
694
+ + pnpm: "pnpm add @internationalized/[email protected]",
695
+ }}
696
+ />
697
+
698
+ @@ -192,9 +192,9 @@ in multiple formats into `ZonedDateTime` objects.
699
+
700
+ <PackageManagers
701
+ commands={{
702
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
703
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
704
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
705
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
706
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
707
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
708
+ }}
709
+ />
710
+
711
+ @@ -214,9 +214,9 @@ in multiple formats into `ZonedDateTime` objects.
712
+
713
+ <PackageManagers
714
+ commands={{
715
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
716
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
717
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
718
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
719
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
720
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
721
+ }}
722
+ />
723
+
724
+ @@ -246,9 +246,9 @@ in multiple formats into `ZonedDateTime` objects.
725
+
726
+ <PackageManagers
727
+ commands={{
728
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
729
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
730
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
731
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
732
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
733
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
734
+ }}
735
+ />
736
+ \n- apps/docs/content/docs/components/date-range-picker.mdx (modified, 42 changes)\n Patch: @@ -136,9 +136,9 @@ in multiple formats into `ZonedDateTime` objects.
737
+
738
+ <PackageManagers
739
+ commands={{
740
+ - npm: "npm install @internationalized/[email protected]",
741
+ - yarn: "yarn add @internationalized/[email protected]",
742
+ - pnpm: "pnpm add @internationalized/[email protected]",
743
+ + npm: "npm install @internationalized/[email protected]",
744
+ + yarn: "yarn add @internationalized/[email protected]",
745
+ + pnpm: "pnpm add @internationalized/[email protected]",
746
+ }}
747
+ />
748
+
749
+ @@ -161,9 +161,9 @@ in multiple formats into `ZonedDateTime` objects.
750
+
751
+ <PackageManagers
752
+ commands={{
753
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
754
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
755
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
756
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
757
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
758
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
759
+ }}
760
+ />
761
+
762
+ @@ -185,9 +185,9 @@ in multiple formats into `ZonedDateTime` objects.
763
+
764
+ <PackageManagers
765
+ commands={{
766
+ - npm: "npm install @internationalized/[email protected]",
767
+ - yarn: "yarn add @internationalized/[email protected]",
768
+ - pnpm: "pnpm add @internationalized/[email protected]",
769
+ + npm: "npm install @internationalized/[email protected]",
770
+ + yarn: "yarn add @internationalized/[email protected]",
771
+ + pnpm: "pnpm add @internationalized/[email protected]",
772
+ }}
773
+ />
774
+
775
+ @@ -209,9 +209,9 @@ in multiple formats into `ZonedDateTime` objects.
776
+
777
+ <PackageManagers
778
+ commands={{
779
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
780
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
781
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
782
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
783
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
784
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
785
+ }}
786
+ />
787
+
788
+ @@ -231,9 +231,9 @@ in multiple formats into `ZonedDateTime` objects.
789
+
790
+ <PackageManagers
791
+ commands={{
792
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
793
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
794
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
795
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
796
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
797
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
798
+ }}
799
+ />
800
+
801
+ @@ -256,9 +256,9 @@ in multiple formats into `ZonedDateTime` objects.
802
+
803
+ <PackageManagers
804
+ commands={{
805
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
806
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
807
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
808
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
809
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
810
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
811
+ }}
812
+ />
813
+
814
+ @@ -276,9 +276,9 @@ in multiple formats into `ZonedDateTime` objects.
815
+
816
+ <PackageManagers
817
+ commands={{
818
+ - npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
819
+ - yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
820
+ - pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
821
+ + npm: "npm install @internationalized/[email protected] @react-aria/[email protected]",
822
+ + yarn: "yarn add @internationalized/[email protected] @react-aria/[email protected]",
823
+ + pnpm: "pnpm add @internationalized/[email protected] @react-aria/[email protected]",
824
+ }}
825
+ />
826
+ \n- apps/docs/package.json (modified, 26 changes)\n Patch: @@ -20,7 +20,7 @@
827
+ "@emotion/is-prop-valid": "^1.3.1",
828
+ "@iconify/icons-solar": "1.2.3",
829
+ "@iconify/react": "5.0.2",
830
+ - "@internationalized/date": "3.5.6",
831
+ + "@internationalized/date": "3.6.0",
832
+ "@mapbox/rehype-prism": "^0.6.0",
833
+ "@nextui-org/aria-utils": "workspace:*",
834
+ "@nextui-org/badge": "workspace:*",
835
+ @@ -40,17 +40,17 @@
836
+ "@nextui-org/use-infinite-scroll": "workspace:*",
837
+ "@nextui-org/use-is-mobile": "workspace:*",
838
+ "@radix-ui/react-scroll-area": "^1.0.5",
839
+ - "@react-aria/focus": "3.18.4",
840
+ - "@react-aria/i18n": "3.12.3",
841
+ - "@react-aria/interactions": "3.22.4",
842
+ - "@react-aria/selection": "3.20.1",
843
+ - "@react-aria/ssr": "3.9.6",
844
+ + "@react-aria/focus": "3.19.0",
845
+ + "@react-aria/i18n": "3.12.4",
846
+ + "@react-aria/interactions": "3.22.5",
847
+ + "@react-aria/selection": "3.21.0",
848
+ + "@react-aria/ssr": "3.9.7",
849
+ "@react-aria/utils": "3.26.0",
850
+ - "@react-aria/virtualizer": "3.10.1",
851
+ - "@react-aria/visually-hidden": "3.8.17",
852
+ - "@react-stately/data": "3.11.4",
853
+ - "@react-stately/layout": "3.13.9",
854
+ - "@react-stately/tree": "3.8.1",
855
+ + "@react-aria/virtualizer": "4.1.0",
856
+ + "@react-aria/visually-hidden": "3.8.18",
857
+ + "@react-stately/data": "3.12.0",
858
+ + "@react-stately/layout": "4.1.0",
859
+ + "@react-stately/tree": "3.8.6",
860
+ "@rehooks/local-storage": "^2.4.5",
861
+ "@tanstack/react-virtual": "3.10.9",
862
+ "canvas-confetti": "^1.9.2",
863
+ @@ -104,8 +104,8 @@
864
+ "@docusaurus/utils": "2.0.0-beta.3",
865
+ "@next/bundle-analyzer": "14.3.0-canary.43",
866
+ "@next/env": "14.3.0-canary.43",
867
+ - "@react-types/calendar": "3.4.10",
868
+ - "@react-types/datepicker": "3.8.3",
869
+ + "@react-types/calendar": "3.5.0",
870
+ + "@react-types/datepicker": "3.9.0",
871
+ "@react-types/shared": "3.26.0",
872
+ "@tailwindcss/typography": "^0.5.9",
873
+ "@types/canvas-confetti": "^1.4.2",\n- package.json (modified, 2 changes)\n Patch: @@ -70,7 +70,7 @@
874
+ "@commitlint/cli": "^17.2.0",
875
+ "@commitlint/config-conventional": "^17.2.0",
876
+ "@react-bootstrap/babel-preset": "^2.1.0",
877
+ - "@react-types/link": "3.5.7",
878
+ + "@react-types/link": "3.5.9",
879
+ "@react-types/shared": "3.26.0",
880
+ "@storybook/react": "^8.4.5",
881
+ "@swc/core": "^1.3.35",\n
processed_docs/pr_data_0_doc_2.txt ADDED
@@ -0,0 +1,515 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4288
2
+ Title: fix(dropdown): correct initial animation direction to match fallback placement
3
+ Base Branch: canary
4
+ Head Branch: fix/dropdown-animate-direction
5
+ Author: ryo-manba
6
+ URL: https://github.com/nextui-org/nextui/pull/4288
7
+ State: OPEN
8
+ Created At: 2024-12-09T08:34:01Z
9
+ Merged At: None
10
+ Participants: ryo-manba
11
+
12
+ Description:
13
+ Closes #4251
14
+ πŸ“ Description
15
+
16
+ When the fallback placement is used, the animation did not follow the final placement.
17
+ As a result, the popup position and its animation did not match.
18
+ ⛳️ Current behavior (updates)
19
+
20
+ The popup shows in the correct place, but the initial animation starts from the wrong direction, causing a flicker.
21
+
22
+
23
+
24
+
25
+
26
+ dropdown-animation-before.mov
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+ πŸš€ New behavior
36
+
37
+ The animation now correctly aligns with the final placement.
38
+ Changed the code to use useOverlayPosition similar to the Tooltip implementation.
39
+
40
+
41
+
42
+
43
+
44
+ dropdown-animation-after.mov
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+ πŸ’£ Is this a breaking change (Yes/No):
54
+
55
+ No.
56
+ πŸ“ Additional Information
57
+
58
+ Dropdown docs do not mention placement, but that will be addressed separately.
59
+ Summary by CodeRabbit
60
+
61
+
62
+ New Features
63
+
64
+ Added a new dependency for enhanced dropdown functionality.
65
+ Introduced new props for flexible dropdown positioning, including containerPadding, offset, crossOffset, and shouldFlip.
66
+ New Storybook story demonstrating various dropdown placements.
67
+
68
+
69
+
70
+ Bug Fixes
71
+
72
+ Improved management of dropdown placement defaults and configurations.
73
+
74
+
75
+
76
+ Documentation
77
+
78
+ Enhanced Storybook examples with a new story and updated template for better clarity.
79
+
80
+ Commits:
81
+ - fix(dropdown): correct initial animation direction\n- chore: add changeset\n- fix: typo\n
82
+
83
+ Labels:
84
+
85
+
86
+ Comments:
87
+ - vercel: [vc]: #ipyzuJWZDCiESkkkdQW9PVAp3b9SjnnMdo8hity5QSg=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9GcmNrdXlnTGs5WjlyMWdvV0dRdEhoY0tVN3RZIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtZHJvcGRvd24tYW5pbWF0ZS1kaXJlY3Rpb24tbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtZHJvcGRvd24tYW5pbWF0ZS1kaXJlY3Rpb24tbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi82UjVoQjlidUJ6TUVUY3B1Q0NoUm1laERFSkE1IiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZpeC1kcm9wZG93bi1hbmltYXRlLWU0NTMxMC1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LWRyb3Bkb3duLWFuaW1hdGUtZTQ1MzEwLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
88
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
89
+
90
+ | Name | Status | Preview | Comments | Updated (UTC) |
91
+ | :--- | :----- | :------ | :------- | :------ |
92
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/FrckuygLk9Z9r1goWGQtHhcKU7tY)) | [Visit Preview](https://nextui-docs-v2-git-fix-dropdown-animate-direction-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-dropdown-animate-direction-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 8:52am |
93
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/6R5hB9buBzMETcpuCChRmehDEJA5)) | [Visit Preview](https://nextui-storybook-v2-git-fix-dropdown-animate-e45310-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-dropdown-animate-e45310-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 8:52am |
94
+
95
+
96
+ \n- changeset-bot: ### πŸ¦‹ Changeset detected
97
+
98
+ Latest commit: bf3790cac78004baf26fefacb2afaf899a333be7
99
+
100
+ **The changes in this PR will be included in the next version bump.**
101
+
102
+ <details><summary>This PR includes changesets to release 2 packages</summary>
103
+
104
+ | Name | Type |
105
+ | -------------------- | ----- |
106
+ | @nextui-org/dropdown | Patch |
107
+ | @nextui-org/react | Patch |
108
+
109
+ </details>
110
+
111
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
112
+
113
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/fix/dropdown-animate-direction?filename=.changeset/eighty-trees-build.md&value=---%0A%22%40nextui-org%2Fdropdown%22%3A%20patch%0A---%0A%0Afix(dropdown)%3A%20correct%20initial%20animation%20direction%20to%20match%20fallback%20placement%0A)
114
+
115
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
116
+ <!-- This is an auto-generated comment: rate limited by coderabbit.ai -->
117
+
118
+ > [!WARNING]
119
+ > ## Rate limit exceeded
120
+ >
121
+ > @ryo-manba has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait **15 minutes and 33 seconds** before requesting another review.
122
+ >
123
+ > <details>
124
+ > <summary>βŒ› How to resolve this issue?</summary>
125
+ >
126
+ > After the wait time has elapsed, a review can be triggered using the `@coderabbitai review` command as a PR comment. Alternatively, push new commits to this PR.
127
+ >
128
+ > We recommend that you space out your commits to avoid hitting the rate limit.
129
+ >
130
+ > </details>
131
+ >
132
+ >
133
+ > <details>
134
+ > <summary>🚦 How do rate limits work?</summary>
135
+ >
136
+ > CodeRabbit enforces hourly rate limits for each developer per organization.
137
+ >
138
+ > Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.
139
+ >
140
+ > Please see our [FAQ](https://docs.coderabbit.ai/faq) for further information.
141
+ >
142
+ > </details>
143
+ >
144
+ > <details>
145
+ > <summary>πŸ“₯ Commits</summary>
146
+ >
147
+ > Reviewing files that changed from the base of the PR and between de11cf8bebc2219f25aadb6d90896ab81811de7f and bf3790cac78004baf26fefacb2afaf899a333be7.
148
+ >
149
+ > </details>
150
+ >
151
+ > <details>
152
+ > <summary>πŸ“’ Files selected for processing (1)</summary>
153
+ >
154
+ > * `packages/components/dropdown/stories/dropdown.stories.tsx` (2 hunks)
155
+ >
156
+ > </details>
157
+
158
+ <!-- end of auto-generated comment: rate limited by coderabbit.ai -->
159
+
160
+ <!-- walkthrough_start -->
161
+
162
+ ## Walkthrough
163
+ The pull request introduces several changes to the dropdown component. A new dependency, `@react-aria/overlays` version `3.24.0`, is added to the `package.json`. The `use-dropdown.ts` file is modified to enhance the `useDropdown` hook, introducing new props for flexible positioning and updating the placement management. Additionally, a new story, `WithFallbackPlacements`, is added to the Storybook configuration to demonstrate various dropdown placements, along with updates to the `Template` function for improved labeling.
164
+
165
+ ## Changes
166
+
167
+ | File | Change Summary |
168
+ |--------------------------------------------------------------|---------------------------------------------------------------------------------------------------|
169
+ | packages/components/dropdown/package.json | Added dependency: `"@react-aria/overlays": "3.24.0"` |
170
+ | packages/components/dropdown/src/use-dropdown.ts | - Added `toReactAriaPlacement` function and `DEFAULT_PLACEMENT` constant. <br> - Updated `useDropdown` parameters to include `placementProp`, `containerPadding`, `offset`, `crossOffset`, and `shouldFlip`. <br> - Modified `getPopoverProps` to derive placement from `useOverlayPosition`. |
171
+ | packages/components/dropdown/stories/dropdown.stories.tsx | - Added new story: `WithFallbackPlacements` for demonstrating various dropdown placements. <br> - Updated `Template` function to include a new `label` prop. |
172
+
173
+ ## Assessment against linked issues
174
+
175
+ | Objective | Addressed | Explanation |
176
+ |---------------------------------------------------------------------------|-----------|--------------------------------------------------|
177
+ | Dropdown menu should always animate in the correct direction it is appearing in (#[4251]) | βœ… | |
178
+
179
+ ## Possibly related PRs
180
+ - **#2598**: This PR modifies the `useDropdown` function, which is directly related to the changes made in the main PR regarding the `use-dropdown.ts` file, enhancing the dropdown's functionality and handling of the `closeOnSelect` property.
181
+ - **#3762**: This PR also updates the `use-dropdown.ts` file, introducing new utility functions and modifying the `onAction` handler, which aligns with the changes made in the main PR to improve dropdown functionality.
182
+ - **#4278**: This PR addresses the unnecessary ref in the `DropdownTrigger`, which is related to the changes in the dropdown component's handling of refs and props, connecting it to the modifications in the main PR.
183
+
184
+ ## Suggested labels
185
+ `πŸ“‹ Scope : Docs`
186
+
187
+ ## Suggested reviewers
188
+ - wingkwong
189
+ - jrgarciadev
190
+
191
+ <!-- walkthrough_end -->
192
+ <!-- internal state start -->
193
+
194
+
195
+ <!-- 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 -->
196
+
197
+ <!-- internal state end -->
198
+ <!-- tips_start -->
199
+
200
+ ---
201
+
202
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
203
+
204
+ <details>
205
+ <summary>❀️ Share</summary>
206
+
207
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
208
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
209
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
210
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
211
+
212
+ </details>
213
+
214
+ <details>
215
+ <summary>πŸͺ§ Tips</summary>
216
+
217
+ ### Chat
218
+
219
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
220
+
221
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
222
+ - `I pushed a fix in commit <commit_id>, please review it.`
223
+ - `Generate unit testing code for this file.`
224
+ - `Open a follow-up GitHub issue for this discussion.`
225
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
226
+ - `@coderabbitai generate unit testing code for this file.`
227
+ - `@coderabbitai modularize this function.`
228
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
229
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
230
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
231
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
232
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
233
+
234
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
235
+
236
+ ### CodeRabbit Commands (Invoked using PR comments)
237
+
238
+ - `@coderabbitai pause` to pause the reviews on a PR.
239
+ - `@coderabbitai resume` to resume the paused reviews.
240
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
241
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
242
+ - `@coderabbitai summary` to regenerate the summary of the PR.
243
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
244
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
245
+ - `@coderabbitai help` to get help.
246
+
247
+ ### Other keywords and placeholders
248
+
249
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
250
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
251
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
252
+
253
+ ### Documentation and Community
254
+
255
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
256
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
257
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
258
+
259
+ </details>
260
+
261
+ <!-- tips_end -->\n
262
+
263
+ Files Changed:
264
+ - .changeset/cyan-dodos-glow.md (added, 5 changes)\n Patch: @@ -0,0 +1,5 @@
265
+ +---
266
+ +"@nextui-org/dropdown": patch
267
+ +---
268
+ +
269
+ +Fix initial animation direction to match fallback placement (#4251)\n- packages/components/dropdown/package.json (modified, 1 changes)\n Patch: @@ -48,6 +48,7 @@
270
+ "@nextui-org/shared-utils": "workspace:*",
271
+ "@react-aria/focus": "3.19.0",
272
+ "@react-aria/menu": "3.16.0",
273
+ + "@react-aria/overlays": "3.24.0",
274
+ "@react-aria/utils": "3.26.0",
275
+ "@react-stately/menu": "3.9.0",
276
+ "@react-types/menu": "3.9.13"\n- packages/components/dropdown/src/use-dropdown.ts (modified, 24 changes)\n Patch: @@ -9,11 +9,12 @@ import {useMenuTrigger} from "@react-aria/menu";
277
+ import {dropdown} from "@nextui-org/theme";
278
+ import {clsx} from "@nextui-org/shared-utils";
279
+ import {ReactRef, mergeRefs} from "@nextui-org/react-utils";
280
+ -import {ariaShouldCloseOnInteractOutside} from "@nextui-org/aria-utils";
281
+ +import {ariaShouldCloseOnInteractOutside, toReactAriaPlacement} from "@nextui-org/aria-utils";
282
+ import {useMemo, useRef} from "react";
283
+ import {mergeProps} from "@react-aria/utils";
284
+ import {MenuProps} from "@nextui-org/menu";
285
+ import {CollectionElement} from "@react-types/shared";
286
+ +import {useOverlayPosition} from "@react-aria/overlays";
287
+
288
+ interface Props extends HTMLNextUIProps<"div"> {
289
+ /**
290
+ @@ -77,6 +78,8 @@ const getCloseOnSelect = <T extends object>(
291
+ return props?.closeOnSelect;
292
+ };
293
+
294
+ +const DEFAULT_PLACEMENT = "bottom";
295
+ +
296
+ export function useDropdown(props: UseDropdownProps): UseDropdownReturn {
297
+ const globalContext = useProviderContext();
298
+
299
+ @@ -89,13 +92,17 @@ export function useDropdown(props: UseDropdownProps): UseDropdownReturn {
300
+ isDisabled,
301
+ type = "menu",
302
+ trigger = "press",
303
+ - placement = "bottom",
304
+ + placement: placementProp = DEFAULT_PLACEMENT,
305
+ closeOnSelect = true,
306
+ shouldBlockScroll = true,
307
+ classNames: classNamesProp,
308
+ disableAnimation = globalContext?.disableAnimation ?? false,
309
+ onClose,
310
+ className,
311
+ + containerPadding = 12,
312
+ + offset = 7,
313
+ + crossOffset = 0,
314
+ + shouldFlip = true,
315
+ ...otherProps
316
+ } = props;
317
+
318
+ @@ -132,6 +139,17 @@ export function useDropdown(props: UseDropdownProps): UseDropdownReturn {
319
+ [className],
320
+ );
321
+
322
+ + const {placement} = useOverlayPosition({
323
+ + isOpen: state.isOpen,
324
+ + targetRef: triggerRef,
325
+ + overlayRef: popoverRef,
326
+ + placement: toReactAriaPlacement(placementProp),
327
+ + offset,
328
+ + crossOffset,
329
+ + shouldFlip,
330
+ + containerPadding,
331
+ + });
332
+ +
333
+ const onMenuAction = (menuCloseOnSelect?: boolean) => {
334
+ if (menuCloseOnSelect !== undefined && !menuCloseOnSelect) {
335
+ return;
336
+ @@ -146,7 +164,7 @@ export function useDropdown(props: UseDropdownProps): UseDropdownReturn {
337
+
338
+ return {
339
+ state,
340
+ - placement,
341
+ + placement: placement || DEFAULT_PLACEMENT,
342
+ ref: popoverRef,
343
+ disableAnimation,
344
+ shouldBlockScroll,\n- packages/components/dropdown/stories/dropdown.stories.tsx (modified, 35 changes)\n Patch: @@ -137,10 +137,15 @@ const items = [
345
+ },
346
+ ];
347
+
348
+ -const Template = ({color, variant, ...args}: DropdownProps & DropdownMenuProps) => (
349
+ +const Template = ({
350
+ + color,
351
+ + variant,
352
+ + label = "Trigger",
353
+ + ...args
354
+ +}: DropdownProps & DropdownMenuProps & {label: string}) => (
355
+ <Dropdown {...args}>
356
+ <DropdownTrigger>
357
+ - <Button>Trigger</Button>
358
+ + <Button>{label}</Button>
359
+ </DropdownTrigger>
360
+ <DropdownMenu aria-label="Actions" color={color} variant={variant}>
361
+ <DropdownItem key="new">New file</DropdownItem>
362
+ @@ -782,3 +787,29 @@ export const ItemCloseOnSelect = {
363
+ ...defaultProps,
364
+ },
365
+ };
366
+ +
367
+ +export const WithFallbackPlacements = {
368
+ + args: {
369
+ + ...defaultProps,
370
+ + },
371
+ + render: (args) => (
372
+ + <div className="relative h-screen w-screen">
373
+ + <div className="absolute top-0 left-0 p-8 flex gap-4">
374
+ + <Template {...args} label="placement: top" placement="top" />
375
+ + <Template {...args} label="placement: bottom" placement="bottom" />
376
+ + </div>
377
+ + <div className="absolute bottom-0 left-0 p-8 flex gap-4">
378
+ + <Template {...args} label="placement: bottom" placement="bottom" />
379
+ + <Template {...args} label="placement: top" placement="top" />
380
+ + </div>
381
+ + <div className="absolute left-0 top-1/2 -translate-y-1/2 p-8 flex flex-col gap-4">
382
+ + <Template {...args} label="placement: left" placement="left" />
383
+ + <Template {...args} label="placement: right" placement="right" />
384
+ + </div>
385
+ + <div className="absolute right-0 top-1/2 -translate-y-1/2 p-8 flex flex-col gap-4">
386
+ + <Template {...args} label="placement: right" placement="right" />
387
+ + <Template {...args} label="placement: left" placement="left" />
388
+ + </div>
389
+ + </div>
390
+ + ),
391
+ +};\n- pnpm-lock.yaml (modified, 54 changes)\n Patch: @@ -1581,6 +1581,9 @@ importers:
392
+ '@react-aria/menu':
393
+ specifier: 3.16.0
394
395
+ + '@react-aria/overlays':
396
+ + specifier: 3.24.0
397
398
+ '@react-aria/utils':
399
+ specifier: 3.26.0
400
+ version: 3.26.0([email protected])
401
+ @@ -3318,7 +3321,7 @@ importers:
402
+ version: 18.2.0
403
+ tailwind-variants:
404
+ specifier: ^0.1.20
405
406
407
+
408
+ packages/core/theme:
409
+ dependencies:
410
+ @@ -3345,7 +3348,7 @@ importers:
411
+ version: 2.5.4
412
+ tailwind-variants:
413
+ specifier: ^0.1.20
414
415
416
+ devDependencies:
417
+ '@types/color':
418
+ specifier: ^3.0.3
419
+ @@ -3358,7 +3361,7 @@ importers:
420
+ version: 2.2.0
421
+ tailwindcss:
422
+ specifier: ^3.4.0
423
424
425
+
426
+ packages/hooks/use-aria-accordion:
427
+ dependencies:
428
+ @@ -26223,14 +26226,6 @@ snapshots:
429
+ postcss: 8.4.49
430
431
+
432
433
+ - dependencies:
434
+ - lilconfig: 3.1.2
435
+ - yaml: 2.6.1
436
+ - optionalDependencies:
437
+ - postcss: 8.4.49
438
439
+ -
440
441
+ dependencies:
442
+ lilconfig: 3.1.2
443
+ @@ -27782,10 +27777,10 @@ snapshots:
444
+ tailwind-merge: 1.14.0
445
446
+
447
448
449
+ dependencies:
450
+ tailwind-merge: 1.14.0
451
452
453
+
454
455
+ dependencies:
456
+ @@ -27814,33 +27809,6 @@ snapshots:
457
+ transitivePeerDependencies:
458
+ - ts-node
459
+
460
461
+ - dependencies:
462
+ - '@alloc/quick-lru': 5.2.0
463
+ - arg: 5.0.2
464
+ - chokidar: 3.6.0
465
+ - didyoumean: 1.2.2
466
+ - dlv: 1.1.3
467
+ - fast-glob: 3.3.2
468
+ - glob-parent: 6.0.2
469
+ - is-glob: 4.0.3
470
+ - jiti: 1.21.6
471
+ - lilconfig: 2.1.0
472
+ - micromatch: 4.0.8
473
+ - normalize-path: 3.0.0
474
+ - object-hash: 3.0.0
475
+ - picocolors: 1.1.1
476
+ - postcss: 8.4.49
477
+ - postcss-import: 15.1.0([email protected])
478
+ - postcss-js: 4.0.1([email protected])
479
480
+ - postcss-nested: 6.2.0([email protected])
481
+ - postcss-selector-parser: 6.1.2
482
+ - resolve: 1.22.8
483
+ - sucrase: 3.35.0
484
+ - transitivePeerDependencies:
485
+ - - ts-node
486
+ -
487
488
+ dependencies:
489
+ '@alloc/quick-lru': 5.2.0
490
+ @@ -27928,14 +27896,14 @@ snapshots:
491
+ '@swc/core': 1.9.2(@swc/[email protected])
492
+ esbuild: 0.15.18
493
+
494
495
496
+ dependencies:
497
+ '@jridgewell/trace-mapping': 0.3.25
498
+ jest-worker: 27.5.1
499
+ schema-utils: 3.3.0
500
+ serialize-javascript: 6.0.2
501
+ terser: 5.36.0
502
503
504
+ optionalDependencies:
505
+ '@swc/core': 1.9.2(@swc/[email protected])
506
+ esbuild: 0.21.5
507
+ @@ -28742,7 +28710,7 @@ snapshots:
508
+ neo-async: 2.6.2
509
+ schema-utils: 3.3.0
510
+ tapable: 2.2.1
511
512
513
+ watchpack: 2.4.2
514
+ webpack-sources: 3.2.3
515
+ optionalDependencies:\n
processed_docs/pr_data_0_doc_20.txt ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4257
2
+ Title: fix: disable number change in case of scrolling
3
+ Base Branch: canary
4
+ Head Branch: feat/disable-scrolling-prop
5
+ Author: ankit-ml12
6
+ URL: https://github.com/nextui-org/nextui/pull/4257
7
+ State: CLOSED
8
+ Created At: 2024-12-07T06:20:47Z
9
+ Merged At: None
10
+ Participants: ankit-ml12, wingkwong, Ankit1ml
11
+
12
+ Description:
13
+ Closes #4238
14
+ πŸ“ Description
15
+ added a prop disableScrollChange to disable change in the input when the type is number
16
+ ⛳️ Current behavior (updates)
17
+ disable change in number on scrolling with mouse wheel or touchpad, since it can change value without user noticing when in scrollable container
18
+ πŸš€ New behavior
19
+ prop added to disable if needed
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+ No
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+
26
+ New Features
27
+
28
+ Introduced an optional property disableScrollChange to enhance input control during scrolling.
29
+ Added functionality to prevent value changes when the input is scrolled, improving user experience.
30
+
31
+ Commits:
32
+ - fix: disable number change in case of scrolling\n
33
+
34
+ Labels:
35
+
36
+
37
+ Comments:
38
+ - vercel: [vc]: #wic5wlxznTblHnEe8ASlImhFiSD84fy1ww6RNKZxaPo=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi8zN3ZrS3ZrREVMOGc0Zk1xVXRXZ0xuTGl3V1pOIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLWFua2l0LW1sMTItZmVhdC1kaXNhYi0xZDAzZjctbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLWFua2l0LW1sMTItZmVhdC1kaXNhYi0xZDAzZjctbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi84TE00RXRUTTY3bm42eFo0cG05ZnY5WVd5VDRNIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZvcmstYW5raXQtbWwxMi1mZWF0LWQ4ODBjNy1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZm9yay1hbmtpdC1tbDEyLWZlYXQtZDg4MGM3LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
39
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
40
+
41
+ | Name | Status | Preview | Comments | Updated (UTC) |
42
+ | :--- | :----- | :------ | :------- | :------ |
43
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/37vkKvkDEL8g4fMqUtWgLnLiwWZN)) | [Visit Preview](https://nextui-docs-v2-git-fork-ankit-ml12-feat-disab-1d03f7-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fork-ankit-ml12-feat-disab-1d03f7-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 6:25am |
44
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/8LM4EtTM67nn6xZ4pm9fv9YWyT4M)) | [Visit Preview](https://nextui-storybook-v2-git-fork-ankit-ml12-feat-d880c7-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fork-ankit-ml12-feat-d880c7-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 6:25am |
45
+
46
+
47
+ \n- changeset-bot: ### ⚠️ No Changeset found
48
+
49
+ Latest commit: 7bb0ad8c3c3eb778a9626c2f1d79d2747bccf116
50
+
51
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
52
+
53
+ <details><summary>This PR includes no changesets</summary>
54
+
55
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
56
+
57
+ </details>
58
+
59
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
60
+
61
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/ankit-ml12/nextui/new/feat/disable-scrolling-prop?filename=.changeset/giant-points-live.md&value=---%0A%22%40nextui-org%2Finput%22%3A%20patch%0A---%0A%0Afix%3A%20disable%20number%20change%20in%20case%20of%20scrolling%0A)
62
+
63
+ \n- vercel: @Ankit1ml is attempting to deploy a commit to the **NextUI Inc** Team on [Vercel](https://vercel.com).
64
+
65
+ A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=NextUI%20Inc&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%227bb0ad8c3c3eb778a9626c2f1d79d2747bccf116%22%7D%2C%22id%22%3A%22QmWNfPocjXxZKX8Cwx7gHVAqWZ5ZMKHUUGZF28g5kH7Qw6%22%2C%22org%22%3A%22nextui-org%22%2C%22prId%22%3A4257%2C%22repo%22%3A%22nextui%22%7D).
66
+
67
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
68
+
69
+
70
+ <!-- walkthrough_start -->
71
+
72
+ ## Walkthrough
73
+ The pull request introduces a new optional property, `disableScrollChange`, to the `Props` interface in the `useInput` function. This property aims to prevent value changes during scroll events. A new function, `handleScrollingChange`, is added to manage scroll events, which blurs the input when scrolling occurs if `disableScrollChange` is true. The `getInputProps` function is updated to incorporate the `onWheel` event handler, linking it to `handleScrollingChange`. These modifications enhance input behavior control during scrolling.
74
+
75
+ ## Changes
76
+
77
+ | File Path | Change Summary |
78
+ |-------------------------------------------|---------------------------------------------------------------------------------------------------|
79
+ | packages/components/input/src/use-input.ts | Added optional property `disableScrollChange` to `Props` interface, added `handleScrollingChange` function, and updated `getInputProps` to include `onWheel` event handler. |
80
+
81
+ ## Possibly related PRs
82
+ - **#3643**: Modifies the `useInput` function to ensure the clear button is not displayed when the input is read-only, enhancing input behavior.
83
+ - **#3774**: Addresses the focus behavior of the clear button in the input component, ensuring it is not focusable when disabled, relevant to input behavior changes.
84
+
85
+ ## Suggested reviewers
86
+ - jrgarciadev
87
+ - wingkwong
88
+
89
+ <!-- walkthrough_end -->
90
+ <!-- internal state start -->
91
+
92
+
93
+ <!-- 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 -->
94
+
95
+ <!-- internal state end -->
96
+ <!-- tips_start -->
97
+
98
+ ---
99
+
100
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
101
+
102
+ <details>
103
+ <summary>❀️ Share</summary>
104
+
105
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
106
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
107
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
108
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
109
+
110
+ </details>
111
+
112
+ <details>
113
+ <summary>πŸͺ§ Tips</summary>
114
+
115
+ ### Chat
116
+
117
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
118
+
119
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
120
+ - `I pushed a fix in commit <commit_id>, please review it.`
121
+ - `Generate unit testing code for this file.`
122
+ - `Open a follow-up GitHub issue for this discussion.`
123
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
124
+ - `@coderabbitai generate unit testing code for this file.`
125
+ - `@coderabbitai modularize this function.`
126
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
127
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
128
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
129
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
130
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
131
+
132
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
133
+
134
+ ### CodeRabbit Commands (Invoked using PR comments)
135
+
136
+ - `@coderabbitai pause` to pause the reviews on a PR.
137
+ - `@coderabbitai resume` to resume the paused reviews.
138
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
139
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
140
+ - `@coderabbitai summary` to regenerate the summary of the PR.
141
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
142
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
143
+ - `@coderabbitai help` to get help.
144
+
145
+ ### Other keywords and placeholders
146
+
147
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
148
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
149
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
150
+
151
+ ### Documentation and Community
152
+
153
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
154
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
155
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
156
+
157
+ </details>
158
+
159
+ <!-- tips_end -->\n- wingkwong: 1. please don't work on assigned issue
160
+ 2. we plan to have NumberField so we shouldn't add a new prop to input.\n- ankit-ml12: Ok thanks @wingkwong \n
161
+
162
+ Files Changed:
163
+ - packages/components/input/src/use-input.ts (modified, 12 changes)\n Patch: @@ -82,6 +82,10 @@ export interface Props<T extends HTMLInputElement | HTMLTextAreaElement = HTMLIn
164
+ * React aria onChange event.
165
+ */
166
+ onValueChange?: (value: string) => void;
167
+ + /**
168
+ + * disable the number chnage on scrolling
169
+ + */
170
+ + disableScrollChange?: boolean;
171
+ }
172
+
173
+ type AutoCapitalize = AriaTextFieldOptions<"input">["autoCapitalize"];
174
+ @@ -116,6 +120,7 @@ export function useInput<T extends HTMLInputElement | HTMLTextAreaElement = HTML
175
+ validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "native",
176
+ innerWrapperRef: innerWrapperRefProp,
177
+ onValueChange = () => {},
178
+ + disableScrollChange,
179
+ ...otherProps
180
+ } = props;
181
+
182
+ @@ -125,6 +130,11 @@ export function useInput<T extends HTMLInputElement | HTMLTextAreaElement = HTML
183
+ },
184
+ [onValueChange],
185
+ );
186
+ + const handleScrollingChange = (e: React.WheelEvent<HTMLInputElement>) => {
187
+ + if (disableScrollChange) {
188
+ + (e.target as HTMLInputElement).blur();
189
+ + }
190
+ + };
191
+
192
+ const [isFocusWithin, setFocusWithin] = useState(false);
193
+
194
+ @@ -386,6 +396,7 @@ export function useInput<T extends HTMLInputElement | HTMLTextAreaElement = HTML
195
+ "aria-readonly": dataAttr(originalProps.isReadOnly),
196
+ onChange: chain(inputProps.onChange, onChange),
197
+ ref: domRef,
198
+ + onWheel: handleScrollingChange,
199
+ };
200
+ },
201
+ [
202
+ @@ -402,6 +413,7 @@ export function useInput<T extends HTMLInputElement | HTMLTextAreaElement = HTML
203
+ originalProps.isReadOnly,
204
+ originalProps.isRequired,
205
+ onChange,
206
+ + disableScrollChange,
207
+ ],
208
+ );
209
+ \n
processed_docs/pr_data_0_doc_21.txt ADDED
@@ -0,0 +1,564 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4255
2
+ Title: fix(deps): incorrect peerDependencies for theme and system package
3
+ Base Branch: canary
4
+ Head Branch: fix/eng-1663
5
+ Author: wingkwong
6
+ URL: https://github.com/nextui-org/nextui/pull/4255
7
+ State: MERGED
8
+ Created At: 2024-12-07T04:56:52Z
9
+ Merged At: 2024-12-07T12:10:50Z
10
+ Participants: wingkwong, jrgarciadev
11
+
12
+ Description:
13
+ Closes #4254
14
+ πŸ“ Description
15
+ Originally we planned to release 2.5.0 and due to the version was mistakenly. Therefore, we go for 2.6.0 which bumped theme and system to major once again. Therefore, the version should be >=2.4.0 instead of >=2.3.0. This would let nextui-cli to upgrade to the correct version.
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+ Release Notes
26
+
27
+
28
+ New Features
29
+
30
+ Updated peer dependency requirements for multiple components to require @nextui-org/theme and @nextui-org/system version >=2.4.0, ensuring compatibility with the latest features and fixes.
31
+
32
+
33
+
34
+ Bug Fixes
35
+
36
+ Resolved issues with incorrect peer dependencies across various components.
37
+
38
+
39
+
40
+ This release enhances the overall stability and functionality of the components within the @nextui-org library.
41
+
42
+ Commits:
43
+ - fix(deps): incorrect peerDependencies for theme and system package\n- chore(changeset): add changeset\n
44
+
45
+ Labels:
46
+
47
+
48
+ Comments:
49
+ - linear: <p><a href="https://linear.app/nextui-inc/issue/ENG-1663/[bug]-failed-to-resolve-entry-for-package-nextui-orgsystem">ENG-1663 [BUG] - Failed to resolve entry for package "@nextui-org/system"</a></p>\n- changeset-bot: ### πŸ¦‹ Changeset detected
50
+
51
+ Latest commit: 244b32a78e8e7ce941cfe8304fe4ccfb8516d640
52
+
53
+ **The changes in this PR will be included in the next version bump.**
54
+
55
+ <details><summary>This PR includes changesets to release 49 packages</summary>
56
+
57
+ | Name | Type |
58
+ | ------------------------- | ----- |
59
+ | @nextui-org/scroll-shadow | Patch |
60
+ | @nextui-org/autocomplete | Patch |
61
+ | @nextui-org/breadcrumbs | Patch |
62
+ | @nextui-org/date-picker | Patch |
63
+ | @nextui-org/date-input | Patch |
64
+ | @nextui-org/pagination | Patch |
65
+ | @nextui-org/accordion | Patch |
66
+ | @nextui-org/input-otp | Patch |
67
+ | @nextui-org/calendar | Patch |
68
+ | @nextui-org/checkbox | Patch |
69
+ | @nextui-org/dropdown | Patch |
70
+ | @nextui-org/progress | Patch |
71
+ | @nextui-org/skeleton | Patch |
72
+ | @nextui-org/divider | Patch |
73
+ | @nextui-org/listbox | Patch |
74
+ | @nextui-org/popover | Patch |
75
+ | @nextui-org/snippet | Patch |
76
+ | @nextui-org/spinner | Patch |
77
+ | @nextui-org/tooltip | Patch |
78
+ | @nextui-org/avatar | Patch |
79
+ | @nextui-org/button | Patch |
80
+ | @nextui-org/drawer | Patch |
81
+ | @nextui-org/navbar | Patch |
82
+ | @nextui-org/ripple | Patch |
83
+ | @nextui-org/select | Patch |
84
+ | @nextui-org/slider | Patch |
85
+ | @nextui-org/spacer | Patch |
86
+ | @nextui-org/switch | Patch |
87
+ | @nextui-org/alert | Patch |
88
+ | @nextui-org/badge | Patch |
89
+ | @nextui-org/image | Patch |
90
+ | @nextui-org/input | Patch |
91
+ | @nextui-org/modal | Patch |
92
+ | @nextui-org/radio | Patch |
93
+ | @nextui-org/table | Patch |
94
+ | @nextui-org/card | Patch |
95
+ | @nextui-org/chip | Patch |
96
+ | @nextui-org/code | Patch |
97
+ | @nextui-org/form | Patch |
98
+ | @nextui-org/link | Patch |
99
+ | @nextui-org/menu | Patch |
100
+ | @nextui-org/tabs | Patch |
101
+ | @nextui-org/user | Patch |
102
+ | @nextui-org/system-rsc | Patch |
103
+ | @nextui-org/kbd | Patch |
104
+ | @nextui-org/react | Patch |
105
+ | @nextui-org/system | Patch |
106
+ | @nextui-org/aria-utils | Patch |
107
+ | @nextui-org/framer-utils | Patch |
108
+
109
+ </details>
110
+
111
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
112
+
113
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/fix/eng-1663?filename=.changeset/purple-tables-behave.md&value=---%0A%22%40nextui-org%2Faccordion%22%3A%20patch%0A%22%40nextui-org%2Falert%22%3A%20patch%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Favatar%22%3A%20patch%0A%22%40nextui-org%2Fbadge%22%3A%20patch%0A%22%40nextui-org%2Fbreadcrumbs%22%3A%20patch%0A%22%40nextui-org%2Fbutton%22%3A%20patch%0A%22%40nextui-org%2Fcalendar%22%3A%20patch%0A%22%40nextui-org%2Fcard%22%3A%20patch%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fchip%22%3A%20patch%0A%22%40nextui-org%2Fcode%22%3A%20patch%0A%22%40nextui-org%2Fdate-input%22%3A%20patch%0A%22%40nextui-org%2Fdate-picker%22%3A%20patch%0A%22%40nextui-org%2Fdivider%22%3A%20patch%0A%22%40nextui-org%2Fdrawer%22%3A%20patch%0A%22%40nextui-org%2Fdropdown%22%3A%20patch%0A%22%40nextui-org%2Fform%22%3A%20patch%0A%22%40nextui-org%2Fimage%22%3A%20patch%0A%22%40nextui-org%2Finput-otp%22%3A%20patch%0A%22%40nextui-org%2Finput%22%3A%20patch%0A%22%40nextui-org%2Fkbd%22%3A%20patch%0A%22%40nextui-org%2Flink%22%3A%20patch%0A%22%40nextui-org%2Flistbox%22%3A%20patch%0A%22%40nextui-org%2Fmenu%22%3A%20patch%0A%22%40nextui-org%2Fmodal%22%3A%20patch%0A%22%40nextui-org%2Fnavbar%22%3A%20patch%0A%22%40nextui-org%2Fpagination%22%3A%20patch%0A%22%40nextui-org%2Fpopover%22%3A%20patch%0A---%0A%0Afix(deps)%3A%20incorrect%20peerDependencies%20for%20theme%20and%20system%20package%0A)
114
+
115
+ \n- vercel: [vc]: #PNouLgoXny3SwXO9a3/j9+/k0YIWGA3QkwnuzdoroQQ=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi8zUzJzWmR1Tk5vckROd2lZdHRkckRQQkdUWEQzIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtZW5nLTE2NjMtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtZW5nLTE2NjMtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi9FWjhNbkx2Z3RjQVFrMlM3d0hTZDNzc2JCdk44IiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZpeC1lbmctMTY2My1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LWVuZy0xNjYzLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
116
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
117
+
118
+ | Name | Status | Preview | Comments | Updated (UTC) |
119
+ | :--- | :----- | :------ | :------- | :------ |
120
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/3S2sZduNNorDNwiYttdrDPBGTXD3)) | [Visit Preview](https://nextui-docs-v2-git-fix-eng-1663-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-eng-1663-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 5:05am |
121
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/EZ8MnLvgtcAQk2S7wHSd3ssbBvN8)) | [Visit Preview](https://nextui-storybook-v2-git-fix-eng-1663-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-eng-1663-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 5:05am |
122
+
123
+
124
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
125
+
126
+
127
+ <!-- walkthrough_start -->
128
+
129
+ ## Walkthrough
130
+ This pull request introduces patch updates to multiple components in the `@nextui-org` library, specifically modifying the `peerDependencies` for `@nextui-org/theme` and `@nextui-org/system` across various package `package.json` files. The version constraints for these dependencies have been uniformly increased from `>=2.3.0` to `>=2.4.0`. Additionally, it addresses an issue related to the resolution of the `@nextui-org/system` package.
131
+
132
+ ## Changes
133
+
134
+ | File Path | Change Summary |
135
+ |----------------------------------------------|---------------------------------------------------------------------------------------------------|
136
+ | packages/components/*/package.json | Updated `peerDependencies` for `@nextui-org/theme` and `@nextui-org/system` from `>=2.3.0` to `>=2.4.0` across all components. |
137
+ | packages/core/system-rsc/package.json | Updated `peerDependencies` for `@nextui-org/theme` from `>=2.3.0` to `>=2.4.0`. |
138
+ | plop/component/package.json.hbs | Updated `peerDependencies` for `@nextui-org/theme` and `@nextui-org/system` from `>=2.3.0` to `>=2.4.0`. |
139
+
140
+ ## Assessment against linked issues
141
+
142
+ | Objective | Addressed | Explanation |
143
+ |--------------------------------------------------------------|-----------|--------------------------------------------------|
144
+ | Ensure resolution of `@nextui-org/system` package (#4254) | βœ… | |
145
+
146
+ ## Possibly related PRs
147
+ - **#3014**: Updates the peer dependencies for the `calendar`, `date-input`, and `date-picker` components.
148
+ - **#3512**: Introduces patch updates to various components, including `accordion` and `autocomplete`.
149
+ - **#4168**: Addresses an issue with the `ListboxItem`, `MenuItem`, and `PaginationItem` components.
150
+
151
+ ## Suggested labels
152
+ `πŸš₯ Status: On Hold`
153
+
154
+ ## Suggested reviewers
155
+ - jrgarciadev
156
+ - winchesHe
157
+
158
+ <!-- walkthrough_end -->
159
+ <!-- internal state start -->
160
+
161
+
162
+ <!-- FAHghAtBAEAqAWBLAztF0CGA7TBXALgPYQDmAplmQE4b5kAm0AxoQLasX4Bc0ADldEIAjAFZkm+RADcyqIQE9mhetQxChifADoMiaFAB8wY+CjGAxOegAFAErQAyrnYYq84wjJ9cAGx/QqMgBHXFl8aEl8HwZoACIAM0QADwAKFV5kAEoeRCwWKkCJPjJqABEyXgoVPMRZaHjCAXx4Mg5MLEZkeWQ6Vj4MJgBrDHJY6AB3DFQmQNoYhWhcZGoJ3JJB8cIsEnbGdERqyUSYqZt7LGchFYAWACYAVnvBHABxTQAJXCEtOBa+KkQrFcil4uCovEIy0E8QiSFQdjQqCImHo9ECyFQ2ERyFCATIPjmjGRzS8lRW6SqFCYtVQhBhJNhrS82E63V6/SGIzquUZ0AAcmQkvgAKoASWgPkQQhobh+njOzB8kO5GNx5ju92uABoJkgmPA8RCqHRGBhoEJcDtAiRXPQ1rz4rofGCvMj0YQfDJeZw3PVGrzeANhuQ4gABShC3CICCNEgAei6PVasR+Hj+KmQM0QvEkWzQHUQTDmSPgtEZgQmpyxuU0iAw/l4BJwbvxZCmXhkVGQiDzty09y0AAYdRbwvRccizawUPgMIMyDqGZ3u3nJtNS9sYsi+wA2Ic68Z6g3o3wm/OYaBAkT+5c9nAW1i8P1NP4ktos6CJ9mBznkZA/ABhLZlhCTgfHkRc/jJAQKQ6KlFFvPNAhCRBAg4LBwlLOQShwXBeHoQl6ioNhoAAAwMABePsAGYh1IiJCDIyi+2uOi5ThZgNxDfYMMpIlGIoHEK2aMsGQjfAowgJhJWYLE8JIGgVAY3l8kKcJEJwcZNHgQgCGgKldN4gFtmxUJ/1+LwEXoQg6iwQhwmQSpqXiRRsEUShxnNMhSykHsBH9aU20Ge19WwP8dQ/TR9MfLDEAALzqBlASNWc8i8OloHnCp7QZBEGiYJYTg6JQamWLQLCsAB5URxEkGRUHiYi+gAGVyedGFFVVZDTLxJSwdrTK8dUHmuCJNGiRhYgAbQAIWFF4AF19GgAAxJ0t0Y91PS8H1FAaAQf2DLwAHJw0FCTo1jBM2VaY6xl0qJcjqM1HPERBEiYc1LX0vJDLoQI9hwAUhTFaANOgXctFoizBugDMsyuTF6idF1lOSxpwgZUjgZFUVrGI3yVCoejGpIhlYjOyNLqoeMv2TDkjoPI9BCYAqu11ChFmWdnaF6HNlPkxSvCWHK/nEqNoAA5rxQ/HEhBA0IMPAz9Z2NRlUOgAA1TRmV4RtC1oO9U2AWBNoqYjxyYV0/gtEgdUKnmK1yHoqFwCQNsWXgFIwJSGUOrldhV1xMb+bW6EwPWIvif7dULA0SUUAzcCM9p9IKf1cjtItJBMkSQ52jDfX2gMgwDossDs8IrjxZAPRkeh2J2pInLPK4fL8xFYVE0OdYjp9kB03xOlV8ItOaB72kT9Ou0b2G10NDGYjzIEmEqhxA7oJNAd5AD4CarxpUIcZudnraCDvaFYXQW3O7NedFGEMQJGkdL6Sg3x/GQsz8Ai1Aot0VgSJGKqVqgGEoMEKiUjyIoL+qEmQYSAcjakkpZzhxem7K2GJ4i+E9t7JSH4MB60lNnC+PRg54XKsAQwJhIAwCqJfDABBiDkEoDQM8LB2CcB4PwQQNVn71XNIoFgRM1AaG0LofQEAjCmBgAgfYmIcCMKIKQCgqh2FsHQtwAIGBPI4hcL6BYwjVDqE0DoPQ1CaFmGAFoUKm5lj4DjPAZOCl5AQFYJaZAEBBTUGpGVVg9AuDAFiME4AlhoAAEFRQqNYYRPRQJfQZVsX+NM6A7TxBhLkfAFs3bPU/NQGkl9Az4H1J7Aim9lJSFcD2JYShHxbE4A1JqvJSKUwujGGm9FJTSmBLPDhEJKAIMwOk2qMRcjSVwEpUimZiJ+AgAPH2R9SI6lIkowgfToh0CWWRQKPsZiXGQFs0iZSyAQF4IWecxNlnHIgLkUE+BDmBhILkQ2WxDkDHyHaV5yzbkEBjPgXghyizRA6K4QFLQhhCEIEkQ5aJCD4SPlgB5xEFKyAOcs5A84NlfLInaQm1BDmSh6JC6FyyIQQk7Ic5AWBsyVHueis5Fd8XLKIB6SQALlkYEqarQ5o4iCIquTQcYTKyJYE5UIUFyyARELIJS1sEhKWSiJpSn8wqplj31G86IxoeU+3IIcwEXJ9VYDuYc1gyh6yHMUj2Q5s4hDREBbaMF2ZAXKBlcs/arACVtVNRQXANq1BorIg7SlN1WAQC7EwLZH5SKDCEPQUiPxwmolrFses4FIJeCSdyPIzp8H1GSM+fMICiikWguUSocEaiyHooEAkZ5iSvhaO+YqdM+j+3IL/aAldRk4BQDiIaGpWLGAqhEnw/0XlYEQQyFQ0lXATtpDCQUKUl4HS+MQn6kQaTGBgHyRi9Zx25kncpad4gCRsLvAu/SzdF6MH9KCO1hYN21jqEKisQIlI8maKk968RyrBNiNuqx7bZBxj6fUhBcZ3mNE+VgOMwGtAiFrlgQJ/7QlWEidEtRMQ4nAkvlm5APUyLwcQ68/N0RC1Y1aZJK6UGqAwfosB6AWEvKczwsc/ieJ4jRCKPh88S5qArhwLAtCDSKObGKOSSBlbqSyFnuDFgk6sm6EGcXFp4tqbxjfDKwOanzrUZptdJMnqmOcoPjhItsxliMFJn0ciVEoZ0WUnZlibF+SMXsi0AQZq0kG0PVOv4Ls3YSUCDqaZ2Z8DIB1P6DzkmK3VBk5iCs/BZCcD4xxNJv7h1odHQei9x70ynrnX5y+S6b2CFXQ+z6nBn0EaoTYcBcMpPxYQgJi+bHCQ8F01Tdpmmm3aZs0xeztFBz0WRM5rQrERvnlLaXP8oG2D9IaZB1m0G7xwdm2QBDSHSJ1esA12CzWwatbzO1k0nWqMacM70EmTTxvDdG4xcbk36I8hm7+EDYGBkReWx8tbxHttBJCVQoDG3kDzbqV9sH9ZqAOP+1sFDISwkYZYVhzozh4kPxhPhwjb2jpbdI4kcjxdKPqZ65BrV9yGYB2Y1cVj+FCIti46A3jn6oL7aa1SGkPwHBOXegbPwEFeTyeAkpzJDV/Qk705drT9Fo0XbJ62hjoOTNelp72vIlmYgDbu45sbzEJuubkeuMKXhM6+dycJ+B4Ri5mg8iscGGUSRQgO5z2QTM46XgwIoMZuavAeXqG2YLdR/SJCSLJtzggSReeUHzkhwF8teECxIVG/oFN0AwpfLGcPEVka8K+rw77NtZaR2OtReWG1eBnWe+dJXr3GhXd4SrT7JDdV2+zuL8Ejtdja/Ts7ZEKak6ulp2IPBYj6+G7EeigAkwn7/LoffWR9xH15Nyf03gNg8+0t6Hxp1vvfx4itvsWoFMBa93k7veGCdYH1LhXobF9j6G0OVfM/SLX+61dVt9/l9P5ezgXHXIN8FtwNvtt9YcNt98dtUNgcIBjB19wdFsINVl1kyA6Bd88cSNkNAcAMkcokUc2FsN0dcNEkuJW95R/9yAIDc8KM/gus2kaMmFkDNkqcQxmNk4iYSB6lLwY8Poa9+ADUARlZWcvBS1wFy1j8aR6Jlhn4tg5NjscAFMXZlMIsxNGIXcq1UAfIzM6d2NztB8DNFcdM58DMZcdQkl7Rtdx9ddHtv8RtE0/BI9PM8lpDJ0dQfcJl7QjkOd1CYUyApAxDpMJCIoW0swcxIs8QgQeRk4s0G4YZCBOw00VZXZk8KwPwOBZwykzRHcoINtQs3YDRThRUOAdQNIdR4YpVD0gjGBAgIRuwiBfRcgPUJ0IonYMIBhtBi90NS9z148K9GtZ1uij0MpSt69b0Kt11qsW9asYA9sj9pNT9BNSkOsyIjDaZQ0bsSIdcps9d7Nns19Qd4DgCocGCFsNkyA0CuQIDD8IEO9oEu8FjTtL9li9DesmR1jbNLCtjrCdjHNXs4DN9EDjjHxTjziKCMDICgcoAYDgA/igDIdIMuVXAQTNsMCEdsD0NcDVF8C0d9FMdOITdasyDs8SZEAicJcaCVj4TaBQVakEDMJTg1dFj60zYmceMSC/5mw/hwZLdNFxcBBNBUBoJGsbiEtudeceCBcM07iL4FDRcVN/RaD9MXiOBZdioFTLsDDNCWN1cZg2wrMiINiPiHtBsXNbCI8Yto8fM48j1eik8g9QsQiIsot/Io8hTxDnokt0RUtWdv10lKER1wkuia9eiq8is8shi68zw7011H0Jit0rjXS5ipTz8dCnib959Xj9T3jH9PjjSDcptfj9j/iQCESqAkTLjpj29j95ie8Uy1Tb8jM3jcz7snMbDf8iNCzYSt8SyyywSsDAMoSYSIcltxV6ByAeykNUTstkdMTYlCCEksc2ScciSqDidyTni4wRy9VmCvAadzMHiONvN3pFB+Mz8hNggowRM5SmhxNBS1CRTHAxT+d00hc5CSpFCxdC06z0zlTDD1yNTTMtSLNdStdbtDSWzvjTTd0HCVheMbSskgsU8BA09UssjhDlzCc89qAC8fYFwi1c17Q7JMBAzitkQwtQjSivCEsnToKvMUCfYqS/SpziLy9GIT1+ia9wzl1RjG9xiMIatt16tZjDtwZ9zdC0zjC+tGzNijSnsfi/9BzaSwdNyziiT4y7zqzkylivz9C1jMymyrDczdiCz3tAChyINlLxzXk+zoDYCOyzLvsdl6A9lWB5ZLLMDUMcDMMsTPw5zcTscTYaD0KSSvBVzhCKTHLnL5Yld3sTNsJtCGdmTuNwgWcOTSRKyAjw8ec3pxTnyTyFiZSaAPzQrUz38JKMy5c/zdL18VctDtTNdrNQLsyZLWz2J0As18ws5iwLxuTUsbcu0yBX0kycBULndKKaR3cSkgRvcc0JkC4NwrYeTyt80w9UBa1fDsBMZWKbZZgnLXYXLphOyMIfgoLzSuDLSgytrE94Lkj0okKth09whUL2y98wSqD89PcVBGKS9csejLq+jq9itOKysoym9YzW8KyhLO8RKL8AkSq6CyqfyLCmrwKTSdsIbriqyhrGTHjtLViGy9LpKUa8zwSAMbLoS7LFKNyCA+U3LJzPK8DZycS8NFyArK8f1OMkrUAHj/M0LwDXqMLqCwr1zeVSN4MYY+CMc8S7F8wpA65rYOxXzXpnJfM8ticbz0r4saQxLSqlTtMKrxK8brsfgZoPMEzNa6hNSGT9y9LwZCbtjUbWrjdNwOrzckYeqM8+q7cBAHc34UttywjDwPcpq8LZr+rPJ4hA8XRaQBBQ9w8TqXTDyeCSK/rbTEKSoHrM9Aq+btsqDXBSRPSMJXCZq7QTJCLYLGIyLHSaKzbXcwj/Q0j6LZwvrOifrrS/qQyBjL1hjIyxiYy+LJiBKZiMbEzobayKSZcCawL7bia9iTKDi4SRbYNVL0aa7bjR6tKKSDCkaaIDLZL8z5KKbDiqb8AabVKoDITbK56iyN9ocQVSzs86b0SvLGbJbiD8TCMMsObaouaL8ebnr0Cc6BbircbQNb6CJiZtzZ4JbcMUrZbtoXzTzPxHyrTeTmky0xrq1ZDTzUHIVmg4bFSrtWgVTGAQGJ7LbzMxlLyzxt6HMcy96E1R1/BTq7zxrPwHSwiPwFNEgSAwQa80JlNFg8gSCYijczrY8J0Xbs4Ldzy4FNFC0vahrL0ndK8MGOHJQSBqUTIx4DQIQHq6x/BualqKB5qrd2SS53tjoGoojD16xNB5Bm6csy9freQO6OLF0IyG971eLN1wbBLh7hLXzRL8H1TdKaHmzp6jKD6r7DrvsgUqhETl6/HV6T8sagnSHJLJ7kaIm5L/6AD56ls4m763KSb+zL6jpTLKaiw6Naa+z6aZyzwcN5ypbklWa4Z2bAgWTlDDHejyDkTAHgrBbgmycqn41IHxaARJbYG5aEH8qRdCqryIh1bIb1Dtb4bdbiGhmP81jjbTaWGLaALSwiQWgNYuSZGqH2SdT2wGqDSsmviHazSE7uCVbnGGRU6Qs2Hyi67nTHC9nEt86UsM9vTUAMsHGAzW6/7XHAb3GuKlqvG+6fGpikn1LUmYar9x6F9R8Pjn9Z91zh9MWILV9jLyn8mIMRnim1LKKNLcJUWcWDbCHWAv9szsXX9N6798WTTCWoniXr7QHqmz6ISQdon7KN9wVY0oUamPKn6GaGnfLmb37WnenKCgGySha6X9RxAxXoVtzYrALrbGckrmns0wFln7z5RhdFN5nlDgHWX8b9ada4wJ7qryHOZKHgLrmsyd66GWrGHq6pCoW0Hs7SN+HIihGTd6Ai7xkS6dg/YNsu0MAiihqKLK67wdR75Ng6MOGCAdIqAdQdIOBHlcLiFBJcKIicBdo+BCBMlQsDgdphkJAwiMKwi4WB4SpuHeGKiF5ajGhprGiO3bZUBhRbBmp7TPmKLhTWGPwVA/DVHQXmKXmCt2L/Xu7PHoyqt+64yV7kX16+8QGt7GrPXmqIK2zemKmj71WIVxXEmh7kmqXsbYb0mMywnd7WzZ7uWYmRWNXiVyXz7BW33hXQMkBeAJXEcpX6mCCma367EP72myBOmf7jk/7FX+aBnrX1z9RnUxn5RoHfQpn4G8rpS5mlDUH8Aln/Ha7VmCGJ67W1n6WGGTa8HfmaqTMjmyATnXz3blDXWrnMmD2ibntjr3NHnzrk7eQ3nbr06ULfbcnQT+nyM87/gAWf5JHDZc5Sx85DW/mJRAQdYONlGUWEPZ3wWE9/rQz48gaRjYXV3m8N2kXKX9ON7cWMmn2vWj3X28meX0OgOr2NaobAmaXd3Qn93aHD3Ua3O5sPPAPv2BWBzD64SjFgO0SIkMSYkZWIOFz5X5RP6OnObU4HjjOkPZOQqVXNmDMjFoq8dxn+ChESDO4GRE7nnhqpPzX3yPbiuH2fzkWhCiNRDVHJDaojYYZmvZS6S4r5DhGePgu+PDcOIzcpGSxu5SRY27JPJLdMRwhogph1JXyTTL52vtNkRsE8hD0lAChapwIBPq7y7RPrq7SPnwsvnq7GP5PktlhAWOSfTMth1vqnG26XHCtO7a8YWQbvH+KKXhTb20n0WMzfievx3q0Jvwm7mZ6iX3P335sVAovSaL7yahXKbrkfkwCXqJzanQOUvwPX70uoOFWgrSSXxVX7X8fjUCByvqd6S9yYblJsvmc2S0s0LYe3SDknDD0sHZmLWiPBmAvbXVSoeOvVGmOGT6uQKbnePsnTSAymGXS/WwypOCug3WgBGojhGI38LVPFuYrCjcKSjGtk2thU2yB5B036BM3x4c2mM2AKguQdQi3J0S2BHy2IQq3Pwa39I62q7G2dRm2DQuHEAeGBidRqjIRNBu38xe2U2voSAB2h2R37vKjHuZ3CN6uUH/h+CSTXJQ+VIFtDYNAUEYEznTHBmla+cYhbzVGi7Oqc4dgXokBo5Oe6+LwFGfbGQoR19DOfuIX/u3Gr0gfe612EXB6fO16/Pay38aPP92XaHOXpOPs0fGe7linoAX8V+CG1+l8CXj2FKj7d+CByXN27Pt2caj/pcMXT/PXN+T2SXvsr/CeAHSND+ZeyBGWHLc/rFyWxf9MepTHHn+zx5zBTk5yagAlynLJdUcPlNLhp2g7pIv69bbGohxp5Fc6eJXeMNcjORDB8UmHKCBMxgY89cgcDL0PhzzAFVxewDdBnD0F5a8ZCD5bKk+UFx0CzyKEc5p+RtbXZfydLMhgBQZJcc9SznELsTTsIa8fmcvThlsDbYA9g2uEUNpuHDYh0o25jI6HGwTZW8yi4WNPmm2gzO9s2ubd3gWy96Fhi2OoUthul9AB9C6QfJSLBwjr1sdQ4fHiigCj5KCY+7bNPgny7a+gVAs4EkmERvgJ9jQ9oQdsOzu7kVA4zDfPl9xbpj9jOkLbXlP2Boz9rOvja9luyX4Oc6We7ZXpN1V7ADcel/GAcQIuQ39bO4Pezju3/5SUp6SPSJlv1PZwkiBcA++oGwPw/sYulQrodIBra9Cie8OEnkl2fqpcKeaA1pll1g45c5IF+fLrgIl4UlcUowlnhQUq6TMau6AOrk8ytKZ0FaiDDjusMc4ZlOuqVbrmUF65C8BuZrV8gwMyQ6sraHPKQVN0gqCdHCV3V5jdxdDZ8Eh0WF0k9w9KKc0sH3UfgD2DIT8l2HjbinC1n6g9b+DQtJo/zJx4sX+G/CoVAMv4jCiY+/P/pcI4CAC8yb/C/sMLxRjCf+/Q6LmU1R7/s0QOieAQ/UmHTkye2JWYf5UJJ9DiStPZpBsMFSkDGMrBOCDTE4KF9eCFAgQtNTQb88MqrA/ruwKeGIMXhCzEjqoTl7OtqWY9EkXrWl6VUGyPwfGL4WqTIBnyuDA0O9XsS98+BpwwTKgGkq589OOow1hxktyKNDKrmeOr8J55wUkiQeJashQzxPVdeOeAWs9wLpKdZuKnaNmp15BxFVA9hQ7s4Vsb4BXIxUaPrHwkaqC3yM4VLFMGD4DY9O9/f8B0UcYwj26cIzIcu0RFWcwaiLfIXf0KE7sMR35AAevwny4jGRePYUTSIuKvViRIg5/g/iAFhdt+TI/sXUObEND7+97dsTpSMxkjuxE4zoaAOnHLlhx9rE/mOPJE9jwuO/TcXyOsrY9KRG4uFNZHGBL0+hj9KYdK3J5EFKeLTXkeMIjEoc2uQoy8Qim2E7k2e8VJkpgOSpUCbhLfFgaKU4FApcqnJZ4YRyKqfijRQg6jpRwyZOsxBFDDXG6wR7Psj2sgvPiwMDjZiAh8ePMYbzDbG93CpvbVhb2KJyEk2DpNPpXQ4bFQkh4EisWCzSGwjF2tYhEZZ1Brrs8hC/FJvOIo4hN8anw8oWuI/5g5YU8Ka8TOKEkQ9/OzQ7CS51C4o9DxU478fJP5ZY9f2vYo+h6gQF1NORKA7kSzUy4wc4O2A1YXyJXIIS6WHqX8VAxlHVd8SMtaZjwLfLDdiOgVBUebSVHOEReqtAKKbUl5ITDRI4jMm6IkFK8PWZQtoa5nV6+tlRLhLQR4V+Y+Fp2LAqNMEVHbhEDe6g8gDESgpSjis71QvMZzE5LVTqxwHwE7xOFb8lWwVaERdT+7cSzO0LbId4ORED0wemNESQQNo6qTpB7Q9/jyyMnecTWSkvUVFMRpBdEe3o/eh0OklxhJpJ4gYQyM0mU0DUY5NkZK3vFgcuRT4uYZZIwFc8sB3TP6uGP5F4DBR65XadpjFqqiFiT1RjKoLW5kQ+w30rZKOGNZkd1CAg/URs3ClEN5e5mRXjESyrK0oJ3AmCWqLgkLMrRyTApDFMwnccJJiU74Zd39Ep0AR7zJidRVYkC9MA4I17uECBZtNfS7Eudr9zYoA0eJ0/HqbkKbGKTGhD/f/iuJ/xSSeWj0okbS3tZYi9xK+A8ZOJ2lAg9pJ41EQNNbEczEJyYLsdzI0liyj6fMrcQLNX5stsRIsnmWjzVkbT6RkAgyXCQJ5/IvOt49kUgO8qNM/KFk9MFZJy5XSA2b426RcLpamz7IAKMgfnSq4acPJeHeGaLxa5WsJcpHFGbIFEmYiMmyEsSUbWgD0cDQjHN0dbQGy21WhS0hhr6JWBlSWK13QMYCPiFV0QR8ggiVGIhGUyQWNMozlxIZmdSshFnYHvCxRH1CZZiDSHsDJGlfDRZ64iDB7P+QKTpp7M+9oILBmYyM5us/9n3PNkuzTx+k7aarKZ7f9BxxPA6RyOQE2y5WVPM6TCAuldNf6tkl2fZPwEgMCezk3YZQPcnUDPJgc0hMgxrzFUwJJMvbiDJHmeoJqBoNGTqU0RxT9KakmQb8Dar7CCwc3bqnXzkae0Bq9uV8iNRUbgSHmjhHOfOyur5yCZ7DImaCIUFkyvS73YFj+lakid6ZpnQYl1Ibk5DGx8/QeYNOfmdzJJysnud9gJ4DyAZwk2WcPPlnGYx59DCeTtMXngCya54iDLGnoDGTSe682VpBxfFZ1D5yrY+RSSEW/i3h7PdjL306YXh2qXXU5vaPAUOTBZGTdSsFPoGIyRugFSGTQqxn0Q2CKwLPP5Nrp9cgpACp2txGAVdU84OggOMtzxD2jPpG3HoFjR24ZRqFB3axgR1O4SBzu8C7OUcLan/CUFuFQmTVIwUETtGXXG6bnSwVHUq5nE6sR1OIX1ye6zM8hf1MTLty5p2mIbpa3dFmLx5dC1aUIr4VniQBEGPqIMBEWHTTJG8iRaQSkW0jXZqHOls0oUW7kAJHsXeX7K66PzFREEmGWmjhkOiCOYveCbIo7kxz6yQgtCargwmXNJBC0nCfc1EbqLnF5SM0OcIgWDVB+enX5u/M9zTVI2fuAagHloBR0lqsdcyFnItLiMCFAWfGXErQUJKS5JM5JTcNSUC0KpOFfBbnMIUA9zO+SpESzIoXMKZpRQ3RY+x2V/yxpAi77M0qYU3sh5kcrZuJNRWjScm40tHlit0kQCMVYOQlPgC/b7SQObSsRagJ5H2zzpiw7+jZJ6ZrC+l9ralcSjPlYdXJYyrADQPlpY1G+SdEKdeUYgTKApeKhGgaJIavy6OuzbUehOGXussadtcxRd1OqIK6ZXy2JUCKLnfMTWBSMueTMhG4LqZKQysdEoXa1zcldYviSDz6nSyR6rCuVesyqVcKalPLXlZeylktz3Vbc5SewpaG3NqlXLY2Utn9VJB6lc8lWXCXQi4BWla862eIufFdK2arK6yU7Kzx2SZF90ulsmv5U3y8wb02NkMrqpW4PYpEb6VoFuCZz7IagaCXzzuE5SHheYKtWI2OCaDxVXAxkqLDmWGKFlCzahSsvxVCDOF3rfZUAvb7SMtFvVf0LbkgXe1oFvtUanAreWdrcl+a6RQMzdH7osKmgj8AyCTE0B7C1Uj6fmKTAZ5tGCnXyLpFQAaRyxNqjiVWPakOqu6vExub1Js6zjW59xUNaUvDUq9zF3Co+smuxUFCQ1s0ncYF1KGLSfVUa+eUmt9TxrBheIpNeah8CpqrZL9E6cyuzUwgB4R8eDi4uulcqdFNHbzBam9lY0K1MVa9WWDrUNqG1DDAVb7Nw60C/J7agXnYo7aHgsKMzeZcHNQbjrIp8G/Gp/PqrervW26vVX/Wqmp57qknZ2T0rSX/NyZFE7QWXVxmidfllyv5dnLooZFwVSCkzlCpIUwqGxAk1mZQo9VDSJ6061zr6rR60bcNU0hFbiqGklD4pSGl9m5v/YeaMNW0xNUtlFRSBxUA4mThMNXn4aZhhGu2cRqAnkbyknKgtR+KWV0tIt0W0tT7L2GXzhV184dfISMXEcw5vzT1Q62jmSbNZxo+OSqoInJyPhTSNORGvoY6qhOHyiFQaoQqoL8pxc01e6S03YKr4Vqz7v6Vpnj8cl36pmbCsKVuqAmsGrSouN1pczBwzLNbTVqZBkidZQWymrloSaBqANwaoDcv1fkbattl29fvtpQ3haIMR2mLX0ysqbSjZqGpbI8meSHo8N0wx8U0yI1NTkOAoyXPay+2ipD09EIsoovVUqKDWKVf6eHPMjQzxGEpETSOrE1uzkVP5CdUuLWXK4ZNWElzXso4gHL51btMBUuoEArqzl66ofrAoF5XLg6bhfBMmhsb+AI6jy9EM8uSBx0fhkS4Tr1uQX9bxOIYx6jrzWHmrOA5m/VSo1m2A9upC2uzfCpxVUKVJxO5HvdvoVg5wdE6aDS2JW1NCw1cm1zVrtWm66ft5K/hY0u+xkpz1v2h8cdIB3JagdhXLHTRzt0UptW3avVolW55FbEdvzKZajtbVY11RIc7LVJoimKqO56y2qkBQxmEqu5eE4mYqMIl+CcxxWUiUVIYA6ah11E+NpbzonW8GJtvQucxNvSJKBeMumbV+oV2kKClyuopctvO1Ir6tU6pPbQrN08tPdrIk7WzLV0dyNd6Km3TrrhT26rdDSoYZ9uRTogddFs+LX9qd22yMu3S5eQTiy1Fqwds+1FIMv/G6iEqQEoVejt4EXl6+xcfkhJmYVc4OB0ytHV5PD3iaVJuOw2mDMJ2J7ENuy/+QpqiWfLhdN1YMaptDES7Mt5GUFSoDz2l1gE+m+JUZqG20V0iDFTJR+shWT8nVv6uFc3t86G6ca6uzveBoO1H1+AhAFFBiH11zjHNoMjhfgcjUrSe9O+sg5PoTXa64wVqQgA7qOlmSktq+3mvupB1rk6WbBvfaNzvbKRE6x5MtWVtHUR7Fm0qoSTfpekXwOOT+5ZXVuP66V392yz/Wip9H86kK+mmJSLqNUPdU9AU0maNre7jaqZk2pitXOyV17oVK7fiXPywOL8cDbCkDSbvUnd60ebB8g4BprJt71DBK7Q0SuWkkr/2fhpg5hujUQYpUjYFSgvvpVpqCNzung67o338H6eNHeI/am92nBLFEoygHkniL+BFNBixrm4pYL77RDY2etY2qgbyG6gqmZ/Wodjlv61V1a7+Rqq1UZzHahrZTkcs8Vn7tF1OsOlAsQYwKkdTOr3FoLuXh1I63OkPLzteV6G/ZAYkXYAd4jAH1N6+98WAeE2F5ID8YxPIZtb7GaEDjdDADXvSE1i656BshU3qW3YHW9bYzmYrM23T4NZKE3bbdqVk+HIjNKaIP4bO2BG3j7Cq7V8ZZYQm/jnxiDXCVyOJGZ5b2ylQmBmAegfAcyQ5kfA4PtKM1p0tfbFv2N3TQdq/dE7MnmRXjhDurDnsiHEMn7hjsjUTGrTkPDbkdd8+/ZIe8mWsVDnhl/cNM0M/zejnWhxQMdjHpaExMbc3kfEZPc6ywPirbog38UbqGdaeoJUdxCVqRwlP+wXRZuU13Vtj4u3Y0SddngGi8b66bbcfl2OH6xzh5uadpb1gncDQ+mg/Q1cMsL3D1Wvzb/LCMlNrd0+iDMsCSq4nGV5k9IwsNzX7yMtfBkkwIZ3FypKcz08gVxpAkiqe1DXHATYu8I7qKj3JxgaHK1EsDlkSq4QdjrdTgyXW6MrQ/5q/38cfWp1NgbusJMvac82e6IscaqN+5C9tE08vRPKLGD7ejvMwY0AsH5tPeWnK2D7zsF+9C4IISts4O7CuDQ+DbYKk22jItsiJcfTtknxCF0VwhI4b6FEI77QBYhxhsdozsDhTt8QcKORkHuQN2q5dDh6zU4ZdX/qB9lBks8PuJWomgztUEE46c0pG7PDX58Iz+YTOhb3tD277BilbCn0kjiXFI4lrSNbyWVO8tlZdKjOUbQDsZ7I8f0xQoFRa4BQbnTqlO6DmN4QVjT9JckpmitaZ6xXxsVECa0+Qm4SFycf1Ay+TbR1ZR0Y2WVmtlQp9OSKZ1M9a9T3yrYxnTDGS70lMY4ugRWgPuTSKZxosxccvCmakDFpuw5+qIVzbFdtmlw88bcOvG5ZpSyEwf2+NP9fj2s/43QbR4wWsUN4meQZY9NGWFxN27EauO3Ht6FZVluE4QbhJ2WCLDlnpbPJiMfbAziqPvW+LvGIX/tK+lC7wY02FrSTx/CKxA1FE1HfdR+hHX7CaPsnIJMyyUuUvzOR6aOVHLi5OrBlx6TFTzASx1pnWk651rtLuOpwtGjDqJMp1bpgHW66lFTCxZU/TumNEUY+mjHYPeoZDW0NI9oRQnQBIB7RiuOMUGLGGwDxQJ0XWhBb/qF2JFNjKmw041OBUDMzTHZvTQpYrpKWLz8B1S4gabr3m/9lmtAz+seP6Wg1AFg/UBbLOgaEptBiI5TVauEivNquj88bpAvdzVpv1yK8FZROj6Ew1KPWCgRDPpqmVLuiM47MwvGmWzvS6jcfxhu0p8tDGqTulZEOlswhlAU0BRfrXUQONyZwrdLSvkBy21VAfwgFKYtl6WLoqoq4sqc21aY9xQjQ50YT3VmfTyeiJe8olXx4zTVUsSztYksgGYzHZ15mdcVHoKEFal66xpayVaWrNeSl803NdXPWXjTpjw+9a8Oa6bL/7KlDSjhv/WYNLlr0whprM6HQLUN827DaXkmmQrYWlg45AGDg29j0VhLbFc3mSKErexjGyVeP4qoIG0On3bSfkvO0vJJyzGxZdl7g8XJZop9WHqMW7cwK3a0xeUP6PtUMAy5wPXL0bNt8VaqnBbjSWAJdoOrdfJGAPxItxnSrqE8AoRnRBGmGQAta9WRI0Fy2/gRZSxnoKL29mS9/ZsvUonMFu8xzHaCc7YM9w8h/e85pToudrbuCw+q5uY9vFIvjnI+rbfwVuaCE7me2jQIEH20PMVAMYMQrPuXtz6mHa6Nxmudpfr02a7Tuth053hKVG32bGeaIsbZH0BnoLEdiCz+YZSsJ4bqRuK0HesOpbcuKw6M4lc33JX1SoDkUURc43U3uIJYAvBtfLVNdYJ0h93T8eTuY0UlzA/jTmeIuINo7yi4G2tZgoGG+tN1M8ypbBEWGKZOC6ww/fsNP2bTzqnW2+Yc2enzLUcyy3uNXF+WlsjkXIGA/VnQmTLsJikU7ZQfPbLikNgB2DmQDqp4A4DpC5A6zUZHiThD9Ulo+pPvDlF+rf3TTZuGaKRjzJjOMoRlX33b9Ie2ZRnekO8mjb/J/8rxerUf77bvpuhyLYzMS3Yl4ltTXuoQdydpLR12O3+GUiwHzjF1humZpuubWMh9xh643qevv3DLBt6rc5tdOtl3TiKt615eoOhGu57tyCywdtTAm6VCF/28vsDv6Pkb7KvNc2ealZGnNLap6Wg6psXyrHdFrk/2qL4smr9SO/J1zd83bNGtDHVVT49EOpzXywp+TWscU0hPtrBp6W2jc6fMhongx0WJXd4zydJQ04QCaWNlmvqptml1A/CPm16X7T75oR9QuBvwmlstTpE8FacslPnTPNkI/467lvOIMHz4B1DdtTz6orlspfVweQtQP9rXT0hgGmpOFGOCxRwxth1L689bhDN+4Y2dzPsWxnScvm5DMmflVyreOohqncfU1Jv7yhAJdnb5uZWuFxcZGUHuFvrG8ZoTqW+E46fA69nbDsuyQgrvqd1nJz7Tuc5aBQgyxXDjW/dfuev2BH3mwfcBcKem7TblNcF/+f1uAXfnUe0eaq+8Pquj6mr6Ix7dWksox02YHRwHc6UEleXbu7laVcICsoMOBNmk+Y792skA98dynQs0v2OP1CwenKq49pcePm7ZL7m3q+MyCmejgl1Z9XXWcbGAD3LnYxE5DtvVDjOFGJxy5vuDWknKt646k4s3pPHVmTpXdk6ec23ObKKip13qNdwkLXbKLV7k51eG2ynH1gLWq++vGvnXlr6eRDcNmomHY1rpp7a/QFoXIzCHA+ZE5wtDTg09G7Dm5MGcla3HmOsZwG4Sykucd5L1/Z6h2ZzPmtjL1rSRHa1ga+j7LxN5y6MO5uLrrDhThaorl4Ki3suu63c90sKvBJgjqty84Ncm3u3cJYd1bYN3fvPzv7/+1hqWyAeDZek0K9v0CD0tw0mYEdzC70d2uUtu8hRNjWnfpukrTd4I70EQ+RoF3gq9RVg/TPHCnqtLoxyI5/Ibv7GlDhYtQ8Ii0PRTZOpq64u3shgPFnV+Uz1b8V5lduKk9U84RO5an6Pwl0Wy+7E7MPb3cvQFTs75fmH730u597Xp4fPnbTr5z90q8Bsqva3BBnw/B9bSEfgHSoIDkWTcpaB4A8sP29C46WZq0P0DjDxyqwtvirPUVI+WopiarAv0QKlYvRCWvUo4oq18+Th1TMrvQ3KhcZ1VurfbvI37b/d4nPmd/iWObHM4b6845VnarZ7kU7OpNyDHckA8d6Ow95DThqU7iPoJbkYAvrBaw/UHBH3sjVYZlQ1jRvaHvX+5OdQeaOstWzRZJlAOSbeODBNKBPyPD5ra8m62c8vg7RJ9z4L0jHSWZXtzxme+60/2adPzz7bULKxbn8zPH/Sz9Z8F6eWiHnYnyxSN28Wfs8s3tGnrZbevXjLUb0y78XO8xN9vHno7+0YZYKOdvcKPb5d4O9+mLEMiH6LehhCrJoXHCTRDwEFQofBESgERCYnETmIpEoAWhLUjOcAB9A4MgHR+BBfIkC+gOj7IRqxAfqP24NcGuBCBqItwDAAAHYAAHGQAZ80+rYAATmuAABGJgBHTp/URBw1wCOtcFZjxAhAdP+4Oz53D0Adw1wQcJIiMAo+oAaPzQJj6d44+zR+P9H/QkMBAA== -->
163
+
164
+ <!-- internal state end -->
165
+ <!-- tips_start -->
166
+
167
+ ---
168
+
169
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
170
+
171
+ <details>
172
+ <summary>❀️ Share</summary>
173
+
174
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
175
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
176
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
177
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
178
+
179
+ </details>
180
+
181
+ <details>
182
+ <summary>πŸͺ§ Tips</summary>
183
+
184
+ ### Chat
185
+
186
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
187
+
188
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
189
+ - `I pushed a fix in commit <commit_id>, please review it.`
190
+ - `Generate unit testing code for this file.`
191
+ - `Open a follow-up GitHub issue for this discussion.`
192
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
193
+ - `@coderabbitai generate unit testing code for this file.`
194
+ - `@coderabbitai modularize this function.`
195
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
196
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
197
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
198
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
199
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
200
+
201
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
202
+
203
+ ### CodeRabbit Commands (Invoked using PR comments)
204
+
205
+ - `@coderabbitai pause` to pause the reviews on a PR.
206
+ - `@coderabbitai resume` to resume the paused reviews.
207
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
208
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
209
+ - `@coderabbitai summary` to regenerate the summary of the PR.
210
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
211
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
212
+ - `@coderabbitai help` to get help.
213
+
214
+ ### Other keywords and placeholders
215
+
216
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
217
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
218
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
219
+
220
+ ### Documentation and Community
221
+
222
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
223
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
224
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
225
+
226
+ </details>
227
+
228
+ <!-- tips_end -->\n
229
+
230
+ Files Changed:
231
+ - .changeset/hungry-mugs-exercise.md (added, 49 changes)\n Patch: @@ -0,0 +1,49 @@
232
+ +---
233
+ +"@nextui-org/scroll-shadow": patch
234
+ +"@nextui-org/autocomplete": patch
235
+ +"@nextui-org/breadcrumbs": patch
236
+ +"@nextui-org/date-picker": patch
237
+ +"@nextui-org/date-input": patch
238
+ +"@nextui-org/pagination": patch
239
+ +"@nextui-org/accordion": patch
240
+ +"@nextui-org/input-otp": patch
241
+ +"@nextui-org/calendar": patch
242
+ +"@nextui-org/checkbox": patch
243
+ +"@nextui-org/dropdown": patch
244
+ +"@nextui-org/progress": patch
245
+ +"@nextui-org/skeleton": patch
246
+ +"@nextui-org/divider": patch
247
+ +"@nextui-org/listbox": patch
248
+ +"@nextui-org/popover": patch
249
+ +"@nextui-org/snippet": patch
250
+ +"@nextui-org/spinner": patch
251
+ +"@nextui-org/tooltip": patch
252
+ +"@nextui-org/avatar": patch
253
+ +"@nextui-org/button": patch
254
+ +"@nextui-org/drawer": patch
255
+ +"@nextui-org/navbar": patch
256
+ +"@nextui-org/ripple": patch
257
+ +"@nextui-org/select": patch
258
+ +"@nextui-org/slider": patch
259
+ +"@nextui-org/spacer": patch
260
+ +"@nextui-org/switch": patch
261
+ +"@nextui-org/alert": patch
262
+ +"@nextui-org/badge": patch
263
+ +"@nextui-org/image": patch
264
+ +"@nextui-org/input": patch
265
+ +"@nextui-org/modal": patch
266
+ +"@nextui-org/radio": patch
267
+ +"@nextui-org/table": patch
268
+ +"@nextui-org/card": patch
269
+ +"@nextui-org/chip": patch
270
+ +"@nextui-org/code": patch
271
+ +"@nextui-org/form": patch
272
+ +"@nextui-org/link": patch
273
+ +"@nextui-org/menu": patch
274
+ +"@nextui-org/tabs": patch
275
+ +"@nextui-org/user": patch
276
+ +"@nextui-org/system-rsc": patch
277
+ +"@nextui-org/kbd": patch
278
+ +---
279
+ +
280
+ +fixed incorrect peerDependencies for theme and system package (#4254)\n- packages/components/accordion/package.json (modified, 4 changes)\n Patch: @@ -43,8 +43,8 @@
281
+ "react": ">=18 || >=19.0.0-rc.0",
282
+ "react-dom": ">=18 || >=19.0.0-rc.0",
283
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
284
+ - "@nextui-org/theme": ">=2.3.0",
285
+ - "@nextui-org/system": ">=2.3.0"
286
+ + "@nextui-org/theme": ">=2.4.0",
287
+ + "@nextui-org/system": ">=2.4.0"
288
+ },
289
+ "dependencies": {
290
+ "@nextui-org/aria-utils": "workspace:*",\n- packages/components/alert/package.json (modified, 4 changes)\n Patch: @@ -40,8 +40,8 @@
291
+ "peerDependencies": {
292
+ "react": ">=18 || >=19.0.0-rc.0",
293
+ "react-dom": ">=18 || >=19.0.0-rc.0",
294
+ - "@nextui-org/theme": ">=2.3.0",
295
+ - "@nextui-org/system": ">=2.3.0"
296
+ + "@nextui-org/theme": ">=2.4.0",
297
+ + "@nextui-org/system": ">=2.4.0"
298
+ },
299
+ "dependencies": {
300
+ "@nextui-org/react-utils": "workspace:*",\n- packages/components/autocomplete/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
301
+ "postpack": "clean-package restore"
302
+ },
303
+ "peerDependencies": {
304
+ - "@nextui-org/system": ">=2.3.0",
305
+ - "@nextui-org/theme": ">=2.3.0",
306
+ + "@nextui-org/system": ">=2.4.0",
307
+ + "@nextui-org/theme": ">=2.4.0",
308
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
309
+ "react": ">=18 || >=19.0.0-rc.0",
310
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/avatar/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
311
+ "peerDependencies": {
312
+ "react": ">=18 || >=19.0.0-rc.0",
313
+ "react-dom": ">=18 || >=19.0.0-rc.0",
314
+ - "@nextui-org/theme": ">=2.3.0",
315
+ - "@nextui-org/system": ">=2.3.0"
316
+ + "@nextui-org/theme": ">=2.4.0",
317
+ + "@nextui-org/system": ">=2.4.0"
318
+ },
319
+ "dependencies": {
320
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/badge/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
321
+ "peerDependencies": {
322
+ "react": ">=18 || >=19.0.0-rc.0",
323
+ "react-dom": ">=18 || >=19.0.0-rc.0",
324
+ - "@nextui-org/theme": ">=2.3.0",
325
+ - "@nextui-org/system": ">=2.3.0"
326
+ + "@nextui-org/theme": ">=2.4.0",
327
+ + "@nextui-org/system": ">=2.4.0"
328
+ },
329
+ "dependencies": {
330
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/breadcrumbs/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
331
+ "peerDependencies": {
332
+ "react": ">=18 || >=19.0.0-rc.0",
333
+ "react-dom": ">=18 || >=19.0.0-rc.0",
334
+ - "@nextui-org/theme": ">=2.3.0",
335
+ - "@nextui-org/system": ">=2.3.0"
336
+ + "@nextui-org/theme": ">=2.4.0",
337
+ + "@nextui-org/system": ">=2.4.0"
338
+ },
339
+ "dependencies": {
340
+ "@nextui-org/react-utils": "workspace:*",\n- packages/components/button/package.json (modified, 4 changes)\n Patch: @@ -37,8 +37,8 @@
341
+ "react": ">=18 || >=19.0.0-rc.0",
342
+ "react-dom": ">=18 || >=19.0.0-rc.0",
343
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
344
+ - "@nextui-org/theme": ">=2.3.0",
345
+ - "@nextui-org/system": ">=2.3.0"
346
+ + "@nextui-org/theme": ">=2.4.0",
347
+ + "@nextui-org/system": ">=2.4.0"
348
+ },
349
+ "dependencies": {
350
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/calendar/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
351
+ "postpack": "clean-package restore"
352
+ },
353
+ "peerDependencies": {
354
+ - "@nextui-org/system": ">=2.3.0",
355
+ - "@nextui-org/theme": ">=2.3.0",
356
+ + "@nextui-org/system": ">=2.4.0",
357
+ + "@nextui-org/theme": ">=2.4.0",
358
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
359
+ "react": ">=18 || >=19.0.0-rc.0",
360
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/card/package.json (modified, 4 changes)\n Patch: @@ -37,8 +37,8 @@
361
+ "react": ">=18 || >=19.0.0-rc.0",
362
+ "react-dom": ">=18 || >=19.0.0-rc.0",
363
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
364
+ - "@nextui-org/theme": ">=2.3.0",
365
+ - "@nextui-org/system": ">=2.3.0"
366
+ + "@nextui-org/theme": ">=2.4.0",
367
+ + "@nextui-org/system": ">=2.4.0"
368
+ },
369
+ "dependencies": {
370
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/checkbox/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
371
+ "postpack": "clean-package restore"
372
+ },
373
+ "peerDependencies": {
374
+ - "@nextui-org/system": ">=2.3.0",
375
+ - "@nextui-org/theme": ">=2.3.0",
376
+ + "@nextui-org/system": ">=2.4.0",
377
+ + "@nextui-org/theme": ">=2.4.0",
378
+ "react": ">=18 || >=19.0.0-rc.0",
379
+ "react-dom": ">=18 || >=19.0.0-rc.0"
380
+ },\n- packages/components/chip/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
381
+ "peerDependencies": {
382
+ "react": ">=18 || >=19.0.0-rc.0",
383
+ "react-dom": ">=18 || >=19.0.0-rc.0",
384
+ - "@nextui-org/theme": ">=2.3.0",
385
+ - "@nextui-org/system": ">=2.3.0"
386
+ + "@nextui-org/theme": ">=2.4.0",
387
+ + "@nextui-org/system": ">=2.4.0"
388
+ },
389
+ "dependencies": {
390
+ "@nextui-org/shared-icons": "workspace:*",\n- packages/components/code/package.json (modified, 2 changes)\n Patch: @@ -36,7 +36,7 @@
391
+ "peerDependencies": {
392
+ "react": ">=18 || >=19.0.0-rc.0",
393
+ "react-dom": ">=18 || >=19.0.0-rc.0",
394
+ - "@nextui-org/theme": ">=2.3.0"
395
+ + "@nextui-org/theme": ">=2.4.0"
396
+ },
397
+ "dependencies": {
398
+ "@nextui-org/system-rsc": "workspace:*",\n- packages/components/date-input/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
399
+ "postpack": "clean-package restore"
400
+ },
401
+ "peerDependencies": {
402
+ - "@nextui-org/system": ">=2.3.0",
403
+ - "@nextui-org/theme": ">=2.3.0",
404
+ + "@nextui-org/system": ">=2.4.0",
405
+ + "@nextui-org/theme": ">=2.4.0",
406
+ "react": ">=18 || >=19.0.0-rc.0",
407
+ "react-dom": ">=18 || >=19.0.0-rc.0"
408
+ },\n- packages/components/date-picker/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
409
+ "postpack": "clean-package restore"
410
+ },
411
+ "peerDependencies": {
412
+ - "@nextui-org/system": ">=2.3.0",
413
+ - "@nextui-org/theme": ">=2.3.0",
414
+ + "@nextui-org/system": ">=2.4.0",
415
+ + "@nextui-org/theme": ">=2.4.0",
416
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
417
+ "react": ">=18 || >=19.0.0-rc.0",
418
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/divider/package.json (modified, 2 changes)\n Patch: @@ -36,7 +36,7 @@
419
+ "peerDependencies": {
420
+ "react": ">=18 || >=19.0.0-rc.0",
421
+ "react-dom": ">=18 || >=19.0.0-rc.0",
422
+ - "@nextui-org/theme": ">=2.3.0"
423
+ + "@nextui-org/theme": ">=2.4.0"
424
+ },
425
+ "dependencies": {
426
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/drawer/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
427
+ "peerDependencies": {
428
+ "react": ">=18 || >=19.0.0-rc.0",
429
+ "react-dom": ">=18 || >=19.0.0-rc.0",
430
+ - "@nextui-org/theme": ">=2.3.0",
431
+ - "@nextui-org/system": ">=2.3.0"
432
+ + "@nextui-org/theme": ">=2.4.0",
433
+ + "@nextui-org/system": ">=2.4.0"
434
+ },
435
+ "dependencies": {
436
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/dropdown/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
437
+ "postpack": "clean-package restore"
438
+ },
439
+ "peerDependencies": {
440
+ - "@nextui-org/system": ">=2.3.0",
441
+ - "@nextui-org/theme": ">=2.3.0",
442
+ + "@nextui-org/system": ">=2.4.0",
443
+ + "@nextui-org/theme": ">=2.4.0",
444
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
445
+ "react": ">=18 || >=19.0.0-rc.0",
446
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/form/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
447
+ "postpack": "clean-package restore"
448
+ },
449
+ "peerDependencies": {
450
+ - "@nextui-org/system": ">=2.3.0",
451
+ - "@nextui-org/theme": ">=2.3.0",
452
+ + "@nextui-org/system": ">=2.4.0",
453
+ + "@nextui-org/theme": ">=2.4.0",
454
+ "react": ">=18",
455
+ "react-dom": ">=18"
456
+ },\n- packages/components/image/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
457
+ "peerDependencies": {
458
+ "react": ">=18 || >=19.0.0-rc.0",
459
+ "react-dom": ">=18 || >=19.0.0-rc.0",
460
+ - "@nextui-org/theme": ">=2.3.0",
461
+ - "@nextui-org/system": ">=2.3.0"
462
+ + "@nextui-org/theme": ">=2.4.0",
463
+ + "@nextui-org/system": ">=2.4.0"
464
+ },
465
+ "dependencies": {
466
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/input-otp/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
467
+ "peerDependencies": {
468
+ "react": ">=18",
469
+ "react-dom": ">=18",
470
+ - "@nextui-org/theme": ">=2.3.0",
471
+ - "@nextui-org/system": ">=2.3.0"
472
+ + "@nextui-org/theme": ">=2.4.0",
473
+ + "@nextui-org/system": ">=2.4.0"
474
+ },
475
+ "dependencies": {
476
+ "@nextui-org/form": "workspace:*",\n- packages/components/input/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
477
+ "peerDependencies": {
478
+ "react": ">=18 || >=19.0.0-rc.0",
479
+ "react-dom": ">=18 || >=19.0.0-rc.0",
480
+ - "@nextui-org/theme": ">=2.3.0",
481
+ - "@nextui-org/system": ">=2.3.0"
482
+ + "@nextui-org/theme": ">=2.4.0",
483
+ + "@nextui-org/system": ">=2.4.0"
484
+ },
485
+ "dependencies": {
486
+ "@nextui-org/form": "workspace:*",\n- packages/components/kbd/package.json (modified, 2 changes)\n Patch: @@ -36,7 +36,7 @@
487
+ "peerDependencies": {
488
+ "react": ">=18 || >=19.0.0-rc.0",
489
+ "react-dom": ">=18 || >=19.0.0-rc.0",
490
+ - "@nextui-org/theme": ">=2.3.0"
491
+ + "@nextui-org/theme": ">=2.4.0"
492
+ },
493
+ "dependencies": {
494
+ "@nextui-org/system-rsc": "workspace:*",\n- packages/components/link/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
495
+ "peerDependencies": {
496
+ "react": ">=18 || >=19.0.0-rc.0",
497
+ "react-dom": ">=18 || >=19.0.0-rc.0",
498
+ - "@nextui-org/theme": ">=2.3.0",
499
+ - "@nextui-org/system": ">=2.3.0"
500
+ + "@nextui-org/theme": ">=2.4.0",
501
+ + "@nextui-org/system": ">=2.4.0"
502
+ },
503
+ "dependencies": {
504
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/listbox/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
505
+ "peerDependencies": {
506
+ "react": ">=18 || >=19.0.0-rc.0",
507
+ "react-dom": ">=18 || >=19.0.0-rc.0",
508
+ - "@nextui-org/theme": ">=2.3.0",
509
+ - "@nextui-org/system": ">=2.3.0"
510
+ + "@nextui-org/theme": ">=2.4.0",
511
+ + "@nextui-org/system": ">=2.4.0"
512
+ },
513
+ "dependencies": {
514
+ "@nextui-org/aria-utils": "workspace:*",\n- packages/components/menu/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
515
+ "peerDependencies": {
516
+ "react": ">=18 || >=19.0.0-rc.0",
517
+ "react-dom": ">=18 || >=19.0.0-rc.0",
518
+ - "@nextui-org/theme": ">=2.3.0",
519
+ - "@nextui-org/system": ">=2.3.0"
520
+ + "@nextui-org/theme": ">=2.4.0",
521
+ + "@nextui-org/system": ">=2.4.0"
522
+ },
523
+ "dependencies": {
524
+ "@nextui-org/divider": "workspace:*",\n- packages/components/modal/package.json (modified, 4 changes)\n Patch: @@ -37,8 +37,8 @@
525
+ "react": ">=18 || >=19.0.0-rc.0",
526
+ "react-dom": ">=18 || >=19.0.0-rc.0",
527
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
528
+ - "@nextui-org/theme": ">=2.3.0",
529
+ - "@nextui-org/system": ">=2.3.0"
530
+ + "@nextui-org/theme": ">=2.4.0",
531
+ + "@nextui-org/system": ">=2.4.0"
532
+ },
533
+ "dependencies": {
534
+ "@nextui-org/use-disclosure": "workspace:*",\n- packages/components/navbar/package.json (modified, 4 changes)\n Patch: @@ -37,8 +37,8 @@
535
+ "react": ">=18 || >=19.0.0-rc.0",
536
+ "react-dom": ">=18 || >=19.0.0-rc.0",
537
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
538
+ - "@nextui-org/theme": ">=2.3.0",
539
+ - "@nextui-org/system": ">=2.3.0"
540
+ + "@nextui-org/theme": ">=2.4.0",
541
+ + "@nextui-org/system": ">=2.4.0"
542
+ },
543
+ "dependencies": {
544
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/pagination/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
545
+ "peerDependencies": {
546
+ "react": ">=18 || >=19.0.0-rc.0",
547
+ "react-dom": ">=18 || >=19.0.0-rc.0",
548
+ - "@nextui-org/theme": ">=2.3.0",
549
+ - "@nextui-org/system": ">=2.3.0"
550
+ + "@nextui-org/theme": ">=2.4.0",
551
+ + "@nextui-org/system": ">=2.4.0"
552
+ },
553
+ "dependencies": {
554
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/popover/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
555
+ "postpack": "clean-package restore"
556
+ },
557
+ "peerDependencies": {
558
+ - "@nextui-org/system": ">=2.3.0",
559
+ - "@nextui-org/theme": ">=2.3.0",
560
+ + "@nextui-org/system": ">=2.4.0",
561
+ + "@nextui-org/theme": ">=2.4.0",
562
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
563
+ "react": ">=18 || >=19.0.0-rc.0",
564
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n
processed_docs/pr_data_0_doc_22.txt ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4253
2
+ Title: fix: rounded corner shadow bug
3
+ Base Branch: main
4
+ Head Branch: main
5
+ Author: CORCTON
6
+ URL: https://github.com/nextui-org/nextui/pull/4253
7
+ State: OPEN
8
+ Created At: 2024-12-07T03:58:47Z
9
+ Merged At: None
10
+ Participants: CORCTON
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+ This PR fixes the issue with the incorrect display of rounded corner shadows on the official website. The shadow was not being rendered correctly in certain browsers, and this update addresses that problem.
16
+ ⛳️ Current behavior (updates)
17
+ The rounded corner shadows on the website are displayed incorrectly in some browsers. This visual issue impacts the overall design and user experience.
18
+ πŸš€ New behavior
19
+ After this fix, the rounded corner shadows are displayed correctly across all supported browsers. The visual appearance of the website is now consistent with the intended design.
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+ No
22
+ πŸ“ Additional Information
23
+ This fix primarily affects the visual rendering of the rounded corner shadows on the website. No major changes to functionality or behavior were introduced.
24
+
25
+ Commits:
26
+ - fix: rounded corner shadow bug\n
27
+
28
+ Labels:
29
+
30
+
31
+ Comments:
32
+ - changeset-bot: ### ⚠️ No Changeset found
33
+
34
+ Latest commit: 5ff3ea84fce837d8bd46556b6aa7e56b7615f68c
35
+
36
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
37
+
38
+ <details><summary>This PR includes no changesets</summary>
39
+
40
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
41
+
42
+ </details>
43
+
44
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
45
+
46
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/CORCTON/nextui/new/main?filename=.changeset/nine-pillows-juggle.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0Afix%3A%20rounded%20corner%20shadow%20bug%0A)
47
+
48
+ \n- vercel: [vc]: #Muj0gG6JrKNA4X/xeYicvTD2q+mGPvsCjWHz/Su/udw=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvQkFTYlRIRlVERDk4VGs3dFdhRDNISkFWYTlMNyIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1mb3JrLWNvcmN0b24tbWFpbi1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZm9yay1jb3JjdG9uLW1haW4tbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1kb2NzLXYyIiwicm9vdERpcmVjdG9yeSI6ImFwcHMvZG9jcyIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1kb2NzLXYyL0VIdm5hMVFHUlJBRU51OTZjWUhLTGZMcXBVVVQiLCJwcmV2aWV3VXJsIjoibmV4dHVpLWRvY3MtdjItZ2l0LWZvcmstY29yY3Rvbi1tYWluLW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktZG9jcy12Mi1naXQtZm9yay1jb3JjdG9uLW1haW4tbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
49
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
50
+
51
+ | Name | Status | Preview | Comments | Updated (UTC) |
52
+ | :--- | :----- | :------ | :------- | :------ |
53
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/EHvna1QGRRAENu96cYHKLfLqpUUT)) | [Visit Preview](https://nextui-docs-v2-git-fork-corcton-main-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fork-corcton-main-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 4:04am |
54
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/BASbTHFUDD98Tk7tWaD3HJAVa9L7)) | [Visit Preview](https://nextui-storybook-v2-git-fork-corcton-main-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fork-corcton-main-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 7, 2024 4:04am |
55
+
56
+
57
+ \n- vercel: @CORCTON is attempting to deploy a commit to the **NextUI Inc** Team on [Vercel](https://vercel.com).
58
+
59
+ A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=NextUI%20Inc&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%225ff3ea84fce837d8bd46556b6aa7e56b7615f68c%22%7D%2C%22id%22%3A%22QmTiUpwh13uVRkeyXdNL7m4ahaU86BPLWENZrayUFAhZgq%22%2C%22org%22%3A%22nextui-org%22%2C%22prId%22%3A4253%2C%22repo%22%3A%22nextui%22%7D).
60
+
61
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
62
+
63
+
64
+ <!-- walkthrough_start -->
65
+
66
+ ## Walkthrough
67
+ The pull request introduces updates to the `shopCartStyles` object in the `styles.ts` file, specifically enhancing the `imageWrapper` and `sizeOption` properties within the `modern` variant. The `imageWrapper` now includes an additional class for improved styling, while the `sizeOption` property has been modified to enhance accessibility with a new focus ring class. Other properties, including button styles, have also been adjusted for better visual presentation. The default variants remain unchanged.
68
+
69
+ ## Changes
70
+
71
+ | File Path | Change Summary |
72
+ |---------------------------------------------|------------------------------------------------------------------------------------------------|
73
+ | apps/docs/components/marketing/custom-themes/styles.ts | Modifications to `shopCartStyles`: updated `imageWrapper` with `rounded-3xl` and `shadow-lg`, added focus ring class to `sizeOption`, and adjusted button styles for font size and rounded appearance. Type export for `ShopCartProps` updated. |
74
+
75
+ ## Possibly related PRs
76
+ - **#3486**: Modifies the `title` style attribute within the `menuItem` component, potentially related to visual presentation changes.
77
+ - **#3552**: Involves modifications to the CSS class applied to the `checkbox` component, connecting to the overall styling approach.
78
+ - **#3691**: Enhances modal positioning and responsiveness, possibly related to accessibility improvements in focus ring styling.
79
+ - **#3764**: Addresses hover effects for ghost buttons, relevant to the button styles updated in the main PR.
80
+ - **#4105**: Focuses on managing overflow behavior in menu items, aligning with the theme of improving UI component styling.
81
+
82
+ ## Suggested labels
83
+ `πŸ‘€ Status: To Review`
84
+
85
+ ## Suggested reviewers
86
+ - wingkwong
87
+ - jrgarciadev
88
+
89
+ <!-- walkthrough_end -->
90
+ <!-- internal state start -->
91
+
92
+
93
+ <!-- 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 -->
94
+
95
+ <!-- internal state end -->
96
+ <!-- tips_start -->
97
+
98
+ ---
99
+
100
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
101
+
102
+ <details>
103
+ <summary>❀️ Share</summary>
104
+
105
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
106
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
107
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
108
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
109
+
110
+ </details>
111
+
112
+ <details>
113
+ <summary>πŸͺ§ Tips</summary>
114
+
115
+ ### Chat
116
+
117
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
118
+
119
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
120
+ - `I pushed a fix in commit <commit_id>, please review it.`
121
+ - `Generate unit testing code for this file.`
122
+ - `Open a follow-up GitHub issue for this discussion.`
123
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
124
+ - `@coderabbitai generate unit testing code for this file.`
125
+ - `@coderabbitai modularize this function.`
126
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
127
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
128
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
129
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
130
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
131
+
132
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
133
+
134
+ ### CodeRabbit Commands (Invoked using PR comments)
135
+
136
+ - `@coderabbitai pause` to pause the reviews on a PR.
137
+ - `@coderabbitai resume` to resume the paused reviews.
138
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
139
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
140
+ - `@coderabbitai summary` to regenerate the summary of the PR.
141
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
142
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
143
+ - `@coderabbitai help` to get help.
144
+
145
+ ### Other keywords and placeholders
146
+
147
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
148
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
149
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
150
+
151
+ ### Documentation and Community
152
+
153
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
154
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
155
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
156
+
157
+ </details>
158
+
159
+ <!-- tips_end -->\n
160
+
161
+ Files Changed:
162
+ - apps/docs/components/marketing/custom-themes/styles.ts (modified, 2 changes)\n Patch: @@ -87,7 +87,7 @@ export const shopCartStyles = tv({
163
+ "lg:scale-[1.3]",
164
+ "before:rounded-3xl",
165
+ "before:from-[#870172] before:to-[#18000E]",
166
+ - "shadow-lg",
167
+ + "shadow-lg rounded-3xl",
168
+ ],
169
+ img: "sm:scale-90 sm:left-0",
170
+ title: "text-2xl",\n
processed_docs/pr_data_0_doc_23.txt ADDED
@@ -0,0 +1,1356 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4249
2
+ Title: v2.6.0 fixes
3
+ Base Branch: main
4
+ Head Branch: canary
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4249
7
+ State: MERGED
8
+ Created At: 2024-12-06T22:21:18Z
9
+ Merged At: 2024-12-06T22:21:28Z
10
+ Participants: jrgarciadev, ryxxn, wingkwong, abhinav700, macci001, dgz9, juliesaia, alexnguyennz, nnmax, ryo-manba, ShrinidhiUpadhyaya, sanuj21, PentSec, winchesHe, awesome-pro, CanRau, AzpektDev, Peterl561, vinroger, jubar
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Commits:
25
+ - fix(input): ensure clear button is not focusable when disabled (#3774)
26
+
27
+ * fix(input): ensure clear button is not focusable when disabled
28
+
29
+ * test(input): add test to ensure clear button is not focusable when disabled
30
+
31
+ * chore: add changeset for clear button focus fix when input is disabled
32
+
33
+ * fix(input): update clear button to use button element
34
+
35
+ * test(input): add focus test when disabled
36
+
37
+ and update tests for clear button using button element
38
+
39
+ * test(input): replace querySelector with getByRole for clear button
40
+
41
+ * fix(input): set tabIndex to -1 for clear button
42
+
43
+ * test(input): ensure clear button is not focusable\n- fix(image): add missing `w` to `getWrapperProps` dependency (#3802)
44
+
45
+ * fix(image): add missing `w` to `getWrapperProps` dependency
46
+
47
+ * chore(changeset): add changeset\n- fix(autocomplete): popover should remain open after clicking clear button (#3788)
48
+
49
+ * fix: add state.open() so that dropdown is not closed
50
+
51
+ * chore: add changeset
52
+
53
+ * chore(autocomplete): add testcases for keeping lisbox open when clearButton is clicked
54
+
55
+ * chore: update changeset
56
+
57
+ * chore(autocomplete): change the docs for test cases
58
+
59
+ * chore(changeset): update changeset message and add issue number
60
+
61
+ ---------
62
+
63
+ Co-authored-by: WK Wong <[email protected]>\n- refactor(docs): example of blurred card (#3741)
64
+
65
+ * docs(card): adding info regarding the gradient for blurred card
66
+
67
+ * chore(nit): adding example
68
+
69
+ * chore(docs): revise content for card isBlurred example
70
+
71
+ * chore(docs): revise isBlurred note
72
+
73
+ ---------
74
+
75
+ Co-authored-by: Maharshi Alpesh <[email protected]>
76
+ Co-authored-by: WK Wong <[email protected]>\n- fix(docs): replace twitter logo/links with x logo/links (#3815)
77
+
78
+ * fix(docs): replace Twitter logo/links with X logo/links
79
+
80
+ * docs: update twitter references to x
81
+
82
+ * docs: update changeset for twitter to x changes
83
+
84
+ * docs: update twitter references to x
85
+
86
+ * docs: update twitter references to x
87
+
88
+ * chore(docs): undo .sponsorsrc since it's generated
89
+
90
+ * refactor(docs): remove unnecessary classes
91
+
92
+ * chore(docs): undo .sponsorsrc since it's generated
93
+
94
+ ---------
95
+
96
+ Co-authored-by: WK Wong <[email protected]>\n- fix(date-picker): adding props from calendarProps to getCalendarProps (#3773)
97
+
98
+ * fix(date-picker): adding props from calendarProps to the getCalendarProps
99
+
100
+ * chore(date-picker): adding the changeset
101
+
102
+ * chore(changeset): add issue number
103
+
104
+ ---------
105
+
106
+ Co-authored-by: Maharshi Alpesh <[email protected]>
107
+ Co-authored-by: WK Wong <[email protected]>\n- feat(autocomplete): automatically focus first non-disabled item (#2186)
108
+
109
+ Co-authored-by: WK Wong <[email protected]>\n- docs(accordion): add overflow to custom motion example (#3793)\n- fix(docs): typos in dark mode page (#3823)\n- fix(theme): fullWidth in input and select (#3768)
110
+
111
+ * fix(input): fixing the fullWidth functionality
112
+
113
+ * chore(changeset): add issue number
114
+
115
+ * chore(changeset): revise changeset message
116
+
117
+ ---------
118
+
119
+ Co-authored-by: Maharshi Alpesh <[email protected]>
120
+ Co-authored-by: WK Wong <[email protected]>\n- fix(autocomplete): exit animation on popover close (#3845)
121
+
122
+ * fix(autocomplete): exit animation on popover close
123
+
124
+ * refactor(autocomplete): getListBoxProps
125
+
126
+ ---------
127
+
128
+ Co-authored-by: WK Wong <[email protected]>\n- chore: merge branch with main\n- refactor(theme): replace the use of RTL-specific styles with logical properties (#3868)
129
+
130
+ * chore(rtl): remove the usages of rtl
131
+
132
+ * chore(changeset): adding the changeset
133
+
134
+ * chore(changeset): update changeset message
135
+
136
+ ---------
137
+
138
+ Co-authored-by: WK Wong <[email protected]>\n- fix(select): label placement discrepancy in Select (#3853)
139
+
140
+ * fix(select): label placement incorrect in case of multiline
141
+
142
+ * chore(select): adding the changeset
143
+
144
+ * chore(select): adding the tests
145
+
146
+ * chore(select): code imrovement, wkw's suggestions
147
+
148
+ * chore(changeset): update changeset message
149
+
150
+ ---------
151
+
152
+ Co-authored-by: WK Wong <[email protected]>\n- fix(theme): label placement in select and input (#3869)
153
+
154
+ * fix(theme): fix the label placement
155
+
156
+ * chore(changeset): adding the changeset
157
+
158
+ * chore(select): adding comments\n- fix(docs): avoid translating the code block (#3878)
159
+
160
+ * docs(Codeblock): avoid code be translated
161
+
162
+ * fix(docs): lint issue
163
+
164
+ ---------
165
+
166
+ Co-authored-by: WK Wong <[email protected]>\n- fix(listbox): change listBoxItem key to optional (#3883)
167
+
168
+ * fix(listbox): listBoxItem key to optional
169
+
170
+ * chore: add defaultSelectedKeys test for numeric keys and ids
171
+
172
+ * chore: add changeset\n- chore: comment out section prompts in PR template (#3884)\n- chore(test): update testing libraries and refactor (#3886)\n- fix(theme): show margin only with label in Switch component (#3861)
173
+
174
+ * fix(switch): removed right margin in wrapper #3791
175
+
176
+ * feat(changeset): added changeset
177
+
178
+ * fix(switch): removed me-2 in wrapper
179
+
180
+ * fix(switch): added ms-2 to label
181
+
182
+ * chore(changeset): correct package and message
183
+
184
+ ---------
185
+
186
+ Co-authored-by: WK Wong <[email protected]>\n- fix(theme): removed pseudo cancel btn from input (#3912)
187
+
188
+ * fix(theme): removed pseudo cancel btn from input
189
+
190
+ * chore(changeset): adding the changeset
191
+
192
+ * fix(input): conditionally hiding the webkit search
193
+
194
+ * chore(changeset): revise changeset message
195
+
196
+ ---------
197
+
198
+ Co-authored-by: WK Wong <[email protected]>\n- refactor(docs): dx improvement in accordion (#3856)
199
+
200
+ * refactor: improve dx for writing a docs component (#2544)
201
+
202
+ * refactor: improve dx for write a docs component
203
+
204
+ Signed-off-by: Innei <[email protected]>
205
+
206
+ * refactor(docs): switch to contentlayer2
207
+
208
+ * chore(docs): rename to avoid conflict
209
+
210
+ * refactor(docs): switch to next-contentlayer2
211
+
212
+ * refactor(docs): revise docs lib
213
+
214
+ * chore(deps): bump docs related dependencies
215
+
216
+ * fix(use-aria-multiselect): type issue due to ts version bump
217
+
218
+ ---------
219
+
220
+ Signed-off-by: Innei <[email protected]>
221
+ Co-authored-by: WK Wong <[email protected]>
222
+
223
+ * refactor(docs): accordion codes
224
+
225
+ * feat(docs): declare module `*.jsx?raw`
226
+
227
+ * feat(docs): include `**/*.jsx`
228
+
229
+ * fix(docs): incorrect content
230
+
231
+ * chore(docs): add new lines
232
+
233
+ * refactor(docs): lint
234
+
235
+ ---------
236
+
237
+ Signed-off-by: Innei <[email protected]>
238
+ Co-authored-by: Innei <[email protected]>\n- fix(docs): typos in hero section (#3928)\n- fix(theme): support RTL for breadcrumbs (#3927)
239
+
240
+ * fix(breadcrumbs): added separator rotation for RTL #2486
241
+
242
+ * chore(changeset): added changeset\n- fix(docs): removed unused import and merged classNames in dropdown (#3936)
243
+
244
+ * fix(breadcrumbs): added separator rotation for RTL #2486
245
+
246
+ * chore(changeset): added changeset
247
+
248
+ * fix(docs): removed unused Link import and merged classnames in dropdown\n- fix: avatar filter disableAnimation to dom prop (#3946)\n- feat: add git hook to auto update dependencies (#3365)
249
+
250
+ * feat: add git hook to auto update dependencies
251
+
252
+ * feat: update color\n- fix: prevent test matcher warning (#3893)
253
+
254
+ * fix: prevent test matcher warning
255
+
256
+ * chore: add node types
257
+
258
+ * chore: update Jest related packages
259
+
260
+ * chore: run pnpm install\n- fix(tabs): correct inert value for true condition (#3978)\n- Alert component (#3982)
261
+
262
+ * feat(alert): began the work on alert component
263
+
264
+ * fix(readme): making correction
265
+
266
+ * chore(deps): change to 2.0.0
267
+
268
+ * chore(docs): update README.md
269
+
270
+ * feat(theme): init alert tv
271
+
272
+ * chore(alert): update package.json
273
+
274
+ * feat(alert): init alert storybook structure
275
+
276
+ * chore(changeset): add changeset
277
+
278
+ * chore(changeset): change to minor
279
+
280
+ * chore(alert): revise alert package.json
281
+
282
+ * feat(alert): init test structure
283
+
284
+ * chore(deps): pnpm-lock.yaml
285
+
286
+ * feat(alert): initailized theme and basic structure
287
+
288
+ * feat(alert): completed use-alert.ts and alert.tsx
289
+
290
+ * feat(alert): remove innerWrapper, replace helperWrapper with mainWrapper, adding isCloseable prop
291
+
292
+ * feat(alert): adding isCloseable prop to baseWrapper dependency
293
+
294
+ * feat(alert): setting the default value of isCloseable prop to true
295
+
296
+ * feat(alert): moving CloseIcon inside the button
297
+
298
+ * feat(alert): updated package.json
299
+
300
+ * feat(alert): default variant and default story
301
+
302
+ * feat(alert): adding color and radius stories
303
+
304
+ * feat(alert): completed the styling
305
+
306
+ * feat(alert): add stories for isCloseable prop and restyle other stories
307
+
308
+ * feat(alert): correcting ref type
309
+
310
+ * feat(alert): add test cases
311
+
312
+ * feat(alert): remove startContent and endContent props
313
+
314
+ * feat(alert): make styling more accurate
315
+
316
+ * feat(alert): fixed default props
317
+
318
+ * feat(alert): fixed theme docs
319
+
320
+ * feat(alert): add logic for icons
321
+
322
+ * feat(alert): begin to add docs
323
+
324
+ * chore(alert): implement the changes suggested in code review
325
+
326
+ * feat(alert): add onclose prop to alert
327
+
328
+ * feat(alert): add test cases
329
+
330
+ * docs(alert): add onClose event
331
+
332
+ * feat(docs): add alert to routes.json
333
+
334
+ * fix(alert): correct the text colors
335
+
336
+ * docs(alert): fix imports and syntax errors
337
+
338
+ * chore(alert): implement the changes suggested in code review
339
+
340
+ * chore(alert): lint the code and change isCloseable to isClosable
341
+
342
+ * chore(alert): lint the code
343
+
344
+ * chore(alert): run pnpm i
345
+
346
+ * fix(alert): fix the logic for close button and add test case
347
+
348
+ * docs(alert): fix docs, change isCloseable to isClosable and change docs for isClosable property
349
+
350
+ * chore(alert): add the support for RTL, refactor the code and fix the typos
351
+
352
+ * docs(alert): grammer issues fix
353
+
354
+ * fix(alert): replace rtl with ms
355
+
356
+ * chore(alert): custom style and custom implementation, remove isClosable={false}, refactor, fix typos
357
+
358
+ * chore(alert): linting and implement coderabbit suggestions
359
+
360
+ * chore(alert): refactor and typos fix
361
+
362
+ * chore(alert): add import for closeIcon
363
+
364
+ * chore(alert): add props for closeIcon
365
+
366
+ * chore(alert): refactor fixes
367
+
368
+ * chore(alert): implement ryo-manba's suggestion on close Icon
369
+
370
+ * chore(alert): make alert more responsive
371
+
372
+ * chore(alert): fix grammer issues suggested by coderabbit
373
+
374
+ * fix(alert): add max-w property to make alert responsive
375
+
376
+ * chore(alert): improve responsiveness and refactor alertIcon
377
+
378
+ * chore(alert): add missing dependency to useMemo
379
+
380
+ * chore(alert): implement coderabbit's suggestions
381
+
382
+ * chore(alert): update docs and refactor
383
+
384
+ * chore(alert): refactor alertIcon and implement coderabbit's suggestion
385
+
386
+ * chore: fixes
387
+
388
+ ---------
389
+
390
+ Co-authored-by: Abhinav Agarwal <[email protected]>
391
+ Co-authored-by: WK Wong <[email protected]>
392
+ Co-authored-by: Abhinav Agarwal <[email protected]>\n- Feat/add draggable modal (#3983)
393
+
394
+ * feat(hooks): add use-draggable hook
395
+
396
+ * feat(components): [modal] export use-draggable
397
+
398
+ * docs(components): [modal] add draggable modal
399
+
400
+ * feat(components): [modal] add ref prop for modal-header
401
+
402
+ * chore(components): [modal] add draggable modal for storybook
403
+
404
+ * chore: add changeset for draggable modal
405
+
406
+ * docs(hooks): [use-draggable] fix typo
407
+
408
+ * chore: upper changeset
409
+
410
+ * chore(components): [modal] add overflow draggable modal to sb
411
+
412
+ * test(components): [modal] add draggable modal tests
413
+
414
+ * build: update pnpm-lock
415
+
416
+ * chore(changeset): include issue number
417
+
418
+ * feat(hooks): [use-draggable] set user-select to none when during the dragging
419
+
420
+ * docs(components): [modal] update code demo title
421
+
422
+ * docs(components): [modal] condense description for draggable overflow
423
+
424
+ * feat(hooks): [use-draggable] change version to 0.1.0
425
+
426
+ * refactor(hooks): [use-draggable] use use-move implement use-draggable
427
+
428
+ * feat(hooks): [use-draggable] remove repeated user-select
429
+
430
+ * test(components): [modal] update test case to use-draggable base use-move
431
+
432
+ * docs(components): [modal] update draggable examples
433
+
434
+ * fix(hooks): [use-draggable] fix mobile device touchmove event conflict
435
+
436
+ * refactor(hooks): [use-draggable] remove drag ref prop
437
+
438
+ * refactor(hooks): [use-draggable] draggable2is-disabled overflow2can-overflow
439
+
440
+ * test(components): [modal] add draggble disable test
441
+
442
+ * chore(hooks): [use-draggable] add commant for body touchmove
443
+
444
+ * Update packages/hooks/use-draggable/src/index.ts
445
+
446
+ Co-authored-by: Ryo Matsukawa <[email protected]>
447
+
448
+ * fix(hooks): [use-draggable] import use-callback
449
+
450
+ * test(components): [modal] add mobile-sized test for draggable
451
+
452
+ * chore(hooks): [use-draggable] add use-callback for func
453
+
454
+ * chore(hooks): [use-draggable] update version to 2.0.0
455
+
456
+ * chore: fix typo
457
+
458
+ * Update .changeset/soft-apricots-sleep.md
459
+
460
+ * fix: pnpm lock
461
+
462
+ * fix: build
463
+
464
+ * chore: add updated moadl
465
+
466
+ ---------
467
+
468
+ Co-authored-by: wzc520pyfm <[email protected]>
469
+ Co-authored-by: Υ‘Ι¨ΥΌΙ’Σ„Υ‘Φ…ΥΌΙ’ <[email protected]>
470
+ Co-authored-by: Ryo Matsukawa <[email protected]>\n- chore: upgrade react-aria / React 19 & Next.js 15 support (#3732)
471
+
472
+ * chore: upgrade react-aria
473
+
474
+ * chore: add changeset
475
+
476
+ * chore: fix type error
477
+
478
+ ---------
479
+
480
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat(date-picker): add selectorButtonPlacement property (#3248)
481
+
482
+ * feat(date-picker): add selectorButtonPlacement property
483
+
484
+ * chore: update changeset
485
+
486
+ * Update .changeset/neat-donkeys-accept.md
487
+
488
+ Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
489
+
490
+ ---------
491
+
492
+ Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
493
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat: add tab ref (#3974)
494
+
495
+ * feat: add tab ref
496
+
497
+ * feat: add changeset\n- feat: pre-release workflow (#2910)
498
+
499
+ * feat(workflow): pre-release
500
+
501
+ * feat(workflow): exit pre-release
502
+
503
+ * chore(workflow): update version & publish commands
504
+
505
+ * fix(workflow): add missing attributes and use schangeset:beta cmd
506
+
507
+ * feat(root): add changeset:beta
508
+
509
+ * fix(workflows): revise pre-release logic
510
+
511
+ * fix(workflows): add missing run
512
+
513
+ * fix(workflows): use changeset:exit with version instead
514
+
515
+ * feat(root): add changeset:exit cmd
516
+
517
+ * refactor(workflows): add pths, id, and format
518
+
519
+ * feat(workflows): enter pre-release mode
520
+
521
+ * chore(workflows): remove pre.json only
522
+
523
+ * refactor(workflows): remove enter-pre-release-mode
524
+
525
+ * fix(workflows): incorrect url
526
+
527
+ * refactor(root): remove unused exit command
528
+
529
+ * refactor(workflows): add comments
530
+
531
+ * feat(changeset): change to main branch as baseBranch
532
+
533
+ * feat(root): add changeset:canary
534
+
535
+ * refactor(workflows): remove unused workflow
536
+
537
+ * feat(workflow): support canary pre-release mode
538
+
539
+ * refactor(docs): change to canary\n- feat(popover): added control for closing popover on scroll (#3595)
540
+
541
+ * fix(navbar): fixed the height when style h-full
542
+
543
+ * fix(navbar): fixed the height when style h-full
544
+
545
+ * docs(changeset): resolved extra file
546
+
547
+ * feat(popover): added control for closing popover on scroll
548
+
549
+ * update(changeset): correction
550
+
551
+ * feat(popover): removed extra story
552
+
553
+ * refactor(test): corrected test for both true and false values of shouldCloseOnScroll
554
+
555
+ * refactor(docs): added shouldCloseOnScroll prop
556
+
557
+ * chore(changeset): change to minor
558
+
559
+ ---------
560
+
561
+ Co-authored-by: Υ‘Σ„Υ‘ <[email protected]>\n- feat: add month and year pickers to DateRangePicker and RangeCalendar (#3302)
562
+
563
+ * feat: add month and year pickers to DateRangePicker and RangeCalendar
564
+
565
+ * chore: update docs
566
+
567
+ * Update .changeset/kind-cobras-travel.md
568
+
569
+ * chore: react package version
570
+
571
+ ---------
572
+
573
+ Co-authored-by: Junior Garcia <[email protected]>\n- chore(deps): bump tailwind-merge version (#3657)
574
+
575
+ * chore(deps): bump tailwind-merge versions
576
+
577
+ * chore(theme): adopt latest extendTailwindMerge
578
+
579
+ * chore(changeset): add changeset
580
+
581
+ * chore(changeset): change to minor
582
+
583
+ * Update .changeset/grumpy-mayflies-rhyme.md
584
+
585
+ ---------
586
+
587
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat: added drawer component (#3986)
588
+
589
+ Signed-off-by: The1111mp <[email protected]>
590
+ Co-authored-by: The1111mp <[email protected]>\n- refactor: optimisations (#3523)
591
+
592
+ * refactor: replace lodash with native approaches
593
+
594
+ * refactor(deps): update framer-motion versions
595
+
596
+ * feat(utilities): add @nextui-org/dom-animation
597
+
598
+ * refactor(components): load domAnimation dynamically
599
+
600
+ * refactor(deps): add @nextui-org/dom-animation
601
+
602
+ * fix(utilities): relocate index.ts
603
+
604
+ * feat(changeset): framer motion optimization
605
+
606
+ * chore(deps): bump framer-motion version
607
+
608
+ * fix(docs): conflict issue
609
+
610
+ * refactor(hooks): remove the unnecessary this aliasing
611
+
612
+ * refactor(utilities): remove the unnecessary this aliasing
613
+
614
+ * chore(docs): remove {} so that it won't be true all the time
615
+
616
+ * chore(dom-animation): end with new line
617
+
618
+ * refactor(hooks): use debounce from `@nextui-org/shared-utils`
619
+
620
+ * chore(deps): add `@nextui-org/shared-utils`
621
+
622
+ * refactor: move mapKeys logic to `@nextui-org/shared-utils`
623
+
624
+ * refactor: use `get` from `@nextui-org/shared-utils`
625
+
626
+ * refactor(docs): use `get` from `@nextui-org/shared-utils`
627
+
628
+ * refactor(shared-utils): mapKeys
629
+
630
+ * chore(deps): bump framer-motion version
631
+
632
+ * chore(deps): remove lodash
633
+
634
+ * refactor(docs): use intersectionBy from shared-utils
635
+
636
+ * feat(shared-utils): add intersectionBy
637
+
638
+ * chore(dom-animation): remove extra blank line
639
+
640
+ * refactor(shared-utils): revise intersectionBy
641
+
642
+ * fix(modal): add willChange
643
+
644
+ * refactor(shared-utils): add comments
645
+
646
+ * fix: build & tests
647
+
648
+ ---------
649
+
650
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat(hooks): use-theme hook (#3169)
651
+
652
+ * feat(docs): update dark mode content
653
+
654
+ * feat(hooks): @nextui-org/use-theme
655
+
656
+ * chore(docs): revise ThemeSwitcher code
657
+
658
+ * refactor(hooks): simplify useTheme and support custom theme names
659
+
660
+ * feat(hooks): add use-theme test cases
661
+
662
+ * feat(changeset): add changeset
663
+
664
+ * refactor(hooks): make localStorageMock globally and clear before each test
665
+
666
+ * fix(docs): typo
667
+
668
+ * fix(hooks): coderabbitai comments
669
+
670
+ * chore(hooks): remove unnecessary +
671
+
672
+ * chore(changeset): change to minor
673
+
674
+ * feat(hooks): handle system theme
675
+
676
+ * chore(hooks): add EOL
677
+
678
+ * refactor(hooks): add default theme
679
+
680
+ * refactor(hooks): revise useTheme
681
+
682
+ * refactor(hooks): resolve pr comments
683
+
684
+ * refactor(hooks): resolve pr comments
685
+
686
+ * refactor(hooks): resolve pr comments
687
+
688
+ * refactor(hooks): remove unused theme in dependency array
689
+
690
+ * chore(docs): typos
691
+
692
+ * refactor(hooks): mark system as key for system theme
693
+
694
+ * chore: merged with canary
695
+
696
+ ---------
697
+
698
+ Co-authored-by: Junior Garcia <[email protected]>\n- Fix/avatar flashing (#3987)
699
+
700
+ * fix(use-image): cached image flashing
701
+
702
+ * chore: merged with canary
703
+
704
+ ---------
705
+
706
+ Co-authored-by: Rakha Kanz Kautsar <[email protected]>\n- refactor(menu): Use `useMenu` and `useMenuItem` from RA (#3261)
707
+
708
+ * refactor(menu): use useMenu from react-aria instead
709
+
710
+ * refactor(menu): use useMenuItem from react-aria instead
711
+
712
+ * feat(changeset): add changeset
713
+
714
+ * chore: merged with canary
715
+
716
+ * fix: dropdown tests
717
+
718
+ ---------
719
+
720
+ Co-authored-by: Junior Garcia <[email protected]>\n- fix(theme): added stripe color gradients for progress (#3938)
721
+
722
+ * fix(breadcrumbs): added separator rotation for RTL #2486
723
+
724
+ * chore(changeset): added changeset
725
+
726
+ * fix(docs): removed unused Link import and merged classnames in dropdown
727
+
728
+ * fix(theme):added stripe color gradients for progress #1933
729
+
730
+ * refactor(theme): added stripe-size and createStripeGradient\n- chore: add all minor releases\n- fix(docs): invalid canary storybook link (#4030)\n- fix(use-image): image ReferenceError in SSR (#4122)
731
+
732
+ * fix(use-image): image ReferenceError in SSR
733
+
734
+ * fix(use-image): sync with beta
735
+
736
+ * fix(use-image): sync with beta
737
+
738
+ * chore(use-image): remove unnecessary comments\n- fix(docs): buildLocation expects an object (#4118)
739
+
740
+ * fix(docs): routing.mdx
741
+
742
+ * Delete .changeset/pre.json\n- chore: merged with main\n- chore(docs): update yarn installation command (#4132)
743
+
744
+ There is no `-g` flag in yarn. `global` is a command which must immediately follow yarn.
745
+
746
+ Source: https://classic.yarnpkg.com/lang/en/docs/cli/global/\n
747
+
748
+ Labels:
749
+
750
+
751
+ Comments:
752
+ - vercel: [vc]: #X0oj3m1JovZraWZ0QObcwQ1f86DKSlBbE95zlFQvAdA=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LWNhbmFyeS1uZXh0dWktb3JnLnZlcmNlbC5hcHAifSwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLWRvY3MtdjIvSGhkZ0F3M3hYa2tjTkJqSFlRVGVvOUVDZGlFNyIsInByZXZpZXdVcmwiOiJuZXh0dWktZG9jcy12Mi1naXQtY2FuYXJ5LW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCJ9LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi9EMzhpbmdoakQ0QXBKaERuZWZzVldCdWE1VHV1IiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWNhbmFyeS1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiUEVORElORyIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1jYW5hcnktbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
753
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
754
+
755
+ | Name | Status | Preview | Comments | Updated (UTC) |
756
+ | :--- | :----- | :------ | :------- | :------ |
757
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/HhdgAw3xXkkcNBjHYQTeo9ECdiE7)) | [Visit Preview](https://nextui-docs-v2-git-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 10:21pm |
758
+ | **nextui-storybook-v2** | πŸ”„ Building ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/D38inghjD4ApJhDnefsVWBua5Tuu)) | [Visit Preview](https://nextui-storybook-v2-git-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 10:21pm |
759
+
760
+
761
+ \n- changeset-bot: ### ⚠️ No Changeset found
762
+
763
+ Latest commit: ac94e47e6731568b7d5a59a09b8d0d1f87f6202e
764
+
765
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
766
+
767
+ <details><summary>This PR includes no changesets</summary>
768
+
769
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
770
+
771
+ </details>
772
+
773
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
774
+
775
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/canary?filename=.changeset/old-boxes-lick.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A%22%40nextui-org%2Faccordion%22%3A%20patch%0A%22%40nextui-org%2Falert%22%3A%20patch%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Favatar%22%3A%20patch%0A%22%40nextui-org%2Fbadge%22%3A%20patch%0A%22%40nextui-org%2Fbreadcrumbs%22%3A%20patch%0A%22%40nextui-org%2Fbutton%22%3A%20patch%0A%22%40nextui-org%2Fcalendar%22%3A%20patch%0A%22%40nextui-org%2Fcard%22%3A%20patch%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fchip%22%3A%20patch%0A%22%40nextui-org%2Fcode%22%3A%20patch%0A---%0A%0Av2.6.0%20fixes%0A)
776
+
777
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
778
+ <!-- This is an auto-generated comment: rate limited by coderabbit.ai -->
779
+
780
+ > [!WARNING]
781
+ > ## Rate limit exceeded
782
+ >
783
+ > @jrgarciadev has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait **9 minutes and 11 seconds** before requesting another review.
784
+ >
785
+ > <details>
786
+ > <summary>βŒ› How to resolve this issue?</summary>
787
+ >
788
+ > After the wait time has elapsed, a review can be triggered using the `@coderabbitai review` command as a PR comment. Alternatively, push new commits to this PR.
789
+ >
790
+ > We recommend that you space out your commits to avoid hitting the rate limit.
791
+ >
792
+ > </details>
793
+ >
794
+ >
795
+ > <details>
796
+ > <summary>🚦 How do rate limits work?</summary>
797
+ >
798
+ > CodeRabbit enforces hourly rate limits for each developer per organization.
799
+ >
800
+ > Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.
801
+ >
802
+ > Please see our [FAQ](https://docs.coderabbit.ai/faq) for further information.
803
+ >
804
+ > </details>
805
+ >
806
+ > <details>
807
+ > <summary>πŸ“₯ Commits</summary>
808
+ >
809
+ > Reviewing files that changed from the base of the PR and between 914df9b3ade625f1f66c7476022284ac9e6afcd1 and ac94e47e6731568b7d5a59a09b8d0d1f87f6202e.
810
+ >
811
+ > </details>
812
+
813
+ <!-- end of auto-generated comment: rate limited by coderabbit.ai -->
814
+
815
+ <!-- tips_start -->
816
+
817
+ ---
818
+
819
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
820
+
821
+ <details>
822
+ <summary>❀️ Share</summary>
823
+
824
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
825
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
826
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
827
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
828
+
829
+ </details>
830
+
831
+ <details>
832
+ <summary>πŸͺ§ Tips</summary>
833
+
834
+ ### Chat
835
+
836
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
837
+
838
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
839
+ - `I pushed a fix in commit <commit_id>, please review it.`
840
+ - `Generate unit testing code for this file.`
841
+ - `Open a follow-up GitHub issue for this discussion.`
842
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
843
+ - `@coderabbitai generate unit testing code for this file.`
844
+ - `@coderabbitai modularize this function.`
845
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
846
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
847
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
848
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
849
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
850
+
851
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
852
+
853
+ ### CodeRabbit Commands (Invoked using PR comments)
854
+
855
+ - `@coderabbitai pause` to pause the reviews on a PR.
856
+ - `@coderabbitai resume` to resume the paused reviews.
857
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
858
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
859
+ - `@coderabbitai summary` to regenerate the summary of the PR.
860
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
861
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
862
+ - `@coderabbitai help` to get help.
863
+
864
+ ### Other keywords and placeholders
865
+
866
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
867
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
868
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
869
+
870
+ ### Documentation and Community
871
+
872
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
873
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
874
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
875
+
876
+ </details>
877
+
878
+ <!-- tips_end -->\n
879
+
880
+ Files Changed:
881
+ - apps/docs/content/blog/v2.6.0.mdx (modified, 34 changes)\n Patch: @@ -46,9 +46,22 @@ NextUI version **v2.6.0** comes with 4 new components **Form**, **Drawer**, **In
882
+
883
+ <Spacer y={4} />
884
+
885
+ -Upgrade today by running one of the following commands:
886
+ +**Upgrade today by using one of the following methods**:
887
+
888
+ -<Spacer y={4} />
889
+ +1. Upgrading NextUI using the `cli`
890
+ +
891
+ +- First, upgrade Framer Motion to at least v11.9.0:
892
+ +
893
+ +<PackageManagers
894
+ + commands={{
895
+ + npm: "npm install framer-motion@latest",
896
+ + yarn: "yarn add framer-motion@latest",
897
+ + pnpm: "pnpm add framer-motion@latest",
898
+ + bun: "bun add framer-motion@latest",
899
+ + }}
900
+ +/>
901
+ +
902
+ +- Then, upgrade NextUI:
903
+
904
+ <PackageManagers
905
+ commands={{
906
+ @@ -57,6 +70,19 @@ Upgrade today by running one of the following commands:
907
+ }}
908
+ />
909
+
910
+ +2. Upgrading NextUI using the `pnpm`
911
+ +
912
+ +<Spacer y={4} />
913
+ +
914
+ +<PackageManagers
915
+ + commands={{
916
+ + npm: "npm install @nextui-org/react@latest framer-motion@latest",
917
+ + pnpm: "pnpm add @nextui-org/react@latest framer-motion@latest",
918
+ + yarn: "yarn add @nextui-org/react@latest framer-motion@latest",
919
+ + bun: "bun add @nextui-org/react@latest framer-motion@latest",
920
+ + }}
921
+ +/>
922
+ +
923
+ <Spacer y={4} />
924
+
925
+ ## Form Component
926
+ @@ -551,6 +577,9 @@ See the [Routing documentation](/docs/guides/routing) for more details.
927
+ - `useHref` (added) - Converts a router-specific href to a native href for use on DOM elements. For example, if your router accepts relative paths or custom link formats, useHref will generate the full native href based on the RouterProvider's configuration.
928
+ - `navigate` (modified) - `((path: Href, routerOptions?: RouterOptions) => void) | undefined` - we added the router options
929
+ - `reduceMotion` (added) - Controls the motion preferences for the entire application, allowing developers to respect user settings for reduced motion. The available options are:
930
+ + - `"always"` - Always disable motion
931
+ + - `"never"` - Always enable motion
932
+ + - `"user"` - Respect user system preferences for motion
933
+
934
+ ### DatePicker
935
+
936
+ @@ -610,7 +639,6 @@ We try to keep the breaking changes to a minimum, but sometimes it's necessary t
937
+
938
+ The nested group selectors for table themes have been updated to require explicit element selectors. You'll need to add `/tr` or `/th` to custom styles for group-data.
939
+
940
+ -
941
+ ```diff-tsx
942
+ // Before
943
+ - group-data-[disabled=true]:text-foreground-300;\n- apps/docs/content/docs/frameworks/astro.mdx (modified, 2 changes)\n Patch: @@ -9,7 +9,7 @@ Requirements:
944
+
945
+ - [React 18](https://reactjs.org/) or later
946
+ - [Tailwind CSS 3.4](https://tailwindcss.com/docs/guides/astro) or later
947
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
948
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
949
+
950
+ ------
951
+ \n- apps/docs/content/docs/frameworks/nextjs.mdx (modified, 2 changes)\n Patch: @@ -11,7 +11,7 @@ Requirements:
952
+ - [Next.js 12](https://nextjs.org/) or later
953
+ - [React 18](https://reactjs.org/) or later
954
+ - [Tailwind CSS 3.4](https://tailwindcss.com/docs/guides/nextjs) or later
955
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
956
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
957
+
958
+ ------
959
+ \n- apps/docs/content/docs/frameworks/remix.mdx (modified, 2 changes)\n Patch: @@ -9,7 +9,7 @@ Requirements:
960
+
961
+ - [React 18](https://reactjs.org/) or later
962
+ - [Tailwind CSS 3.4](https://tailwindcss.com/docs/guides/remix) or later
963
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
964
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
965
+
966
+ ------
967
+ \n- apps/docs/content/docs/frameworks/vite.mdx (modified, 2 changes)\n Patch: @@ -10,7 +10,7 @@ Requirements:
968
+ - [Vite 2](https://vitejs.dev/) or later
969
+ - [React 18](https://reactjs.org/) or later
970
+ - [Tailwind CSS 3.4](https://tailwindcss.com/docs/guides/vite#react) or later
971
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
972
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
973
+
974
+ ------
975
+ \n- apps/docs/content/docs/guide/installation.mdx (modified, 2 changes)\n Patch: @@ -9,7 +9,7 @@ Requirements:
976
+
977
+ - [React 18](https://reactjs.org/) or later
978
+ - [Tailwind CSS 3.4](https://tailwindcss.com/) or later
979
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
980
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
981
+
982
+ ---
983
+ \n- apps/docs/content/docs/guide/upgrade-to-v2.mdx (modified, 2 changes)\n Patch: @@ -10,7 +10,7 @@ Requirements:
984
+
985
+ - [React 18](https://reactjs.org/) or later
986
+ - [Tailwind CSS 3.4](https://tailwindcss.com/) or later
987
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
988
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
989
+
990
+ -----
991
+ \n- packages/components/accordion/CHANGELOG.md (modified, 11 changes)\n Patch: @@ -1,5 +1,16 @@
992
+ # @nextui-org/accordion
993
+
994
+ +## 2.2.2
995
+ +
996
+ +### Patch Changes
997
+ +
998
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
999
+ +
1000
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1001
+ + - @nextui-org/[email protected]
1002
+ + - @nextui-org/[email protected]
1003
+ + - @nextui-org/[email protected]
1004
+ +
1005
+ ## 2.2.1
1006
+
1007
+ ### Patch Changes\n- packages/components/accordion/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1008
+ {
1009
+ "name": "@nextui-org/accordion",
1010
+ - "version": "2.2.1",
1011
+ + "version": "2.2.2",
1012
+ "description": "Collapse display a list of high-level options that can expand/collapse to reveal more information.",
1013
+ "keywords": [
1014
+ "react",
1015
+ @@ -43,8 +43,8 @@
1016
+ "react": ">=18 || >=19.0.0-rc.0",
1017
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1018
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1019
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1020
+ - "@nextui-org/system": ">=2.3.0-beta.0"
1021
+ + "@nextui-org/theme": ">=2.3.0",
1022
+ + "@nextui-org/system": ">=2.3.0"
1023
+ },
1024
+ "dependencies": {
1025
+ "@nextui-org/aria-utils": "workspace:*",\n- packages/components/alert/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1026
+ # @nextui-org/alert
1027
+
1028
+ +## 2.2.2
1029
+ +
1030
+ +### Patch Changes
1031
+ +
1032
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1033
+ +
1034
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1035
+ + - @nextui-org/[email protected]
1036
+ +
1037
+ ## 2.2.1
1038
+
1039
+ ### Patch Changes\n- packages/components/alert/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1040
+ {
1041
+ "name": "@nextui-org/alert",
1042
+ - "version": "2.2.1",
1043
+ + "version": "2.2.2",
1044
+ "description": "Alerts are temporary notifications that provide concise feedback about an action or event.",
1045
+ "keywords": [
1046
+ "alert"
1047
+ @@ -40,8 +40,8 @@
1048
+ "peerDependencies": {
1049
+ "react": ">=18 || >=19.0.0-rc.0",
1050
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1051
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1052
+ - "@nextui-org/system": ">=2.3.0-beta.0"
1053
+ + "@nextui-org/theme": ">=2.3.0",
1054
+ + "@nextui-org/system": ">=2.3.0"
1055
+ },
1056
+ "dependencies": {
1057
+ "@nextui-org/react-utils": "workspace:*",\n- packages/components/autocomplete/CHANGELOG.md (modified, 16 changes)\n Patch: @@ -1,5 +1,21 @@
1058
+ # @nextui-org/autocomplete
1059
+
1060
+ +## 2.3.2
1061
+ +
1062
+ +### Patch Changes
1063
+ +
1064
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1065
+ +
1066
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1067
+ + - @nextui-org/[email protected]
1068
+ + - @nextui-org/[email protected]
1069
+ + - @nextui-org/[email protected]
1070
+ + - @nextui-org/[email protected]
1071
+ + - @nextui-org/[email protected]
1072
+ + - @nextui-org/[email protected]
1073
+ + - @nextui-org/[email protected]
1074
+ + - @nextui-org/[email protected]
1075
+ +
1076
+ ## 2.3.1
1077
+
1078
+ ### Patch Changes\n- packages/components/autocomplete/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1079
+ {
1080
+ "name": "@nextui-org/autocomplete",
1081
+ - "version": "2.3.1",
1082
+ + "version": "2.3.2",
1083
+ "description": "An autocomplete combines a text input with a listbox, allowing users to filter a list of options to items matching a query.",
1084
+ "keywords": [
1085
+ "autocomplete"
1086
+ @@ -34,8 +34,8 @@
1087
+ "postpack": "clean-package restore"
1088
+ },
1089
+ "peerDependencies": {
1090
+ - "@nextui-org/system": ">=2.3.0-beta.0",
1091
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1092
+ + "@nextui-org/system": ">=2.3.0",
1093
+ + "@nextui-org/theme": ">=2.3.0",
1094
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1095
+ "react": ">=18 || >=19.0.0-rc.0",
1096
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/avatar/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
1097
+ # @nextui-org/avatar
1098
+
1099
+ +## 2.2.2
1100
+ +
1101
+ +### Patch Changes
1102
+ +
1103
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1104
+ +
1105
+ ## 2.2.1
1106
+
1107
+ ### Patch Changes\n- packages/components/avatar/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1108
+ {
1109
+ "name": "@nextui-org/avatar",
1110
+ - "version": "2.2.1",
1111
+ + "version": "2.2.2",
1112
+ "description": "The Avatar component is used to represent a user, and displays the profile picture, initials or fallback icon.",
1113
+ "keywords": [
1114
+ "avatar"
1115
+ @@ -36,8 +36,8 @@
1116
+ "peerDependencies": {
1117
+ "react": ">=18 || >=19.0.0-rc.0",
1118
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1119
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1120
+ - "@nextui-org/system": ">=2.3.0-beta.0"
1121
+ + "@nextui-org/theme": ">=2.3.0",
1122
+ + "@nextui-org/system": ">=2.3.0"
1123
+ },
1124
+ "dependencies": {
1125
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/badge/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
1126
+ # @nextui-org/badge
1127
+
1128
+ +## 2.2.2
1129
+ +
1130
+ +### Patch Changes
1131
+ +
1132
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1133
+ +
1134
+ ## 2.2.1
1135
+
1136
+ ### Patch Changes\n- packages/components/badge/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1137
+ {
1138
+ "name": "@nextui-org/badge",
1139
+ - "version": "2.2.1",
1140
+ + "version": "2.2.2",
1141
+ "description": "Badges are used as a small numerical value or status descriptor for UI elements.",
1142
+ "keywords": [
1143
+ "badge"
1144
+ @@ -36,8 +36,8 @@
1145
+ "peerDependencies": {
1146
+ "react": ">=18 || >=19.0.0-rc.0",
1147
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1148
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1149
+ - "@nextui-org/system": ">=2.3.0-beta.0"
1150
+ + "@nextui-org/theme": ">=2.3.0",
1151
+ + "@nextui-org/system": ">=2.3.0"
1152
+ },
1153
+ "dependencies": {
1154
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/breadcrumbs/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
1155
+ # @nextui-org/breadcrumbs
1156
+
1157
+ +## 2.2.2
1158
+ +
1159
+ +### Patch Changes
1160
+ +
1161
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1162
+ +
1163
+ ## 2.2.1
1164
+
1165
+ ### Patch Changes\n- packages/components/breadcrumbs/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1166
+ {
1167
+ "name": "@nextui-org/breadcrumbs",
1168
+ - "version": "2.2.1",
1169
+ + "version": "2.2.2",
1170
+ "description": "Breadcrumbs display a hierarchy of links to the current page or resource in an application.",
1171
+ "keywords": [
1172
+ "breadcrumbs"
1173
+ @@ -36,8 +36,8 @@
1174
+ "peerDependencies": {
1175
+ "react": ">=18 || >=19.0.0-rc.0",
1176
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1177
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1178
+ - "@nextui-org/system": ">=2.3.0-beta.0"
1179
+ + "@nextui-org/theme": ">=2.3.0",
1180
+ + "@nextui-org/system": ">=2.3.0"
1181
+ },
1182
+ "dependencies": {
1183
+ "@nextui-org/react-utils": "workspace:*",\n- packages/components/button/CHANGELOG.md (modified, 10 changes)\n Patch: @@ -1,5 +1,15 @@
1184
+ # @nextui-org/button
1185
+
1186
+ +## 2.2.2
1187
+ +
1188
+ +### Patch Changes
1189
+ +
1190
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1191
+ +
1192
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1193
+ + - @nextui-org/[email protected]
1194
+ + - @nextui-org/[email protected]
1195
+ +
1196
+ ## 2.2.1
1197
+
1198
+ ### Patch Changes\n- packages/components/button/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1199
+ {
1200
+ "name": "@nextui-org/button",
1201
+ - "version": "2.2.1",
1202
+ + "version": "2.2.2",
1203
+ "description": "Buttons allow users to perform actions and choose with a single tap.",
1204
+ "keywords": [
1205
+ "button"
1206
+ @@ -37,8 +37,8 @@
1207
+ "react": ">=18 || >=19.0.0-rc.0",
1208
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1209
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1210
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1211
+ - "@nextui-org/system": ">=2.3.0-beta.0"
1212
+ + "@nextui-org/theme": ">=2.3.0",
1213
+ + "@nextui-org/system": ">=2.3.0"
1214
+ },
1215
+ "dependencies": {
1216
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/calendar/CHANGELOG.md (modified, 10 changes)\n Patch: @@ -1,5 +1,15 @@
1217
+ # @nextui-org/calendar
1218
+
1219
+ +## 2.2.2
1220
+ +
1221
+ +### Patch Changes
1222
+ +
1223
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1224
+ +
1225
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1226
+ + - @nextui-org/[email protected]
1227
+ + - @nextui-org/[email protected]
1228
+ +
1229
+ ## 2.2.1
1230
+
1231
+ ### Patch Changes\n- packages/components/calendar/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1232
+ {
1233
+ "name": "@nextui-org/calendar",
1234
+ - "version": "2.2.1",
1235
+ + "version": "2.2.2",
1236
+ "description": "A calendar displays one or more date grids and allows users to select a single date.",
1237
+ "keywords": [
1238
+ "calendar"
1239
+ @@ -34,8 +34,8 @@
1240
+ "postpack": "clean-package restore"
1241
+ },
1242
+ "peerDependencies": {
1243
+ - "@nextui-org/system": ">=2.3.0-beta.0",
1244
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1245
+ + "@nextui-org/system": ">=2.3.0",
1246
+ + "@nextui-org/theme": ">=2.3.0",
1247
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1248
+ "react": ">=18 || >=19.0.0-rc.0",
1249
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/card/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1250
+ # @nextui-org/card
1251
+
1252
+ +## 2.2.2
1253
+ +
1254
+ +### Patch Changes
1255
+ +
1256
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1257
+ +
1258
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1259
+ + - @nextui-org/[email protected]
1260
+ +
1261
+ ## 2.2.1
1262
+
1263
+ ### Patch Changes\n- packages/components/card/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1264
+ {
1265
+ "name": "@nextui-org/card",
1266
+ - "version": "2.2.1",
1267
+ + "version": "2.2.2",
1268
+ "description": "Card is a container for text, photos, and actions in the context of a single subject.",
1269
+ "keywords": [
1270
+ "card"
1271
+ @@ -37,8 +37,8 @@
1272
+ "react": ">=18 || >=19.0.0-rc.0",
1273
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1274
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1275
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1276
+ - "@nextui-org/system": ">=2.3.0-beta.0"
1277
+ + "@nextui-org/theme": ">=2.3.0",
1278
+ + "@nextui-org/system": ">=2.3.0"
1279
+ },
1280
+ "dependencies": {
1281
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/checkbox/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1282
+ # @nextui-org/checkbox
1283
+
1284
+ +## 2.3.2
1285
+ +
1286
+ +### Patch Changes
1287
+ +
1288
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1289
+ +
1290
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1291
+ + - @nextui-org/[email protected]
1292
+ +
1293
+ ## 2.3.1
1294
+
1295
+ ### Patch Changes\n- packages/components/checkbox/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1296
+ {
1297
+ "name": "@nextui-org/checkbox",
1298
+ - "version": "2.3.1",
1299
+ + "version": "2.3.2",
1300
+ "description": "Checkboxes allow users to select multiple items from a list of individual items, or to mark one individual item as selected.",
1301
+ "keywords": [
1302
+ "checkbox"
1303
+ @@ -34,8 +34,8 @@
1304
+ "postpack": "clean-package restore"
1305
+ },
1306
+ "peerDependencies": {
1307
+ - "@nextui-org/system": ">=2.3.0-beta.0",
1308
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1309
+ + "@nextui-org/system": ">=2.3.0",
1310
+ + "@nextui-org/theme": ">=2.3.0",
1311
+ "react": ">=18 || >=19.0.0-rc.0",
1312
+ "react-dom": ">=18 || >=19.0.0-rc.0"
1313
+ },\n- packages/components/chip/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
1314
+ # @nextui-org/chip
1315
+
1316
+ +## 2.2.2
1317
+ +
1318
+ +### Patch Changes
1319
+ +
1320
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1321
+ +
1322
+ ## 2.2.1
1323
+
1324
+ ### Patch Changes\n- packages/components/chip/package.json (modified, 6 changes)\n Patch: @@ -1,6 +1,6 @@
1325
+ {
1326
+ "name": "@nextui-org/chip",
1327
+ - "version": "2.2.1",
1328
+ + "version": "2.2.2",
1329
+ "description": "Chips help people enter information, make selections, filter content, or trigger actions.",
1330
+ "keywords": [
1331
+ "chip"
1332
+ @@ -36,8 +36,8 @@
1333
+ "peerDependencies": {
1334
+ "react": ">=18 || >=19.0.0-rc.0",
1335
+ "react-dom": ">=18 || >=19.0.0-rc.0",
1336
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
1337
+ - "@nextui-org/system": ">=2.3.0-beta.0"
1338
+ + "@nextui-org/theme": ">=2.3.0",
1339
+ + "@nextui-org/system": ">=2.3.0"
1340
+ },
1341
+ "dependencies": {
1342
+ "@nextui-org/shared-icons": "workspace:*",\n- packages/components/code/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1343
+ # @nextui-org/code
1344
+
1345
+ +## 2.2.2
1346
+ +
1347
+ +### Patch Changes
1348
+ +
1349
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1350
+ +
1351
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1352
+ + - @nextui-org/[email protected]
1353
+ +
1354
+ ## 2.2.1
1355
+
1356
+ ### Patch Changes\n
processed_docs/pr_data_0_doc_24.txt ADDED
@@ -0,0 +1,1068 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4248
2
+ Title: ci(changesets): :package: version packages
3
+ Base Branch: canary
4
+ Head Branch: changeset-release/canary
5
+ Author: github-actions
6
+ URL: https://github.com/nextui-org/nextui/pull/4248
7
+ State: MERGED
8
+ Created At: 2024-12-06T22:09:23Z
9
+ Merged At: 2024-12-06T22:11:51Z
10
+ Participants: jrgarciadev
11
+
12
+ Description:
13
+ This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to canary, this PR will be updated.
14
+ Releases
15
+ @nextui-org/[email protected]
16
+ Patch Changes
17
+
18
+
19
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
20
+
21
+
22
+ Updated dependencies [551ab18]:
23
+
24
+ @nextui-org/[email protected]
25
+ @nextui-org/[email protected]
26
+ @nextui-org/[email protected]
27
+
28
+
29
+
30
+ @nextui-org/[email protected]
31
+ Patch Changes
32
+
33
+
34
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
35
+
36
+
37
+ Updated dependencies [551ab18]:
38
+
39
+ @nextui-org/[email protected]
40
+
41
+
42
+
43
+ @nextui-org/[email protected]
44
+ Patch Changes
45
+
46
+
47
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
48
+
49
+
50
+ Updated dependencies [551ab18]:
51
+
52
+ @nextui-org/[email protected]
53
+ @nextui-org/[email protected]
54
+ @nextui-org/[email protected]
55
+ @nextui-org/[email protected]
56
+ @nextui-org/[email protected]
57
+ @nextui-org/[email protected]
58
+ @nextui-org/[email protected]
59
+ @nextui-org/[email protected]
60
+
61
+
62
+
63
+ @nextui-org/[email protected]
64
+ Patch Changes
65
+
66
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
67
+
68
+ @nextui-org/[email protected]
69
+ Patch Changes
70
+
71
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
72
+
73
+ @nextui-org/[email protected]
74
+ Patch Changes
75
+
76
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
77
+
78
+ @nextui-org/[email protected]
79
+ Patch Changes
80
+
81
+
82
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
83
+
84
+
85
+ Updated dependencies [551ab18]:
86
+
87
+ @nextui-org/[email protected]
88
+ @nextui-org/[email protected]
89
+
90
+
91
+
92
+ @nextui-org/[email protected]
93
+ Patch Changes
94
+
95
+
96
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
97
+
98
+
99
+ Updated dependencies [551ab18]:
100
+
101
+ @nextui-org/[email protected]
102
+ @nextui-org/[email protected]
103
+
104
+
105
+
106
+ @nextui-org/[email protected]
107
+ Patch Changes
108
+
109
+
110
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
111
+
112
+
113
+ Updated dependencies [551ab18]:
114
+
115
+ @nextui-org/[email protected]
116
+
117
+
118
+
119
+ @nextui-org/[email protected]
120
+ Patch Changes
121
+
122
+
123
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
124
+
125
+
126
+ Updated dependencies [551ab18]:
127
+
128
+ @nextui-org/[email protected]
129
+
130
+
131
+
132
+ @nextui-org/[email protected]
133
+ Patch Changes
134
+
135
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
136
+
137
+ @nextui-org/[email protected]
138
+ Patch Changes
139
+
140
+
141
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
142
+
143
+
144
+ Updated dependencies [551ab18]:
145
+
146
+ @nextui-org/[email protected]
147
+
148
+
149
+
150
+ @nextui-org/[email protected]
151
+ Patch Changes
152
+
153
+
154
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
155
+
156
+
157
+ Updated dependencies [551ab18]:
158
+
159
+ @nextui-org/[email protected]
160
+
161
+
162
+
163
+ @nextui-org/[email protected]
164
+ Patch Changes
165
+
166
+
167
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
168
+
169
+
170
+ Updated dependencies [551ab18]:
171
+
172
+ @nextui-org/[email protected]
173
+ @nextui-org/[email protected]
174
+ @nextui-org/[email protected]
175
+ @nextui-org/[email protected]
176
+ @nextui-org/[email protected]
177
+ @nextui-org/[email protected]
178
+
179
+
180
+
181
+ @nextui-org/[email protected]
182
+ Patch Changes
183
+
184
+
185
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
186
+
187
+
188
+ Updated dependencies [551ab18]:
189
+
190
+ @nextui-org/[email protected]
191
+
192
+
193
+
194
+ @nextui-org/[email protected]
195
+ Patch Changes
196
+
197
+
198
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
199
+
200
+
201
+ Updated dependencies [551ab18]:
202
+
203
+ @nextui-org/[email protected]
204
+ @nextui-org/[email protected]
205
+
206
+
207
+
208
+ @nextui-org/[email protected]
209
+ Patch Changes
210
+
211
+
212
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
213
+
214
+
215
+ Updated dependencies [551ab18]:
216
+
217
+ @nextui-org/[email protected]
218
+ @nextui-org/[email protected]
219
+ @nextui-org/[email protected]
220
+
221
+
222
+
223
+ @nextui-org/[email protected]
224
+ Patch Changes
225
+
226
+
227
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
228
+
229
+
230
+ Updated dependencies []:
231
+
232
+ @nextui-org/[email protected]
233
+
234
+
235
+
236
+ @nextui-org/[email protected]
237
+ Patch Changes
238
+
239
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
240
+
241
+ @nextui-org/[email protected]
242
+ Patch Changes
243
+
244
+
245
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
246
+
247
+
248
+ Updated dependencies [551ab18]:
249
+
250
+ @nextui-org/[email protected]
251
+
252
+
253
+
254
+ @nextui-org/[email protected]
255
+ Patch Changes
256
+
257
+
258
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
259
+
260
+
261
+ Updated dependencies [551ab18]:
262
+
263
+ @nextui-org/[email protected]
264
+
265
+
266
+
267
+ @nextui-org/[email protected]
268
+ Patch Changes
269
+
270
+
271
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
272
+
273
+
274
+ Updated dependencies [551ab18]:
275
+
276
+ @nextui-org/[email protected]
277
+
278
+
279
+
280
+ @nextui-org/[email protected]
281
+ Patch Changes
282
+
283
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
284
+
285
+ @nextui-org/[email protected]
286
+ Patch Changes
287
+
288
+
289
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
290
+
291
+
292
+ Updated dependencies [551ab18]:
293
+
294
+ @nextui-org/[email protected]
295
+ @nextui-org/[email protected]
296
+
297
+
298
+
299
+ @nextui-org/[email protected]
300
+ Patch Changes
301
+
302
+
303
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
304
+
305
+
306
+ Updated dependencies [551ab18]:
307
+
308
+ @nextui-org/[email protected]
309
+ @nextui-org/[email protected]
310
+
311
+
312
+
313
+ @nextui-org/[email protected]
314
+ Patch Changes
315
+
316
+
317
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
318
+
319
+
320
+ Updated dependencies []:
321
+
322
+ @nextui-org/[email protected]
323
+
324
+
325
+
326
+ @nextui-org/[email protected]
327
+ Patch Changes
328
+
329
+
330
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
331
+
332
+
333
+ Updated dependencies []:
334
+
335
+ @nextui-org/[email protected]
336
+
337
+
338
+
339
+ @nextui-org/[email protected]
340
+ Patch Changes
341
+
342
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
343
+
344
+ @nextui-org/[email protected]
345
+ Patch Changes
346
+
347
+
348
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
349
+
350
+
351
+ Updated dependencies [551ab18]:
352
+
353
+ @nextui-org/[email protected]
354
+ @nextui-org/[email protected]
355
+ @nextui-org/[email protected]
356
+
357
+
358
+
359
+ @nextui-org/[email protected]
360
+ Patch Changes
361
+
362
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
363
+
364
+ @nextui-org/[email protected]
365
+ Patch Changes
366
+
367
+
368
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
369
+
370
+
371
+ Updated dependencies [551ab18]:
372
+
373
+ @nextui-org/[email protected]
374
+
375
+
376
+
377
+ @nextui-org/[email protected]
378
+ Patch Changes
379
+
380
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
381
+
382
+ @nextui-org/[email protected]
383
+ Patch Changes
384
+
385
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
386
+
387
+ @nextui-org/[email protected]
388
+ Patch Changes
389
+
390
+
391
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
392
+
393
+
394
+ Updated dependencies [551ab18]:
395
+
396
+ @nextui-org/[email protected]
397
+ @nextui-org/[email protected]
398
+ @nextui-org/[email protected]
399
+ @nextui-org/[email protected]
400
+ @nextui-org/[email protected]
401
+ @nextui-org/[email protected]
402
+
403
+
404
+
405
+ @nextui-org/[email protected]
406
+ Patch Changes
407
+
408
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
409
+
410
+ @nextui-org/[email protected]
411
+ Patch Changes
412
+
413
+
414
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
415
+
416
+
417
+ Updated dependencies [551ab18]:
418
+
419
+ @nextui-org/[email protected]
420
+
421
+
422
+
423
+ @nextui-org/[email protected]
424
+ Patch Changes
425
+
426
+
427
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
428
+
429
+
430
+ Updated dependencies [551ab18]:
431
+
432
+ @nextui-org/[email protected]
433
+ @nextui-org/[email protected]
434
+
435
+
436
+
437
+ @nextui-org/[email protected]
438
+ Patch Changes
439
+
440
+
441
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
442
+
443
+
444
+ Updated dependencies [551ab18]:
445
+
446
+ @nextui-org/[email protected]
447
+
448
+
449
+
450
+ @nextui-org/[email protected]
451
+ Patch Changes
452
+
453
+
454
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
455
+
456
+
457
+ Updated dependencies [551ab18]:
458
+
459
+ @nextui-org/[email protected]
460
+
461
+
462
+
463
+ @nextui-org/[email protected]
464
+ Patch Changes
465
+
466
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
467
+
468
+ @nextui-org/[email protected]
469
+ Patch Changes
470
+
471
+
472
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
473
+
474
+
475
+ Updated dependencies [551ab18]:
476
+
477
+ @nextui-org/[email protected]
478
+ @nextui-org/[email protected]
479
+
480
+
481
+
482
+ @nextui-org/[email protected]
483
+ Patch Changes
484
+
485
+
486
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
487
+
488
+
489
+ Updated dependencies []:
490
+
491
+ @nextui-org/[email protected]
492
+ @nextui-org/[email protected]
493
+
494
+
495
+
496
+ @nextui-org/[email protected]
497
+ Patch Changes
498
+
499
+
500
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
501
+
502
+
503
+ Updated dependencies []:
504
+
505
+ @nextui-org/[email protected]
506
+ @nextui-org/[email protected]
507
+
508
+
509
+
510
+ @nextui-org/[email protected]
511
+ Patch Changes
512
+
513
+
514
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
515
+
516
+
517
+ Updated dependencies [551ab18]:
518
+
519
+ @nextui-org/[email protected]
520
+
521
+
522
+
523
+ @nextui-org/[email protected]
524
+ Patch Changes
525
+
526
+
527
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
528
+
529
+
530
+ Updated dependencies [551ab18]:
531
+
532
+ @nextui-org/[email protected]
533
+ @nextui-org/[email protected]
534
+ @nextui-org/[email protected]
535
+ @nextui-org/[email protected]
536
+ @nextui-org/[email protected]
537
+ @nextui-org/[email protected]
538
+ @nextui-org/[email protected]
539
+ @nextui-org/[email protected]
540
+ @nextui-org/[email protected]
541
+ @nextui-org/[email protected]
542
+ @nextui-org/[email protected]
543
+ @nextui-org/[email protected]
544
+ @nextui-org/[email protected]
545
+ @nextui-org/[email protected]
546
+ @nextui-org/[email protected]
547
+ @nextui-org/[email protected]
548
+ @nextui-org/[email protected]
549
+ @nextui-org/[email protected]
550
+ @nextui-org/[email protected]
551
+ @nextui-org/[email protected]
552
+ @nextui-org/[email protected]
553
+ @nextui-org/[email protected]
554
+ @nextui-org/[email protected]
555
+ @nextui-org/[email protected]
556
+ @nextui-org/[email protected]
557
+ @nextui-org/[email protected]
558
+ @nextui-org/[email protected]
559
+ @nextui-org/[email protected]
560
+ @nextui-org/[email protected]
561
+ @nextui-org/[email protected]
562
+ @nextui-org/[email protected]
563
+ @nextui-org/[email protected]
564
+ @nextui-org/[email protected]
565
+ @nextui-org/[email protected]
566
+ @nextui-org/[email protected]
567
+ @nextui-org/[email protected]
568
+ @nextui-org/[email protected]
569
+ @nextui-org/[email protected]
570
+ @nextui-org/[email protected]
571
+ @nextui-org/[email protected]
572
+ @nextui-org/[email protected]
573
+ @nextui-org/[email protected]
574
+ @nextui-org/[email protected]
575
+ @nextui-org/[email protected]
576
+ @nextui-org/[email protected]
577
+ @nextui-org/[email protected]
578
+
579
+
580
+
581
+ @nextui-org/[email protected]
582
+ Patch Changes
583
+
584
+ Updated dependencies [551ab18]:
585
+
586
+ @nextui-org/[email protected]
587
+
588
+
589
+
590
+ @nextui-org/[email protected]
591
+ Patch Changes
592
+
593
+ #4247 551ab18 Thanks @jrgarciadev! - Fix peerDeps & core package client on export *
594
+
595
+ @nextui-org/[email protected]
596
+ Patch Changes
597
+
598
+ Updated dependencies []:
599
+
600
+ @nextui-org/[email protected]
601
+
602
+
603
+
604
+ @nextui-org/[email protected]
605
+ Patch Changes
606
+
607
+ Updated dependencies []:
608
+
609
+ @nextui-org/[email protected]
610
+
611
+ Commits:
612
+ - ci(changesets): version packages\n
613
+
614
+ Labels:
615
+
616
+
617
+ Comments:
618
+ - vercel: [vc]: #dw+MlNmvZPQAvZG8D1TAzlHG6dqw60Tx+P6GReoqRzc=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi85RHhVOWRkYnhSdDlXVEJXTFpQTGVLZG9uM0Y3IiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1jaGFuZ2VzZXQtcmVsZWFzZS1jYW5hcnktbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1jaGFuZ2VzZXQtcmVsZWFzZS1jYW5hcnktbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi8yYllRU0RGWDg5cTU5RUxXMXlLMVZMb1J1NnRhIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWNoYW5nZXNldC1yZWxlYXNlLWNhbmFyeS1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtY2hhbmdlc2V0LXJlbGVhc2UtY2FuYXJ5LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
619
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
620
+
621
+ | Name | Status | Preview | Comments | Updated (UTC) |
622
+ | :--- | :----- | :------ | :------- | :------ |
623
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/9DxU9ddbxRt9WTBWLZPLeKdon3F7)) | [Visit Preview](https://nextui-docs-v2-git-changeset-release-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-changeset-release-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 10:22pm |
624
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/2bYQSDFX89q59ELW1yK1VLoRu6ta)) | [Visit Preview](https://nextui-storybook-v2-git-changeset-release-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-changeset-release-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 10:22pm |
625
+
626
+
627
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
628
+ <!-- This is an auto-generated comment: skip review by coderabbit.ai -->
629
+
630
+ > [!IMPORTANT]
631
+ > ## Review skipped
632
+ >
633
+ > Ignore keyword(s) in the title.
634
+ >
635
+ > <details>
636
+ > <summary>:no_entry: Ignored keywords (3)</summary>
637
+ >
638
+ > * WIP
639
+ > * DO NOT MERGE
640
+ > * ci(changesets)
641
+ >
642
+ > </details>
643
+ >
644
+ > Please check the settings in the CodeRabbit UI or the `.coderabbit.yaml` file in this repository. To trigger a single review, invoke the `@coderabbitai review` command.
645
+ >
646
+ > You can disable this status message by setting the `reviews.review_status` to `false` in the CodeRabbit configuration file.
647
+
648
+ <!-- end of auto-generated comment: skip review by coderabbit.ai -->
649
+
650
+ <!-- tips_start -->
651
+
652
+ ---
653
+
654
+
655
+
656
+ <details>
657
+ <summary>πŸͺ§ Tips</summary>
658
+
659
+ ### Chat
660
+
661
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
662
+
663
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
664
+ - `I pushed a fix in commit <commit_id>, please review it.`
665
+ - `Generate unit testing code for this file.`
666
+ - `Open a follow-up GitHub issue for this discussion.`
667
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
668
+ - `@coderabbitai generate unit testing code for this file.`
669
+ - `@coderabbitai modularize this function.`
670
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
671
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
672
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
673
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
674
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
675
+
676
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
677
+
678
+ ### CodeRabbit Commands (Invoked using PR comments)
679
+
680
+ - `@coderabbitai pause` to pause the reviews on a PR.
681
+ - `@coderabbitai resume` to resume the paused reviews.
682
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
683
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
684
+ - `@coderabbitai summary` to regenerate the summary of the PR.
685
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
686
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
687
+ - `@coderabbitai help` to get help.
688
+
689
+ ### Other keywords and placeholders
690
+
691
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
692
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
693
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
694
+
695
+ ### Documentation and Community
696
+
697
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
698
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
699
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
700
+
701
+ </details>
702
+
703
+ <!-- tips_end -->\n
704
+
705
+ Files Changed:
706
+ - .changeset/slimy-pens-enjoy.md (removed, 50 changes)\n Patch: @@ -1,50 +0,0 @@
707
+ ----
708
+ -"@nextui-org/scroll-shadow": patch
709
+ -"@nextui-org/autocomplete": patch
710
+ -"@nextui-org/breadcrumbs": patch
711
+ -"@nextui-org/date-picker": patch
712
+ -"@nextui-org/date-input": patch
713
+ -"@nextui-org/pagination": patch
714
+ -"@nextui-org/accordion": patch
715
+ -"@nextui-org/input-otp": patch
716
+ -"@nextui-org/calendar": patch
717
+ -"@nextui-org/checkbox": patch
718
+ -"@nextui-org/dropdown": patch
719
+ -"@nextui-org/progress": patch
720
+ -"@nextui-org/skeleton": patch
721
+ -"@nextui-org/divider": patch
722
+ -"@nextui-org/listbox": patch
723
+ -"@nextui-org/popover": patch
724
+ -"@nextui-org/snippet": patch
725
+ -"@nextui-org/spinner": patch
726
+ -"@nextui-org/tooltip": patch
727
+ -"@nextui-org/avatar": patch
728
+ -"@nextui-org/button": patch
729
+ -"@nextui-org/drawer": patch
730
+ -"@nextui-org/navbar": patch
731
+ -"@nextui-org/ripple": patch
732
+ -"@nextui-org/select": patch
733
+ -"@nextui-org/slider": patch
734
+ -"@nextui-org/spacer": patch
735
+ -"@nextui-org/switch": patch
736
+ -"@nextui-org/alert": patch
737
+ -"@nextui-org/badge": patch
738
+ -"@nextui-org/image": patch
739
+ -"@nextui-org/input": patch
740
+ -"@nextui-org/modal": patch
741
+ -"@nextui-org/radio": patch
742
+ -"@nextui-org/table": patch
743
+ -"@nextui-org/card": patch
744
+ -"@nextui-org/chip": patch
745
+ -"@nextui-org/code": patch
746
+ -"@nextui-org/form": patch
747
+ -"@nextui-org/link": patch
748
+ -"@nextui-org/menu": patch
749
+ -"@nextui-org/tabs": patch
750
+ -"@nextui-org/user": patch
751
+ -"@nextui-org/system-rsc": patch
752
+ -"@nextui-org/kbd": patch
753
+ -"@nextui-org/react": patch
754
+ ----
755
+ -
756
+ -Fix peerDeps & core package client on export \*\n- packages/components/accordion/CHANGELOG.md (modified, 11 changes)\n Patch: @@ -1,5 +1,16 @@
757
+ # @nextui-org/accordion
758
+
759
+ +## 2.2.2
760
+ +
761
+ +### Patch Changes
762
+ +
763
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
764
+ +
765
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
766
+ + - @nextui-org/[email protected]
767
+ + - @nextui-org/[email protected]
768
+ + - @nextui-org/[email protected]
769
+ +
770
+ ## 2.2.1
771
+
772
+ ### Patch Changes\n- packages/components/accordion/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
773
+ {
774
+ "name": "@nextui-org/accordion",
775
+ - "version": "2.2.1",
776
+ + "version": "2.2.2",
777
+ "description": "Collapse display a list of high-level options that can expand/collapse to reveal more information.",
778
+ "keywords": [
779
+ "react",\n- packages/components/alert/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
780
+ # @nextui-org/alert
781
+
782
+ +## 2.2.2
783
+ +
784
+ +### Patch Changes
785
+ +
786
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
787
+ +
788
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
789
+ + - @nextui-org/[email protected]
790
+ +
791
+ ## 2.2.1
792
+
793
+ ### Patch Changes\n- packages/components/alert/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
794
+ {
795
+ "name": "@nextui-org/alert",
796
+ - "version": "2.2.1",
797
+ + "version": "2.2.2",
798
+ "description": "Alerts are temporary notifications that provide concise feedback about an action or event.",
799
+ "keywords": [
800
+ "alert"\n- packages/components/autocomplete/CHANGELOG.md (modified, 16 changes)\n Patch: @@ -1,5 +1,21 @@
801
+ # @nextui-org/autocomplete
802
+
803
+ +## 2.3.2
804
+ +
805
+ +### Patch Changes
806
+ +
807
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
808
+ +
809
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
810
+ + - @nextui-org/[email protected]
811
+ + - @nextui-org/[email protected]
812
+ + - @nextui-org/[email protected]
813
+ + - @nextui-org/[email protected]
814
+ + - @nextui-org/[email protected]
815
+ + - @nextui-org/[email protected]
816
+ + - @nextui-org/[email protected]
817
+ + - @nextui-org/[email protected]
818
+ +
819
+ ## 2.3.1
820
+
821
+ ### Patch Changes\n- packages/components/autocomplete/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
822
+ {
823
+ "name": "@nextui-org/autocomplete",
824
+ - "version": "2.3.1",
825
+ + "version": "2.3.2",
826
+ "description": "An autocomplete combines a text input with a listbox, allowing users to filter a list of options to items matching a query.",
827
+ "keywords": [
828
+ "autocomplete"\n- packages/components/avatar/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
829
+ # @nextui-org/avatar
830
+
831
+ +## 2.2.2
832
+ +
833
+ +### Patch Changes
834
+ +
835
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
836
+ +
837
+ ## 2.2.1
838
+
839
+ ### Patch Changes\n- packages/components/avatar/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
840
+ {
841
+ "name": "@nextui-org/avatar",
842
+ - "version": "2.2.1",
843
+ + "version": "2.2.2",
844
+ "description": "The Avatar component is used to represent a user, and displays the profile picture, initials or fallback icon.",
845
+ "keywords": [
846
+ "avatar"\n- packages/components/badge/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
847
+ # @nextui-org/badge
848
+
849
+ +## 2.2.2
850
+ +
851
+ +### Patch Changes
852
+ +
853
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
854
+ +
855
+ ## 2.2.1
856
+
857
+ ### Patch Changes\n- packages/components/badge/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
858
+ {
859
+ "name": "@nextui-org/badge",
860
+ - "version": "2.2.1",
861
+ + "version": "2.2.2",
862
+ "description": "Badges are used as a small numerical value or status descriptor for UI elements.",
863
+ "keywords": [
864
+ "badge"\n- packages/components/breadcrumbs/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
865
+ # @nextui-org/breadcrumbs
866
+
867
+ +## 2.2.2
868
+ +
869
+ +### Patch Changes
870
+ +
871
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
872
+ +
873
+ ## 2.2.1
874
+
875
+ ### Patch Changes\n- packages/components/breadcrumbs/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
876
+ {
877
+ "name": "@nextui-org/breadcrumbs",
878
+ - "version": "2.2.1",
879
+ + "version": "2.2.2",
880
+ "description": "Breadcrumbs display a hierarchy of links to the current page or resource in an application.",
881
+ "keywords": [
882
+ "breadcrumbs"\n- packages/components/button/CHANGELOG.md (modified, 10 changes)\n Patch: @@ -1,5 +1,15 @@
883
+ # @nextui-org/button
884
+
885
+ +## 2.2.2
886
+ +
887
+ +### Patch Changes
888
+ +
889
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
890
+ +
891
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
892
+ + - @nextui-org/[email protected]
893
+ + - @nextui-org/[email protected]
894
+ +
895
+ ## 2.2.1
896
+
897
+ ### Patch Changes\n- packages/components/button/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
898
+ {
899
+ "name": "@nextui-org/button",
900
+ - "version": "2.2.1",
901
+ + "version": "2.2.2",
902
+ "description": "Buttons allow users to perform actions and choose with a single tap.",
903
+ "keywords": [
904
+ "button"\n- packages/components/calendar/CHANGELOG.md (modified, 10 changes)\n Patch: @@ -1,5 +1,15 @@
905
+ # @nextui-org/calendar
906
+
907
+ +## 2.2.2
908
+ +
909
+ +### Patch Changes
910
+ +
911
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
912
+ +
913
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
914
+ + - @nextui-org/[email protected]
915
+ + - @nextui-org/[email protected]
916
+ +
917
+ ## 2.2.1
918
+
919
+ ### Patch Changes\n- packages/components/calendar/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
920
+ {
921
+ "name": "@nextui-org/calendar",
922
+ - "version": "2.2.1",
923
+ + "version": "2.2.2",
924
+ "description": "A calendar displays one or more date grids and allows users to select a single date.",
925
+ "keywords": [
926
+ "calendar"\n- packages/components/card/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
927
+ # @nextui-org/card
928
+
929
+ +## 2.2.2
930
+ +
931
+ +### Patch Changes
932
+ +
933
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
934
+ +
935
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
936
+ + - @nextui-org/[email protected]
937
+ +
938
+ ## 2.2.1
939
+
940
+ ### Patch Changes\n- packages/components/card/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
941
+ {
942
+ "name": "@nextui-org/card",
943
+ - "version": "2.2.1",
944
+ + "version": "2.2.2",
945
+ "description": "Card is a container for text, photos, and actions in the context of a single subject.",
946
+ "keywords": [
947
+ "card"\n- packages/components/checkbox/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
948
+ # @nextui-org/checkbox
949
+
950
+ +## 2.3.2
951
+ +
952
+ +### Patch Changes
953
+ +
954
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
955
+ +
956
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
957
+ + - @nextui-org/[email protected]
958
+ +
959
+ ## 2.3.1
960
+
961
+ ### Patch Changes\n- packages/components/checkbox/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
962
+ {
963
+ "name": "@nextui-org/checkbox",
964
+ - "version": "2.3.1",
965
+ + "version": "2.3.2",
966
+ "description": "Checkboxes allow users to select multiple items from a list of individual items, or to mark one individual item as selected.",
967
+ "keywords": [
968
+ "checkbox"\n- packages/components/chip/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
969
+ # @nextui-org/chip
970
+
971
+ +## 2.2.2
972
+ +
973
+ +### Patch Changes
974
+ +
975
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
976
+ +
977
+ ## 2.2.1
978
+
979
+ ### Patch Changes\n- packages/components/chip/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
980
+ {
981
+ "name": "@nextui-org/chip",
982
+ - "version": "2.2.1",
983
+ + "version": "2.2.2",
984
+ "description": "Chips help people enter information, make selections, filter content, or trigger actions.",
985
+ "keywords": [
986
+ "chip"\n- packages/components/code/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
987
+ # @nextui-org/code
988
+
989
+ +## 2.2.2
990
+ +
991
+ +### Patch Changes
992
+ +
993
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
994
+ +
995
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
996
+ + - @nextui-org/[email protected]
997
+ +
998
+ ## 2.2.1
999
+
1000
+ ### Patch Changes\n- packages/components/code/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1001
+ {
1002
+ "name": "@nextui-org/code",
1003
+ - "version": "2.2.1",
1004
+ + "version": "2.2.2",
1005
+ "description": "Code is a component used to display inline code.",
1006
+ "keywords": [
1007
+ "code"\n- packages/components/date-input/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1008
+ # @nextui-org/date-input
1009
+
1010
+ +## 2.3.2
1011
+ +
1012
+ +### Patch Changes
1013
+ +
1014
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1015
+ +
1016
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1017
+ + - @nextui-org/[email protected]
1018
+ +
1019
+ ## 2.3.1
1020
+
1021
+ ### Patch Changes\n- packages/components/date-input/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1022
+ {
1023
+ "name": "@nextui-org/date-input",
1024
+ - "version": "2.3.1",
1025
+ + "version": "2.3.2",
1026
+ "description": "A date input allows users to enter and edit date and time values using a keyboard.",
1027
+ "keywords": [
1028
+ "date-field"\n- packages/components/date-picker/CHANGELOG.md (modified, 14 changes)\n Patch: @@ -1,5 +1,19 @@
1029
+ # @nextui-org/date-picker
1030
+
1031
+ +## 2.3.2
1032
+ +
1033
+ +### Patch Changes
1034
+ +
1035
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1036
+ +
1037
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1038
+ + - @nextui-org/[email protected]
1039
+ + - @nextui-org/[email protected]
1040
+ + - @nextui-org/[email protected]
1041
+ + - @nextui-org/[email protected]
1042
+ + - @nextui-org/[email protected]
1043
+ + - @nextui-org/[email protected]
1044
+ +
1045
+ ## 2.3.1
1046
+
1047
+ ### Patch Changes\n- packages/components/date-picker/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1048
+ {
1049
+ "name": "@nextui-org/date-picker",
1050
+ - "version": "2.3.1",
1051
+ + "version": "2.3.2",
1052
+ "description": "A date picker combines a DateInput and a Calendar popover to allow users to enter or select a date and time value.",
1053
+ "keywords": [
1054
+ "date-picker"\n- packages/components/divider/CHANGELOG.md (modified, 9 changes)\n Patch: @@ -1,5 +1,14 @@
1055
+ # @nextui-org/divider
1056
+
1057
+ +## 2.2.2
1058
+ +
1059
+ +### Patch Changes
1060
+ +
1061
+ +- [#4247](https://github.com/nextui-org/nextui/pull/4247) [`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix peerDeps & core package client on export \*
1062
+ +
1063
+ +- Updated dependencies [[`551ab18`](https://github.com/nextui-org/nextui/commit/551ab184060b24b2c3a89598f84d4c18599649d0)]:
1064
+ + - @nextui-org/[email protected]
1065
+ +
1066
+ ## 2.2.1
1067
+
1068
+ ### Patch Changes\n
processed_docs/pr_data_0_doc_25.txt ADDED
@@ -0,0 +1,703 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4247
2
+ Title: fix: v2.6.0
3
+ Base Branch: canary
4
+ Head Branch: fix/v2.6.0-fixes
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4247
7
+ State: MERGED
8
+ Created At: 2024-12-06T22:00:33Z
9
+ Merged At: 2024-12-06T22:05:41Z
10
+ Participants: jrgarciadev
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+ Release Notes for NextUI v2.6.0
26
+
27
+
28
+ New Features
29
+
30
+ Introduced four new components: Form, Drawer, Input OTP, and Alert.
31
+ Enhanced accessibility features across all new components.
32
+ Added built-in validation for forms and focus management for drawers.
33
+
34
+
35
+
36
+ Improvements
37
+
38
+ Updated documentation for clearer upgrade instructions and compatibility with React 19 and Next.js 15.
39
+ Performance improvements through virtualization for collection-based components.
40
+
41
+
42
+
43
+ Dependency Updates
44
+
45
+ Updated peer dependency requirements from beta to stable versions for various components.
46
+
47
+
48
+
49
+ Documentation Updates
50
+
51
+ Clarified installation and usage instructions across multiple frameworks (Astro, Next.js, Remix, Vite).
52
+
53
+ Commits:
54
+ - fix: v2.6.0\n- chore: update framer motion version\n
55
+
56
+ Labels:
57
+
58
+
59
+ Comments:
60
+ - vercel: [vc]: #OT0Xp9XSi+nB7U0sOochvRarykV95zSkMjuntsZe76c=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi81UFVlQWh0WUI1bTlxYVdWQnhOS0p4WnBDWUZlIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtdjI2MC1maXhlcy1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LWZpeC12MjYwLWZpeGVzLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvQTgyczdkNUFjZFhjd0dNMlRhYndIQ1dmVEVrcCIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1maXgtdjI2MC1maXhlcy1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LXYyNjAtZml4ZXMtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
61
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
62
+
63
+ | Name | Status | Preview | Comments | Updated (UTC) |
64
+ | :--- | :----- | :------ | :------- | :------ |
65
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/5PUeAhtYB5m9qaWVBxNKJxZpCYFe)) | [Visit Preview](https://nextui-docs-v2-git-fix-v260-fixes-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-v260-fixes-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 10:11pm |
66
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/A82s7d5AcdXcwGM2TabwHCWfTEkp)) | [Visit Preview](https://nextui-storybook-v2-git-fix-v260-fixes-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-v260-fixes-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 10:11pm |
67
+
68
+
69
+ \n- changeset-bot: ### πŸ¦‹ Changeset detected
70
+
71
+ Latest commit: bc2de66876b52e461d98a2b8bfe423b5a01790cb
72
+
73
+ **The changes in this PR will be included in the next version bump.**
74
+
75
+ <details><summary>This PR includes changesets to release 49 packages</summary>
76
+
77
+ | Name | Type |
78
+ | ------------------------- | ----- |
79
+ | @nextui-org/scroll-shadow | Patch |
80
+ | @nextui-org/autocomplete | Patch |
81
+ | @nextui-org/breadcrumbs | Patch |
82
+ | @nextui-org/date-picker | Patch |
83
+ | @nextui-org/date-input | Patch |
84
+ | @nextui-org/pagination | Patch |
85
+ | @nextui-org/accordion | Patch |
86
+ | @nextui-org/input-otp | Patch |
87
+ | @nextui-org/calendar | Patch |
88
+ | @nextui-org/checkbox | Patch |
89
+ | @nextui-org/dropdown | Patch |
90
+ | @nextui-org/progress | Patch |
91
+ | @nextui-org/skeleton | Patch |
92
+ | @nextui-org/divider | Patch |
93
+ | @nextui-org/listbox | Patch |
94
+ | @nextui-org/popover | Patch |
95
+ | @nextui-org/snippet | Patch |
96
+ | @nextui-org/spinner | Patch |
97
+ | @nextui-org/tooltip | Patch |
98
+ | @nextui-org/avatar | Patch |
99
+ | @nextui-org/button | Patch |
100
+ | @nextui-org/drawer | Patch |
101
+ | @nextui-org/navbar | Patch |
102
+ | @nextui-org/ripple | Patch |
103
+ | @nextui-org/select | Patch |
104
+ | @nextui-org/slider | Patch |
105
+ | @nextui-org/spacer | Patch |
106
+ | @nextui-org/switch | Patch |
107
+ | @nextui-org/alert | Patch |
108
+ | @nextui-org/badge | Patch |
109
+ | @nextui-org/image | Patch |
110
+ | @nextui-org/input | Patch |
111
+ | @nextui-org/modal | Patch |
112
+ | @nextui-org/radio | Patch |
113
+ | @nextui-org/table | Patch |
114
+ | @nextui-org/card | Patch |
115
+ | @nextui-org/chip | Patch |
116
+ | @nextui-org/code | Patch |
117
+ | @nextui-org/form | Patch |
118
+ | @nextui-org/link | Patch |
119
+ | @nextui-org/menu | Patch |
120
+ | @nextui-org/tabs | Patch |
121
+ | @nextui-org/user | Patch |
122
+ | @nextui-org/system-rsc | Patch |
123
+ | @nextui-org/kbd | Patch |
124
+ | @nextui-org/react | Patch |
125
+ | @nextui-org/system | Patch |
126
+ | @nextui-org/aria-utils | Patch |
127
+ | @nextui-org/framer-utils | Patch |
128
+
129
+ </details>
130
+
131
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
132
+
133
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/fix/v2.6.0-fixes?filename=.changeset/fast-bears-sleep.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A%22%40nextui-org%2Faccordion%22%3A%20patch%0A%22%40nextui-org%2Falert%22%3A%20patch%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Favatar%22%3A%20patch%0A%22%40nextui-org%2Fbadge%22%3A%20patch%0A%22%40nextui-org%2Fbreadcrumbs%22%3A%20patch%0A%22%40nextui-org%2Fbutton%22%3A%20patch%0A%22%40nextui-org%2Fcalendar%22%3A%20patch%0A%22%40nextui-org%2Fcard%22%3A%20patch%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fchip%22%3A%20patch%0A%22%40nextui-org%2Fcode%22%3A%20patch%0A%22%40nextui-org%2Fdate-input%22%3A%20patch%0A%22%40nextui-org%2Fdate-picker%22%3A%20patch%0A%22%40nextui-org%2Fdivider%22%3A%20patch%0A%22%40nextui-org%2Fdrawer%22%3A%20patch%0A%22%40nextui-org%2Fdropdown%22%3A%20patch%0A%22%40nextui-org%2Fform%22%3A%20patch%0A%22%40nextui-org%2Fimage%22%3A%20patch%0A%22%40nextui-org%2Finput-otp%22%3A%20patch%0A%22%40nextui-org%2Finput%22%3A%20patch%0A%22%40nextui-org%2Fkbd%22%3A%20patch%0A---%0A%0Afix%3A%20v2.6.0%0A)
134
+
135
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
136
+ <!-- This is an auto-generated comment: failure by coderabbit.ai -->
137
+
138
+ > [!CAUTION]
139
+ > ## Review failed
140
+ >
141
+ > The pull request is closed.
142
+
143
+ <!-- end of auto-generated comment: failure by coderabbit.ai -->
144
+
145
+ <!-- internal state start -->
146
+
147
+
148
+ <!-- FAHghAtBAEAqAWBLAztF0CGA7TBXALgPYQDmAplmQE4b5kAm0AxoQLasX4Bc0ADldEIAjAFZkm+RADcyqIQE9mhetQxChifADoMiaFAB8wY+CjGAxOegAFAErQAyrnYYq84wjJ9cAGx/QqMgBHXFl8aEl8HwZoACIAM0QADx4pACYtADYtAAZY6AB3DFQmQNoYhQj4L1xkamgRKhJXJkQMFSlMLEZ0RBUsSUSKxXxq6CxnIXqAFjTpgHYtaABJcPR4QmQ6RkIcAHFNAAlcIUxw0a8AVVsAGR4AbXh8fF5kLgB6d5JNeBOtFlY70oSXwuEQEEITSBZBBYPevF8PneswWAF0ABRPF5vT7fUZ/AHQ2HgyEkImgxDwxHIubzACUWg8YxUyFKiF4kl2fCohCkfRiiBwF28fgCwVCWwiZFYvB85TQ3UQTHKqFGtDQ4V0rFVhEw9HogWQqBQyAlYrl2wiuuFTFwVECA2gU3gGD5kME8SqXhYKiExTIS0OhAKZBkVAANNBkLxxIhEkxoCp8LofKhAs0qPRBSQvcw7Q7ws7XYh3VNs9BWMo44gYthGMLKAUnWQXW6BIL8Dz6LgmMMqugEaLAiEwphAuNCOEYbKlZofIotuUekKxvxefzl/FIaxaCWsEtjABBfWaPcYPzySPCugyi1eQVMHy4FlR8ScrCoLftxXKyRYHMFNUFwCDaLr/rISgfpEBBeBgTplAA1uWTBgeQkZCAQ/bGlgX47u+aCoOeyC6lgk7QIkfgxIQBBLJ4Ir+MOEpTlgLB2hg5AlLsnaIBhRBUDq0AIWQZC8F6iACKaQisCae6oMgO6inW5GELadT0JGSmaBWnCyVU6p2IRJ7/uMZBNjCdBUFg56JiJFD9K0EE7iMGBCdAPi7OQIG6oEfKmYywAAPJhuePhXquiJiiOkoYLwMauAJUyYE6uA5okSTmkuVrQGGyB7tAGTZDkHq5gAcuZlzLG5PE0G46GYfEdrATZyaIKmggrl40axvGzCoRBSkXOJaC3kqu67J+7owigf45rU1CEeOpHhGufIqMuuami4bj+YYJiQDAdnFRgBDEOQlA0JaAIcAMPD8IIohvtIEGVD6qjqJoOh6LtpgwAgvSETgx1EKQFCqJdbDXdwAQYE2m07m4TqKK9NDvdouj6BARh7WYwD/H1dT4O8yA+IgrDyBAMYfhAFAiIQ8haKw9BcMAsSs8AljQIeywg+dmVw64iiEJ6KHYBxTLoFm8Seh2XY9v1r5UDWqBC3wtAodAuC8PQKrKQIUiuCWtRKDKuycJ+PKsLmAAGAACwIUhCTRW1VQg1fTcBjACvCmwMqAk1sAosU+KjQFbrI8n4EDIC69DBlbkZW0DKlsLKZB0PHoeu2Q7SlJMyAZ1b2t0BTSpCVQBdF2QECCgi+AF7w7GCmNWAFxgTAsJme4FzXBAQi8BfKtE3SuAP1RMAhQiEEkFc8lrwYtwna4kIa+cJ8gQnREQC+h1mq3UAX/v4JP0+L4Q3thgXyBYOyMZ12vvCCudBdEIQPiSLwrf68m5cJ7xW8zzDfeCcrJSD9D/UOitYrREvmQaIEhL4kxUOAsODdezIOQAUTQKFW7RCoHfTO7RyDdx3EQhOPd8FW0rNrHwBcaBZkIM/NQ0CE7KkzKPdkA9lBkALrhA+goEIF2urgRhQhV6hzmug+QAdWAQH4kwAuE96AZyUlbMo8CljHizO+EKl4vTjnQHBJa94fy7mMnBNKGVLRED4MJAQKhKb2SVl0RgHcvCoIQuxb0JNODtWgNOSE2gmTenxtyUmBt5zKVUr4igppFbGTVOcMYh8Yhex9vgBaNQtaZWsYNAQd5JQN3wOrHKslIyASVPACsGBFAPmDl4DCqVkiyEjDGKguFsC9mGitaUZtIzuknNUAQ0lSICAoGBXskNkC0TGJDPKKs0rlhjPUexdkKAOTkilDi6S9KJOoF4Jy0BWz1OEjgE0ZpMGjGNoUnirVNCCz1vNPc5YEkmQYDEaxiV2gGlkGpLKMS7RuNnvUBqLFtEk3wILT0NoU5pNQIBCgfikjezwQwfyFgrCHjfmDXSOTmTiDlBdXSKt/Eop2AIBEQgSYJh0pIWQxgYDWDVpUzWldCJQJrPWa0Ywtx+GDMhGFlBfbM2gPoUOdtzJgkdmScOr8fBRxjnHYAIqYC23tpK0k7wk5e03twpVorVUSpJFCLOOcqB5ytnqlV4riRSveJXEu4996WrFWqo1ZJ7XkItcql1hrbUN2+FZd8Xr9XWodhqtuHd6Et2dQam1GryF9w/jG0N6qoSDzsiPZNrrbUoXEBPKewarXZo1QaM+scCjRu9bGsNUIl4r0LT6uNUJ16wLTrsBt1bU3uukPycuWbfUasPsfDtKa3XwjPryJ1VbR22qvjfNOI7i3NoflgJ+/am1khfm/Dh66a1kldLQTN06l1kj/u23dXa7U0BDH249A6oQgLAYu+9ZJIGp2fRuomrb4EXrHcTXtH691E1QVOkNJ6iYXOwb+2155qB12gxqv09AiEIahGElDd7P2etQ2SKh55AOXroSWAjY7kyUt1ZhoDrClE4feChHdlHL2vRI7a3htGSZYAEbRoRLGNVkfzrRiRvHm1SJvLI1kwmySKMk+8NR8HWaxHpTjGKrw7UqWQHRrinB3iUsIGSdIWRcgM3oCkFmbMOZcx5mDGI/MEYqxFuBZAQTEwqWcD4l0cgTkayyVY7yZB4hwN2eabOdRiplRBBVbKjyuQFVyGUpA6sZbKDlhNO0JkmypMFekngAAxbckYAAi17qCRmWFgWu0AAqwGsBpbonNcHaBWJqVMupanPggqaWKATdbQFsNnCQ0AACMABOZx0BwvaBEKgQbABWDS7l/y5RDhMDgPIjYNPIk0gGPQZQ8hkJM6ZnVHpciTCmZ5YxGzkWzqCQ0ggCAcYgmMjpPTfZRh7JU4oyVWr4GrjgfWiDm49dwsgSMW4ok7isuQSGPWDSAP4rVxgEafk3PBYoeI12AWEVKJsQiopLuZbNgeYAdFNbL3aMYrYZqJC6SOc2BFj4DZDHUn4mUHnEAAC9zs1FCyrfWitqKoHcZ4qpkP5o9dJ0R4yE3ItKRyzQVb0AACyk49yHegHlqglsCeOnWIgEg8ASb68tF+DU2E6Bk/whcypfW27hAcNQMMnNqfjTG515F4QTfe0HK4XWlsSauwNhBEmrk5MQA2IQBCEBcJjdwogBCauitw6uWkgiE5jfuk0CUWoRBpLs6YW4uUEyzZjaEvISerhGAgL14Dt3ASieaNPLsHRYUvBlYq1V6wyesup5ZHrygjATemwgJIDgqsjQFEhIwTgCMreRKNhDzxkN4utS8MKTFcGu8+PiG3W5yY6CoA4EaYXWZoxykULPpHRoUd3Ku7QTHavY62mh0RXUsyXetPaSxe8u3J2TKqGt/XbKcSUEc8DnQHE3FgSiZ3LACAP0X5bXbZYPLwe3QLSMQ8E6bVNOMgBHaAG4aaY+fyMqJscPBCEHN7dWT7K2OaYfaoDgDOWnKYBFJLbsXsAfd0M1AYUmVfWg/ZbARfTgHA2HEgZocjCsZQayEFaA0AiFQ5T7RgwGfUVFXraiCyLpPbF7bZJ7L/OAeQGMBwNkDkN7LrPBMbQpSpCFGMKMDAdHCFDRawSqUmbpP/NrZbUybkM+CaPWA2AXTfX2SMU0Cg1AMOb9PiAAIQIC3msELw0OdhNwK3KGsFLnqBURQAAGkyAy9CAK8Spixmh3wCsUB88lEetYB89/JQjEJkIQlXAvBH83MBgGBIxGJxJywWUdZrE0EWocBSjWpME6sABhBwBwSCRIEgNid8KZD2LwQIaIf0NPfqFrQ5PXA3ZY8IFgAYRWXiXSeIC2bKbwo2DoWBM+MXJSFafkKqTjASBqPBQZFzJ/TgQHJSK6XAa+GQigZoKHTgNFdmDFLFQlF3XFWo/FVwZuZWT0ElS0d0ClKlPxTg2lJzYAGAIg3wzURQpmUODXVgZ2QURtIDOTC1JEtwhAvUNaHgK2RPG9bEnATtMdfExE8bIkgVHxL5BgMktvAgAKfuBUXEwjfreDQkjLJkx0Fk9Eq2dfPBKknk2kvkgkhk4gwgCPEk1k8ROoGgnpSUmk21agi4Og+kxXNODYRgXKEgQNAFbzSuUUuaQ4QIeIDU6XZYawPbADaAdEEUukPUg05QKMPvO/ccNo7YMkqvPI7hbkq2e0x09cJBZ2dEKhasd5VrIOdrAIFQ+oM+CY90mAfU0YL04000v0nzZU1RBgOWZXINUM8Mp0qMl0t0j07Mo0n0m7TJC0skuoQLSEcI54XYKItuGI0M+IugRIx1cuastEjMpXT0+sk030pspcFsjYAoZXAYeAQ8boAATWzioEHLLnzj7ISKSOHNdNHNrMNO9KnMbPNNnNDjIz61tNDNKNEWjJrMzInNPLzJnIDNDmjmoh8HoH6PcjqACiwH0IjhoVDOsAnQvhHLWjHKzJPNzOnIvI/KtjSIyPL0zByL5DyL3AKOQCKI1PvOgSgoYBgpfPgvPP9MLJQD/I3Pz3wvMhqIwEfKPOfLrNfIQootFKQBUAAFEZQIV+itMBgNSUC3wmLoKzNFNETlNYoNNH8NN1i6ABg1MmANMdiMAOAJ8qBSDNVKdCBjNTMFMfjOZuYzprMjTnB4ZIVepRY6VidmRXNodE5dL9LnYPMNZuhqASBTZXxgp/BYz4xQTQl4ZWo0dXNfkuR/SudIowRAg/9NIoIqcJjxdcopdypKpZ9DxnKpiot+I5lPQ5d1L6hSy8o3L5CowYxWgmcxDxx+BYxWzdEHMA1UpdjYgCqFdiquRBtBt8hrFWr5ciqVdOrBstBhtYhpl0BGqvFGcnFhRhlSZnBorxIYgSkuQICU5dwNBUd/IG8wV5wW9IJFLwhKcexzzYrdAPw3JXByAIkOxbcykfhXxoDUBTtbl4kxhBRFw/BAcVYbcJBIx7ScCeifA+jGBBiHANI4VYF/BPsupKqlRXxQRRIPrOwTrtioTytLYJFJi6JkbEq0ahkqx4h5AoqrYtAMaqB5FNtogxthQrYWpgbBR6B/hdhRj/gptYiV9ZCZA09rLwJ1pJJFxtDeIxQdwcS2RJBB5kqxdrEeV3ICg1dahhc6hoD3C94AZEV1LU5ip5yspHDuslICBbl2cvB7SUS4UfgcTsBOZdL3CxA/qWdeA2dOc3qvBKAYgTdabHwawbo+RcpyNnYsxAhqdubrF/kaqgUBBJCwU7l/IgpVA/B9rJqMk59wq/toscBYbqxWgZClJRaBhzrkICUb8cThQCZNZ3DewjRCgfgVDMA/ioqQVtZIZrJcbUaXd3RjqJAzSVZhQ6jIZviLM/jArASbIGd/iLriUkUAkqJyUTgYSaUlZ6VetxQlrocOKyS2qBr8IuqNSVNZL1NNMGilK5L3g1KNLIRtLihOw9LGZp5oBAAkwgxP6oEA6pwC6pGt3pkuUvksEsJhPrPtMgvo0yvp5BcokqUwgGMD3u/sPsOpgYAc0u0vtim30uZkMosxMtBguhswsoFmKiTucz7vczkK8w4qykzqJqSkrHDrqq8BWpwGaNiq33dE3pfsGqwEjEavLB2LYDiFYaV3YaG26qyj6sKrYe3uGtGvGpKD6mYCLqGFVBmUFHmstnodeTWh6y9g2t33PwetNpxImy0Cm1trfGxrGEnRoFFE7vPKeN/uKl7ocp8TOpxNuvttn1IjrosmHq5S8Hcm+CYEjGoB5AEDAnoA4xID6QEAUojnIjlrV2VqSpevCYVE+otDygDleEjEVvIHwaFPSRwPWNGPGLylbqep60nkuTX1imgAKKDr4kUCUkZQ4hqaWokEhAXDTk1lQFpyWjpxwH8o5W5Ism1HseqCGijrPH8AUq+OMHRXqy8aSpHpUDHsCsnvdxnu8EpXhoXtspgAADV07FqmHHR16n6xGBGJHP7VMT7pnj6D6EGgHyQUHb7nZH6rZ+HX6hGP7QzoGbnf74H+rEGNNkGpkXnwGpLIHgBfmD7bm/77nAXHnYrkhUHwGMGrNsHzKtorKCG7LajHHHRIhohGBYg+tpIkh8g3KXikEvLKAfL46xDJZRokr+AwlFYIkwc5odgcBIqXajmNDtsUnkwvr8JSmkqTdahyxTbZ9SXkXsq1GVYPnBHSqvMKHBnqHAVaG9reamryIWrFWJGerdRRH2rBH36pGPYJrZGx64zFH9llHWAFrGHlrDm1qZRtGtrnNkaQpAdRXdJnGcACVrrFAXjJrmdhbhRpRHbih0AIqUqcxeAMaesNhpoYgVkPKWInFlWEVAgujGjq7LlDFJxjEsxfxzt1RRh0AMnU9dgIlKBK7cKEZPdE2sa1dfWXcTcCYZpvM4AUwQboAwaaaxgKzIz6hacX8+nuRZAHc82w6y3wgsaxwvAxiNxfEdbrEOwyALduCp2za/EpZHoZAIkrcS6xmBAZX0o1w7b0ltqTxdrdE4IihLJyxdNx5ZDPMmDEyNH12cJtwNY6h+IdloADncqYsws0rq2sAIktHJBRDpW+ShsAAOQQPJcoCMPUX287TYLwLkDc7xB5EDiez0X684XUOaIDw5wbMDiLBwqCbOJmyrXy0KXMJO2E8ZKaxWGQ9MCvcsNRp1uKurPOro3MNtqyfwDd5eG/Hu+y+4gYAe34hZnFHx0eglVZ8Eqe0lZDzZ+euExe+kvrEIVenxU5955+i5vKHen5r+v5o+uFlS0+hFrSjTJFpIFyh+s5k1iR75nExOKzmF/5/+hz7S5zsBwyiFqB3zuz2FgFwqoF94PkOgFF9BjFTB3mS0WzbF/GQhuMT0AZiCBxmTvfPKcVuNhk6j/NypPZzQbA8q7qUaC8RCqK3jle45j3Fh0z1+tXPj5hgQfVkqkh+nPqAfPV9r01yj90O8KgQ1vhkbzz0bcb1DrQfIP6GRmyuR6avLpR6+B11Rw5hVmbvKF5Ca9amD6m2fUuzppGhKtui6s4jRk9vFgrpYEqXUAZeoAZ0tgEpT2FqMFGruwISMPxpUSJvxe0d0UJ5JmoyduoHXFcCWbLuT+Z7FT73MZZlTpKtZ6eslLT7ZnT3Z8jgjvltegs0U3roaq5/eyL/z+FmLx5+LgMF5tzkz85z5s18nmBqLgLmnxzuLqrkLtmMLqFiLn+mzmB5dlQd4L14V1XW+tB8zZL9FvmXBuzYWTL3Fu4+o84OcGIWIMrVJ5uClz7Klzy7yuoXyhlrOwKll4K9lsKqiblnzKKrr17eKvXkVq7spk3e0tXeV/K/brkLNjOiquMxgdVyd1oeqzh1Cbh4b5n0bqb41re8zyRsai1lb8CNbxWBR3MOa7bvlxgNR1165TamOz1qCb1t36xmnV0Y5BFaxgFZcHJCfKpHEhJ2SHgWIdAnPXcBMXXoVtJ3YfIJSWIRXbAXAayXv8vvcFPuiDvk6PCeGifqXgfx6/CSNp2iCCV3l/om4SqT3HkK9hUU8UAvPfCWxk2bvL5RvDh5qM7YyK6OsTwvY/nI2IXHJhfTyVAdEDGyMeQVwa/hN3gKwDqhYAGQ2Ve/t0Ef7KNJAx/csHBEvZvhXc38LtsKHciS1/2juf1pBFygBwBgdUILCJ0f6X87+eTbptXwnbTg6w8ZBUI+CTIwhNa0QMEiSXLAOtt0WtBAgK1mrnUXYbsfyGVlzDD9R+4/MvkvywD5BW+uwfahk0f4kB3IfoaGnVkZo9puwLdYQf3wuoMEvMKhB7PRzogyDhAKg13iU3d5JUKGSMCGA/x6yS9kmptTSNsjTaOJmk1A4ONHzEYQBKw74VtoqFWhj8xOqgmvMdhwBr9o2xtW1uo11qqClANVNuB4maaJB+ImoOrLdw6xB8eo4A+gJANUHlhFB3g6yOwJvZaJJmWrIxGmE3bcdeWZdUSCrCBp9sB2A0C7OIGRwyEVYRAnMLTWHZ7xhy5bMYDyDIhSdYI7KD7jgA0HZsyAVXDFg/nxbNZiITg9rIREKB/9YBk8TCNB2vwyE4OtuHKrlHGgaR6AGHYyAuy5DCgVMs8RWPKB96ld8AkWaxGRzgJ28xIZ7eDvQ1jqMdE6ISLQp0mtY506sSTIZu9T8H4Q1w9bQoEgGpqzs3q6oBdpDxhiQ9echzJ3tsiUgVCK6xZQ0Aj0xQKdkevdYEuPUYEQkNm0JHHpEF04wB9OMVDQohULKk836g2NntZzgYn0xeZACXv8Ol4mZXm7nRPkNS87UloWlPEXgyLBDi8rBzcPnpJSgCQteRwvekQfUZHvAJc5OYfMQAMwy9UW8vUyhizexYt8GqvOiEQwJZa9iWlwXgGThDjWJ0gBvVAEbyaAm9Qw9Ld7t41NwHUBCQVcJKFVUjlhDh3Q5rvy1dwXdBWeNdtu6HlFZh4kuoU2gZmyrwiesVIt9hOzIY8NLYcEdUdZDUbWI4IqrBMPQ0j6ixo+vDBPuIyT7x8YxZrFPs5mDEU5fuYrUsAMlzCHhqmjTTxM9VaZ8RM2ZAsqtayZyBNWcwQqKm7U5SFAaAokdgeV2tjtCAMngwwVyDSGP8bBdWGMZgPWLYDDqmAbHFXQqaVJxBH4PARtD9Em5qhjNftkMVjFlVAgYwpcJGCQD65DcTwXsQ0KvxNDpYn7KKqbVlApQXGHUK8r20ZrM0cIeuIxjuQogBhoAR4W9oUN0T5cNeNXOGht3VCm1hxyoHAKRCbCJQ9aGnQOm+Buo4B7cVAR3AJXP7F4rctdWmmRy9qcAAA3AHWbFPRl86sXKCNCz7Chsm2HKFNUFCx5DsqBAnrJ21aKiRhQSQ78E6BrFVNRIDY5puhLaaKwIIwwnAEkxnYfg7Qc7P9mLitGC1GA8KccNYllA9lRxaVCMh0NJrAS1exHbzCaM6h0BXgXNGvjgEXGvw+g54sUGeOQFeiDOLXHrMZMGxId5uqhOoRWMn5cg9usfU/nMPsFrJ3YuoyYZBBoEvgL88xRMFRP2H/sBIwoPrLMVCzPd98QORqLcUFDtJ8IXIS7OjmnICsTUSEO/vjDRFD1FmSnVHiCXR5qd1mWPAkdSlx4IkSR3oons2Q5EFiyelna5n535EyjBRTI8sYqIgDKi2RjPYsZI1pH9TpRdnWUSNOBjjTp44LcUcYFf6yBNM+E32JqnbiT49w8IaIZ4n/G7BZeimNFsmLS5K8MuNlBErqOy5igAspjCkUlLGBWwNpJ0luFTS8Ae03pM6cNHtM7jtpVY48Y6dlSt54MWOgoKQK/G5r2iqpuYNRouM7DnVtkfQqUrah1IhkVE/0kTNImdhLI7EtkdNusiWAOAUhdXLVsKCRnjQUZHYSGuOHaAiBs87tXYlbAMAABeDIAAGZcgsBNOBgFyDOxrE7MrmVoF5k5AM4ig0tmYijBIB4gHuXYnBCmDJhNhB3XUOmLIzU0muLkjQk9xe5NQWOI9Ovv9yjAGF8mmnV7kTIcRrInEkPWqtDzWCw8mxUsCqRiIupLNsRqnRFA1M05NTYSRIvHtYFsQ2QbZLERQGo2M6xBcZm6HgrEHb6cyeZfMlWYLLyDsirY0c8DFjPjlxBE54s3ILEFlLBzlkxM+yBHMOZRyY5RMUTNKBzmxA85Es/mcmALnpzM5L6audIjrkNyW5q0nGBtJ/rbT0kmqBrIdNBnkBPpZ0oypZkuk4MtR9mHUW9I+lTZgZgEnrLTSrmwYJSIMmIV4EpYeVrRtLU3naMJpMtZI3vXbixLcRHScm/rQiOECtgZAMgNInAsKAsYhQfuiVbupfO+mp4Q2g3NXBDIRhQysAMMnwCHUXm2ICspc22bIGdibj4seyRGYc2Rk0B6ZPWTUnxh4LOwcZ4GZADXKxKWS4xxPABT5ENicQEqqMxgaLKTk5Am5qc1ym2K8yhsso1C/OZLMjDSzTEOYdMfLMVm8NlZAstWYcI1k/d88Qihhu1K+LjYDZtxTcYwNppLziIX01edJM8Z7JmcPk0Oasgzb9Q6s4cdkNskwGuNAkszQeu7NelAkVmdUn2Zjz9lz1CRp4IOSHJCnhzxFFI0Um3M/TZyE5YsxuSnJbmhl+5W072FlmAYjzFFwMt5p4qAzeLc5vigJd5yCXsDh5cGUeTvM+lFznF0C1xZHOJ5kloll6PBZ3J8U0K6FCS6kkkpIEpK8EaS46cvK+lRKq5RSm8F3PiVpzAl18zacks3mEwIl0aULmtOACVLB5wDDAinB1S1Lx59SyeRdKwaK855KvW6VlyliPTAslogshYtDh9KOa1NX6V4AwVQgtU4yrAgTM6UkLWWSMEJNDNhn7IT5gwzZe9MgXZL1kcCgIWTIpmDwqZYwGmRQrQUm4Dl0qfBdgrqwAr3gWMhhdzTKpMyWZQ3Xhqwr8UCyhZLC7uewoVAlsuFSUaOHGD4WJjmwqsnWWSOhxpjRFohAlYZ1k71Z/AVslfkSm/nvSzl9S52JgL/k2VmcLhKKhtPGCFVIwWYmyPoo5B7hIwpeTSukI0gEANgaHDYBwH9TVcqUMSarnnQDkIxvYHYfwucX8zo4JAZBQCWQQJHRwRieuYphILFDexco9TBULlMFXJQSAqAa4DcH8LmyyCLi9ZIIVDBQKw5pM2ZlPMqmKcUeXs6xXiMan2Lmpgc1qTYCyUery5BPYzk0qBW6s4VKKspZLORVtLMlJcyNW4pjVZysF8ay2PCuTmIrk1IslFRagGV9zOlA8kJWbE1RfxXAkygMNMtVHGUFeV0hZdq1sp0R6VY8htUop2U/T3Q688DAem/jOxiSe86ljaLN7wyz5crC+bmE5W3yzgocR+VoBpHnLLK7a7CKAu5oUVNlPyynJQrXmrgI12i9ZBjMwXqkxsoK5pdKAMl0RaqboI2CgsPUqx81tC/xcmtUXMLi1qajhSYi7Y8LsVuapKCnLcXErFwpKuEZIopXPdBAhskJMbMrHd0omdjdGV2vSWMqf59sw0M6PZXGQPG54cxeQ0dWRhnVSsYHtSo4DJgi4gsr1WYqR4ezqp/q2lTYo05Qlg1AcxxWGuLnWzT1UarYfb06mgrwVwGt9UmuFm6g31aa3jSTP415Qs17cm9QQoTGhxE1H6iTaptTW9zIWwyqtTtKQzkB61E8ptdPLmWtqN188pZWr3Q11Le1P8vZeeuNSEIQynK8dcb1pbTr38isa3jUg/GPLqA7q09UrFeXQFz5BPZ9X8oHV4oPVTiYTTmpwWKa41qi+MWzLU2FqNNUm6Ru2rRVMt5YWKhWcBoEX4qoNusolSIog3aySthK7rl6FCxkbZA+suDbIoCHyLF5DKuzSosYUIpCN6il+eY0Y4fyTqZpJSNSvq0lDFVLKvmm7IY2bKapOI4qIGrsVbMQ1XGpejxq0WybM1eSxzbHMvUqaxN6mlNTQuk0bay5W2oTbGvxmia0tzcotZJpLXab1pFa4JbCh0xlB6AucVgKIiM2NqkuzameZiws2LLHMzmGzVMo62c0HNoKk1B9rNRfadyrmw3vvJpa3LGW9yl0Wy183WxCZgWkmcFppW7AwtAmrAXTNewe0m+Y2whWVVObGBhqs6gnv8qrkia3KzC/bTdvoVHa2FpNYABkHp3E7GduCpLTDVJitRXAUHQbtdraXibOdEs7nbizYlXL/1sEOWUBpU2gb6GAkCrXQ3TqP8LgdW55eRtWWPRZZ3sQ6m0H8AQajaPrD8RtIADkJQ0rYTjo3ycZtWULEVYpY2Lb2Ny2zjfCTW0nrNtuSi7dmr22papdh2n9cdvpLrbnVcmiKttuvVxq2d4e9LTLqFmPahlz25JWeiwA/alFMytUWZtnlA7N1oO7ZfZqi37Kq5Oe05d2tjFWiUd5vAKsy282ujfh+ynHQbtgUE79wfOvKBFrJ0DqKdXe0gZCtIbbbadROoru6Di2XqWdEu5PaUoj33bU1jIXnXRAL4z7LtN4BhbjmmGs6w9S+1PZHq53+RPACu26Tlt/DK78tOKvFXBA13kMtZ2ugjrrtYlAkYtjgm0oFlgF8Ai2nBayJbpJgn8jB86zpfbsJ5O7TFLu+bZ7I93t16pti73dp1DX+701fG87ZeVn10FJdR+27Rloe0MoA9Z2oPVge323rcDbC6XSftl0Z7dNr29NMPCoB57TpJmlLmZU1El6cWna8vavKh1VzGD2sYcojstHI7vKnmm7q3sx3t6tlTyz/TuU3FT6pxtM1BYPpAjRagtEERPVdoS1eKc1yW4npQYRX4G09qKzhQBpV0FaVNRWh/Yc3A3P63F8IjRKKGpVyK/1UU8sIXBH0Vw3V3hnAvyotnMqWI/87Km/KsZIbGZAnAWTRtGZXzu1/hd7JgFQBWQOAPK9OqRtkDmyrVSkQIKas0DtMLV24ZuBpH0T50JA022A0xvgOEdWNkJWej7p2bcbiDoUzA0hXIPKbD9VB5fZpqj1EH0DgeiuQnqZ05rF9XR4/Svqj1lqdNWeqpdRhYNYAC9/2ovYDrwaWaQdavSWJ6G/3PTd1butrd2oyUV71DVe8DNRlr3pLwZUhy5ZfuuVgLUdFvBGdTOQUqGX1dK4Y5et0NAYlNBM5ozosmLkzauny8Cd8ueO/LXsqi6FQHFhV5r2dSKmg0LL/XoqLDt+4DaBusRa7xFkxWDdSqNm6gxtDqyBBbP6SGyWahq+bdhqnYw8sIcU12c7sR6VG/V1R3EepzqPY8Vtfu6Pb8aYBx7BNWBgpaRjjklKxjt2wuYz35OYzBTcSmhYXM5P9GSDgxoTeKY1RKbWleB1OaKcaWC7ilUpthTKamNPbu1lahg2PHzRJB5jix0zal2L2rHgdYsazbwch2V6dtdGE08Om3nC43NB8o7FOruWW8pDIVGQ/5qoC46HBCht5X3uUNgntkAuxLToZBXvGcDBhi0kYYLUmH4TZh/9b/pRPWH79YG8rQ4bJUtdnDVKpqG4ZmEhicwXh+Qz4akAhmYFYiRESRpFpcDJt5AHQf1vjoW6IjsEKI9RsPSxH3TaEcgh9mSPcrxFGRgI9kbqy5HNg+RhGDlKKPvgLxZA3plCr+Koo6T6I13XAbR6e6WT+IjjY0bQMyb5T0aoY1qZ30pn314xno1ztlMnmWjpBtoyHpwOjHjDHO9M6Wv56DL6DoSl0+yHNNsGW11p5XqXvtPtaV5jp4486fowfxBzu8pHROo82+mW9rLAM/d1kMBbvDPepQ9ZJeORaQIw++Q1TvH2dTJ9EZnADGb0Nz7PsB+hNSnrTMTHT9PO3C+gvaO77vS0kAlOLtZVXnqDTF2XWfvf2bqr98oQDVYd2Lq6ddT+sRY/r2X675DTRfzD/pN3/7oBXZtQFbrd5gHu1EB+EVMk3M+rMReKJkwtv3NBqGjLU486dsfMKmyDL5kMm+dTMfmBLSKxJTMZGX/neA8xk7bHtaOFl2LfF7o1Jo6WGmXtf52Cz5boMeW9NQ816IBb+2WmOD6XbUVZvukrLtjWqroBSL2Md6ILyiqC9bAENcJzjYM+9Vcey3oBZqKFvKkgvC34XHQ/BhywHWeVY6FFchzQ2GdC0UWSdqh8IAH3bXQnbz75uE65YzNImszvCwrbmdTH5nZLVW8lY1mxPwbL9I9QHgExB7BNZC3QcJsD2iavxYmwYRdlDx8Qns4etJ6A/SYdHu7dzCB2owecsuoH7zNl1xZXIcuqnhT6pjUr+erXxXy9mp9ubEvrltLRT7lsK8kr+v5WvzYo8teDaqUepysBABK3LyWNWmVjoF7g8yAemZXtkuxkemDp7WQXdlTp0FQjdrilXx5lxi5SJduNwyarxljvR1bx3d7FDPVgfdGa30XmKDnxy9Mzq60KFmZUJoKzeak2InT5ss7M0rJmsLXXJ9h+awTycOUqmt9QMs3hsrNjaazdZv48oj0VNmgjobNXGEa7OfzIjIfaI/2fRkbSEjgRLlakfHN8qsjxqnIyJFnPmqkmZBSHsYoqPXWTLt1mo17vqMoHVtz1vy0+YCtc2Oj9FtU6NeGtuWKlMV17WTaRvbKQ7rV/y6KQTOOXOjI1u7bHeTVg2d5Rpv80nd6VQ3orcNzy/agfhDlkb50wvWjc4M2mwLdEYBdjqhtHGir4GKu/uQpuAo0LmE7de+Ty5KcgzWtl5ThbZsNWOb0F7Q5eZ5sCnL1/ckiwily5DWDtItktWLZlncLLDd+mw44eg0kdMVBZmW3rKVujaR9zZnEq2bzZKQPGl2SnR3UdXL2FCGjdgtKEnTtnsOA2k2T2Z2ClmWtA5gm4cdXlGKyjJiuZluYZM3Xape532cgYcUcm+jD5nJXZefOxnLzTl684xbzvfWE7xd8oA6jLhRXkHL17k+nbJKZ3Yi2d5yzHZCsF3Gx4V6td3Zrsp39Tmeiu7FdkpKDqAtdqeewY1EpW1jdp9K1seUvPSraFFXK1svbt8GSbVc3eM6Q+lU2N1k1VPNVbR3fVv5+60na1xntUOyHbViBVherMT2N9oJg9R2GPFMKF9ND7By5dwdb2MV4lve9LYJ5y3INCtw+41pxMIalOv9zTt9zQ0OnqaFJx2d7ceO+3YHd1gO2yd93Ejw1cplowpuos4GdHfVwa8LZwf0P47nDxOzw+YNsPvzsNwu0w52mw4b0fD2ZQ3aEe2mO1+xjDRDuJv6Ou7xWYQ50vr1iHkLmj1Cz5sDOd7THrN8x/VajNv6P9nV50yJvnuzohdY+hFBxSWCOlQwZCr5d6CntyQKZMQG9PsthOoqfJoWL9RLs/NOPkTU1nM1JfcdzXPHxOxW8tea1lNgnsjzmhCfXMaK6sr8n+92bGzfcFx40FNo6FnwPqyFmJiJ76pgfzaMebGwO4g4Scx607YdjO81aycOOpNqdjNQi8ocR3qHUdz63Q4e3sOfr5T2eOWlz19KLTAj+ZVwYXl5WDjmGuRy0/bmlo54FaXu506Qv3Hm9ukQBehb80DPOrIWjwZPdGdHrxnzNoIoFemcXrEz/N9xci7xe/rRLpz1XVLYuc3PD7WUTWfLbVeO6KVmKEs/c+sUKL27+twbu4ecG8tOVKR6rrypZCO3r+wqyfB7fFWQgLxbAESJ4gB5Kh5VkYRVdPkUAqrcB3pEOBqtMag4V8uq+xfqsKZknijJq12wUfdt1QbV0AO1QSYMVOqR9rq2syPtBcM3lO0T/2+ZaW1B2kHiTlB+Q4xfOnvjcr3Ozk5kd5Pi7xL+eCQ7LeGOKHkzkY3Y/4u4PQrpT5JUy5JdRWCX+D6tbhCqf13kr101K+sZ4NPPmnnd9ubwngtsv3N3p4+T05nXlXqbwCwey9Okej3sLQzkEyM8sdqGq3cayV1CD5tzPAYrzmtwQYVfmHJryr/hW4+J0ePKtXjnV41j1fK2JILWs18+E8Ma2E4HQMe8Fv8N63pQLZ4I6ysNufOTbf97SH2dVmW3Ol1tkc7betfpGHbhJqc4wBnNmqCjC5zXLG56ZkQyqq93N4xsZN+3mT8D6F+ydhdcng2CepU3jJaVCmc7oN3J326qVjv/rocdj4Cu1PA3pTeDht6O+3Atu4XGat64DclNifcX7ShhxxDKdDyBP7dgG6k7IAfWJZPH+t3x88uafaXva8u0Z64cS8SETIsl0BYB2N2Mb1Lmk2I6elZW8bI9kJ/2oZdYZrPvd9dZDMV27unjJ73R7rqb6EyyHSsTFwp4+PxmsXrF9m6PqslN7BmWD7t6LcVfPuJLr71V+rOPtau8otzmRW93ps0fS63ZtNxyDILEnbilOsJ6dednOfqPs25jTE6LcIOmPTipJ6g7PPB6Yvr5rt8FZLW9vGHyS9DDZ7LukPQ7aD8Oxg4oNpehvqakb2p7G/Weh3xT6Y5J52kJpJw3l2z4lYpfmam7mNml406JteeF3WGRGz9l2+svPTjeo+ZYxS/o7uXmE7HUzdDMCvVcQr099Pb9XEXsD2MuL3N4IVJnMoC3je4+8zMS2znKrwRbNfy/XPCv3j6RX+5EuIbEPgT1DXSs8+FBEFO4FQIB4rMTg1F0Dt6SB53i+HqzwPbAILAAdPVmv0jubd7Nif+yjzaLjA5W8B/YuYTDFlF4QdbfTfev9lkHzz7zvpf8XG3g0xZ9e3kJx3qNyd22pO/OejdbnjZfu9x9NX25nqeC/56AWBeblz3n2y/uJ2JegHBjy9yJ8vMRextJC5Zz4XSevHxfh2w57xeOeZeYfL73Fbl+EWI/P32r6rTBuK9RM/HG0L5+6CCc4+53sEGho7KJ/lgCNRlmjwEYzeKXLZTUKje0EPSM+dzBb+j0gcY/xOuv5bnk+4ui86exf697JwL9k+c+ZviL0X/e9MPQ2IG0v0b1UsUTy+krgjqd8I/qenfbN53kV86ekzLv7v3lOCBIZkNqMMxWjy7zEpzWx67fj61AI76sevrdnHF6nYYc/NZa1H5hvLbD5y/w+7DVz/38j+/fD/ufy7jCwe8Gfhm7nyRJP5st/uVeiTAgC+8Rfq9Une68PQy0Rtz8IXRAyhc4ndnym94Xev3L8F/UPRxcc7B92O1lvLpQ78hAegHW8YbTbxl8/zDjAQgu/Q7xAsbpGdwadB/Aq3ndB1duWwC7vRC1Xc6WJ7wkMzGE31qs+JDp0XV1QB+S0An5O9WPVuvM9SotoAnA0t8O5S8zB9jcQb0h9jtE5yy879NE11AMTDXR8cVrRzDx9xwAn1Xx/HcPxQ0bOIB0894/coSbN8TMbEo1zbZuX/9tzKozo8zLBj1ACrLDn020UnPgKztYA2h1rdhvVTyQDPLbAJk8WPMv3PcrtCH2r8lvVwKLtq1DwKKd0AtvxW8qlIdCnhcA4C3RsCAkRyxsMrcRzV9WUDX2j8r/KuSiC76ZRy3dVHA3zuMjfSJwYCuQWf0Nc/pJFwEDq3G3xzdLje3yNg1/V7A38+fJFWECqBDLyfdPfbL298T/S5z99igiRW/d5A24lxMw/THwj9sfNu1M8h/b/3wAdAnMET8AAmQL0DM3dP1uJM/GjRz8zAvPwsCC/KwKetwA9F0gChPTOz08nAgzwJsggnaSyCfLMUxOCuPcpUM92/dwPwJoglOwOC6/YXyQphPQQNrl7g+xweCLg9Tw0xrgwTwzl2jU4JU9ePJ4Ms8QQsu2HctvIeSEQYg+z1qdm7RIJc81lPd3xtNfeR3AweMXXxUcAvG4xAVDfOgOkcGgtGTeMKg4H0/QqgrkyVh3lQE2bw6rU33WcX7PUEFsRAxwP+DnAqHwmtOg1xx98hQM/36DIDIPzR8Rg8rzGCNA5cUecpgkgJj8NWOP3LME/DWWf9iNQk1T9OrCjQz8jA2jUusoHY33zcgA+6wssS3Zj24DS/OwN5tO3bkIl8tNd4IGNPg2b1pCk9UQP8DJjKXw4dMA6tTwwkQfbxRtu/Sl2O8nPTY1V9cbdX2xD0grX0/Q/Qvz0JD9fYkKC9j3YnVKD8aCIHC96Q2QCgCbQ2L0YBZ7W9QS82Q1RVXsm/d3w6Cd7SW2P9itXoM1ckfLkCK80fMkIx8htccHGDNAuULO8FQ46wdlcNJ8Xw1dQEYJT8MjNPxq83uPUM2DaPbYMhdWTNn2sDHQ082J1rQhewG87Qxb16NBfCAOdCG/V0N8D3Q/ny014Qn0J2lH0OtQDC67BXx78lfUMOxtkgiMNSCow+UL7UMg8DFPD2nA4wTDrjRQNpsOXU+TzcKQ1rRON+vIH3zDAraoPkNGQuGiBN9qACPZDITLkN59o7XkPECPfSsKP9ugmsPfcRQg+0GDUfXx1Ws1AxDzf9qvD/yag6vWPwa9qTTY0nDwXFn3a9C/MAM3DDg7cPyU7gnU248JPY8KHk3wm4O097AiEPODCXbiNdAwETwMtD23MEIjsIQpNUEiR3E8JEizwrT2OCpIv4NkiEQ4FgUjCnOEK9ChIjTH9Qm4d8GRDljBz3iD+/FXxxt1lB8I89ow3EPbl9IwNC7gCQ3IKJDvwkkIKDgvVkOFcYw+wOBVQIrFxsRuAhkJ+9QvdkNLC/Ag8JQiKwzFXQiQNHoKwi+gnCMD9GsZbmy0Dkawk1U1iY7lWFdGSpjGBVWVNhWCwRVoRdBwgGtgXAHDGYhCx+oP0kkBgDDc2ABH/CSD7wLeR0GbDCI1sOw4ZQnxE7DiA58JmCMPJI3R8lgzUL6QyIlYPdB1g7PxMCyfSxXMCZwh63NDi/Nty59vgoG12c1IriL0jG4ByN2BeI5SOAiBIziOhDXteyObgxIkvwkjvglUz+CZIo6IiDPLU6MMjQQq6PwVDoxAMuCh5R6IOlQg1v29Djov8y9wLGIyJqde/OpzukiA8HSH9vIy9EBjIKEQ3cp2XQoK5d/TN73asTHflzMcUw/vTZDoYv9AvcaQnyMi8pJGVxS01wsQK50JAgUOmshQsUKPs6w8/wbCUfX91cNAHHqMhivpE11ZU5gnSx3ksPNIwI4JzO12IiRw7ULGwwPHN2mijQ5nwDV6IvYODsFw2yxYifAzB33D5XBAMCCgQ8dHPheHN4KYiPgpcPPNgIyv039m/d6M1jYYnWO0iwgv6PujLPOtB+RgYxXypc0rCGMJtuw3GL9QeQZeB+RKA0Q0RiyQ17yMdGbdGLFcvvQnWCi+rMZyJjxXakL8jG/VoLXsTY8sOh80Ir31ijMIvL3pjRQxsJZiHnKPyfCf5bZ1J9b7d5w7NLGY2w6jvnOxl+cPwf53CBAXUhQd8ddGiKicTQ1n0PN5wvWKdCDYvrwr8ywsa18stwnuJF9dwlWLJiPQu8yPD/o6tSIxCAR2KvDnYwgIH92Y58I9iNUWeN9iEY6gIDiUYoOMwtgzQ93DNhnTyN+8o4ynWv9Kg2Z2S8FnGwEbjagVZ16tD1IuIJhTDcTT60MidkO/UB4vf1kYD/OYSrCMI2wy/ckojVxJUGYgYJAT5LUV1DMhglW1Zj84rsOfCXnCyBLj6wMuPfkAnWxk0Ca4pcR8QG4uoNX9m4yWKKDjQuiMsC5w/YK7jFw+TUNi+48KLViudM2OSVZ486OWijggsMjtEI5T3gDGEjWOYT2gEsDQDfo3SNkwb4aIHnjgwxzxdjaiW8Nc97w9omsiC4+l3n9CMMRJc0zlT8Jps3I8BVFCzfcnV1BwIzqxzCVwkCOVjCw2oJX83FM3yaCkIiFWS9Sw5OP5DU4roPTigE+KKzjEoxa1gSCaDdzzdX/M2RGjVgwKOqilQyiIrYXZeIBbjZo6cOADZwjuMoTa/buJoTFTNiKU8OIphKqU30cROejUklFQ2jp4naSySJvJ8JsDqE+PRSSVI9iLOC7otwMs8ikvaMkiQfN6L4TMktRKESBeERJlRI4aOHaBgwCRKO8pEpePMi7wyyIUTJgxBI7syA2kOxxukhVAKB4w5yMTDXI5MODiD4+/2gIEFDSSxjIzU+LYtY4sxNB8ZXKj0cAPlZkL4k748hV2SbE7hM/ijnAeMpjnEqQMEV0TE+2ATFrLE2D8e9QCMeCV4n+WQTetQdm/tOzQbT+4kPH52g8xaP5xwF64h6iBcm41/SiTSEmWPIT4k+WKoTFY4ePQc6E1WOQjeEqENtjXtLpLlQek8tFYShfTFJdCvjN0PHiIovFJ+TakwlJmTiUuZPaSfzOSKHlWyN8H6T8A6dwSCZEpILkTRkjKUfCJk5RKmSvjEIgWTVwCqx3dSQ0rweU+XUOInsATKCLOTtkvCy8jObRvwEDr3ZL3gjWZGlIYTZdB5Oii046QLATs4w+0mJmY+nwmJuYqs35dQPKn0dTXcKDwm1YPKbVCMEPSuNzo9QgcytthzQaKtd+YgTUFi8PJ22nMXbIj3nMf2UjyXNjrL22ISwXVuLITdgihLRTEkspN5MsUqlL3DDU3FNoMFYnrwpSdwwmPoSC09PSniCUv8xbRN4XaPPD+HWIJMjeUsyOAc6XQq3FTClDeDbQvpeGIb1xDeVIx0eXd7xDjPvTGN0ScYofTxNL7BOJ4ByLY+OxiozPZKNjYxOiy4S4A5vzX0iwpdN4DClIXTkgRdbiy/C2zfuNwchLHdmAUkTG/RiihQzXVeSBNMZwUtOrbxK+StA9IKLietQIDec0EoFPLiQUmxjqxwUxVUXE64kcThT6gohIND1QwANTSQA9NNLdM0jFOSSR4stJxSeE2XQyTPLWtJ7SyUoeOQyc0vdLzT10pwPQy47elI+iNMbDK3hWUkpwKSOUxBEtj5Q8lybTUQ5XzbSmnC707S/0BjPfDeY8f26cHjZGP7s94u/wxij3CdM1ToLc+It8CYwjKECSY4hVviCEh+LN9n4tOFfj1Nd+IOcZXL+McdUI01JcT97BHw8TCzM+0aiho0YMrj2w2UIQTeowuPx9ycRFOli4HNNNRSEMrwK58DHctNIz87fFIZSa0njNwzmIktOMSZnIjOd9yYjDJaSsMwLJ+iOk9lMozr4WKDThuUuIJbTwY/lIxCdjSMMUTRUjtPKDFNJLNvgpUvuzyCkww3w8jF03ZP0SAo8tyi8O3PMIOTOAiTN2SSwk+QNTiMnkJ8ypZFOIMzBQuKMziLUzxKLM8IjP0HSWw0FOFigkurJCSTrH/yQAIkpzNa9C3FFMesM0jzPYTVoxT3WiakijKJgislLJyT3rVSN2zNYudGSzS7EpKLSK3TbPBCboj9XyTq06tXOzb4BpJejRPPJNOzklF7MOyrY4RISzgMHsi0imMuz2MjWMm8IFTMQyRwLI0gpRPyygI2kJAxeMsq2lTt3X+OwgR0tZLEyAhTZO3YrEqe2XS+4gazCi2ZNJOqSWFMnLTkf41bj/i+s6mIGzGYy/w/dLUy/zXir3HNWUdzMtqMszQUrHw7DbM35NXkZgpbNMt5os0Jhclovy3k8dPaSIeyvsqpWjAgct7NySQbeXKwykcmjIwC6MyjJXRzoVLObS+/DLJV8vyAoHVopHEVLsyxUgrMRzH4feCcjUcsrPT4qrGZFK8BzCkJfCV0vy1v9FUsdPEz8cpdIGs10iLInjjU/TJcd6cjON98TM0+37pRs4YND8pQqzK6jHQNmLdi+oiiNk4k0vN2cy2vVbMWimjcSOlz+I+7MLVHs/zOezdcxjImS+I3MI4BmkvzL2zowW3OBzEE8z21yIMLBHgB9c8HOkThkwVKxDcsy3Phyq3SDHgASsjHWPSIIH8Oz5Xc2ERC9I4teUzDgkt4Aaz+A2TLxj8ZZf2BdYI65I3TXfPmmb8TU8PPOcGc4UISjTM2PPMzJQvKPUCnRFPIFy08rDQzzZglUIHDSfB0WHDo4nULWCJwrPLK8U05FNcy1s9zPEjPMpF28zm/UpKQzyklDLkz5vNDMgKq08vJ2ln9bvNBi0QzLPDChU4e3GSh80gOtyYlWintzRQtDzr0WA++RXU11TRNlT3I4xyxylU+BWBFEFSrJ2SQo3dJMTfIprNCj2s+jhVSLeC8H2pwMy5JCjd8kjPZCyGRxPFtHkiPLcTBs2QJjypFczLkU30uHOpp/kr9O5jP8/QLHChkX/KgzFgqcLbjZY+DItCLolaJVykIjU32iZck7MwzLPVAt1jEM4tPwzCyd7M48qknkKsLGk0eN+CPCsvL2yHCv7Piz1IsFTUAtokHIO8WM9AuV8wwiyIHzcCwXOHzhNMIvHzAFSfK3UKs9VMfiCLDMIMSswlfIvj18sLJ31t01rKOSeC09PaDes4/Lh9I8s/Ojy3kkbK5zxs9qMmyAk9N2/zl8nsJw15s860iS/8lr1FzYkhaIlyC8swvYSvMhAs/M7C17X4wgs/WJcLS0uAs4Tg82lKiyG8zWLmK4stlJCKt0d+DQLrw3vPYyoY2yK8UFSVgU3j+0gTM5cvNYTP6cPveszDje9BdNYKF8mrMp1Z0wyV+gsi9golMaLNPhPSIC3f3pIXiyiy1SfCw5IPSuLMXUnzE45oIrTJZc9Iv1XIq9Lpy1dU/LvSCvQMWOMn0sVxfTlC1PJAdOaD9Ned34wQG9TecrBOXEcE0DPwTLEuQIGKmfZbPz84MtzNMK2EpWOv8gSgeKgLnCmAoIyN8seM6z7Qz0OtiREiRAOLF4vlPpSiS/AoRygMITBRIV3L0xoDrIOgNYtSC3mPILl1dgNXUM4cNi4CZsx/kKK44iErsSiFC0i3z4Uk+JELPQKvw5198k9MkLt7NEtqLZCqPKGyL8xQs+Tr8syWlC780qIfzZSrwCLiVA7mNLplg0cNIif8lD31DIHaDK2CjCvPNGLrLKXLY8LC5T38LNYiUqOyDo2wuizLPHMsm90U163TLKkynNuiZiv8yLKC4mvMFLfCynKzLklGstbykCn+kCBZMPkjBVOsH8VZpssUHJBjDioZOjcxicekmSxgWAF0IyAYCgMVkoHa3qA6aTrC38vMBxL8xKwHRIIRV0O3LXBWkWwiUyV/B+Ktg/QLcuEMI6GQhcJawaAAAApA9BnLDCSnCyFesjORIlvEAYFiAKJGiUqQkCCJHQEqBCgC/BOkdMQ+VEUcQENpIzOgBBBh/DCHnKXELhE64IU6+GIFfxUcv8FngbMDIIAiTDythHwbOG3g6aK6gXQE4P1x1t8w3KQzhOYqbUZKYMwAtZLgC2FzPLFAWKk/sySY8vOgeAAAG8psHgFt1YgF8u9p8Ad8tt0AAX0lJoUZCqNUcAYQAP5FtfbUqUOyuTG7LNYXsr/F0kFv2CK+PDsqU1xMJgElKQw3vNiKRk7K3NzB8xIrlKDk7StSKZU9HPuLR0x4p71cclkKqzdHQnMJjiciov20KyuXIpzPs6nKdyldf+JiijMhQoJZsIr0satTiwmM5zPk7nMTzec6zO6igy9tNCdn8kXLmjhi8XM68xittyLza83TxLyRTeXM0r8FbSuVzjsvwsKqmRLSrkQaMrGB+hYSHYE9Ak4JtKuhOAHgGvRm0l6C4QUYDQDRgvoTGCAA== -->
149
+
150
+ <!-- internal state end -->
151
+ <!-- walkthrough_start -->
152
+
153
+ ## Walkthrough
154
+ This pull request introduces a series of patch updates for various components in the `@nextui-org` library, including updates to peer dependencies and the addition of new components. The updates ensure that components such as `accordion`, `alert`, `button`, and others are aligned with stable version requirements, transitioning from beta to stable versions. Additionally, the documentation has been updated to reflect the new version of NextUI, including installation instructions and new features.
155
+
156
+ ## Changes
157
+
158
+ | File Path | Change Summary |
159
+ |-----------|----------------|
160
+ | .changeset/slimy-pens-enjoy.md | Patch updates for multiple `@nextui-org` components, including updates to peer dependencies and addition of new components like `Form`, `Drawer`, `InputOtp`, and `Alert`. |
161
+ | apps/docs/content/blog/v2.6.0.mdx | Document updated for NextUI v2.6.0 release, detailing new components and features, including React 19 and Next.js 15 support. |
162
+ | apps/docs/content/docs/frameworks/*.mdx | Updated Framer Motion version from `11` to `11.9` for Astro, Next.js, Remix, and Vite documentation. |
163
+ | apps/docs/content/docs/guide/*.mdx | Installation and upgrade instructions updated, emphasizing Framer Motion version `11.9` and clarifying setup processes. |
164
+ | packages/components/*/package.json | Updated peer dependencies from `>=2.3.0-beta.0` to `>=2.3.0` for various components, including `accordion`, `alert`, `button`, etc. |
165
+ | packages/core/react/tsup.config.ts | Removed `banner` property from `tsup` configuration. |
166
+ | packages/core/system-rsc/package.json | Updated peer dependency for `@nextui-org/theme` from `>=2.3.0-beta.0` to `>=2.3.0`. |
167
+
168
+ ## Possibly related PRs
169
+ - **#2684**: Addresses an issue with the modal component's height, relevant to updates in this PR.
170
+ - **#3014**: Updates peer dependencies for components like `calendar`, `date-input`, and `date-picker`.
171
+ - **#3308**: Updates the `framer-motion` dependency across multiple components.
172
+ - **#3512**: Introduces patch updates for various components, similar to this PR.
173
+ - **#3764**: Addresses styling for ghost buttons in the `@nextui-org/theme`.
174
+ - **#4013**: Updates the Yarn installation command in the documentation.
175
+ - **#4132**: Corrects the Yarn installation command for accuracy.
176
+ - **#4204**: Addresses a redundant directive in the `@nextui-org/react` package.
177
+
178
+ ## Suggested labels
179
+ `πŸ“‹ Scope : Docs`
180
+
181
+ ## Suggested reviewers
182
+ - wingkwong
183
+ - ryo-manba
184
+
185
+ <!-- walkthrough_end -->
186
+
187
+ ---
188
+
189
+ <details>
190
+ <summary>πŸ“œ Recent review details</summary>
191
+
192
+ **Configuration used: .coderabbit.yaml**
193
+ **Review profile: CHILL**
194
+
195
+ <details>
196
+ <summary>πŸ“₯ Commits</summary>
197
+
198
+ Reviewing files that changed from the base of the PR and between f397546090c428cfc08d1e87fb68aefca3e44c6c and bc2de66876b52e461d98a2b8bfe423b5a01790cb.
199
+
200
+ </details>
201
+
202
+ <details>
203
+ <summary>πŸ“’ Files selected for processing (54)</summary>
204
+
205
+ * `.changeset/slimy-pens-enjoy.md` (1 hunks)
206
+ * `apps/docs/content/blog/v2.6.0.mdx` (3 hunks)
207
+ * `apps/docs/content/docs/frameworks/astro.mdx` (1 hunks)
208
+ * `apps/docs/content/docs/frameworks/nextjs.mdx` (1 hunks)
209
+ * `apps/docs/content/docs/frameworks/remix.mdx` (1 hunks)
210
+ * `apps/docs/content/docs/frameworks/vite.mdx` (1 hunks)
211
+ * `apps/docs/content/docs/guide/installation.mdx` (1 hunks)
212
+ * `apps/docs/content/docs/guide/upgrade-to-v2.mdx` (1 hunks)
213
+ * `packages/components/accordion/package.json` (1 hunks)
214
+ * `packages/components/alert/package.json` (1 hunks)
215
+ * `packages/components/autocomplete/package.json` (1 hunks)
216
+ * `packages/components/avatar/package.json` (1 hunks)
217
+ * `packages/components/badge/package.json` (1 hunks)
218
+ * `packages/components/breadcrumbs/package.json` (1 hunks)
219
+ * `packages/components/button/package.json` (1 hunks)
220
+ * `packages/components/calendar/package.json` (1 hunks)
221
+ * `packages/components/card/package.json` (1 hunks)
222
+ * `packages/components/checkbox/package.json` (1 hunks)
223
+ * `packages/components/chip/package.json` (1 hunks)
224
+ * `packages/components/code/package.json` (1 hunks)
225
+ * `packages/components/date-input/package.json` (1 hunks)
226
+ * `packages/components/date-picker/package.json` (1 hunks)
227
+ * `packages/components/divider/package.json` (1 hunks)
228
+ * `packages/components/drawer/package.json` (1 hunks)
229
+ * `packages/components/dropdown/package.json` (1 hunks)
230
+ * `packages/components/form/package.json` (1 hunks)
231
+ * `packages/components/image/package.json` (1 hunks)
232
+ * `packages/components/input-otp/package.json` (1 hunks)
233
+ * `packages/components/input/package.json` (1 hunks)
234
+ * `packages/components/kbd/package.json` (1 hunks)
235
+ * `packages/components/link/package.json` (1 hunks)
236
+ * `packages/components/listbox/package.json` (1 hunks)
237
+ * `packages/components/menu/package.json` (1 hunks)
238
+ * `packages/components/modal/package.json` (1 hunks)
239
+ * `packages/components/navbar/package.json` (1 hunks)
240
+ * `packages/components/pagination/package.json` (1 hunks)
241
+ * `packages/components/popover/package.json` (1 hunks)
242
+ * `packages/components/progress/package.json` (1 hunks)
243
+ * `packages/components/radio/package.json` (1 hunks)
244
+ * `packages/components/ripple/package.json` (1 hunks)
245
+ * `packages/components/scroll-shadow/package.json` (1 hunks)
246
+ * `packages/components/select/package.json` (1 hunks)
247
+ * `packages/components/skeleton/package.json` (1 hunks)
248
+ * `packages/components/slider/package.json` (1 hunks)
249
+ * `packages/components/snippet/package.json` (1 hunks)
250
+ * `packages/components/spacer/package.json` (1 hunks)
251
+ * `packages/components/spinner/package.json` (1 hunks)
252
+ * `packages/components/switch/package.json` (1 hunks)
253
+ * `packages/components/table/package.json` (1 hunks)
254
+ * `packages/components/tabs/package.json` (1 hunks)
255
+ * `packages/components/tooltip/package.json` (1 hunks)
256
+ * `packages/components/user/package.json` (1 hunks)
257
+ * `packages/core/react/tsup.config.ts` (0 hunks)
258
+ * `packages/core/system-rsc/package.json` (1 hunks)
259
+
260
+ </details>
261
+
262
+ </details>
263
+ <!-- tips_start -->
264
+
265
+ ---
266
+
267
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
268
+
269
+ <details>
270
+ <summary>❀️ Share</summary>
271
+
272
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
273
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
274
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
275
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
276
+
277
+ </details>
278
+
279
+ <details>
280
+ <summary>πŸͺ§ Tips</summary>
281
+
282
+ ### Chat
283
+
284
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
285
+
286
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
287
+ - `I pushed a fix in commit <commit_id>, please review it.`
288
+ - `Generate unit testing code for this file.`
289
+ - `Open a follow-up GitHub issue for this discussion.`
290
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
291
+ - `@coderabbitai generate unit testing code for this file.`
292
+ - `@coderabbitai modularize this function.`
293
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
294
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
295
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
296
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
297
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
298
+
299
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
300
+
301
+ ### CodeRabbit Commands (Invoked using PR comments)
302
+
303
+ - `@coderabbitai pause` to pause the reviews on a PR.
304
+ - `@coderabbitai resume` to resume the paused reviews.
305
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
306
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
307
+ - `@coderabbitai summary` to regenerate the summary of the PR.
308
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
309
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
310
+ - `@coderabbitai help` to get help.
311
+
312
+ ### Other keywords and placeholders
313
+
314
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
315
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
316
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
317
+
318
+ ### Documentation and Community
319
+
320
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
321
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
322
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
323
+
324
+ </details>
325
+
326
+ <!-- tips_end -->\n
327
+
328
+ Files Changed:
329
+ - .changeset/slimy-pens-enjoy.md (added, 50 changes)\n Patch: @@ -0,0 +1,50 @@
330
+ +---
331
+ +"@nextui-org/scroll-shadow": patch
332
+ +"@nextui-org/autocomplete": patch
333
+ +"@nextui-org/breadcrumbs": patch
334
+ +"@nextui-org/date-picker": patch
335
+ +"@nextui-org/date-input": patch
336
+ +"@nextui-org/pagination": patch
337
+ +"@nextui-org/accordion": patch
338
+ +"@nextui-org/input-otp": patch
339
+ +"@nextui-org/calendar": patch
340
+ +"@nextui-org/checkbox": patch
341
+ +"@nextui-org/dropdown": patch
342
+ +"@nextui-org/progress": patch
343
+ +"@nextui-org/skeleton": patch
344
+ +"@nextui-org/divider": patch
345
+ +"@nextui-org/listbox": patch
346
+ +"@nextui-org/popover": patch
347
+ +"@nextui-org/snippet": patch
348
+ +"@nextui-org/spinner": patch
349
+ +"@nextui-org/tooltip": patch
350
+ +"@nextui-org/avatar": patch
351
+ +"@nextui-org/button": patch
352
+ +"@nextui-org/drawer": patch
353
+ +"@nextui-org/navbar": patch
354
+ +"@nextui-org/ripple": patch
355
+ +"@nextui-org/select": patch
356
+ +"@nextui-org/slider": patch
357
+ +"@nextui-org/spacer": patch
358
+ +"@nextui-org/switch": patch
359
+ +"@nextui-org/alert": patch
360
+ +"@nextui-org/badge": patch
361
+ +"@nextui-org/image": patch
362
+ +"@nextui-org/input": patch
363
+ +"@nextui-org/modal": patch
364
+ +"@nextui-org/radio": patch
365
+ +"@nextui-org/table": patch
366
+ +"@nextui-org/card": patch
367
+ +"@nextui-org/chip": patch
368
+ +"@nextui-org/code": patch
369
+ +"@nextui-org/form": patch
370
+ +"@nextui-org/link": patch
371
+ +"@nextui-org/menu": patch
372
+ +"@nextui-org/tabs": patch
373
+ +"@nextui-org/user": patch
374
+ +"@nextui-org/system-rsc": patch
375
+ +"@nextui-org/kbd": patch
376
+ +"@nextui-org/react": patch
377
+ +---
378
+ +
379
+ +Fix peerDeps & core package client on export \*\n- apps/docs/content/blog/v2.6.0.mdx (modified, 34 changes)\n Patch: @@ -46,9 +46,22 @@ NextUI version **v2.6.0** comes with 4 new components **Form**, **Drawer**, **In
380
+
381
+ <Spacer y={4} />
382
+
383
+ -Upgrade today by running one of the following commands:
384
+ +**Upgrade today by using one of the following methods**:
385
+
386
+ -<Spacer y={4} />
387
+ +1. Upgrading NextUI using the `cli`
388
+ +
389
+ +- First, upgrade Framer Motion to at least v11.9.0:
390
+ +
391
+ +<PackageManagers
392
+ + commands={{
393
+ + npm: "npm install framer-motion@latest",
394
+ + yarn: "yarn add framer-motion@latest",
395
+ + pnpm: "pnpm add framer-motion@latest",
396
+ + bun: "bun add framer-motion@latest",
397
+ + }}
398
+ +/>
399
+ +
400
+ +- Then, upgrade NextUI:
401
+
402
+ <PackageManagers
403
+ commands={{
404
+ @@ -57,6 +70,19 @@ Upgrade today by running one of the following commands:
405
+ }}
406
+ />
407
+
408
+ +2. Upgrading NextUI using the `pnpm`
409
+ +
410
+ +<Spacer y={4} />
411
+ +
412
+ +<PackageManagers
413
+ + commands={{
414
+ + npm: "npm install @nextui-org/react@latest framer-motion@latest",
415
+ + pnpm: "pnpm add @nextui-org/react@latest framer-motion@latest",
416
+ + yarn: "yarn add @nextui-org/react@latest framer-motion@latest",
417
+ + bun: "bun add @nextui-org/react@latest framer-motion@latest",
418
+ + }}
419
+ +/>
420
+ +
421
+ <Spacer y={4} />
422
+
423
+ ## Form Component
424
+ @@ -551,6 +577,9 @@ See the [Routing documentation](/docs/guides/routing) for more details.
425
+ - `useHref` (added) - Converts a router-specific href to a native href for use on DOM elements. For example, if your router accepts relative paths or custom link formats, useHref will generate the full native href based on the RouterProvider's configuration.
426
+ - `navigate` (modified) - `((path: Href, routerOptions?: RouterOptions) => void) | undefined` - we added the router options
427
+ - `reduceMotion` (added) - Controls the motion preferences for the entire application, allowing developers to respect user settings for reduced motion. The available options are:
428
+ + - `"always"` - Always disable motion
429
+ + - `"never"` - Always enable motion
430
+ + - `"user"` - Respect user system preferences for motion
431
+
432
+ ### DatePicker
433
+
434
+ @@ -610,7 +639,6 @@ We try to keep the breaking changes to a minimum, but sometimes it's necessary t
435
+
436
+ The nested group selectors for table themes have been updated to require explicit element selectors. You'll need to add `/tr` or `/th` to custom styles for group-data.
437
+
438
+ -
439
+ ```diff-tsx
440
+ // Before
441
+ - group-data-[disabled=true]:text-foreground-300;\n- apps/docs/content/docs/frameworks/astro.mdx (modified, 2 changes)\n Patch: @@ -9,7 +9,7 @@ Requirements:
442
+
443
+ - [React 18](https://reactjs.org/) or later
444
+ - [Tailwind CSS 3.4](https://tailwindcss.com/docs/guides/astro) or later
445
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
446
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
447
+
448
+ ------
449
+ \n- apps/docs/content/docs/frameworks/nextjs.mdx (modified, 2 changes)\n Patch: @@ -11,7 +11,7 @@ Requirements:
450
+ - [Next.js 12](https://nextjs.org/) or later
451
+ - [React 18](https://reactjs.org/) or later
452
+ - [Tailwind CSS 3.4](https://tailwindcss.com/docs/guides/nextjs) or later
453
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
454
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
455
+
456
+ ------
457
+ \n- apps/docs/content/docs/frameworks/remix.mdx (modified, 2 changes)\n Patch: @@ -9,7 +9,7 @@ Requirements:
458
+
459
+ - [React 18](https://reactjs.org/) or later
460
+ - [Tailwind CSS 3.4](https://tailwindcss.com/docs/guides/remix) or later
461
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
462
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
463
+
464
+ ------
465
+ \n- apps/docs/content/docs/frameworks/vite.mdx (modified, 2 changes)\n Patch: @@ -10,7 +10,7 @@ Requirements:
466
+ - [Vite 2](https://vitejs.dev/) or later
467
+ - [React 18](https://reactjs.org/) or later
468
+ - [Tailwind CSS 3.4](https://tailwindcss.com/docs/guides/vite#react) or later
469
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
470
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
471
+
472
+ ------
473
+ \n- apps/docs/content/docs/guide/installation.mdx (modified, 2 changes)\n Patch: @@ -9,7 +9,7 @@ Requirements:
474
+
475
+ - [React 18](https://reactjs.org/) or later
476
+ - [Tailwind CSS 3.4](https://tailwindcss.com/) or later
477
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
478
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
479
+
480
+ ---
481
+ \n- apps/docs/content/docs/guide/upgrade-to-v2.mdx (modified, 2 changes)\n Patch: @@ -10,7 +10,7 @@ Requirements:
482
+
483
+ - [React 18](https://reactjs.org/) or later
484
+ - [Tailwind CSS 3.4](https://tailwindcss.com/) or later
485
+ -- [Framer Motion 11](https://www.framer.com/motion/) or later
486
+ +- [Framer Motion 11.9](https://www.framer.com/motion/) or later
487
+
488
+ -----
489
+ \n- packages/components/accordion/package.json (modified, 4 changes)\n Patch: @@ -43,8 +43,8 @@
490
+ "react": ">=18 || >=19.0.0-rc.0",
491
+ "react-dom": ">=18 || >=19.0.0-rc.0",
492
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
493
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
494
+ - "@nextui-org/system": ">=2.3.0-beta.0"
495
+ + "@nextui-org/theme": ">=2.3.0",
496
+ + "@nextui-org/system": ">=2.3.0"
497
+ },
498
+ "dependencies": {
499
+ "@nextui-org/aria-utils": "workspace:*",\n- packages/components/alert/package.json (modified, 4 changes)\n Patch: @@ -40,8 +40,8 @@
500
+ "peerDependencies": {
501
+ "react": ">=18 || >=19.0.0-rc.0",
502
+ "react-dom": ">=18 || >=19.0.0-rc.0",
503
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
504
+ - "@nextui-org/system": ">=2.3.0-beta.0"
505
+ + "@nextui-org/theme": ">=2.3.0",
506
+ + "@nextui-org/system": ">=2.3.0"
507
+ },
508
+ "dependencies": {
509
+ "@nextui-org/react-utils": "workspace:*",\n- packages/components/autocomplete/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
510
+ "postpack": "clean-package restore"
511
+ },
512
+ "peerDependencies": {
513
+ - "@nextui-org/system": ">=2.3.0-beta.0",
514
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
515
+ + "@nextui-org/system": ">=2.3.0",
516
+ + "@nextui-org/theme": ">=2.3.0",
517
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
518
+ "react": ">=18 || >=19.0.0-rc.0",
519
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/avatar/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
520
+ "peerDependencies": {
521
+ "react": ">=18 || >=19.0.0-rc.0",
522
+ "react-dom": ">=18 || >=19.0.0-rc.0",
523
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
524
+ - "@nextui-org/system": ">=2.3.0-beta.0"
525
+ + "@nextui-org/theme": ">=2.3.0",
526
+ + "@nextui-org/system": ">=2.3.0"
527
+ },
528
+ "dependencies": {
529
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/badge/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
530
+ "peerDependencies": {
531
+ "react": ">=18 || >=19.0.0-rc.0",
532
+ "react-dom": ">=18 || >=19.0.0-rc.0",
533
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
534
+ - "@nextui-org/system": ">=2.3.0-beta.0"
535
+ + "@nextui-org/theme": ">=2.3.0",
536
+ + "@nextui-org/system": ">=2.3.0"
537
+ },
538
+ "dependencies": {
539
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/breadcrumbs/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
540
+ "peerDependencies": {
541
+ "react": ">=18 || >=19.0.0-rc.0",
542
+ "react-dom": ">=18 || >=19.0.0-rc.0",
543
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
544
+ - "@nextui-org/system": ">=2.3.0-beta.0"
545
+ + "@nextui-org/theme": ">=2.3.0",
546
+ + "@nextui-org/system": ">=2.3.0"
547
+ },
548
+ "dependencies": {
549
+ "@nextui-org/react-utils": "workspace:*",\n- packages/components/button/package.json (modified, 4 changes)\n Patch: @@ -37,8 +37,8 @@
550
+ "react": ">=18 || >=19.0.0-rc.0",
551
+ "react-dom": ">=18 || >=19.0.0-rc.0",
552
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
553
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
554
+ - "@nextui-org/system": ">=2.3.0-beta.0"
555
+ + "@nextui-org/theme": ">=2.3.0",
556
+ + "@nextui-org/system": ">=2.3.0"
557
+ },
558
+ "dependencies": {
559
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/calendar/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
560
+ "postpack": "clean-package restore"
561
+ },
562
+ "peerDependencies": {
563
+ - "@nextui-org/system": ">=2.3.0-beta.0",
564
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
565
+ + "@nextui-org/system": ">=2.3.0",
566
+ + "@nextui-org/theme": ">=2.3.0",
567
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
568
+ "react": ">=18 || >=19.0.0-rc.0",
569
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/card/package.json (modified, 4 changes)\n Patch: @@ -37,8 +37,8 @@
570
+ "react": ">=18 || >=19.0.0-rc.0",
571
+ "react-dom": ">=18 || >=19.0.0-rc.0",
572
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
573
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
574
+ - "@nextui-org/system": ">=2.3.0-beta.0"
575
+ + "@nextui-org/theme": ">=2.3.0",
576
+ + "@nextui-org/system": ">=2.3.0"
577
+ },
578
+ "dependencies": {
579
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/checkbox/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
580
+ "postpack": "clean-package restore"
581
+ },
582
+ "peerDependencies": {
583
+ - "@nextui-org/system": ">=2.3.0-beta.0",
584
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
585
+ + "@nextui-org/system": ">=2.3.0",
586
+ + "@nextui-org/theme": ">=2.3.0",
587
+ "react": ">=18 || >=19.0.0-rc.0",
588
+ "react-dom": ">=18 || >=19.0.0-rc.0"
589
+ },\n- packages/components/chip/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
590
+ "peerDependencies": {
591
+ "react": ">=18 || >=19.0.0-rc.0",
592
+ "react-dom": ">=18 || >=19.0.0-rc.0",
593
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
594
+ - "@nextui-org/system": ">=2.3.0-beta.0"
595
+ + "@nextui-org/theme": ">=2.3.0",
596
+ + "@nextui-org/system": ">=2.3.0"
597
+ },
598
+ "dependencies": {
599
+ "@nextui-org/shared-icons": "workspace:*",\n- packages/components/code/package.json (modified, 2 changes)\n Patch: @@ -36,7 +36,7 @@
600
+ "peerDependencies": {
601
+ "react": ">=18 || >=19.0.0-rc.0",
602
+ "react-dom": ">=18 || >=19.0.0-rc.0",
603
+ - "@nextui-org/theme": ">=2.3.0-beta.0"
604
+ + "@nextui-org/theme": ">=2.3.0"
605
+ },
606
+ "dependencies": {
607
+ "@nextui-org/system-rsc": "workspace:*",\n- packages/components/date-input/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
608
+ "postpack": "clean-package restore"
609
+ },
610
+ "peerDependencies": {
611
+ - "@nextui-org/system": ">=2.3.0-beta.0",
612
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
613
+ + "@nextui-org/system": ">=2.3.0",
614
+ + "@nextui-org/theme": ">=2.3.0",
615
+ "react": ">=18 || >=19.0.0-rc.0",
616
+ "react-dom": ">=18 || >=19.0.0-rc.0"
617
+ },\n- packages/components/date-picker/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
618
+ "postpack": "clean-package restore"
619
+ },
620
+ "peerDependencies": {
621
+ - "@nextui-org/system": ">=2.3.0-beta.0",
622
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
623
+ + "@nextui-org/system": ">=2.3.0",
624
+ + "@nextui-org/theme": ">=2.3.0",
625
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
626
+ "react": ">=18 || >=19.0.0-rc.0",
627
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/divider/package.json (modified, 2 changes)\n Patch: @@ -36,7 +36,7 @@
628
+ "peerDependencies": {
629
+ "react": ">=18 || >=19.0.0-rc.0",
630
+ "react-dom": ">=18 || >=19.0.0-rc.0",
631
+ - "@nextui-org/theme": ">=2.3.0-beta.0"
632
+ + "@nextui-org/theme": ">=2.3.0"
633
+ },
634
+ "dependencies": {
635
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/drawer/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
636
+ "peerDependencies": {
637
+ "react": ">=18 || >=19.0.0-rc.0",
638
+ "react-dom": ">=18 || >=19.0.0-rc.0",
639
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
640
+ - "@nextui-org/system": ">=2.3.0-beta.0"
641
+ + "@nextui-org/theme": ">=2.3.0",
642
+ + "@nextui-org/system": ">=2.3.0"
643
+ },
644
+ "dependencies": {
645
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/dropdown/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
646
+ "postpack": "clean-package restore"
647
+ },
648
+ "peerDependencies": {
649
+ - "@nextui-org/system": ">=2.3.0-beta.0",
650
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
651
+ + "@nextui-org/system": ">=2.3.0",
652
+ + "@nextui-org/theme": ">=2.3.0",
653
+ "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
654
+ "react": ">=18 || >=19.0.0-rc.0",
655
+ "react-dom": ">=18 || >=19.0.0-rc.0"\n- packages/components/form/package.json (modified, 4 changes)\n Patch: @@ -34,8 +34,8 @@
656
+ "postpack": "clean-package restore"
657
+ },
658
+ "peerDependencies": {
659
+ - "@nextui-org/system": ">=2.3.0-beta.0",
660
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
661
+ + "@nextui-org/system": ">=2.3.0",
662
+ + "@nextui-org/theme": ">=2.3.0",
663
+ "react": ">=18",
664
+ "react-dom": ">=18"
665
+ },\n- packages/components/image/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
666
+ "peerDependencies": {
667
+ "react": ">=18 || >=19.0.0-rc.0",
668
+ "react-dom": ">=18 || >=19.0.0-rc.0",
669
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
670
+ - "@nextui-org/system": ">=2.3.0-beta.0"
671
+ + "@nextui-org/theme": ">=2.3.0",
672
+ + "@nextui-org/system": ">=2.3.0"
673
+ },
674
+ "dependencies": {
675
+ "@nextui-org/shared-utils": "workspace:*",\n- packages/components/input-otp/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
676
+ "peerDependencies": {
677
+ "react": ">=18",
678
+ "react-dom": ">=18",
679
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
680
+ - "@nextui-org/system": ">=2.3.0-beta.0"
681
+ + "@nextui-org/theme": ">=2.3.0",
682
+ + "@nextui-org/system": ">=2.3.0"
683
+ },
684
+ "dependencies": {
685
+ "@nextui-org/form": "workspace:*",\n- packages/components/input/package.json (modified, 4 changes)\n Patch: @@ -36,8 +36,8 @@
686
+ "peerDependencies": {
687
+ "react": ">=18 || >=19.0.0-rc.0",
688
+ "react-dom": ">=18 || >=19.0.0-rc.0",
689
+ - "@nextui-org/theme": ">=2.3.0-beta.0",
690
+ - "@nextui-org/system": ">=2.3.0-beta.0"
691
+ + "@nextui-org/theme": ">=2.3.0",
692
+ + "@nextui-org/system": ">=2.3.0"
693
+ },
694
+ "dependencies": {
695
+ "@nextui-org/form": "workspace:*",\n- packages/components/kbd/package.json (modified, 2 changes)\n Patch: @@ -36,7 +36,7 @@
696
+ "peerDependencies": {
697
+ "react": ">=18 || >=19.0.0-rc.0",
698
+ "react-dom": ">=18 || >=19.0.0-rc.0",
699
+ - "@nextui-org/theme": ">=2.3.0-beta.0"
700
+ + "@nextui-org/theme": ">=2.3.0"
701
+ },
702
+ "dependencies": {
703
+ "@nextui-org/system-rsc": "workspace:*",\n
processed_docs/pr_data_0_doc_26.txt ADDED
@@ -0,0 +1,889 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4242
2
+ Title: Release notes link updated
3
+ Base Branch: main
4
+ Head Branch: canary
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4242
7
+ State: MERGED
8
+ Created At: 2024-12-06T17:04:03Z
9
+ Merged At: 2024-12-06T17:04:13Z
10
+ Participants: jrgarciadev, ryxxn, wingkwong, abhinav700, macci001, dgz9, juliesaia, alexnguyennz, nnmax, ryo-manba, ShrinidhiUpadhyaya, sanuj21, PentSec, winchesHe, awesome-pro, CanRau, AzpektDev, Peterl561, vinroger, jubar
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Commits:
25
+ - fix(input): ensure clear button is not focusable when disabled (#3774)
26
+
27
+ * fix(input): ensure clear button is not focusable when disabled
28
+
29
+ * test(input): add test to ensure clear button is not focusable when disabled
30
+
31
+ * chore: add changeset for clear button focus fix when input is disabled
32
+
33
+ * fix(input): update clear button to use button element
34
+
35
+ * test(input): add focus test when disabled
36
+
37
+ and update tests for clear button using button element
38
+
39
+ * test(input): replace querySelector with getByRole for clear button
40
+
41
+ * fix(input): set tabIndex to -1 for clear button
42
+
43
+ * test(input): ensure clear button is not focusable\n- fix(image): add missing `w` to `getWrapperProps` dependency (#3802)
44
+
45
+ * fix(image): add missing `w` to `getWrapperProps` dependency
46
+
47
+ * chore(changeset): add changeset\n- fix(autocomplete): popover should remain open after clicking clear button (#3788)
48
+
49
+ * fix: add state.open() so that dropdown is not closed
50
+
51
+ * chore: add changeset
52
+
53
+ * chore(autocomplete): add testcases for keeping lisbox open when clearButton is clicked
54
+
55
+ * chore: update changeset
56
+
57
+ * chore(autocomplete): change the docs for test cases
58
+
59
+ * chore(changeset): update changeset message and add issue number
60
+
61
+ ---------
62
+
63
+ Co-authored-by: WK Wong <[email protected]>\n- refactor(docs): example of blurred card (#3741)
64
+
65
+ * docs(card): adding info regarding the gradient for blurred card
66
+
67
+ * chore(nit): adding example
68
+
69
+ * chore(docs): revise content for card isBlurred example
70
+
71
+ * chore(docs): revise isBlurred note
72
+
73
+ ---------
74
+
75
+ Co-authored-by: Maharshi Alpesh <[email protected]>
76
+ Co-authored-by: WK Wong <[email protected]>\n- fix(docs): replace twitter logo/links with x logo/links (#3815)
77
+
78
+ * fix(docs): replace Twitter logo/links with X logo/links
79
+
80
+ * docs: update twitter references to x
81
+
82
+ * docs: update changeset for twitter to x changes
83
+
84
+ * docs: update twitter references to x
85
+
86
+ * docs: update twitter references to x
87
+
88
+ * chore(docs): undo .sponsorsrc since it's generated
89
+
90
+ * refactor(docs): remove unnecessary classes
91
+
92
+ * chore(docs): undo .sponsorsrc since it's generated
93
+
94
+ ---------
95
+
96
+ Co-authored-by: WK Wong <[email protected]>\n- fix(date-picker): adding props from calendarProps to getCalendarProps (#3773)
97
+
98
+ * fix(date-picker): adding props from calendarProps to the getCalendarProps
99
+
100
+ * chore(date-picker): adding the changeset
101
+
102
+ * chore(changeset): add issue number
103
+
104
+ ---------
105
+
106
+ Co-authored-by: Maharshi Alpesh <[email protected]>
107
+ Co-authored-by: WK Wong <[email protected]>\n- feat(autocomplete): automatically focus first non-disabled item (#2186)
108
+
109
+ Co-authored-by: WK Wong <[email protected]>\n- docs(accordion): add overflow to custom motion example (#3793)\n- fix(docs): typos in dark mode page (#3823)\n- fix(theme): fullWidth in input and select (#3768)
110
+
111
+ * fix(input): fixing the fullWidth functionality
112
+
113
+ * chore(changeset): add issue number
114
+
115
+ * chore(changeset): revise changeset message
116
+
117
+ ---------
118
+
119
+ Co-authored-by: Maharshi Alpesh <[email protected]>
120
+ Co-authored-by: WK Wong <[email protected]>\n- fix(autocomplete): exit animation on popover close (#3845)
121
+
122
+ * fix(autocomplete): exit animation on popover close
123
+
124
+ * refactor(autocomplete): getListBoxProps
125
+
126
+ ---------
127
+
128
+ Co-authored-by: WK Wong <[email protected]>\n- chore: merge branch with main\n- refactor(theme): replace the use of RTL-specific styles with logical properties (#3868)
129
+
130
+ * chore(rtl): remove the usages of rtl
131
+
132
+ * chore(changeset): adding the changeset
133
+
134
+ * chore(changeset): update changeset message
135
+
136
+ ---------
137
+
138
+ Co-authored-by: WK Wong <[email protected]>\n- fix(select): label placement discrepancy in Select (#3853)
139
+
140
+ * fix(select): label placement incorrect in case of multiline
141
+
142
+ * chore(select): adding the changeset
143
+
144
+ * chore(select): adding the tests
145
+
146
+ * chore(select): code imrovement, wkw's suggestions
147
+
148
+ * chore(changeset): update changeset message
149
+
150
+ ---------
151
+
152
+ Co-authored-by: WK Wong <[email protected]>\n- fix(theme): label placement in select and input (#3869)
153
+
154
+ * fix(theme): fix the label placement
155
+
156
+ * chore(changeset): adding the changeset
157
+
158
+ * chore(select): adding comments\n- fix(docs): avoid translating the code block (#3878)
159
+
160
+ * docs(Codeblock): avoid code be translated
161
+
162
+ * fix(docs): lint issue
163
+
164
+ ---------
165
+
166
+ Co-authored-by: WK Wong <[email protected]>\n- fix(listbox): change listBoxItem key to optional (#3883)
167
+
168
+ * fix(listbox): listBoxItem key to optional
169
+
170
+ * chore: add defaultSelectedKeys test for numeric keys and ids
171
+
172
+ * chore: add changeset\n- chore: comment out section prompts in PR template (#3884)\n- chore(test): update testing libraries and refactor (#3886)\n- fix(theme): show margin only with label in Switch component (#3861)
173
+
174
+ * fix(switch): removed right margin in wrapper #3791
175
+
176
+ * feat(changeset): added changeset
177
+
178
+ * fix(switch): removed me-2 in wrapper
179
+
180
+ * fix(switch): added ms-2 to label
181
+
182
+ * chore(changeset): correct package and message
183
+
184
+ ---------
185
+
186
+ Co-authored-by: WK Wong <[email protected]>\n- fix(theme): removed pseudo cancel btn from input (#3912)
187
+
188
+ * fix(theme): removed pseudo cancel btn from input
189
+
190
+ * chore(changeset): adding the changeset
191
+
192
+ * fix(input): conditionally hiding the webkit search
193
+
194
+ * chore(changeset): revise changeset message
195
+
196
+ ---------
197
+
198
+ Co-authored-by: WK Wong <[email protected]>\n- refactor(docs): dx improvement in accordion (#3856)
199
+
200
+ * refactor: improve dx for writing a docs component (#2544)
201
+
202
+ * refactor: improve dx for write a docs component
203
+
204
+ Signed-off-by: Innei <[email protected]>
205
+
206
+ * refactor(docs): switch to contentlayer2
207
+
208
+ * chore(docs): rename to avoid conflict
209
+
210
+ * refactor(docs): switch to next-contentlayer2
211
+
212
+ * refactor(docs): revise docs lib
213
+
214
+ * chore(deps): bump docs related dependencies
215
+
216
+ * fix(use-aria-multiselect): type issue due to ts version bump
217
+
218
+ ---------
219
+
220
+ Signed-off-by: Innei <[email protected]>
221
+ Co-authored-by: WK Wong <[email protected]>
222
+
223
+ * refactor(docs): accordion codes
224
+
225
+ * feat(docs): declare module `*.jsx?raw`
226
+
227
+ * feat(docs): include `**/*.jsx`
228
+
229
+ * fix(docs): incorrect content
230
+
231
+ * chore(docs): add new lines
232
+
233
+ * refactor(docs): lint
234
+
235
+ ---------
236
+
237
+ Signed-off-by: Innei <[email protected]>
238
+ Co-authored-by: Innei <[email protected]>\n- fix(docs): typos in hero section (#3928)\n- fix(theme): support RTL for breadcrumbs (#3927)
239
+
240
+ * fix(breadcrumbs): added separator rotation for RTL #2486
241
+
242
+ * chore(changeset): added changeset\n- fix(docs): removed unused import and merged classNames in dropdown (#3936)
243
+
244
+ * fix(breadcrumbs): added separator rotation for RTL #2486
245
+
246
+ * chore(changeset): added changeset
247
+
248
+ * fix(docs): removed unused Link import and merged classnames in dropdown\n- fix: avatar filter disableAnimation to dom prop (#3946)\n- feat: add git hook to auto update dependencies (#3365)
249
+
250
+ * feat: add git hook to auto update dependencies
251
+
252
+ * feat: update color\n- fix: prevent test matcher warning (#3893)
253
+
254
+ * fix: prevent test matcher warning
255
+
256
+ * chore: add node types
257
+
258
+ * chore: update Jest related packages
259
+
260
+ * chore: run pnpm install\n- fix(tabs): correct inert value for true condition (#3978)\n- Alert component (#3982)
261
+
262
+ * feat(alert): began the work on alert component
263
+
264
+ * fix(readme): making correction
265
+
266
+ * chore(deps): change to 2.0.0
267
+
268
+ * chore(docs): update README.md
269
+
270
+ * feat(theme): init alert tv
271
+
272
+ * chore(alert): update package.json
273
+
274
+ * feat(alert): init alert storybook structure
275
+
276
+ * chore(changeset): add changeset
277
+
278
+ * chore(changeset): change to minor
279
+
280
+ * chore(alert): revise alert package.json
281
+
282
+ * feat(alert): init test structure
283
+
284
+ * chore(deps): pnpm-lock.yaml
285
+
286
+ * feat(alert): initailized theme and basic structure
287
+
288
+ * feat(alert): completed use-alert.ts and alert.tsx
289
+
290
+ * feat(alert): remove innerWrapper, replace helperWrapper with mainWrapper, adding isCloseable prop
291
+
292
+ * feat(alert): adding isCloseable prop to baseWrapper dependency
293
+
294
+ * feat(alert): setting the default value of isCloseable prop to true
295
+
296
+ * feat(alert): moving CloseIcon inside the button
297
+
298
+ * feat(alert): updated package.json
299
+
300
+ * feat(alert): default variant and default story
301
+
302
+ * feat(alert): adding color and radius stories
303
+
304
+ * feat(alert): completed the styling
305
+
306
+ * feat(alert): add stories for isCloseable prop and restyle other stories
307
+
308
+ * feat(alert): correcting ref type
309
+
310
+ * feat(alert): add test cases
311
+
312
+ * feat(alert): remove startContent and endContent props
313
+
314
+ * feat(alert): make styling more accurate
315
+
316
+ * feat(alert): fixed default props
317
+
318
+ * feat(alert): fixed theme docs
319
+
320
+ * feat(alert): add logic for icons
321
+
322
+ * feat(alert): begin to add docs
323
+
324
+ * chore(alert): implement the changes suggested in code review
325
+
326
+ * feat(alert): add onclose prop to alert
327
+
328
+ * feat(alert): add test cases
329
+
330
+ * docs(alert): add onClose event
331
+
332
+ * feat(docs): add alert to routes.json
333
+
334
+ * fix(alert): correct the text colors
335
+
336
+ * docs(alert): fix imports and syntax errors
337
+
338
+ * chore(alert): implement the changes suggested in code review
339
+
340
+ * chore(alert): lint the code and change isCloseable to isClosable
341
+
342
+ * chore(alert): lint the code
343
+
344
+ * chore(alert): run pnpm i
345
+
346
+ * fix(alert): fix the logic for close button and add test case
347
+
348
+ * docs(alert): fix docs, change isCloseable to isClosable and change docs for isClosable property
349
+
350
+ * chore(alert): add the support for RTL, refactor the code and fix the typos
351
+
352
+ * docs(alert): grammer issues fix
353
+
354
+ * fix(alert): replace rtl with ms
355
+
356
+ * chore(alert): custom style and custom implementation, remove isClosable={false}, refactor, fix typos
357
+
358
+ * chore(alert): linting and implement coderabbit suggestions
359
+
360
+ * chore(alert): refactor and typos fix
361
+
362
+ * chore(alert): add import for closeIcon
363
+
364
+ * chore(alert): add props for closeIcon
365
+
366
+ * chore(alert): refactor fixes
367
+
368
+ * chore(alert): implement ryo-manba's suggestion on close Icon
369
+
370
+ * chore(alert): make alert more responsive
371
+
372
+ * chore(alert): fix grammer issues suggested by coderabbit
373
+
374
+ * fix(alert): add max-w property to make alert responsive
375
+
376
+ * chore(alert): improve responsiveness and refactor alertIcon
377
+
378
+ * chore(alert): add missing dependency to useMemo
379
+
380
+ * chore(alert): implement coderabbit's suggestions
381
+
382
+ * chore(alert): update docs and refactor
383
+
384
+ * chore(alert): refactor alertIcon and implement coderabbit's suggestion
385
+
386
+ * chore: fixes
387
+
388
+ ---------
389
+
390
+ Co-authored-by: Abhinav Agarwal <[email protected]>
391
+ Co-authored-by: WK Wong <[email protected]>
392
+ Co-authored-by: Abhinav Agarwal <[email protected]>\n- Feat/add draggable modal (#3983)
393
+
394
+ * feat(hooks): add use-draggable hook
395
+
396
+ * feat(components): [modal] export use-draggable
397
+
398
+ * docs(components): [modal] add draggable modal
399
+
400
+ * feat(components): [modal] add ref prop for modal-header
401
+
402
+ * chore(components): [modal] add draggable modal for storybook
403
+
404
+ * chore: add changeset for draggable modal
405
+
406
+ * docs(hooks): [use-draggable] fix typo
407
+
408
+ * chore: upper changeset
409
+
410
+ * chore(components): [modal] add overflow draggable modal to sb
411
+
412
+ * test(components): [modal] add draggable modal tests
413
+
414
+ * build: update pnpm-lock
415
+
416
+ * chore(changeset): include issue number
417
+
418
+ * feat(hooks): [use-draggable] set user-select to none when during the dragging
419
+
420
+ * docs(components): [modal] update code demo title
421
+
422
+ * docs(components): [modal] condense description for draggable overflow
423
+
424
+ * feat(hooks): [use-draggable] change version to 0.1.0
425
+
426
+ * refactor(hooks): [use-draggable] use use-move implement use-draggable
427
+
428
+ * feat(hooks): [use-draggable] remove repeated user-select
429
+
430
+ * test(components): [modal] update test case to use-draggable base use-move
431
+
432
+ * docs(components): [modal] update draggable examples
433
+
434
+ * fix(hooks): [use-draggable] fix mobile device touchmove event conflict
435
+
436
+ * refactor(hooks): [use-draggable] remove drag ref prop
437
+
438
+ * refactor(hooks): [use-draggable] draggable2is-disabled overflow2can-overflow
439
+
440
+ * test(components): [modal] add draggble disable test
441
+
442
+ * chore(hooks): [use-draggable] add commant for body touchmove
443
+
444
+ * Update packages/hooks/use-draggable/src/index.ts
445
+
446
+ Co-authored-by: Ryo Matsukawa <[email protected]>
447
+
448
+ * fix(hooks): [use-draggable] import use-callback
449
+
450
+ * test(components): [modal] add mobile-sized test for draggable
451
+
452
+ * chore(hooks): [use-draggable] add use-callback for func
453
+
454
+ * chore(hooks): [use-draggable] update version to 2.0.0
455
+
456
+ * chore: fix typo
457
+
458
+ * Update .changeset/soft-apricots-sleep.md
459
+
460
+ * fix: pnpm lock
461
+
462
+ * fix: build
463
+
464
+ * chore: add updated moadl
465
+
466
+ ---------
467
+
468
+ Co-authored-by: wzc520pyfm <[email protected]>
469
+ Co-authored-by: Υ‘Ι¨ΥΌΙ’Σ„Υ‘Φ…ΥΌΙ’ <[email protected]>
470
+ Co-authored-by: Ryo Matsukawa <[email protected]>\n- chore: upgrade react-aria / React 19 & Next.js 15 support (#3732)
471
+
472
+ * chore: upgrade react-aria
473
+
474
+ * chore: add changeset
475
+
476
+ * chore: fix type error
477
+
478
+ ---------
479
+
480
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat(date-picker): add selectorButtonPlacement property (#3248)
481
+
482
+ * feat(date-picker): add selectorButtonPlacement property
483
+
484
+ * chore: update changeset
485
+
486
+ * Update .changeset/neat-donkeys-accept.md
487
+
488
+ Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
489
+
490
+ ---------
491
+
492
+ Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
493
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat: add tab ref (#3974)
494
+
495
+ * feat: add tab ref
496
+
497
+ * feat: add changeset\n- feat: pre-release workflow (#2910)
498
+
499
+ * feat(workflow): pre-release
500
+
501
+ * feat(workflow): exit pre-release
502
+
503
+ * chore(workflow): update version & publish commands
504
+
505
+ * fix(workflow): add missing attributes and use schangeset:beta cmd
506
+
507
+ * feat(root): add changeset:beta
508
+
509
+ * fix(workflows): revise pre-release logic
510
+
511
+ * fix(workflows): add missing run
512
+
513
+ * fix(workflows): use changeset:exit with version instead
514
+
515
+ * feat(root): add changeset:exit cmd
516
+
517
+ * refactor(workflows): add pths, id, and format
518
+
519
+ * feat(workflows): enter pre-release mode
520
+
521
+ * chore(workflows): remove pre.json only
522
+
523
+ * refactor(workflows): remove enter-pre-release-mode
524
+
525
+ * fix(workflows): incorrect url
526
+
527
+ * refactor(root): remove unused exit command
528
+
529
+ * refactor(workflows): add comments
530
+
531
+ * feat(changeset): change to main branch as baseBranch
532
+
533
+ * feat(root): add changeset:canary
534
+
535
+ * refactor(workflows): remove unused workflow
536
+
537
+ * feat(workflow): support canary pre-release mode
538
+
539
+ * refactor(docs): change to canary\n- feat(popover): added control for closing popover on scroll (#3595)
540
+
541
+ * fix(navbar): fixed the height when style h-full
542
+
543
+ * fix(navbar): fixed the height when style h-full
544
+
545
+ * docs(changeset): resolved extra file
546
+
547
+ * feat(popover): added control for closing popover on scroll
548
+
549
+ * update(changeset): correction
550
+
551
+ * feat(popover): removed extra story
552
+
553
+ * refactor(test): corrected test for both true and false values of shouldCloseOnScroll
554
+
555
+ * refactor(docs): added shouldCloseOnScroll prop
556
+
557
+ * chore(changeset): change to minor
558
+
559
+ ---------
560
+
561
+ Co-authored-by: Υ‘Σ„Υ‘ <[email protected]>\n- feat: add month and year pickers to DateRangePicker and RangeCalendar (#3302)
562
+
563
+ * feat: add month and year pickers to DateRangePicker and RangeCalendar
564
+
565
+ * chore: update docs
566
+
567
+ * Update .changeset/kind-cobras-travel.md
568
+
569
+ * chore: react package version
570
+
571
+ ---------
572
+
573
+ Co-authored-by: Junior Garcia <[email protected]>\n- chore(deps): bump tailwind-merge version (#3657)
574
+
575
+ * chore(deps): bump tailwind-merge versions
576
+
577
+ * chore(theme): adopt latest extendTailwindMerge
578
+
579
+ * chore(changeset): add changeset
580
+
581
+ * chore(changeset): change to minor
582
+
583
+ * Update .changeset/grumpy-mayflies-rhyme.md
584
+
585
+ ---------
586
+
587
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat: added drawer component (#3986)
588
+
589
+ Signed-off-by: The1111mp <[email protected]>
590
+ Co-authored-by: The1111mp <[email protected]>\n- refactor: optimisations (#3523)
591
+
592
+ * refactor: replace lodash with native approaches
593
+
594
+ * refactor(deps): update framer-motion versions
595
+
596
+ * feat(utilities): add @nextui-org/dom-animation
597
+
598
+ * refactor(components): load domAnimation dynamically
599
+
600
+ * refactor(deps): add @nextui-org/dom-animation
601
+
602
+ * fix(utilities): relocate index.ts
603
+
604
+ * feat(changeset): framer motion optimization
605
+
606
+ * chore(deps): bump framer-motion version
607
+
608
+ * fix(docs): conflict issue
609
+
610
+ * refactor(hooks): remove the unnecessary this aliasing
611
+
612
+ * refactor(utilities): remove the unnecessary this aliasing
613
+
614
+ * chore(docs): remove {} so that it won't be true all the time
615
+
616
+ * chore(dom-animation): end with new line
617
+
618
+ * refactor(hooks): use debounce from `@nextui-org/shared-utils`
619
+
620
+ * chore(deps): add `@nextui-org/shared-utils`
621
+
622
+ * refactor: move mapKeys logic to `@nextui-org/shared-utils`
623
+
624
+ * refactor: use `get` from `@nextui-org/shared-utils`
625
+
626
+ * refactor(docs): use `get` from `@nextui-org/shared-utils`
627
+
628
+ * refactor(shared-utils): mapKeys
629
+
630
+ * chore(deps): bump framer-motion version
631
+
632
+ * chore(deps): remove lodash
633
+
634
+ * refactor(docs): use intersectionBy from shared-utils
635
+
636
+ * feat(shared-utils): add intersectionBy
637
+
638
+ * chore(dom-animation): remove extra blank line
639
+
640
+ * refactor(shared-utils): revise intersectionBy
641
+
642
+ * fix(modal): add willChange
643
+
644
+ * refactor(shared-utils): add comments
645
+
646
+ * fix: build & tests
647
+
648
+ ---------
649
+
650
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat(hooks): use-theme hook (#3169)
651
+
652
+ * feat(docs): update dark mode content
653
+
654
+ * feat(hooks): @nextui-org/use-theme
655
+
656
+ * chore(docs): revise ThemeSwitcher code
657
+
658
+ * refactor(hooks): simplify useTheme and support custom theme names
659
+
660
+ * feat(hooks): add use-theme test cases
661
+
662
+ * feat(changeset): add changeset
663
+
664
+ * refactor(hooks): make localStorageMock globally and clear before each test
665
+
666
+ * fix(docs): typo
667
+
668
+ * fix(hooks): coderabbitai comments
669
+
670
+ * chore(hooks): remove unnecessary +
671
+
672
+ * chore(changeset): change to minor
673
+
674
+ * feat(hooks): handle system theme
675
+
676
+ * chore(hooks): add EOL
677
+
678
+ * refactor(hooks): add default theme
679
+
680
+ * refactor(hooks): revise useTheme
681
+
682
+ * refactor(hooks): resolve pr comments
683
+
684
+ * refactor(hooks): resolve pr comments
685
+
686
+ * refactor(hooks): resolve pr comments
687
+
688
+ * refactor(hooks): remove unused theme in dependency array
689
+
690
+ * chore(docs): typos
691
+
692
+ * refactor(hooks): mark system as key for system theme
693
+
694
+ * chore: merged with canary
695
+
696
+ ---------
697
+
698
+ Co-authored-by: Junior Garcia <[email protected]>\n- Fix/avatar flashing (#3987)
699
+
700
+ * fix(use-image): cached image flashing
701
+
702
+ * chore: merged with canary
703
+
704
+ ---------
705
+
706
+ Co-authored-by: Rakha Kanz Kautsar <[email protected]>\n- refactor(menu): Use `useMenu` and `useMenuItem` from RA (#3261)
707
+
708
+ * refactor(menu): use useMenu from react-aria instead
709
+
710
+ * refactor(menu): use useMenuItem from react-aria instead
711
+
712
+ * feat(changeset): add changeset
713
+
714
+ * chore: merged with canary
715
+
716
+ * fix: dropdown tests
717
+
718
+ ---------
719
+
720
+ Co-authored-by: Junior Garcia <[email protected]>\n- fix(theme): added stripe color gradients for progress (#3938)
721
+
722
+ * fix(breadcrumbs): added separator rotation for RTL #2486
723
+
724
+ * chore(changeset): added changeset
725
+
726
+ * fix(docs): removed unused Link import and merged classnames in dropdown
727
+
728
+ * fix(theme):added stripe color gradients for progress #1933
729
+
730
+ * refactor(theme): added stripe-size and createStripeGradient\n- chore: add all minor releases\n- fix(docs): invalid canary storybook link (#4030)\n- fix(use-image): image ReferenceError in SSR (#4122)
731
+
732
+ * fix(use-image): image ReferenceError in SSR
733
+
734
+ * fix(use-image): sync with beta
735
+
736
+ * fix(use-image): sync with beta
737
+
738
+ * chore(use-image): remove unnecessary comments\n- fix(docs): buildLocation expects an object (#4118)
739
+
740
+ * fix(docs): routing.mdx
741
+
742
+ * Delete .changeset/pre.json\n- chore: merged with main\n- chore(docs): update yarn installation command (#4132)
743
+
744
+ There is no `-g` flag in yarn. `global` is a command which must immediately follow yarn.
745
+
746
+ Source: https://classic.yarnpkg.com/lang/en/docs/cli/global/\n
747
+
748
+ Labels:
749
+
750
+
751
+ Comments:
752
+ - changeset-bot: ### ⚠️ No Changeset found
753
+
754
+ Latest commit: 7453632ba53e38234bcb94cdc101ea6070ae2673
755
+
756
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
757
+
758
+ <details><summary>This PR includes no changesets</summary>
759
+
760
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
761
+
762
+ </details>
763
+
764
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
765
+
766
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/canary?filename=.changeset/slow-shrimps-jam.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0ARelease%20notes%20link%20updated%0A)
767
+
768
+ \n- vercel: [vc]: #UpONlw14CqO/QDOG9oqqh0B4xXcNCTRYHlNwo2l7g/8=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9BdHdydDFBdUdOZkY3ZXVjdFdaY2RjVmJldTh4IiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1jYW5hcnktbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IlBFTkRJTkciLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LWNhbmFyeS1uZXh0dWktb3JnLnZlcmNlbC5hcHAifX0seyJuYW1lIjoibmV4dHVpLXN0b3J5Ym9vay12MiIsInJvb3REaXJlY3RvcnkiOiJwYWNrYWdlcy9zdG9yeWJvb2siLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktc3Rvcnlib29rLXYyLzhua3dQNGhVNXpyeEJ6UmdUQktwZzFzSlh1Z0EiLCJwcmV2aWV3VXJsIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtY2FuYXJ5LW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJQRU5ESU5HIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWNhbmFyeS1uZXh0dWktb3JnLnZlcmNlbC5hcHAifX1dfQ==
769
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
770
+
771
+ | Name | Status | Preview | Comments | Updated (UTC) |
772
+ | :--- | :----- | :------ | :------- | :------ |
773
+ | **nextui-docs-v2** | πŸ”„ Building ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/Atwrt1AuGNfF7euctWZcdcVbeu8x)) | [Visit Preview](https://nextui-docs-v2-git-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 5:04pm |
774
+ | **nextui-storybook-v2** | πŸ”„ Building ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/8nkwP4hU5zrxBzRgTBKpg1sJXugA)) | [Visit Preview](https://nextui-storybook-v2-git-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 5:04pm |
775
+
776
+
777
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
778
+ <!-- This is an auto-generated comment: rate limited by coderabbit.ai -->
779
+
780
+ > [!WARNING]
781
+ > ## Rate limit exceeded
782
+ >
783
+ > @jrgarciadev has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait **22 minutes and 38 seconds** before requesting another review.
784
+ >
785
+ > <details>
786
+ > <summary>βŒ› How to resolve this issue?</summary>
787
+ >
788
+ > After the wait time has elapsed, a review can be triggered using the `@coderabbitai review` command as a PR comment. Alternatively, push new commits to this PR.
789
+ >
790
+ > We recommend that you space out your commits to avoid hitting the rate limit.
791
+ >
792
+ > </details>
793
+ >
794
+ >
795
+ > <details>
796
+ > <summary>🚦 How do rate limits work?</summary>
797
+ >
798
+ > CodeRabbit enforces hourly rate limits for each developer per organization.
799
+ >
800
+ > Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.
801
+ >
802
+ > Please see our [FAQ](https://docs.coderabbit.ai/faq) for further information.
803
+ >
804
+ > </details>
805
+ >
806
+ > <details>
807
+ > <summary>πŸ“₯ Commits</summary>
808
+ >
809
+ > Reviewing files that changed from the base of the PR and between 867eae14ac417b6eb16dd80017034d5d13665f50 and 7453632ba53e38234bcb94cdc101ea6070ae2673.
810
+ >
811
+ > </details>
812
+
813
+ <!-- end of auto-generated comment: rate limited by coderabbit.ai -->
814
+
815
+ <!-- tips_start -->
816
+
817
+ ---
818
+
819
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
820
+
821
+ <details>
822
+ <summary>❀️ Share</summary>
823
+
824
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
825
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
826
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
827
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
828
+
829
+ </details>
830
+
831
+ <details>
832
+ <summary>πŸͺ§ Tips</summary>
833
+
834
+ ### Chat
835
+
836
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
837
+
838
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
839
+ - `I pushed a fix in commit <commit_id>, please review it.`
840
+ - `Generate unit testing code for this file.`
841
+ - `Open a follow-up GitHub issue for this discussion.`
842
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
843
+ - `@coderabbitai generate unit testing code for this file.`
844
+ - `@coderabbitai modularize this function.`
845
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
846
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
847
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
848
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
849
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
850
+
851
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
852
+
853
+ ### CodeRabbit Commands (Invoked using PR comments)
854
+
855
+ - `@coderabbitai pause` to pause the reviews on a PR.
856
+ - `@coderabbitai resume` to resume the paused reviews.
857
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
858
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
859
+ - `@coderabbitai summary` to regenerate the summary of the PR.
860
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
861
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
862
+ - `@coderabbitai help` to get help.
863
+
864
+ ### Other keywords and placeholders
865
+
866
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
867
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
868
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
869
+
870
+ ### Documentation and Community
871
+
872
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
873
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
874
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
875
+
876
+ </details>
877
+
878
+ <!-- tips_end -->\n
879
+
880
+ Files Changed:
881
+ - apps/docs/content/blog/v2.6.0.mdx (modified, 2 changes)\n Patch: @@ -724,7 +724,7 @@ The circular progress Tailwind variants have been moved from `circular-progress`
882
+ Special thanks to NextUI Team members [@wingkwong](https://github.com/wingkwong), [@macci001](https://github.com/macci001),
883
+ [@ryo-manba](https://github.com/ryo-manba), [@winchesHe](https://github.com/winchesHe), [@tianenpang](https://github.com/tianenpang) and contributors for their contributions to this release.
884
+
885
+ -For a full list of changes, please refer to the [release notes](https://github.com/nextui-org/nextui/releases/tag/%40nextui-org%2Freact%402.4.0).
886
+ +For a full list of changes, please refer to the [release notes](https://github.com/nextui-org/nextui/releases/tag/%40nextui-org%2Freact%402.6.2).
887
+
888
+ <Spacer y={6} />
889
+ \n
processed_docs/pr_data_0_doc_27.txt ADDED
@@ -0,0 +1,1083 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4241
2
+ Title: Blog fixes
3
+ Base Branch: main
4
+ Head Branch: canary
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4241
7
+ State: MERGED
8
+ Created At: 2024-12-06T16:55:35Z
9
+ Merged At: 2024-12-06T16:58:37Z
10
+ Participants: jrgarciadev, ryxxn, wingkwong, abhinav700, macci001, dgz9, juliesaia, alexnguyennz, nnmax, ryo-manba, ShrinidhiUpadhyaya, sanuj21, PentSec, winchesHe, awesome-pro, CanRau, AzpektDev, Peterl561, vinroger, jubar
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+ Release Notes for NextUI v2.6.0
26
+
27
+
28
+ New Features
29
+
30
+ Introduced four new components: Form, Drawer, Input OTP, and Alert.
31
+ Enhanced Form component with built-in validation and accessibility.
32
+ Added support for React 19 and Next.js 15.
33
+ Implemented a new use-theme hook for runtime theme management.
34
+ Added draggable modal support.
35
+
36
+
37
+
38
+ Bug Fixes and Improvements
39
+
40
+ Various bug fixes and performance enhancements, including virtualization for collection-based components.
41
+ Improved TypeScript support and path type safety for routers.
42
+
43
+
44
+
45
+ Documentation
46
+
47
+ Updated documentation reflecting new components and API changes.
48
+
49
+ Commits:
50
+ - fix(input): ensure clear button is not focusable when disabled (#3774)
51
+
52
+ * fix(input): ensure clear button is not focusable when disabled
53
+
54
+ * test(input): add test to ensure clear button is not focusable when disabled
55
+
56
+ * chore: add changeset for clear button focus fix when input is disabled
57
+
58
+ * fix(input): update clear button to use button element
59
+
60
+ * test(input): add focus test when disabled
61
+
62
+ and update tests for clear button using button element
63
+
64
+ * test(input): replace querySelector with getByRole for clear button
65
+
66
+ * fix(input): set tabIndex to -1 for clear button
67
+
68
+ * test(input): ensure clear button is not focusable\n- fix(image): add missing `w` to `getWrapperProps` dependency (#3802)
69
+
70
+ * fix(image): add missing `w` to `getWrapperProps` dependency
71
+
72
+ * chore(changeset): add changeset\n- fix(autocomplete): popover should remain open after clicking clear button (#3788)
73
+
74
+ * fix: add state.open() so that dropdown is not closed
75
+
76
+ * chore: add changeset
77
+
78
+ * chore(autocomplete): add testcases for keeping lisbox open when clearButton is clicked
79
+
80
+ * chore: update changeset
81
+
82
+ * chore(autocomplete): change the docs for test cases
83
+
84
+ * chore(changeset): update changeset message and add issue number
85
+
86
+ ---------
87
+
88
+ Co-authored-by: WK Wong <[email protected]>\n- refactor(docs): example of blurred card (#3741)
89
+
90
+ * docs(card): adding info regarding the gradient for blurred card
91
+
92
+ * chore(nit): adding example
93
+
94
+ * chore(docs): revise content for card isBlurred example
95
+
96
+ * chore(docs): revise isBlurred note
97
+
98
+ ---------
99
+
100
+ Co-authored-by: Maharshi Alpesh <[email protected]>
101
+ Co-authored-by: WK Wong <[email protected]>\n- fix(docs): replace twitter logo/links with x logo/links (#3815)
102
+
103
+ * fix(docs): replace Twitter logo/links with X logo/links
104
+
105
+ * docs: update twitter references to x
106
+
107
+ * docs: update changeset for twitter to x changes
108
+
109
+ * docs: update twitter references to x
110
+
111
+ * docs: update twitter references to x
112
+
113
+ * chore(docs): undo .sponsorsrc since it's generated
114
+
115
+ * refactor(docs): remove unnecessary classes
116
+
117
+ * chore(docs): undo .sponsorsrc since it's generated
118
+
119
+ ---------
120
+
121
+ Co-authored-by: WK Wong <[email protected]>\n- fix(date-picker): adding props from calendarProps to getCalendarProps (#3773)
122
+
123
+ * fix(date-picker): adding props from calendarProps to the getCalendarProps
124
+
125
+ * chore(date-picker): adding the changeset
126
+
127
+ * chore(changeset): add issue number
128
+
129
+ ---------
130
+
131
+ Co-authored-by: Maharshi Alpesh <[email protected]>
132
+ Co-authored-by: WK Wong <[email protected]>\n- feat(autocomplete): automatically focus first non-disabled item (#2186)
133
+
134
+ Co-authored-by: WK Wong <[email protected]>\n- docs(accordion): add overflow to custom motion example (#3793)\n- fix(docs): typos in dark mode page (#3823)\n- fix(theme): fullWidth in input and select (#3768)
135
+
136
+ * fix(input): fixing the fullWidth functionality
137
+
138
+ * chore(changeset): add issue number
139
+
140
+ * chore(changeset): revise changeset message
141
+
142
+ ---------
143
+
144
+ Co-authored-by: Maharshi Alpesh <[email protected]>
145
+ Co-authored-by: WK Wong <[email protected]>\n- fix(autocomplete): exit animation on popover close (#3845)
146
+
147
+ * fix(autocomplete): exit animation on popover close
148
+
149
+ * refactor(autocomplete): getListBoxProps
150
+
151
+ ---------
152
+
153
+ Co-authored-by: WK Wong <[email protected]>\n- chore: merge branch with main\n- refactor(theme): replace the use of RTL-specific styles with logical properties (#3868)
154
+
155
+ * chore(rtl): remove the usages of rtl
156
+
157
+ * chore(changeset): adding the changeset
158
+
159
+ * chore(changeset): update changeset message
160
+
161
+ ---------
162
+
163
+ Co-authored-by: WK Wong <[email protected]>\n- fix(select): label placement discrepancy in Select (#3853)
164
+
165
+ * fix(select): label placement incorrect in case of multiline
166
+
167
+ * chore(select): adding the changeset
168
+
169
+ * chore(select): adding the tests
170
+
171
+ * chore(select): code imrovement, wkw's suggestions
172
+
173
+ * chore(changeset): update changeset message
174
+
175
+ ---------
176
+
177
+ Co-authored-by: WK Wong <[email protected]>\n- fix(theme): label placement in select and input (#3869)
178
+
179
+ * fix(theme): fix the label placement
180
+
181
+ * chore(changeset): adding the changeset
182
+
183
+ * chore(select): adding comments\n- fix(docs): avoid translating the code block (#3878)
184
+
185
+ * docs(Codeblock): avoid code be translated
186
+
187
+ * fix(docs): lint issue
188
+
189
+ ---------
190
+
191
+ Co-authored-by: WK Wong <[email protected]>\n- fix(listbox): change listBoxItem key to optional (#3883)
192
+
193
+ * fix(listbox): listBoxItem key to optional
194
+
195
+ * chore: add defaultSelectedKeys test for numeric keys and ids
196
+
197
+ * chore: add changeset\n- chore: comment out section prompts in PR template (#3884)\n- chore(test): update testing libraries and refactor (#3886)\n- fix(theme): show margin only with label in Switch component (#3861)
198
+
199
+ * fix(switch): removed right margin in wrapper #3791
200
+
201
+ * feat(changeset): added changeset
202
+
203
+ * fix(switch): removed me-2 in wrapper
204
+
205
+ * fix(switch): added ms-2 to label
206
+
207
+ * chore(changeset): correct package and message
208
+
209
+ ---------
210
+
211
+ Co-authored-by: WK Wong <[email protected]>\n- fix(theme): removed pseudo cancel btn from input (#3912)
212
+
213
+ * fix(theme): removed pseudo cancel btn from input
214
+
215
+ * chore(changeset): adding the changeset
216
+
217
+ * fix(input): conditionally hiding the webkit search
218
+
219
+ * chore(changeset): revise changeset message
220
+
221
+ ---------
222
+
223
+ Co-authored-by: WK Wong <[email protected]>\n- refactor(docs): dx improvement in accordion (#3856)
224
+
225
+ * refactor: improve dx for writing a docs component (#2544)
226
+
227
+ * refactor: improve dx for write a docs component
228
+
229
+ Signed-off-by: Innei <[email protected]>
230
+
231
+ * refactor(docs): switch to contentlayer2
232
+
233
+ * chore(docs): rename to avoid conflict
234
+
235
+ * refactor(docs): switch to next-contentlayer2
236
+
237
+ * refactor(docs): revise docs lib
238
+
239
+ * chore(deps): bump docs related dependencies
240
+
241
+ * fix(use-aria-multiselect): type issue due to ts version bump
242
+
243
+ ---------
244
+
245
+ Signed-off-by: Innei <[email protected]>
246
+ Co-authored-by: WK Wong <[email protected]>
247
+
248
+ * refactor(docs): accordion codes
249
+
250
+ * feat(docs): declare module `*.jsx?raw`
251
+
252
+ * feat(docs): include `**/*.jsx`
253
+
254
+ * fix(docs): incorrect content
255
+
256
+ * chore(docs): add new lines
257
+
258
+ * refactor(docs): lint
259
+
260
+ ---------
261
+
262
+ Signed-off-by: Innei <[email protected]>
263
+ Co-authored-by: Innei <[email protected]>\n- fix(docs): typos in hero section (#3928)\n- fix(theme): support RTL for breadcrumbs (#3927)
264
+
265
+ * fix(breadcrumbs): added separator rotation for RTL #2486
266
+
267
+ * chore(changeset): added changeset\n- fix(docs): removed unused import and merged classNames in dropdown (#3936)
268
+
269
+ * fix(breadcrumbs): added separator rotation for RTL #2486
270
+
271
+ * chore(changeset): added changeset
272
+
273
+ * fix(docs): removed unused Link import and merged classnames in dropdown\n- fix: avatar filter disableAnimation to dom prop (#3946)\n- feat: add git hook to auto update dependencies (#3365)
274
+
275
+ * feat: add git hook to auto update dependencies
276
+
277
+ * feat: update color\n- fix: prevent test matcher warning (#3893)
278
+
279
+ * fix: prevent test matcher warning
280
+
281
+ * chore: add node types
282
+
283
+ * chore: update Jest related packages
284
+
285
+ * chore: run pnpm install\n- fix(tabs): correct inert value for true condition (#3978)\n- Alert component (#3982)
286
+
287
+ * feat(alert): began the work on alert component
288
+
289
+ * fix(readme): making correction
290
+
291
+ * chore(deps): change to 2.0.0
292
+
293
+ * chore(docs): update README.md
294
+
295
+ * feat(theme): init alert tv
296
+
297
+ * chore(alert): update package.json
298
+
299
+ * feat(alert): init alert storybook structure
300
+
301
+ * chore(changeset): add changeset
302
+
303
+ * chore(changeset): change to minor
304
+
305
+ * chore(alert): revise alert package.json
306
+
307
+ * feat(alert): init test structure
308
+
309
+ * chore(deps): pnpm-lock.yaml
310
+
311
+ * feat(alert): initailized theme and basic structure
312
+
313
+ * feat(alert): completed use-alert.ts and alert.tsx
314
+
315
+ * feat(alert): remove innerWrapper, replace helperWrapper with mainWrapper, adding isCloseable prop
316
+
317
+ * feat(alert): adding isCloseable prop to baseWrapper dependency
318
+
319
+ * feat(alert): setting the default value of isCloseable prop to true
320
+
321
+ * feat(alert): moving CloseIcon inside the button
322
+
323
+ * feat(alert): updated package.json
324
+
325
+ * feat(alert): default variant and default story
326
+
327
+ * feat(alert): adding color and radius stories
328
+
329
+ * feat(alert): completed the styling
330
+
331
+ * feat(alert): add stories for isCloseable prop and restyle other stories
332
+
333
+ * feat(alert): correcting ref type
334
+
335
+ * feat(alert): add test cases
336
+
337
+ * feat(alert): remove startContent and endContent props
338
+
339
+ * feat(alert): make styling more accurate
340
+
341
+ * feat(alert): fixed default props
342
+
343
+ * feat(alert): fixed theme docs
344
+
345
+ * feat(alert): add logic for icons
346
+
347
+ * feat(alert): begin to add docs
348
+
349
+ * chore(alert): implement the changes suggested in code review
350
+
351
+ * feat(alert): add onclose prop to alert
352
+
353
+ * feat(alert): add test cases
354
+
355
+ * docs(alert): add onClose event
356
+
357
+ * feat(docs): add alert to routes.json
358
+
359
+ * fix(alert): correct the text colors
360
+
361
+ * docs(alert): fix imports and syntax errors
362
+
363
+ * chore(alert): implement the changes suggested in code review
364
+
365
+ * chore(alert): lint the code and change isCloseable to isClosable
366
+
367
+ * chore(alert): lint the code
368
+
369
+ * chore(alert): run pnpm i
370
+
371
+ * fix(alert): fix the logic for close button and add test case
372
+
373
+ * docs(alert): fix docs, change isCloseable to isClosable and change docs for isClosable property
374
+
375
+ * chore(alert): add the support for RTL, refactor the code and fix the typos
376
+
377
+ * docs(alert): grammer issues fix
378
+
379
+ * fix(alert): replace rtl with ms
380
+
381
+ * chore(alert): custom style and custom implementation, remove isClosable={false}, refactor, fix typos
382
+
383
+ * chore(alert): linting and implement coderabbit suggestions
384
+
385
+ * chore(alert): refactor and typos fix
386
+
387
+ * chore(alert): add import for closeIcon
388
+
389
+ * chore(alert): add props for closeIcon
390
+
391
+ * chore(alert): refactor fixes
392
+
393
+ * chore(alert): implement ryo-manba's suggestion on close Icon
394
+
395
+ * chore(alert): make alert more responsive
396
+
397
+ * chore(alert): fix grammer issues suggested by coderabbit
398
+
399
+ * fix(alert): add max-w property to make alert responsive
400
+
401
+ * chore(alert): improve responsiveness and refactor alertIcon
402
+
403
+ * chore(alert): add missing dependency to useMemo
404
+
405
+ * chore(alert): implement coderabbit's suggestions
406
+
407
+ * chore(alert): update docs and refactor
408
+
409
+ * chore(alert): refactor alertIcon and implement coderabbit's suggestion
410
+
411
+ * chore: fixes
412
+
413
+ ---------
414
+
415
+ Co-authored-by: Abhinav Agarwal <[email protected]>
416
+ Co-authored-by: WK Wong <[email protected]>
417
+ Co-authored-by: Abhinav Agarwal <[email protected]>\n- Feat/add draggable modal (#3983)
418
+
419
+ * feat(hooks): add use-draggable hook
420
+
421
+ * feat(components): [modal] export use-draggable
422
+
423
+ * docs(components): [modal] add draggable modal
424
+
425
+ * feat(components): [modal] add ref prop for modal-header
426
+
427
+ * chore(components): [modal] add draggable modal for storybook
428
+
429
+ * chore: add changeset for draggable modal
430
+
431
+ * docs(hooks): [use-draggable] fix typo
432
+
433
+ * chore: upper changeset
434
+
435
+ * chore(components): [modal] add overflow draggable modal to sb
436
+
437
+ * test(components): [modal] add draggable modal tests
438
+
439
+ * build: update pnpm-lock
440
+
441
+ * chore(changeset): include issue number
442
+
443
+ * feat(hooks): [use-draggable] set user-select to none when during the dragging
444
+
445
+ * docs(components): [modal] update code demo title
446
+
447
+ * docs(components): [modal] condense description for draggable overflow
448
+
449
+ * feat(hooks): [use-draggable] change version to 0.1.0
450
+
451
+ * refactor(hooks): [use-draggable] use use-move implement use-draggable
452
+
453
+ * feat(hooks): [use-draggable] remove repeated user-select
454
+
455
+ * test(components): [modal] update test case to use-draggable base use-move
456
+
457
+ * docs(components): [modal] update draggable examples
458
+
459
+ * fix(hooks): [use-draggable] fix mobile device touchmove event conflict
460
+
461
+ * refactor(hooks): [use-draggable] remove drag ref prop
462
+
463
+ * refactor(hooks): [use-draggable] draggable2is-disabled overflow2can-overflow
464
+
465
+ * test(components): [modal] add draggble disable test
466
+
467
+ * chore(hooks): [use-draggable] add commant for body touchmove
468
+
469
+ * Update packages/hooks/use-draggable/src/index.ts
470
+
471
+ Co-authored-by: Ryo Matsukawa <[email protected]>
472
+
473
+ * fix(hooks): [use-draggable] import use-callback
474
+
475
+ * test(components): [modal] add mobile-sized test for draggable
476
+
477
+ * chore(hooks): [use-draggable] add use-callback for func
478
+
479
+ * chore(hooks): [use-draggable] update version to 2.0.0
480
+
481
+ * chore: fix typo
482
+
483
+ * Update .changeset/soft-apricots-sleep.md
484
+
485
+ * fix: pnpm lock
486
+
487
+ * fix: build
488
+
489
+ * chore: add updated moadl
490
+
491
+ ---------
492
+
493
+ Co-authored-by: wzc520pyfm <[email protected]>
494
+ Co-authored-by: Υ‘Ι¨ΥΌΙ’Σ„Υ‘Φ…ΥΌΙ’ <[email protected]>
495
+ Co-authored-by: Ryo Matsukawa <[email protected]>\n- chore: upgrade react-aria / React 19 & Next.js 15 support (#3732)
496
+
497
+ * chore: upgrade react-aria
498
+
499
+ * chore: add changeset
500
+
501
+ * chore: fix type error
502
+
503
+ ---------
504
+
505
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat(date-picker): add selectorButtonPlacement property (#3248)
506
+
507
+ * feat(date-picker): add selectorButtonPlacement property
508
+
509
+ * chore: update changeset
510
+
511
+ * Update .changeset/neat-donkeys-accept.md
512
+
513
+ Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
514
+
515
+ ---------
516
+
517
+ Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
518
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat: add tab ref (#3974)
519
+
520
+ * feat: add tab ref
521
+
522
+ * feat: add changeset\n- feat: pre-release workflow (#2910)
523
+
524
+ * feat(workflow): pre-release
525
+
526
+ * feat(workflow): exit pre-release
527
+
528
+ * chore(workflow): update version & publish commands
529
+
530
+ * fix(workflow): add missing attributes and use schangeset:beta cmd
531
+
532
+ * feat(root): add changeset:beta
533
+
534
+ * fix(workflows): revise pre-release logic
535
+
536
+ * fix(workflows): add missing run
537
+
538
+ * fix(workflows): use changeset:exit with version instead
539
+
540
+ * feat(root): add changeset:exit cmd
541
+
542
+ * refactor(workflows): add pths, id, and format
543
+
544
+ * feat(workflows): enter pre-release mode
545
+
546
+ * chore(workflows): remove pre.json only
547
+
548
+ * refactor(workflows): remove enter-pre-release-mode
549
+
550
+ * fix(workflows): incorrect url
551
+
552
+ * refactor(root): remove unused exit command
553
+
554
+ * refactor(workflows): add comments
555
+
556
+ * feat(changeset): change to main branch as baseBranch
557
+
558
+ * feat(root): add changeset:canary
559
+
560
+ * refactor(workflows): remove unused workflow
561
+
562
+ * feat(workflow): support canary pre-release mode
563
+
564
+ * refactor(docs): change to canary\n- feat(popover): added control for closing popover on scroll (#3595)
565
+
566
+ * fix(navbar): fixed the height when style h-full
567
+
568
+ * fix(navbar): fixed the height when style h-full
569
+
570
+ * docs(changeset): resolved extra file
571
+
572
+ * feat(popover): added control for closing popover on scroll
573
+
574
+ * update(changeset): correction
575
+
576
+ * feat(popover): removed extra story
577
+
578
+ * refactor(test): corrected test for both true and false values of shouldCloseOnScroll
579
+
580
+ * refactor(docs): added shouldCloseOnScroll prop
581
+
582
+ * chore(changeset): change to minor
583
+
584
+ ---------
585
+
586
+ Co-authored-by: Υ‘Σ„Υ‘ <[email protected]>\n- feat: add month and year pickers to DateRangePicker and RangeCalendar (#3302)
587
+
588
+ * feat: add month and year pickers to DateRangePicker and RangeCalendar
589
+
590
+ * chore: update docs
591
+
592
+ * Update .changeset/kind-cobras-travel.md
593
+
594
+ * chore: react package version
595
+
596
+ ---------
597
+
598
+ Co-authored-by: Junior Garcia <[email protected]>\n- chore(deps): bump tailwind-merge version (#3657)
599
+
600
+ * chore(deps): bump tailwind-merge versions
601
+
602
+ * chore(theme): adopt latest extendTailwindMerge
603
+
604
+ * chore(changeset): add changeset
605
+
606
+ * chore(changeset): change to minor
607
+
608
+ * Update .changeset/grumpy-mayflies-rhyme.md
609
+
610
+ ---------
611
+
612
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat: added drawer component (#3986)
613
+
614
+ Signed-off-by: The1111mp <[email protected]>
615
+ Co-authored-by: The1111mp <[email protected]>\n- refactor: optimisations (#3523)
616
+
617
+ * refactor: replace lodash with native approaches
618
+
619
+ * refactor(deps): update framer-motion versions
620
+
621
+ * feat(utilities): add @nextui-org/dom-animation
622
+
623
+ * refactor(components): load domAnimation dynamically
624
+
625
+ * refactor(deps): add @nextui-org/dom-animation
626
+
627
+ * fix(utilities): relocate index.ts
628
+
629
+ * feat(changeset): framer motion optimization
630
+
631
+ * chore(deps): bump framer-motion version
632
+
633
+ * fix(docs): conflict issue
634
+
635
+ * refactor(hooks): remove the unnecessary this aliasing
636
+
637
+ * refactor(utilities): remove the unnecessary this aliasing
638
+
639
+ * chore(docs): remove {} so that it won't be true all the time
640
+
641
+ * chore(dom-animation): end with new line
642
+
643
+ * refactor(hooks): use debounce from `@nextui-org/shared-utils`
644
+
645
+ * chore(deps): add `@nextui-org/shared-utils`
646
+
647
+ * refactor: move mapKeys logic to `@nextui-org/shared-utils`
648
+
649
+ * refactor: use `get` from `@nextui-org/shared-utils`
650
+
651
+ * refactor(docs): use `get` from `@nextui-org/shared-utils`
652
+
653
+ * refactor(shared-utils): mapKeys
654
+
655
+ * chore(deps): bump framer-motion version
656
+
657
+ * chore(deps): remove lodash
658
+
659
+ * refactor(docs): use intersectionBy from shared-utils
660
+
661
+ * feat(shared-utils): add intersectionBy
662
+
663
+ * chore(dom-animation): remove extra blank line
664
+
665
+ * refactor(shared-utils): revise intersectionBy
666
+
667
+ * fix(modal): add willChange
668
+
669
+ * refactor(shared-utils): add comments
670
+
671
+ * fix: build & tests
672
+
673
+ ---------
674
+
675
+ Co-authored-by: Junior Garcia <[email protected]>\n- feat(hooks): use-theme hook (#3169)
676
+
677
+ * feat(docs): update dark mode content
678
+
679
+ * feat(hooks): @nextui-org/use-theme
680
+
681
+ * chore(docs): revise ThemeSwitcher code
682
+
683
+ * refactor(hooks): simplify useTheme and support custom theme names
684
+
685
+ * feat(hooks): add use-theme test cases
686
+
687
+ * feat(changeset): add changeset
688
+
689
+ * refactor(hooks): make localStorageMock globally and clear before each test
690
+
691
+ * fix(docs): typo
692
+
693
+ * fix(hooks): coderabbitai comments
694
+
695
+ * chore(hooks): remove unnecessary +
696
+
697
+ * chore(changeset): change to minor
698
+
699
+ * feat(hooks): handle system theme
700
+
701
+ * chore(hooks): add EOL
702
+
703
+ * refactor(hooks): add default theme
704
+
705
+ * refactor(hooks): revise useTheme
706
+
707
+ * refactor(hooks): resolve pr comments
708
+
709
+ * refactor(hooks): resolve pr comments
710
+
711
+ * refactor(hooks): resolve pr comments
712
+
713
+ * refactor(hooks): remove unused theme in dependency array
714
+
715
+ * chore(docs): typos
716
+
717
+ * refactor(hooks): mark system as key for system theme
718
+
719
+ * chore: merged with canary
720
+
721
+ ---------
722
+
723
+ Co-authored-by: Junior Garcia <[email protected]>\n- Fix/avatar flashing (#3987)
724
+
725
+ * fix(use-image): cached image flashing
726
+
727
+ * chore: merged with canary
728
+
729
+ ---------
730
+
731
+ Co-authored-by: Rakha Kanz Kautsar <[email protected]>\n- refactor(menu): Use `useMenu` and `useMenuItem` from RA (#3261)
732
+
733
+ * refactor(menu): use useMenu from react-aria instead
734
+
735
+ * refactor(menu): use useMenuItem from react-aria instead
736
+
737
+ * feat(changeset): add changeset
738
+
739
+ * chore: merged with canary
740
+
741
+ * fix: dropdown tests
742
+
743
+ ---------
744
+
745
+ Co-authored-by: Junior Garcia <[email protected]>\n- fix(theme): added stripe color gradients for progress (#3938)
746
+
747
+ * fix(breadcrumbs): added separator rotation for RTL #2486
748
+
749
+ * chore(changeset): added changeset
750
+
751
+ * fix(docs): removed unused Link import and merged classnames in dropdown
752
+
753
+ * fix(theme):added stripe color gradients for progress #1933
754
+
755
+ * refactor(theme): added stripe-size and createStripeGradient\n- chore: add all minor releases\n- fix(docs): invalid canary storybook link (#4030)\n- fix(use-image): image ReferenceError in SSR (#4122)
756
+
757
+ * fix(use-image): image ReferenceError in SSR
758
+
759
+ * fix(use-image): sync with beta
760
+
761
+ * fix(use-image): sync with beta
762
+
763
+ * chore(use-image): remove unnecessary comments\n- fix(docs): buildLocation expects an object (#4118)
764
+
765
+ * fix(docs): routing.mdx
766
+
767
+ * Delete .changeset/pre.json\n- chore: merged with main\n- chore(docs): update yarn installation command (#4132)
768
+
769
+ There is no `-g` flag in yarn. `global` is a command which must immediately follow yarn.
770
+
771
+ Source: https://classic.yarnpkg.com/lang/en/docs/cli/global/\n
772
+
773
+ Labels:
774
+
775
+
776
+ Comments:
777
+ - vercel: [vc]: #jTAisewq0ydFSEydCyUctP8YmAkIh65eG8AMc2Kmolw=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9BMTYyQnZpQkJDb0VtcXZFVTRzZDg0Zkthb3F2IiwicHJldmlld1VybCI6IiIsIm5leHRDb21taXRTdGF0dXMiOiJDQU5DRUxFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiIifX0seyJuYW1lIjoibmV4dHVpLXN0b3J5Ym9vay12MiIsInJvb3REaXJlY3RvcnkiOiJwYWNrYWdlcy9zdG9yeWJvb2siLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktc3Rvcnlib29rLXYyLzZxS1lGMnlnVmY0R1F6ejF5ZjFZQzRyeWZqSzciLCJwcmV2aWV3VXJsIjoiIiwibmV4dENvbW1pdFN0YXR1cyI6IkNBTkNFTEVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6IiJ9fV19
778
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
779
+
780
+ | Name | Status | Preview | Comments | Updated (UTC) |
781
+ | :--- | :----- | :------ | :------- | :------ |
782
+ | **nextui-docs-v2** | πŸ›‘ Canceled ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/A162BviBBCoEmqvEU4sd84fKaoqv)) | | | Dec 6, 2024 5:05pm |
783
+ | **nextui-storybook-v2** | πŸ›‘ Canceled ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/6qKYF2ygVf4GQzz1yf1YC4ryfjK7)) | | | Dec 6, 2024 5:05pm |
784
+
785
+
786
+ \n- changeset-bot: ### ⚠️ No Changeset found
787
+
788
+ Latest commit: 88782fc6b4c72d9bb7dcef65dd1c17282d41aca4
789
+
790
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
791
+
792
+ <details><summary>This PR includes no changesets</summary>
793
+
794
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
795
+
796
+ </details>
797
+
798
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
799
+
800
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/canary?filename=.changeset/large-news-act.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0ABlog%20fixes%0A)
801
+
802
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
803
+ <!-- This is an auto-generated comment: failure by coderabbit.ai -->
804
+
805
+ > [!CAUTION]
806
+ > ## Review failed
807
+ >
808
+ > The pull request is closed.
809
+
810
+ <!-- end of auto-generated comment: failure by coderabbit.ai -->
811
+
812
+ <!-- internal state start -->
813
+
814
+
815
+ <!-- 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 -->
816
+
817
+ <!-- internal state end -->
818
+ <!-- walkthrough_start -->
819
+
820
+ ## Walkthrough
821
+ The changes in this pull request introduce NextUI version 2.6.0, which includes four new components: Form, Drawer, Input OTP, and Alert. It updates existing components with new props and methods, enhances TypeScript support, and improves accessibility features. The release also focuses on performance enhancements and bug fixes. Additionally, new usage examples for the Form and Input OTP components are provided, showcasing their implementation and validation logic.
822
+
823
+ ## Changes
824
+
825
+ | File Path | Change Summary |
826
+ |-----------------------------------------------------|---------------------------------------------------------------------------------------------------|
827
+ | `apps/docs/content/blog/v2.6.0.mdx` | Added release notes for NextUI 2.6.0, detailing new components, bug fixes, and breaking changes. |
828
+ | `src/components/Form.jsx` | New component added: `Form` with built-in validation and submission handling. |
829
+ | `src/components/Drawer.jsx` | New component added: `Drawer` providing a sliding panel. |
830
+ | `src/components/InputOtp.jsx` | New component added: `Input OTP` for one-time password entry. |
831
+ | `src/components/Alert.jsx` | New component added: `Alert` for displaying messages. |
832
+ | `src/hooks/useTheme.js` | New hook added: `use-theme` for runtime theme management. |
833
+ | `src/providers/NextUIProvider.jsx` | Updated method signatures for `useHref` and `navigate`. |
834
+ | `src/components/DatePicker.jsx` | Updated method signature for `selectorButtonPlacement`. |
835
+ | `src/components/Tabs.jsx` | Updated method signature for `tabRef`. |
836
+ | `src/components/Popover.jsx` | Updated method signature for `shouldCloseOnScroll`. |
837
+ | `src/components/Table.jsx` | Updated method signature for `isKeyboardNavigationDisabled`. |
838
+ | `src/components/Textarea.jsx` | Updated method signature for `isClearable`. |
839
+ | `src/components/Select.jsx` | Updated method signature for `hideEmptyContent`. |
840
+ | `apps/docs/content/components/form/form-usage.raw.jsx` | New component `App` added demonstrating the usage of `Form`, `Input`, and `Button`. |
841
+ | `apps/docs/content/components/form/real-time-validation.raw.jsx` | Modified `App` component to include new class name for styling. |
842
+ | `apps/docs/content/components/form/usage.ts` | Updated import path for `App` component. |
843
+ | `apps/docs/content/components/input-otp/input-otp-required.raw.jsx` | New component `App` added for OTP input handling. |
844
+ | `apps/docs/content/components/input-otp/required.ts` | Updated import path for `App` component. |
845
+
846
+ ## Possibly related PRs
847
+ - **#3106**: This PR supplements validation behavior, which is relevant to the new `Form` component introduced in the main PR that includes built-in validation features.
848
+ - **#3274**: This documentation refactor includes updates to the `input` component, which is related to the `Input OTP` component added in the main PR that also deals with form input handling.
849
+ - **#3822**: This PR adds a forms guide, which directly relates to the new `Form` component and its usage in the main PR.
850
+ - **#4198**: This PR addresses issues with `forwardRef` in several components, including dropdowns and menus, which may be relevant to the new components introduced in the main PR that could utilize similar patterns.
851
+ - **#4204**: This PR fixes a double 'use client' directive in the `@nextui-org/react` package, which may indirectly relate to the overall stability and functionality of the new components introduced in the main PR.
852
+ - **#4227**: This PR adds a new section for NextUI Pro on the landing page, which may enhance the visibility of the new components introduced in the main PR, although it does not directly relate to the code changes.
853
+
854
+ ## Suggested labels
855
+ `πŸ“‹ Scope : Docs`
856
+
857
+ ## Suggested reviewers
858
+ - wingkwong
859
+
860
+ <!-- walkthrough_end -->
861
+
862
+ ---
863
+
864
+ <details>
865
+ <summary>πŸ“œ Recent review details</summary>
866
+
867
+ **Configuration used: .coderabbit.yaml**
868
+ **Review profile: CHILL**
869
+
870
+ <details>
871
+ <summary>πŸ“₯ Commits</summary>
872
+
873
+ Reviewing files that changed from the base of the PR and between 935124cb795ed0eeda6d2aa83b820a640ea1eb28 and 88782fc6b4c72d9bb7dcef65dd1c17282d41aca4.
874
+
875
+ </details>
876
+
877
+ <details>
878
+ <summary>πŸ“’ Files selected for processing (6)</summary>
879
+
880
+ * `apps/docs/content/blog/v2.6.0.mdx` (1 hunks)
881
+ * `apps/docs/content/components/form/form-usage.raw.jsx` (1 hunks)
882
+ * `apps/docs/content/components/form/real-time-validation.raw.jsx` (1 hunks)
883
+ * `apps/docs/content/components/form/usage.ts` (1 hunks)
884
+ * `apps/docs/content/components/input-otp/input-otp-required.raw.jsx` (1 hunks)
885
+ * `apps/docs/content/components/input-otp/required.ts` (1 hunks)
886
+
887
+ </details>
888
+
889
+ </details>
890
+ <!-- tips_start -->
891
+
892
+ ---
893
+
894
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
895
+
896
+ <details>
897
+ <summary>❀️ Share</summary>
898
+
899
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
900
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
901
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
902
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
903
+
904
+ </details>
905
+
906
+ <details>
907
+ <summary>πŸͺ§ Tips</summary>
908
+
909
+ ### Chat
910
+
911
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
912
+
913
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
914
+ - `I pushed a fix in commit <commit_id>, please review it.`
915
+ - `Generate unit testing code for this file.`
916
+ - `Open a follow-up GitHub issue for this discussion.`
917
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
918
+ - `@coderabbitai generate unit testing code for this file.`
919
+ - `@coderabbitai modularize this function.`
920
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
921
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
922
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
923
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
924
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
925
+
926
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
927
+
928
+ ### CodeRabbit Commands (Invoked using PR comments)
929
+
930
+ - `@coderabbitai pause` to pause the reviews on a PR.
931
+ - `@coderabbitai resume` to resume the paused reviews.
932
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
933
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
934
+ - `@coderabbitai summary` to regenerate the summary of the PR.
935
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
936
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
937
+ - `@coderabbitai help` to get help.
938
+
939
+ ### Other keywords and placeholders
940
+
941
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
942
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
943
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
944
+
945
+ ### Documentation and Community
946
+
947
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
948
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
949
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
950
+
951
+ </details>
952
+
953
+ <!-- tips_end -->\n
954
+
955
+ Files Changed:
956
+ - apps/docs/content/blog/v2.6.0.mdx (modified, 29 changes)\n Patch: @@ -610,32 +610,25 @@ We try to keep the breaking changes to a minimum, but sometimes it's necessary t
957
+
958
+ The nested group selectors for table themes have been updated to require explicit element selectors. You'll need to add `/tr` or `/th` to custom styles for group-data.
959
+
960
+ -Before:
961
+
962
+ -```css
963
+ -group-data-[disabled=true]: text-foreground-300;
964
+ -```
965
+ -
966
+ -After:
967
+ +```diff-tsx
968
+ +// Before
969
+ +- group-data-[disabled=true]:text-foreground-300;
970
+
971
+ -```css
972
+ -group-data-[disabled=true]/tr: text-foreground-300;
973
+ +// After
974
+ ++ group-data-[disabled=true]/tr:text-foreground-300;
975
+ ```
976
+
977
+ #### Circular Progress Theme Location
978
+
979
+ -The circular progress Tailwind variants have been moved from `circular-progress` to `progress`. You'll need to update your Tailwind CSS configuration:
980
+ -
981
+ -Before:
982
+ -
983
+ -```js
984
+ -"./node_modules/@nextui-org/theme/dist/components/circular-progress.js";
985
+ -```
986
+ +The circular progress Tailwind variants have been moved from `circular-progress` to `progress`. You'll need to update your Tailwind CSS configuration `tailwind.config.js`:
987
+
988
+ -After:
989
+ +```diff-tsx
990
+ +// Before
991
+ +- "./node_modules/@nextui-org/theme/dist/components/circular-progress.js";
992
+
993
+ -```js
994
+ -"./node_modules/@nextui-org/theme/dist/components/progress.js";
995
+ +// After
996
+ ++ "./node_modules/@nextui-org/theme/dist/components/progress.js";
997
+ ```
998
+
999
+ <Spacer y={4} />\n- apps/docs/content/components/form/form-usage.raw.jsx (added, 35 changes)\n Patch: @@ -0,0 +1,35 @@
1000
+ +import {Form, Input, Button} from "@nextui-org/react";
1001
+ +
1002
+ +export default function App() {
1003
+ + const [submitted, setSubmitted] = React.useState(null);
1004
+ +
1005
+ + const onSubmit = (e) => {
1006
+ + e.preventDefault();
1007
+ +
1008
+ + const data = Object.fromEntries(new FormData(e.currentTarget));
1009
+ +
1010
+ + setSubmitted(data);
1011
+ + };
1012
+ +
1013
+ + return (
1014
+ + <Form className="w-full max-w-xs" validationBehavior="native" onSubmit={onSubmit}>
1015
+ + <Input
1016
+ + isRequired
1017
+ + errorMessage="Please enter a valid email"
1018
+ + label="Email"
1019
+ + labelPlacement="outside"
1020
+ + name="email"
1021
+ + placeholder="Enter your email"
1022
+ + type="email"
1023
+ + />
1024
+ + <Button type="submit" variant="bordered">
1025
+ + Submit
1026
+ + </Button>
1027
+ + {submitted && (
1028
+ + <div className="text-small text-default-500">
1029
+ + You submitted: <code>{JSON.stringify(submitted)}</code>
1030
+ + </div>
1031
+ + )}
1032
+ + </Form>
1033
+ + );
1034
+ +}\n- apps/docs/content/components/form/real-time-validation.raw.jsx (modified, 1 changes)\n Patch: @@ -16,6 +16,7 @@ export default function App() {
1035
+
1036
+ return (
1037
+ <Input
1038
+ + className="max-w-xs"
1039
+ errorMessage={() => (
1040
+ <ul>
1041
+ {errors.map((error, i) => (\n- apps/docs/content/components/form/usage.ts (modified, 2 changes)\n Patch: @@ -1,4 +1,4 @@
1042
+ -import App from "./usage.raw.jsx?raw";
1043
+ +import App from "./form-usage.raw.jsx?raw";
1044
+
1045
+ const react = {
1046
+ "/App.jsx": App,\n- apps/docs/content/components/input-otp/input-otp-required.raw.jsx (added, 32 changes)\n Patch: @@ -0,0 +1,32 @@
1047
+ +import {Button, InputOtp, Form} from "@nextui-org/react";
1048
+ +
1049
+ +export default function App() {
1050
+ + const [otp, setOtp] = React.useState("");
1051
+ +
1052
+ + return (
1053
+ + <Form
1054
+ + className="flex w-full flex-col items-start gap-4"
1055
+ + validationBehavior="native"
1056
+ + onSubmit={(e) => {
1057
+ + e.preventDefault();
1058
+ + const formData = new FormData(e.currentTarget);
1059
+ + const otp = formData.get("otp");
1060
+ +
1061
+ + setOtp(otp);
1062
+ + }}
1063
+ + >
1064
+ + <InputOtp
1065
+ + isRequired
1066
+ + aria-label="OTP input field"
1067
+ + length={4}
1068
+ + name="otp"
1069
+ + placeholder="Enter code"
1070
+ + validationBehavior="native"
1071
+ + />
1072
+ + <Button size="sm" type="submit" variant="bordered">
1073
+ + Submit
1074
+ + </Button>
1075
+ + {otp && <div className="text-small text-default-500">OTP submitted: {otp}</div>}
1076
+ + </Form>
1077
+ + );
1078
+ +}\n- apps/docs/content/components/input-otp/required.ts (modified, 2 changes)\n Patch: @@ -1,4 +1,4 @@
1079
+ -import App from "./required.raw.jsx?raw";
1080
+ +import App from "./input-otp-required.raw.jsx?raw";
1081
+
1082
+ const react = {
1083
+ "/App.jsx": App,\n
processed_docs/pr_data_0_doc_28.txt ADDED
@@ -0,0 +1,1673 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4237
2
+ Title: ci(changesets): :package: version packages
3
+ Base Branch: canary
4
+ Head Branch: changeset-release/canary
5
+ Author: github-actions
6
+ URL: https://github.com/nextui-org/nextui/pull/4237
7
+ State: MERGED
8
+ Created At: 2024-12-06T14:42:44Z
9
+ Merged At: 2024-12-06T14:44:32Z
10
+ Participants: jrgarciadev
11
+
12
+ Description:
13
+ This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to canary, this PR will be updated.
14
+ Releases
15
+ @nextui-org/[email protected]
16
+ Patch Changes
17
+
18
+
19
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
20
+
21
+
22
+ Updated dependencies [d6eee4a]:
23
+
24
+ @nextui-org/[email protected]
25
+ @nextui-org/[email protected]
26
+ @nextui-org/[email protected]
27
+ @nextui-org/[email protected]
28
+ @nextui-org/[email protected]
29
+ @nextui-org/[email protected]
30
+ @nextui-org/[email protected]
31
+ @nextui-org/[email protected]
32
+
33
+
34
+
35
+ @nextui-org/[email protected]
36
+ Patch Changes
37
+
38
+
39
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
40
+
41
+
42
+ Updated dependencies [d6eee4a]:
43
+
44
+ @nextui-org/[email protected]
45
+ @nextui-org/[email protected]
46
+ @nextui-org/[email protected]
47
+ @nextui-org/[email protected]
48
+
49
+
50
+
51
+ @nextui-org/[email protected]
52
+ Patch Changes
53
+
54
+
55
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
56
+
57
+
58
+ Updated dependencies [d6eee4a]:
59
+
60
+ @nextui-org/[email protected]
61
+ @nextui-org/[email protected]
62
+ @nextui-org/[email protected]
63
+ @nextui-org/[email protected]
64
+ @nextui-org/[email protected]
65
+ @nextui-org/[email protected]
66
+ @nextui-org/[email protected]
67
+ @nextui-org/[email protected]
68
+ @nextui-org/[email protected]
69
+ @nextui-org/[email protected]
70
+ @nextui-org/[email protected]
71
+ @nextui-org/[email protected]
72
+ @nextui-org/[email protected]
73
+
74
+
75
+
76
+ @nextui-org/[email protected]
77
+ Patch Changes
78
+
79
+
80
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
81
+
82
+
83
+ Updated dependencies [d6eee4a]:
84
+
85
+ @nextui-org/[email protected]
86
+ @nextui-org/[email protected]
87
+ @nextui-org/[email protected]
88
+
89
+
90
+
91
+ @nextui-org/[email protected]
92
+ Patch Changes
93
+
94
+
95
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
96
+
97
+
98
+ Updated dependencies [d6eee4a]:
99
+
100
+ @nextui-org/[email protected]
101
+ @nextui-org/[email protected]
102
+
103
+
104
+
105
+ @nextui-org/[email protected]
106
+ Patch Changes
107
+
108
+
109
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
110
+
111
+
112
+ Updated dependencies [d6eee4a]:
113
+
114
+ @nextui-org/[email protected]
115
+ @nextui-org/[email protected]
116
+ @nextui-org/[email protected]
117
+
118
+
119
+
120
+ @nextui-org/[email protected]
121
+ Patch Changes
122
+
123
+
124
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
125
+
126
+
127
+ Updated dependencies [d6eee4a]:
128
+
129
+ @nextui-org/[email protected]
130
+ @nextui-org/[email protected]
131
+ @nextui-org/[email protected]
132
+ @nextui-org/[email protected]
133
+ @nextui-org/[email protected]
134
+
135
+
136
+
137
+ @nextui-org/[email protected]
138
+ Patch Changes
139
+
140
+
141
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
142
+
143
+
144
+ Updated dependencies [d6eee4a]:
145
+
146
+ @nextui-org/[email protected]
147
+ @nextui-org/[email protected]
148
+ @nextui-org/[email protected]
149
+ @nextui-org/[email protected]
150
+ @nextui-org/[email protected]
151
+ @nextui-org/[email protected]
152
+ @nextui-org/[email protected]
153
+
154
+
155
+
156
+ @nextui-org/[email protected]
157
+ Patch Changes
158
+
159
+
160
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
161
+
162
+
163
+ Updated dependencies [d6eee4a]:
164
+
165
+ @nextui-org/[email protected]
166
+ @nextui-org/[email protected]
167
+ @nextui-org/[email protected]
168
+ @nextui-org/[email protected]
169
+
170
+
171
+
172
+ @nextui-org/[email protected]
173
+ Patch Changes
174
+
175
+
176
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
177
+
178
+
179
+ Updated dependencies [d6eee4a]:
180
+
181
+ @nextui-org/[email protected]
182
+ @nextui-org/[email protected]
183
+ @nextui-org/[email protected]
184
+ @nextui-org/[email protected]
185
+ @nextui-org/[email protected]
186
+
187
+
188
+
189
+ @nextui-org/[email protected]
190
+ Patch Changes
191
+
192
+
193
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
194
+
195
+
196
+ Updated dependencies [d6eee4a]:
197
+
198
+ @nextui-org/[email protected]
199
+ @nextui-org/[email protected]
200
+ @nextui-org/[email protected]
201
+
202
+
203
+
204
+ @nextui-org/[email protected]
205
+ Patch Changes
206
+
207
+
208
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
209
+
210
+
211
+ Updated dependencies [d6eee4a]:
212
+
213
+ @nextui-org/[email protected]
214
+ @nextui-org/[email protected]
215
+ @nextui-org/[email protected]
216
+
217
+
218
+
219
+ @nextui-org/[email protected]
220
+ Patch Changes
221
+
222
+
223
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
224
+
225
+
226
+ Updated dependencies [d6eee4a]:
227
+
228
+ @nextui-org/[email protected]
229
+ @nextui-org/[email protected]
230
+ @nextui-org/[email protected]
231
+
232
+
233
+
234
+ @nextui-org/[email protected]
235
+ Patch Changes
236
+
237
+
238
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
239
+
240
+
241
+ Updated dependencies [d6eee4a]:
242
+
243
+ @nextui-org/[email protected]
244
+ @nextui-org/[email protected]
245
+ @nextui-org/[email protected]
246
+ @nextui-org/[email protected]
247
+ @nextui-org/[email protected]
248
+ @nextui-org/[email protected]
249
+ @nextui-org/[email protected]
250
+ @nextui-org/[email protected]
251
+ @nextui-org/[email protected]
252
+
253
+
254
+
255
+ @nextui-org/[email protected]
256
+ Patch Changes
257
+
258
+
259
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
260
+
261
+
262
+ Updated dependencies [d6eee4a]:
263
+
264
+ @nextui-org/[email protected]
265
+ @nextui-org/[email protected]
266
+ @nextui-org/[email protected]
267
+
268
+
269
+
270
+ @nextui-org/[email protected]
271
+ Patch Changes
272
+
273
+
274
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
275
+
276
+
277
+ Updated dependencies [d6eee4a]:
278
+
279
+ @nextui-org/[email protected]
280
+ @nextui-org/[email protected]
281
+ @nextui-org/[email protected]
282
+ @nextui-org/[email protected]
283
+
284
+
285
+
286
+ @nextui-org/[email protected]
287
+ Patch Changes
288
+
289
+
290
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
291
+
292
+
293
+ Updated dependencies [d6eee4a]:
294
+
295
+ @nextui-org/[email protected]
296
+ @nextui-org/[email protected]
297
+ @nextui-org/[email protected]
298
+ @nextui-org/[email protected]
299
+ @nextui-org/[email protected]
300
+
301
+
302
+
303
+ @nextui-org/[email protected]
304
+ Patch Changes
305
+
306
+
307
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
308
+
309
+
310
+ Updated dependencies [d6eee4a]:
311
+
312
+ @nextui-org/[email protected]
313
+ @nextui-org/[email protected]
314
+ @nextui-org/[email protected]
315
+ @nextui-org/[email protected]
316
+
317
+
318
+
319
+ @nextui-org/[email protected]
320
+ Patch Changes
321
+
322
+
323
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
324
+
325
+
326
+ Updated dependencies [d6eee4a]:
327
+
328
+ @nextui-org/[email protected]
329
+ @nextui-org/[email protected]
330
+ @nextui-org/[email protected]
331
+
332
+
333
+
334
+ @nextui-org/[email protected]
335
+ Patch Changes
336
+
337
+
338
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
339
+
340
+
341
+ Updated dependencies [d6eee4a]:
342
+
343
+ @nextui-org/[email protected]
344
+ @nextui-org/[email protected]
345
+ @nextui-org/[email protected]
346
+ @nextui-org/[email protected]
347
+ @nextui-org/[email protected]
348
+
349
+
350
+
351
+ @nextui-org/[email protected]
352
+ Patch Changes
353
+
354
+
355
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
356
+
357
+
358
+ Updated dependencies [d6eee4a]:
359
+
360
+ @nextui-org/[email protected]
361
+ @nextui-org/[email protected]
362
+ @nextui-org/[email protected]
363
+
364
+
365
+
366
+ @nextui-org/[email protected]
367
+ Patch Changes
368
+
369
+
370
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
371
+
372
+
373
+ Updated dependencies [d6eee4a]:
374
+
375
+ @nextui-org/[email protected]
376
+ @nextui-org/[email protected]
377
+ @nextui-org/[email protected]
378
+
379
+
380
+
381
+ @nextui-org/[email protected]
382
+ Patch Changes
383
+
384
+
385
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
386
+
387
+
388
+ Updated dependencies [d6eee4a]:
389
+
390
+ @nextui-org/[email protected]
391
+ @nextui-org/[email protected]
392
+ @nextui-org/[email protected]
393
+ @nextui-org/[email protected]
394
+
395
+
396
+
397
+ @nextui-org/[email protected]
398
+ Patch Changes
399
+
400
+
401
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
402
+
403
+
404
+ Updated dependencies [d6eee4a]:
405
+
406
+ @nextui-org/[email protected]
407
+ @nextui-org/[email protected]
408
+ @nextui-org/[email protected]
409
+ @nextui-org/[email protected]
410
+ @nextui-org/[email protected]
411
+
412
+
413
+
414
+ @nextui-org/[email protected]
415
+ Patch Changes
416
+
417
+
418
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
419
+
420
+
421
+ Updated dependencies [d6eee4a]:
422
+
423
+ @nextui-org/[email protected]
424
+ @nextui-org/[email protected]
425
+ @nextui-org/[email protected]
426
+ @nextui-org/[email protected]
427
+ @nextui-org/[email protected]
428
+ @nextui-org/[email protected]
429
+
430
+
431
+
432
+ @nextui-org/[email protected]
433
+ Patch Changes
434
+
435
+
436
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
437
+
438
+
439
+ Updated dependencies [d6eee4a]:
440
+
441
+ @nextui-org/[email protected]
442
+ @nextui-org/[email protected]
443
+ @nextui-org/[email protected]
444
+ @nextui-org/[email protected]
445
+ @nextui-org/[email protected]
446
+ @nextui-org/[email protected]
447
+ @nextui-org/[email protected]
448
+ @nextui-org/[email protected]
449
+ @nextui-org/[email protected]
450
+
451
+
452
+
453
+ @nextui-org/[email protected]
454
+ Patch Changes
455
+
456
+
457
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
458
+
459
+
460
+ Updated dependencies [d6eee4a]:
461
+
462
+ @nextui-org/[email protected]
463
+ @nextui-org/[email protected]
464
+ @nextui-org/[email protected]
465
+ @nextui-org/[email protected]
466
+ @nextui-org/[email protected]
467
+ @nextui-org/[email protected]
468
+
469
+
470
+
471
+ @nextui-org/[email protected]
472
+ Patch Changes
473
+
474
+
475
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
476
+
477
+
478
+ Updated dependencies [d6eee4a]:
479
+
480
+ @nextui-org/[email protected]
481
+ @nextui-org/[email protected]
482
+ @nextui-org/[email protected]
483
+ @nextui-org/[email protected]
484
+ @nextui-org/[email protected]
485
+
486
+
487
+
488
+ @nextui-org/[email protected]
489
+ Patch Changes
490
+
491
+
492
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
493
+
494
+
495
+ Updated dependencies [d6eee4a]:
496
+
497
+ @nextui-org/[email protected]
498
+ @nextui-org/[email protected]
499
+ @nextui-org/[email protected]
500
+ @nextui-org/[email protected]
501
+ @nextui-org/[email protected]
502
+ @nextui-org/[email protected]
503
+ @nextui-org/[email protected]
504
+ @nextui-org/[email protected]
505
+
506
+
507
+
508
+ @nextui-org/[email protected]
509
+ Patch Changes
510
+
511
+
512
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
513
+
514
+
515
+ Updated dependencies [d6eee4a]:
516
+
517
+ @nextui-org/[email protected]
518
+ @nextui-org/[email protected]
519
+ @nextui-org/[email protected]
520
+
521
+
522
+
523
+ @nextui-org/[email protected]
524
+ Patch Changes
525
+
526
+
527
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
528
+
529
+
530
+ Updated dependencies [d6eee4a]:
531
+
532
+ @nextui-org/[email protected]
533
+ @nextui-org/[email protected]
534
+ @nextui-org/[email protected]
535
+
536
+
537
+
538
+ @nextui-org/[email protected]
539
+ Patch Changes
540
+
541
+
542
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
543
+
544
+
545
+ Updated dependencies [d6eee4a]:
546
+
547
+ @nextui-org/[email protected]
548
+ @nextui-org/[email protected]
549
+ @nextui-org/[email protected]
550
+
551
+
552
+
553
+ @nextui-org/[email protected]
554
+ Patch Changes
555
+
556
+
557
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
558
+
559
+
560
+ Updated dependencies [d6eee4a]:
561
+
562
+ @nextui-org/[email protected]
563
+ @nextui-org/[email protected]
564
+ @nextui-org/[email protected]
565
+
566
+
567
+
568
+ @nextui-org/[email protected]
569
+ Patch Changes
570
+
571
+
572
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
573
+
574
+
575
+ Updated dependencies [d6eee4a]:
576
+
577
+ @nextui-org/[email protected]
578
+ @nextui-org/[email protected]
579
+ @nextui-org/[email protected]
580
+ @nextui-org/[email protected]
581
+ @nextui-org/[email protected]
582
+ @nextui-org/[email protected]
583
+ @nextui-org/[email protected]
584
+ @nextui-org/[email protected]
585
+ @nextui-org/[email protected]
586
+ @nextui-org/[email protected]
587
+ @nextui-org/[email protected]
588
+ @nextui-org/[email protected]
589
+
590
+
591
+
592
+ @nextui-org/[email protected]
593
+ Patch Changes
594
+
595
+
596
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
597
+
598
+
599
+ Updated dependencies [d6eee4a]:
600
+
601
+ @nextui-org/[email protected]
602
+ @nextui-org/[email protected]
603
+
604
+
605
+
606
+ @nextui-org/[email protected]
607
+ Patch Changes
608
+
609
+
610
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
611
+
612
+
613
+ Updated dependencies [d6eee4a]:
614
+
615
+ @nextui-org/[email protected]
616
+ @nextui-org/[email protected]
617
+ @nextui-org/[email protected]
618
+
619
+
620
+
621
+ @nextui-org/[email protected]
622
+ Patch Changes
623
+
624
+
625
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
626
+
627
+
628
+ Updated dependencies [d6eee4a]:
629
+
630
+ @nextui-org/[email protected]
631
+ @nextui-org/[email protected]
632
+ @nextui-org/[email protected]
633
+ @nextui-org/[email protected]
634
+ @nextui-org/[email protected]
635
+ @nextui-org/[email protected]
636
+
637
+
638
+
639
+ @nextui-org/[email protected]
640
+ Patch Changes
641
+
642
+
643
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
644
+
645
+
646
+ Updated dependencies [d6eee4a]:
647
+
648
+ @nextui-org/[email protected]
649
+ @nextui-org/[email protected]
650
+ @nextui-org/[email protected]
651
+
652
+
653
+
654
+ @nextui-org/[email protected]
655
+ Patch Changes
656
+
657
+
658
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
659
+
660
+
661
+ Updated dependencies [d6eee4a]:
662
+
663
+ @nextui-org/[email protected]
664
+ @nextui-org/[email protected]
665
+ @nextui-org/[email protected]
666
+
667
+
668
+
669
+ @nextui-org/[email protected]
670
+ Patch Changes
671
+
672
+
673
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
674
+
675
+
676
+ Updated dependencies [d6eee4a]:
677
+
678
+ @nextui-org/[email protected]
679
+ @nextui-org/[email protected]
680
+ @nextui-org/[email protected]
681
+
682
+
683
+
684
+ @nextui-org/[email protected]
685
+ Patch Changes
686
+
687
+
688
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
689
+
690
+
691
+ Updated dependencies [d6eee4a]:
692
+
693
+ @nextui-org/[email protected]
694
+ @nextui-org/[email protected]
695
+ @nextui-org/[email protected]
696
+ @nextui-org/[email protected]
697
+ @nextui-org/[email protected]
698
+
699
+
700
+
701
+ @nextui-org/[email protected]
702
+ Patch Changes
703
+
704
+
705
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
706
+
707
+
708
+ Updated dependencies [d6eee4a]:
709
+
710
+ @nextui-org/[email protected]
711
+ @nextui-org/[email protected]
712
+ @nextui-org/[email protected]
713
+ @nextui-org/[email protected]
714
+ @nextui-org/[email protected]
715
+ @nextui-org/[email protected]
716
+
717
+
718
+
719
+ @nextui-org/[email protected]
720
+ Patch Changes
721
+
722
+
723
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
724
+
725
+
726
+ Updated dependencies [d6eee4a]:
727
+
728
+ @nextui-org/[email protected]
729
+ @nextui-org/[email protected]
730
+ @nextui-org/[email protected]
731
+ @nextui-org/[email protected]
732
+ @nextui-org/[email protected]
733
+ @nextui-org/[email protected]
734
+
735
+
736
+
737
+ @nextui-org/[email protected]
738
+ Patch Changes
739
+
740
+
741
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
742
+
743
+
744
+ Updated dependencies [d6eee4a]:
745
+
746
+ @nextui-org/[email protected]
747
+ @nextui-org/[email protected]
748
+ @nextui-org/[email protected]
749
+
750
+
751
+
752
+ @nextui-org/[email protected]
753
+ Patch Changes
754
+
755
+
756
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
757
+
758
+
759
+ Updated dependencies [d6eee4a]:
760
+
761
+ @nextui-org/[email protected]
762
+ @nextui-org/[email protected]
763
+ @nextui-org/[email protected]
764
+ @nextui-org/[email protected]
765
+ @nextui-org/[email protected]
766
+ @nextui-org/[email protected]
767
+ @nextui-org/[email protected]
768
+ @nextui-org/[email protected]
769
+ @nextui-org/[email protected]
770
+ @nextui-org/[email protected]
771
+ @nextui-org/[email protected]
772
+ @nextui-org/[email protected]
773
+ @nextui-org/[email protected]
774
+ @nextui-org/[email protected]
775
+ @nextui-org/[email protected]
776
+ @nextui-org/[email protected]
777
+ @nextui-org/[email protected]
778
+ @nextui-org/[email protected]
779
+ @nextui-org/[email protected]
780
+ @nextui-org/[email protected]
781
+ @nextui-org/[email protected]
782
+ @nextui-org/[email protected]
783
+ @nextui-org/[email protected]
784
+ @nextui-org/[email protected]
785
+ @nextui-org/[email protected]
786
+ @nextui-org/[email protected]
787
+ @nextui-org/[email protected]
788
+ @nextui-org/[email protected]
789
+ @nextui-org/[email protected]
790
+ @nextui-org/[email protected]
791
+ @nextui-org/[email protected]
792
+ @nextui-org/[email protected]
793
+ @nextui-org/[email protected]
794
+ @nextui-org/[email protected]
795
+ @nextui-org/[email protected]
796
+ @nextui-org/[email protected]
797
+ @nextui-org/[email protected]
798
+ @nextui-org/[email protected]
799
+ @nextui-org/[email protected]
800
+ @nextui-org/[email protected]
801
+ @nextui-org/[email protected]
802
+ @nextui-org/[email protected]
803
+ @nextui-org/[email protected]
804
+ @nextui-org/[email protected]
805
+ @nextui-org/[email protected]
806
+ @nextui-org/[email protected]
807
+ @nextui-org/[email protected]
808
+
809
+
810
+
811
+ @nextui-org/[email protected]
812
+ Patch Changes
813
+
814
+
815
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
816
+
817
+
818
+ Updated dependencies [d6eee4a]:
819
+
820
+ @nextui-org/[email protected]
821
+ @nextui-org/[email protected]
822
+
823
+
824
+
825
+ @nextui-org/[email protected]
826
+ Patch Changes
827
+
828
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
829
+
830
+ @nextui-org/[email protected]
831
+ Patch Changes
832
+
833
+
834
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
835
+
836
+
837
+ Updated dependencies [d6eee4a]:
838
+
839
+ @nextui-org/[email protected]
840
+
841
+
842
+
843
+ @nextui-org/[email protected]
844
+ Patch Changes
845
+
846
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
847
+
848
+ @nextui-org/[email protected]
849
+ Patch Changes
850
+
851
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
852
+
853
+ @nextui-org/[email protected]
854
+ Patch Changes
855
+
856
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
857
+
858
+ @nextui-org/[email protected]
859
+ Patch Changes
860
+
861
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
862
+
863
+ @nextui-org/[email protected]
864
+ Patch Changes
865
+
866
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
867
+
868
+ @nextui-org/[email protected]
869
+ Patch Changes
870
+
871
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
872
+
873
+ @nextui-org/[email protected]
874
+ Patch Changes
875
+
876
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
877
+
878
+ @nextui-org/[email protected]
879
+ Patch Changes
880
+
881
+
882
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
883
+
884
+
885
+ Updated dependencies [d6eee4a]:
886
+
887
+ @nextui-org/[email protected]
888
+
889
+
890
+
891
+ @nextui-org/[email protected]
892
+ Patch Changes
893
+
894
+
895
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
896
+
897
+
898
+ Updated dependencies [d6eee4a]:
899
+
900
+ @nextui-org/[email protected]
901
+
902
+
903
+
904
+ @nextui-org/[email protected]
905
+ Patch Changes
906
+
907
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
908
+
909
+ @nextui-org/[email protected]
910
+ Patch Changes
911
+
912
+
913
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
914
+
915
+
916
+ Updated dependencies [d6eee4a]:
917
+
918
+ @nextui-org/[email protected]
919
+
920
+
921
+
922
+ @nextui-org/[email protected]
923
+ Patch Changes
924
+
925
+
926
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
927
+
928
+
929
+ Updated dependencies [d6eee4a]:
930
+
931
+ @nextui-org/[email protected]
932
+
933
+
934
+
935
+ @nextui-org/[email protected]
936
+ Patch Changes
937
+
938
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
939
+
940
+ @nextui-org/[email protected]
941
+ Patch Changes
942
+
943
+
944
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
945
+
946
+
947
+ Updated dependencies [d6eee4a]:
948
+
949
+ @nextui-org/[email protected]
950
+
951
+
952
+
953
+ @nextui-org/[email protected]
954
+ Patch Changes
955
+
956
+
957
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
958
+
959
+
960
+ Updated dependencies [d6eee4a]:
961
+
962
+ @nextui-org/[email protected]
963
+
964
+
965
+
966
+ @nextui-org/[email protected]
967
+ Patch Changes
968
+
969
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
970
+
971
+ @nextui-org/[email protected]
972
+ Patch Changes
973
+
974
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
975
+
976
+ @nextui-org/[email protected]
977
+ Patch Changes
978
+
979
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
980
+
981
+ @nextui-org/[email protected]
982
+ Patch Changes
983
+
984
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
985
+
986
+ @nextui-org/[email protected]
987
+ Patch Changes
988
+
989
+
990
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
991
+
992
+
993
+ Updated dependencies [d6eee4a]:
994
+
995
+ @nextui-org/[email protected]
996
+
997
+
998
+
999
+ @nextui-org/[email protected]
1000
+ Patch Changes
1001
+
1002
+
1003
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1004
+
1005
+
1006
+ Updated dependencies [d6eee4a]:
1007
+
1008
+ @nextui-org/[email protected]
1009
+
1010
+
1011
+
1012
+ @nextui-org/[email protected]
1013
+ Patch Changes
1014
+
1015
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1016
+
1017
+ @nextui-org/[email protected]
1018
+ Patch Changes
1019
+
1020
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1021
+
1022
+ @nextui-org/[email protected]
1023
+ Patch Changes
1024
+
1025
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1026
+
1027
+ @nextui-org/[email protected]
1028
+ Patch Changes
1029
+
1030
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1031
+
1032
+ @nextui-org/[email protected]
1033
+ Patch Changes
1034
+
1035
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1036
+
1037
+ @nextui-org/[email protected]
1038
+ Patch Changes
1039
+
1040
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1041
+
1042
+ @nextui-org/[email protected]
1043
+ Patch Changes
1044
+
1045
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1046
+
1047
+ @nextui-org/[email protected]
1048
+ Patch Changes
1049
+
1050
+
1051
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1052
+
1053
+
1054
+ Updated dependencies [d6eee4a]:
1055
+
1056
+ @nextui-org/[email protected]
1057
+ @nextui-org/[email protected]
1058
+ @nextui-org/[email protected]
1059
+
1060
+
1061
+
1062
+ @nextui-org/[email protected]
1063
+ Patch Changes
1064
+
1065
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1066
+
1067
+ @nextui-org/[email protected]
1068
+ Patch Changes
1069
+
1070
+
1071
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1072
+
1073
+
1074
+ Updated dependencies [d6eee4a]:
1075
+
1076
+ @nextui-org/[email protected]
1077
+ @nextui-org/[email protected]
1078
+ @nextui-org/[email protected]
1079
+
1080
+
1081
+
1082
+ @nextui-org/[email protected]
1083
+ Patch Changes
1084
+
1085
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1086
+
1087
+ @nextui-org/[email protected]
1088
+ Patch Changes
1089
+
1090
+
1091
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1092
+
1093
+
1094
+ Updated dependencies [d6eee4a]:
1095
+
1096
+ @nextui-org/[email protected]
1097
+ @nextui-org/[email protected]
1098
+
1099
+
1100
+
1101
+ @nextui-org/[email protected]
1102
+ Patch Changes
1103
+
1104
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1105
+
1106
+ @nextui-org/[email protected]
1107
+ Patch Changes
1108
+
1109
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1110
+
1111
+ @nextui-org/[email protected]
1112
+ Patch Changes
1113
+
1114
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1115
+
1116
+ @nextui-org/[email protected]
1117
+ Patch Changes
1118
+
1119
+ d6eee4a Thanks @jrgarciadev! - v2.6.2
1120
+
1121
+ Commits:
1122
+ - ci(changesets): version packages\n
1123
+
1124
+ Labels:
1125
+
1126
+
1127
+ Comments:
1128
+ - vercel: [vc]: #BJm5nPhkDQaveScq3vpzbwvEV1jko0KSNfkYbiGMkFA=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi8yeDc2RGhhNnBLdWJvVmk5V1l6VEVQUFlEb3hOIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1jaGFuZ2VzZXQtcmVsZWFzZS1jYW5hcnktbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1jaGFuZ2VzZXQtcmVsZWFzZS1jYW5hcnktbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi9DWW5xbTVqU2hKQjVrY3lkaGNCazVNdk5QZmtoIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWNoYW5nZXNldC1yZWxlYXNlLWNhbmFyeS1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtY2hhbmdlc2V0LXJlbGVhc2UtY2FuYXJ5LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
1129
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
1130
+
1131
+ | Name | Status | Preview | Comments | Updated (UTC) |
1132
+ | :--- | :----- | :------ | :------- | :------ |
1133
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/2x76Dha6pKuboVi9WYzTEPPYDoxN)) | [Visit Preview](https://nextui-docs-v2-git-changeset-release-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-changeset-release-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 2:49pm |
1134
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/CYnqm5jShJB5kcydhcBk5MvNPfkh)) | [Visit Preview](https://nextui-storybook-v2-git-changeset-release-canary-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-changeset-release-canary-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 2:49pm |
1135
+
1136
+
1137
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
1138
+ <!-- This is an auto-generated comment: skip review by coderabbit.ai -->
1139
+
1140
+ > [!IMPORTANT]
1141
+ > ## Review skipped
1142
+ >
1143
+ > Ignore keyword(s) in the title.
1144
+ >
1145
+ > <details>
1146
+ > <summary>:no_entry: Ignored keywords (3)</summary>
1147
+ >
1148
+ > * WIP
1149
+ > * DO NOT MERGE
1150
+ > * ci(changesets)
1151
+ >
1152
+ > </details>
1153
+ >
1154
+ > Please check the settings in the CodeRabbit UI or the `.coderabbit.yaml` file in this repository. To trigger a single review, invoke the `@coderabbitai review` command.
1155
+ >
1156
+ > You can disable this status message by setting the `reviews.review_status` to `false` in the CodeRabbit configuration file.
1157
+
1158
+ <!-- end of auto-generated comment: skip review by coderabbit.ai -->
1159
+
1160
+ <!-- tips_start -->
1161
+
1162
+ ---
1163
+
1164
+
1165
+
1166
+ <details>
1167
+ <summary>πŸͺ§ Tips</summary>
1168
+
1169
+ ### Chat
1170
+
1171
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
1172
+
1173
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
1174
+ - `I pushed a fix in commit <commit_id>, please review it.`
1175
+ - `Generate unit testing code for this file.`
1176
+ - `Open a follow-up GitHub issue for this discussion.`
1177
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
1178
+ - `@coderabbitai generate unit testing code for this file.`
1179
+ - `@coderabbitai modularize this function.`
1180
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
1181
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
1182
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
1183
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
1184
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
1185
+
1186
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
1187
+
1188
+ ### CodeRabbit Commands (Invoked using PR comments)
1189
+
1190
+ - `@coderabbitai pause` to pause the reviews on a PR.
1191
+ - `@coderabbitai resume` to resume the paused reviews.
1192
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
1193
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
1194
+ - `@coderabbitai summary` to regenerate the summary of the PR.
1195
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
1196
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
1197
+ - `@coderabbitai help` to get help.
1198
+
1199
+ ### Other keywords and placeholders
1200
+
1201
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
1202
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
1203
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
1204
+
1205
+ ### Documentation and Community
1206
+
1207
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
1208
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
1209
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
1210
+
1211
+ </details>
1212
+
1213
+ <!-- tips_end -->\n
1214
+
1215
+ Files Changed:
1216
+ - .changeset/witty-colts-reply.md (removed, 89 changes)\n Patch: @@ -1,89 +0,0 @@
1217
+ ----
1218
+ -"@nextui-org/accordion": patch
1219
+ -"@nextui-org/alert": patch
1220
+ -"@nextui-org/autocomplete": patch
1221
+ -"@nextui-org/avatar": patch
1222
+ -"@nextui-org/badge": patch
1223
+ -"@nextui-org/breadcrumbs": patch
1224
+ -"@nextui-org/button": patch
1225
+ -"@nextui-org/calendar": patch
1226
+ -"@nextui-org/card": patch
1227
+ -"@nextui-org/checkbox": patch
1228
+ -"@nextui-org/chip": patch
1229
+ -"@nextui-org/code": patch
1230
+ -"@nextui-org/date-input": patch
1231
+ -"@nextui-org/date-picker": patch
1232
+ -"@nextui-org/divider": patch
1233
+ -"@nextui-org/drawer": patch
1234
+ -"@nextui-org/dropdown": patch
1235
+ -"@nextui-org/form": patch
1236
+ -"@nextui-org/image": patch
1237
+ -"@nextui-org/input": patch
1238
+ -"@nextui-org/input-otp": patch
1239
+ -"@nextui-org/kbd": patch
1240
+ -"@nextui-org/link": patch
1241
+ -"@nextui-org/listbox": patch
1242
+ -"@nextui-org/menu": patch
1243
+ -"@nextui-org/modal": patch
1244
+ -"@nextui-org/navbar": patch
1245
+ -"@nextui-org/pagination": patch
1246
+ -"@nextui-org/popover": patch
1247
+ -"@nextui-org/progress": patch
1248
+ -"@nextui-org/radio": patch
1249
+ -"@nextui-org/ripple": patch
1250
+ -"@nextui-org/scroll-shadow": patch
1251
+ -"@nextui-org/select": patch
1252
+ -"@nextui-org/skeleton": patch
1253
+ -"@nextui-org/slider": patch
1254
+ -"@nextui-org/snippet": patch
1255
+ -"@nextui-org/spacer": patch
1256
+ -"@nextui-org/spinner": patch
1257
+ -"@nextui-org/switch": patch
1258
+ -"@nextui-org/table": patch
1259
+ -"@nextui-org/tabs": patch
1260
+ -"@nextui-org/tooltip": patch
1261
+ -"@nextui-org/user": patch
1262
+ -"@nextui-org/react": patch
1263
+ -"@nextui-org/system": patch
1264
+ -"@nextui-org/system-rsc": patch
1265
+ -"@nextui-org/theme": patch
1266
+ -"@nextui-org/use-aria-accordion": patch
1267
+ -"@nextui-org/use-aria-accordion-item": patch
1268
+ -"@nextui-org/use-aria-button": patch
1269
+ -"@nextui-org/use-aria-link": patch
1270
+ -"@nextui-org/use-aria-menu": patch
1271
+ -"@nextui-org/use-aria-modal-overlay": patch
1272
+ -"@nextui-org/use-aria-multiselect": patch
1273
+ -"@nextui-org/use-aria-toggle-button": patch
1274
+ -"@nextui-org/use-callback-ref": patch
1275
+ -"@nextui-org/use-clipboard": patch
1276
+ -"@nextui-org/use-data-scroll-overflow": patch
1277
+ -"@nextui-org/use-disclosure": patch
1278
+ -"@nextui-org/use-draggable": patch
1279
+ -"@nextui-org/use-image": patch
1280
+ -"@nextui-org/use-infinite-scroll": patch
1281
+ -"@nextui-org/use-intersection-observer": patch
1282
+ -"@nextui-org/use-is-mobile": patch
1283
+ -"@nextui-org/use-is-mounted": patch
1284
+ -"@nextui-org/use-measure": patch
1285
+ -"@nextui-org/use-pagination": patch
1286
+ -"@nextui-org/use-real-shape": patch
1287
+ -"@nextui-org/use-ref-state": patch
1288
+ -"@nextui-org/use-resize": patch
1289
+ -"@nextui-org/use-safe-layout-effect": patch
1290
+ -"@nextui-org/use-scroll-position": patch
1291
+ -"@nextui-org/use-ssr": patch
1292
+ -"@nextui-org/use-theme": patch
1293
+ -"@nextui-org/use-update-effect": patch
1294
+ -"@nextui-org/aria-utils": patch
1295
+ -"@nextui-org/dom-animation": patch
1296
+ -"@nextui-org/framer-utils": patch
1297
+ -"@nextui-org/react-rsc-utils": patch
1298
+ -"@nextui-org/react-utils": patch
1299
+ -"@nextui-org/shared-icons": patch
1300
+ -"@nextui-org/shared-utils": patch
1301
+ -"@nextui-org/stories-utils": patch
1302
+ -"@nextui-org/test-utils": patch
1303
+ ----
1304
+ -
1305
+ -v2.6.2\n- packages/components/accordion/CHANGELOG.md (modified, 16 changes)\n Patch: @@ -1,5 +1,21 @@
1306
+ # @nextui-org/accordion
1307
+
1308
+ +## 2.2.1
1309
+ +
1310
+ +### Patch Changes
1311
+ +
1312
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1313
+ +
1314
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1315
+ + - @nextui-org/[email protected]
1316
+ + - @nextui-org/[email protected]
1317
+ + - @nextui-org/[email protected]
1318
+ + - @nextui-org/[email protected]
1319
+ + - @nextui-org/[email protected]
1320
+ + - @nextui-org/[email protected]
1321
+ + - @nextui-org/[email protected]
1322
+ + - @nextui-org/[email protected]
1323
+ +
1324
+ ## 2.2.0
1325
+
1326
+ ### Minor Changes\n- packages/components/accordion/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1327
+ {
1328
+ "name": "@nextui-org/accordion",
1329
+ - "version": "2.2.0",
1330
+ + "version": "2.2.1",
1331
+ "description": "Collapse display a list of high-level options that can expand/collapse to reveal more information.",
1332
+ "keywords": [
1333
+ "react",\n- packages/components/alert/CHANGELOG.md (modified, 12 changes)\n Patch: @@ -1,5 +1,17 @@
1334
+ # @nextui-org/alert
1335
+
1336
+ +## 2.2.1
1337
+ +
1338
+ +### Patch Changes
1339
+ +
1340
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1341
+ +
1342
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1343
+ + - @nextui-org/[email protected]
1344
+ + - @nextui-org/[email protected]
1345
+ + - @nextui-org/[email protected]
1346
+ + - @nextui-org/[email protected]
1347
+ +
1348
+ ## 2.2.0
1349
+
1350
+ ### Minor Changes\n- packages/components/alert/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1351
+ {
1352
+ "name": "@nextui-org/alert",
1353
+ - "version": "2.2.0",
1354
+ + "version": "2.2.1",
1355
+ "description": "Alerts are temporary notifications that provide concise feedback about an action or event.",
1356
+ "keywords": [
1357
+ "alert"\n- packages/components/autocomplete/CHANGELOG.md (modified, 21 changes)\n Patch: @@ -1,5 +1,26 @@
1358
+ # @nextui-org/autocomplete
1359
+
1360
+ +## 2.3.1
1361
+ +
1362
+ +### Patch Changes
1363
+ +
1364
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1365
+ +
1366
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1367
+ + - @nextui-org/[email protected]
1368
+ + - @nextui-org/[email protected]
1369
+ + - @nextui-org/[email protected]
1370
+ + - @nextui-org/[email protected]
1371
+ + - @nextui-org/[email protected]
1372
+ + - @nextui-org/[email protected]
1373
+ + - @nextui-org/[email protected]
1374
+ + - @nextui-org/[email protected]
1375
+ + - @nextui-org/[email protected]
1376
+ + - @nextui-org/[email protected]
1377
+ + - @nextui-org/[email protected]
1378
+ + - @nextui-org/[email protected]
1379
+ + - @nextui-org/[email protected]
1380
+ +
1381
+ ## 2.3.0
1382
+
1383
+ ### Minor Changes\n- packages/components/autocomplete/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1384
+ {
1385
+ "name": "@nextui-org/autocomplete",
1386
+ - "version": "2.3.0",
1387
+ + "version": "2.3.1",
1388
+ "description": "An autocomplete combines a text input with a listbox, allowing users to filter a list of options to items matching a query.",
1389
+ "keywords": [
1390
+ "autocomplete"\n- packages/components/avatar/CHANGELOG.md (modified, 11 changes)\n Patch: @@ -1,5 +1,16 @@
1391
+ # @nextui-org/avatar
1392
+
1393
+ +## 2.2.1
1394
+ +
1395
+ +### Patch Changes
1396
+ +
1397
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1398
+ +
1399
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1400
+ + - @nextui-org/[email protected]
1401
+ + - @nextui-org/[email protected]
1402
+ + - @nextui-org/[email protected]
1403
+ +
1404
+ ## 2.2.0
1405
+
1406
+ ### Minor Changes\n- packages/components/avatar/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1407
+ {
1408
+ "name": "@nextui-org/avatar",
1409
+ - "version": "2.2.0",
1410
+ + "version": "2.2.1",
1411
+ "description": "The Avatar component is used to represent a user, and displays the profile picture, initials or fallback icon.",
1412
+ "keywords": [
1413
+ "avatar"\n- packages/components/badge/CHANGELOG.md (modified, 10 changes)\n Patch: @@ -1,5 +1,15 @@
1414
+ # @nextui-org/badge
1415
+
1416
+ +## 2.2.1
1417
+ +
1418
+ +### Patch Changes
1419
+ +
1420
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1421
+ +
1422
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1423
+ + - @nextui-org/[email protected]
1424
+ + - @nextui-org/[email protected]
1425
+ +
1426
+ ## 2.2.0
1427
+
1428
+ ### Minor Changes\n- packages/components/badge/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1429
+ {
1430
+ "name": "@nextui-org/badge",
1431
+ - "version": "2.2.0",
1432
+ + "version": "2.2.1",
1433
+ "description": "Badges are used as a small numerical value or status descriptor for UI elements.",
1434
+ "keywords": [
1435
+ "badge"\n- packages/components/breadcrumbs/CHANGELOG.md (modified, 11 changes)\n Patch: @@ -1,5 +1,16 @@
1436
+ # @nextui-org/breadcrumbs
1437
+
1438
+ +## 2.2.1
1439
+ +
1440
+ +### Patch Changes
1441
+ +
1442
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1443
+ +
1444
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1445
+ + - @nextui-org/[email protected]
1446
+ + - @nextui-org/[email protected]
1447
+ + - @nextui-org/[email protected]
1448
+ +
1449
+ ## 2.2.0
1450
+
1451
+ ### Minor Changes\n- packages/components/breadcrumbs/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1452
+ {
1453
+ "name": "@nextui-org/breadcrumbs",
1454
+ - "version": "2.2.0",
1455
+ + "version": "2.2.1",
1456
+ "description": "Breadcrumbs display a hierarchy of links to the current page or resource in an application.",
1457
+ "keywords": [
1458
+ "breadcrumbs"\n- packages/components/button/CHANGELOG.md (modified, 13 changes)\n Patch: @@ -1,5 +1,18 @@
1459
+ # @nextui-org/button
1460
+
1461
+ +## 2.2.1
1462
+ +
1463
+ +### Patch Changes
1464
+ +
1465
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1466
+ +
1467
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1468
+ + - @nextui-org/[email protected]
1469
+ + - @nextui-org/[email protected]
1470
+ + - @nextui-org/[email protected]
1471
+ + - @nextui-org/[email protected]
1472
+ + - @nextui-org/[email protected]
1473
+ +
1474
+ ## 2.2.0
1475
+
1476
+ ### Minor Changes\n- packages/components/button/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1477
+ {
1478
+ "name": "@nextui-org/button",
1479
+ - "version": "2.2.0",
1480
+ + "version": "2.2.1",
1481
+ "description": "Buttons allow users to perform actions and choose with a single tap.",
1482
+ "keywords": [
1483
+ "button"\n- packages/components/calendar/CHANGELOG.md (modified, 15 changes)\n Patch: @@ -1,5 +1,20 @@
1484
+ # @nextui-org/calendar
1485
+
1486
+ +## 2.2.1
1487
+ +
1488
+ +### Patch Changes
1489
+ +
1490
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1491
+ +
1492
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1493
+ + - @nextui-org/[email protected]
1494
+ + - @nextui-org/[email protected]
1495
+ + - @nextui-org/[email protected]
1496
+ + - @nextui-org/[email protected]
1497
+ + - @nextui-org/[email protected]
1498
+ + - @nextui-org/[email protected]
1499
+ + - @nextui-org/[email protected]
1500
+ +
1501
+ ## 2.2.0
1502
+
1503
+ ### Minor Changes\n- packages/components/calendar/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1504
+ {
1505
+ "name": "@nextui-org/calendar",
1506
+ - "version": "2.2.0",
1507
+ + "version": "2.2.1",
1508
+ "description": "A calendar displays one or more date grids and allows users to select a single date.",
1509
+ "keywords": [
1510
+ "calendar"\n- packages/components/card/CHANGELOG.md (modified, 12 changes)\n Patch: @@ -1,5 +1,17 @@
1511
+ # @nextui-org/card
1512
+
1513
+ +## 2.2.1
1514
+ +
1515
+ +### Patch Changes
1516
+ +
1517
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1518
+ +
1519
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1520
+ + - @nextui-org/[email protected]
1521
+ + - @nextui-org/[email protected]
1522
+ + - @nextui-org/[email protected]
1523
+ + - @nextui-org/[email protected]
1524
+ +
1525
+ ## 2.2.0
1526
+
1527
+ ### Minor Changes\n- packages/components/card/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1528
+ {
1529
+ "name": "@nextui-org/card",
1530
+ - "version": "2.2.0",
1531
+ + "version": "2.2.1",
1532
+ "description": "Card is a container for text, photos, and actions in the context of a single subject.",
1533
+ "keywords": [
1534
+ "card"\n- packages/components/checkbox/CHANGELOG.md (modified, 13 changes)\n Patch: @@ -1,5 +1,18 @@
1535
+ # @nextui-org/checkbox
1536
+
1537
+ +## 2.3.1
1538
+ +
1539
+ +### Patch Changes
1540
+ +
1541
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1542
+ +
1543
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1544
+ + - @nextui-org/[email protected]
1545
+ + - @nextui-org/[email protected]
1546
+ + - @nextui-org/[email protected]
1547
+ + - @nextui-org/[email protected]
1548
+ + - @nextui-org/[email protected]
1549
+ +
1550
+ ## 2.3.0
1551
+
1552
+ ### Minor Changes\n- packages/components/checkbox/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1553
+ {
1554
+ "name": "@nextui-org/checkbox",
1555
+ - "version": "2.3.0",
1556
+ + "version": "2.3.1",
1557
+ "description": "Checkboxes allow users to select multiple items from a list of individual items, or to mark one individual item as selected.",
1558
+ "keywords": [
1559
+ "checkbox"\n- packages/components/chip/CHANGELOG.md (modified, 11 changes)\n Patch: @@ -1,5 +1,16 @@
1560
+ # @nextui-org/chip
1561
+
1562
+ +## 2.2.1
1563
+ +
1564
+ +### Patch Changes
1565
+ +
1566
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1567
+ +
1568
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1569
+ + - @nextui-org/[email protected]
1570
+ + - @nextui-org/[email protected]
1571
+ + - @nextui-org/[email protected]
1572
+ +
1573
+ ## 2.2.0
1574
+
1575
+ ### Minor Changes\n- packages/components/chip/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1576
+ {
1577
+ "name": "@nextui-org/chip",
1578
+ - "version": "2.2.0",
1579
+ + "version": "2.2.1",
1580
+ "description": "Chips help people enter information, make selections, filter content, or trigger actions.",
1581
+ "keywords": [
1582
+ "chip"\n- packages/components/code/CHANGELOG.md (modified, 11 changes)\n Patch: @@ -1,5 +1,16 @@
1583
+ # @nextui-org/code
1584
+
1585
+ +## 2.2.1
1586
+ +
1587
+ +### Patch Changes
1588
+ +
1589
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1590
+ +
1591
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1592
+ + - @nextui-org/[email protected]
1593
+ + - @nextui-org/[email protected]
1594
+ + - @nextui-org/[email protected]
1595
+ +
1596
+ ## 2.2.0
1597
+
1598
+ ### Minor Changes\n- packages/components/code/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1599
+ {
1600
+ "name": "@nextui-org/code",
1601
+ - "version": "2.2.0",
1602
+ + "version": "2.2.1",
1603
+ "description": "Code is a component used to display inline code.",
1604
+ "keywords": [
1605
+ "code"\n- packages/components/date-input/CHANGELOG.md (modified, 11 changes)\n Patch: @@ -1,5 +1,16 @@
1606
+ # @nextui-org/date-input
1607
+
1608
+ +## 2.3.1
1609
+ +
1610
+ +### Patch Changes
1611
+ +
1612
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1613
+ +
1614
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1615
+ + - @nextui-org/[email protected]
1616
+ + - @nextui-org/[email protected]
1617
+ + - @nextui-org/[email protected]
1618
+ +
1619
+ ## 2.3.0
1620
+
1621
+ ### Minor Changes\n- packages/components/date-input/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1622
+ {
1623
+ "name": "@nextui-org/date-input",
1624
+ - "version": "2.3.0",
1625
+ + "version": "2.3.1",
1626
+ "description": "A date input allows users to enter and edit date and time values using a keyboard.",
1627
+ "keywords": [
1628
+ "date-field"\n- packages/components/date-picker/CHANGELOG.md (modified, 17 changes)\n Patch: @@ -1,5 +1,22 @@
1629
+ # @nextui-org/date-picker
1630
+
1631
+ +## 2.3.1
1632
+ +
1633
+ +### Patch Changes
1634
+ +
1635
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1636
+ +
1637
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1638
+ + - @nextui-org/[email protected]
1639
+ + - @nextui-org/[email protected]
1640
+ + - @nextui-org/[email protected]
1641
+ + - @nextui-org/[email protected]
1642
+ + - @nextui-org/[email protected]
1643
+ + - @nextui-org/[email protected]
1644
+ + - @nextui-org/[email protected]
1645
+ + - @nextui-org/[email protected]
1646
+ + - @nextui-org/[email protected]
1647
+ +
1648
+ ## 2.3.0
1649
+
1650
+ ### Minor Changes\n- packages/components/date-picker/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
1651
+ {
1652
+ "name": "@nextui-org/date-picker",
1653
+ - "version": "2.3.0",
1654
+ + "version": "2.3.1",
1655
+ "description": "A date picker combines a DateInput and a Calendar popover to allow users to enter or select a date and time value.",
1656
+ "keywords": [
1657
+ "date-picker"\n- packages/components/divider/CHANGELOG.md (modified, 11 changes)\n Patch: @@ -1,5 +1,16 @@
1658
+ # @nextui-org/divider
1659
+
1660
+ +## 2.2.1
1661
+ +
1662
+ +### Patch Changes
1663
+ +
1664
+ +- [`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - v2.6.2
1665
+ +
1666
+ +- Updated dependencies [[`d6eee4a`](https://github.com/nextui-org/nextui/commit/d6eee4a8767556152f47f06dcf04940951abc5af)]:
1667
+ + - @nextui-org/[email protected]
1668
+ + - @nextui-org/[email protected]
1669
+ + - @nextui-org/[email protected]
1670
+ +
1671
+ ## 2.2.0
1672
+
1673
+ ### Minor Changes\n
processed_docs/pr_data_0_doc_29.txt ADDED
@@ -0,0 +1,164 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4236
2
+ Title: ci(changesets): :package: version packages
3
+ Base Branch: canary
4
+ Head Branch: changeset-release/canary
5
+ Author: github-actions
6
+ URL: https://github.com/nextui-org/nextui/pull/4236
7
+ State: MERGED
8
+ Created At: 2024-12-06T14:31:01Z
9
+ Merged At: 2024-12-06T14:31:50Z
10
+ Participants: jrgarciadev
11
+
12
+ Description:
13
+ This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to canary, this PR will be updated.
14
+ Releases
15
+ @nextui-org/[email protected]
16
+ Patch Changes
17
+
18
+ #4235 71e2d8c Thanks @jrgarciadev! - Fix release
19
+
20
+ @nextui-org/[email protected]
21
+ Patch Changes
22
+
23
+ Updated dependencies [71e2d8c]:
24
+
25
+ @nextui-org/[email protected]
26
+
27
+ Commits:
28
+ - ci(changesets): version packages\n
29
+
30
+ Labels:
31
+
32
+
33
+ Comments:
34
+ - vercel: [vc]: #ctANNzL3cz1arITeHDITKGQSg9WE7wL3VLB/XfPdgQA=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9HREtTQkdGeEppNVpRcmlINzVuSkxoaXhDMWt1IiwicHJldmlld1VybCI6IiIsIm5leHRDb21taXRTdGF0dXMiOiJDQU5DRUxFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiIifX0seyJuYW1lIjoibmV4dHVpLXN0b3J5Ym9vay12MiIsInJvb3REaXJlY3RvcnkiOiJwYWNrYWdlcy9zdG9yeWJvb2siLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktc3Rvcnlib29rLXYyLzZwbkt1U0w1QkpBNDE4UFRCOXNzR0dLWUZyRTMiLCJwcmV2aWV3VXJsIjoiIiwibmV4dENvbW1pdFN0YXR1cyI6IkNBTkNFTEVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6IiJ9fV19
35
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
36
+
37
+ | Name | Status | Preview | Comments | Updated (UTC) |
38
+ | :--- | :----- | :------ | :------- | :------ |
39
+ | **nextui-docs-v2** | πŸ›‘ Canceled ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/GDKSBGFxJi5ZQriH75nJLhixC1ku)) | | | Dec 6, 2024 2:49pm |
40
+ | **nextui-storybook-v2** | πŸ›‘ Canceled ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/6pnKuSL5BJA418PTB9ssGGKYFrE3)) | | | Dec 6, 2024 2:49pm |
41
+
42
+
43
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
44
+ <!-- This is an auto-generated comment: skip review by coderabbit.ai -->
45
+
46
+ > [!IMPORTANT]
47
+ > ## Review skipped
48
+ >
49
+ > Ignore keyword(s) in the title.
50
+ >
51
+ > <details>
52
+ > <summary>:no_entry: Ignored keywords (3)</summary>
53
+ >
54
+ > * WIP
55
+ > * DO NOT MERGE
56
+ > * ci(changesets)
57
+ >
58
+ > </details>
59
+ >
60
+ > Please check the settings in the CodeRabbit UI or the `.coderabbit.yaml` file in this repository. To trigger a single review, invoke the `@coderabbitai review` command.
61
+ >
62
+ > You can disable this status message by setting the `reviews.review_status` to `false` in the CodeRabbit configuration file.
63
+
64
+ <!-- end of auto-generated comment: skip review by coderabbit.ai -->
65
+
66
+ <!-- tips_start -->
67
+
68
+ ---
69
+
70
+
71
+
72
+ <details>
73
+ <summary>πŸͺ§ Tips</summary>
74
+
75
+ ### Chat
76
+
77
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
78
+
79
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
80
+ - `I pushed a fix in commit <commit_id>, please review it.`
81
+ - `Generate unit testing code for this file.`
82
+ - `Open a follow-up GitHub issue for this discussion.`
83
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
84
+ - `@coderabbitai generate unit testing code for this file.`
85
+ - `@coderabbitai modularize this function.`
86
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
87
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
88
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
89
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
90
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
91
+
92
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
93
+
94
+ ### CodeRabbit Commands (Invoked using PR comments)
95
+
96
+ - `@coderabbitai pause` to pause the reviews on a PR.
97
+ - `@coderabbitai resume` to resume the paused reviews.
98
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
99
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
100
+ - `@coderabbitai summary` to regenerate the summary of the PR.
101
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
102
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
103
+ - `@coderabbitai help` to get help.
104
+
105
+ ### Other keywords and placeholders
106
+
107
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
108
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
109
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
110
+
111
+ ### Documentation and Community
112
+
113
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
114
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
115
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
116
+
117
+ </details>
118
+
119
+ <!-- tips_end -->\n
120
+
121
+ Files Changed:
122
+ - .changeset/lovely-news-camp.md (removed, 5 changes)\n Patch: @@ -1,5 +0,0 @@
123
+ ----
124
+ -"@nextui-org/snippet": patch
125
+ ----
126
+ -
127
+ -Fix release\n- packages/components/snippet/CHANGELOG.md (modified, 6 changes)\n Patch: @@ -1,5 +1,11 @@
128
+ # @nextui-org/snippet
129
+
130
+ +## 2.2.1
131
+ +
132
+ +### Patch Changes
133
+ +
134
+ +- [#4235](https://github.com/nextui-org/nextui/pull/4235) [`71e2d8c`](https://github.com/nextui-org/nextui/commit/71e2d8c6014c821c0441c6a68924043a7a491e5b) Thanks [@jrgarciadev](https://github.com/jrgarciadev)! - Fix release
135
+ +
136
+ ## 2.2.0
137
+
138
+ ### Minor Changes\n- packages/components/snippet/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
139
+ {
140
+ "name": "@nextui-org/snippet",
141
+ - "version": "2.2.0",
142
+ + "version": "2.2.1",
143
+ "description": "Display a snippet of copyable code for the command line.",
144
+ "keywords": [
145
+ "snippet"\n- packages/core/react/CHANGELOG.md (modified, 7 changes)\n Patch: @@ -1,5 +1,12 @@
146
+ # @nextui-org/react
147
+
148
+ +## 2.6.1
149
+ +
150
+ +### Patch Changes
151
+ +
152
+ +- Updated dependencies [[`71e2d8c`](https://github.com/nextui-org/nextui/commit/71e2d8c6014c821c0441c6a68924043a7a491e5b)]:
153
+ + - @nextui-org/[email protected]
154
+ +
155
+ ## 2.6.0
156
+
157
+ ### Minor Changes\n- packages/core/react/package.json (modified, 2 changes)\n Patch: @@ -1,6 +1,6 @@
158
+ {
159
+ "name": "@nextui-org/react",
160
+ - "version": "2.6.0",
161
+ + "version": "2.6.1",
162
+ "description": "πŸš€ Beautiful and modern React UI library.",
163
+ "author": "Junior Garcia <[email protected]>",
164
+ "homepage": "https://nextui.org",\n
processed_docs/pr_data_0_doc_3.txt ADDED
@@ -0,0 +1,637 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4286
2
+ Title: fix: reverting pr4168
3
+ Base Branch: canary
4
+ Head Branch: macci001/revert-4168
5
+ Author: macci001
6
+ URL: https://github.com/nextui-org/nextui/pull/4286
7
+ State: OPEN
8
+ Created At: 2024-12-09T06:09:57Z
9
+ Merged At: None
10
+ Participants: macci001, wingkwong
11
+
12
+ Description:
13
+ Closes #4256
14
+ Closes #4246
15
+ Closes #4244
16
+
17
+ πŸ“ Description
18
+ This reverts #4168
19
+ ⛳️ Current behavior (updates)
20
+
21
+ Links work fine now:
22
+
23
+
24
+
25
+
26
+
27
+
28
+ Screen.Recording.2024-12-09.at.11.45.21.AM.mov
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+ StartContent alignment and end content alignment looks good as well:
39
+
40
+ There would be an issue if polymorphic component is used.
41
+
42
+ πŸš€ New behavior
43
+
44
+ πŸ’£ Is this a breaking change (Yes/No):
45
+
46
+ πŸ“ Additional Information
47
+
48
+ Summary by CodeRabbit
49
+ Summary by CodeRabbit
50
+
51
+
52
+ Bug Fixes
53
+
54
+ Removed tests for anchor tag rendering in ListboxItem, MenuItem, and PaginationItem components based on the href prop.
55
+
56
+
57
+
58
+ New Features
59
+
60
+ Simplified rendering logic in ListboxItem, MenuItem, and PaginationItem components by removing unnecessary wrappers, enhancing readability and maintainability.
61
+
62
+
63
+
64
+ Refactor
65
+
66
+ Streamlined component structures and logic in useListboxItem, useMenuItem, and usePaginationItem to improve clarity and reduce complexity.
67
+
68
+
69
+
70
+ Chores
71
+
72
+ Patched packages: @nextui-org/pagination, @nextui-org/listbox, and @nextui-org/menu.
73
+ Reverted changes from PR-4168 related to issues #4256, #4246, and #4244.
74
+
75
+ Commits:
76
+ - Revert "chore: adding the tests"
77
+
78
+ This reverts commit bd28852a484fb9f6a7dd18b8fc75fe1dae6d2779.\n- Revert "fix(items): items in list should wrapped in li in case of a"
79
+
80
+ This reverts commit 57fb87abb0c3775bf408aef80f0afc8fb1ca9265.\n- chore: adding the changeset\n
81
+
82
+ Labels:
83
+
84
+
85
+ Comments:
86
+ - changeset-bot: ### πŸ¦‹ Changeset detected
87
+
88
+ Latest commit: cdbd5f8ceba0eeed59e2c1b235a734b60d75caf3
89
+
90
+ **The changes in this PR will be included in the next version bump.**
91
+
92
+ <details><summary>This PR includes changesets to release 7 packages</summary>
93
+
94
+ | Name | Type |
95
+ | ------------------------ | ----- |
96
+ | @nextui-org/pagination | Patch |
97
+ | @nextui-org/listbox | Patch |
98
+ | @nextui-org/menu | Patch |
99
+ | @nextui-org/react | Patch |
100
+ | @nextui-org/autocomplete | Patch |
101
+ | @nextui-org/select | Patch |
102
+ | @nextui-org/dropdown | Patch |
103
+
104
+ </details>
105
+
106
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
107
+
108
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/macci001/revert-4168?filename=.changeset/bright-nails-behave.md&value=---%0A%22%40nextui-org%2Flistbox%22%3A%20patch%0A%22%40nextui-org%2Fmenu%22%3A%20patch%0A%22%40nextui-org%2Fpagination%22%3A%20patch%0A---%0A%0Afix%3A%20reverting%20pr4168%0A)
109
+
110
+ \n- vercel: [vc]: #2bDXxD5S2Bv4lSbqgGhJMN89DuOo0jDB39tqnc12PzI=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi8zVUdBNzRiV2hvdm5wMm5QRDFyQ1Nwc1RaeWh6IiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1tYWNjaTAwMS1yZXZlcnQtNDE2OC1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LW1hY2NpMDAxLXJldmVydC00MTY4LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvSjdhRDNqZU00MlluQkE0d2p1Vm9TY1lKb1VqVSIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1tYWNjaTAwMS1yZXZlcnQtNDE2OC1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtbWFjY2kwMDEtcmV2ZXJ0LTQxNjgtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
111
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
112
+
113
+ | Name | Status | Preview | Comments | Updated (UTC) |
114
+ | :--- | :----- | :------ | :------- | :------ |
115
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/3UGA74bWhovnp2nPD1rCSpsTZyhz)) | [Visit Preview](https://nextui-docs-v2-git-macci001-revert-4168-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-macci001-revert-4168-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 7:06am |
116
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/J7aD3jeM42YnBA4wjuVoScYJoUjU)) | [Visit Preview](https://nextui-storybook-v2-git-macci001-revert-4168-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-macci001-revert-4168-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 7:06am |
117
+
118
+
119
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
120
+
121
+
122
+
123
+
124
+ <!-- walkthrough_start -->
125
+
126
+ ## Walkthrough
127
+ The changes in this pull request primarily involve the removal of test cases related to the rendering of anchor tags in the `ListboxItem`, `MenuItem`, and `PaginationItem` components. Additionally, the `FragmentWrapper` has been eliminated from several components, which simplifies their structure and rendering process. The handling of the `href` prop has been updated to conditionally render either an anchor or a list item based on its presence, enhancing the clarity and maintainability of the code.
128
+
129
+ ## Changes
130
+
131
+ | File Path | Change Summary |
132
+ |-----------------------------------------------------|------------------------------------------------------------------------------------------------|
133
+ | `packages/components/listbox/__tests__/listbox.test.tsx` | Removed tests for anchor tag rendering based on `href` prop. |
134
+ | `packages/components/listbox/src/listbox-item.tsx` | Removed `FragmentWrapper`, simplified rendering logic for `description`, `startContent`, and `endContent`. |
135
+ | `packages/components/listbox/src/use-listbox-item.ts` | Updated logic to conditionally render anchor or list item based on `href`, removed `FragmentWrapper`. |
136
+ | `packages/components/menu/__tests__/menu.test.tsx` | Removed tests for anchor tag rendering based on `href` prop. |
137
+ | `packages/components/menu/src/menu-item.tsx` | Removed `FragmentWrapper`, simplified rendering logic for `description` and child components. |
138
+ | `packages/components/menu/src/use-menu-item.ts` | Updated logic to conditionally render anchor or list item based on `href`, removed `FragmentWrapper`. |
139
+ | `packages/components/pagination/__tests__/pagination.test.tsx` | Removed tests for anchor tag rendering based on `href` prop. |
140
+ | `packages/components/pagination/src/pagination-item.tsx` | Removed `FragmentWrapper`, simplified rendering logic. |
141
+ | `packages/components/pagination/src/use-pagination-item.ts` | Updated logic to conditionally render anchor or list item based on `href`, removed `FragmentWrapper`. |
142
+
143
+ ## Assessment against linked issues
144
+
145
+ | Objective | Addressed | Explanation |
146
+ |------------------------------------------------------|-----------|--------------------------------------------------|
147
+ | Ensure `<a>` tags do not nest within each other (#4256) | βœ… | |
148
+ | Ensure DropdownItem links function correctly (#4246) | ❌ | The changes do not address the navigation issue with DropdownItems. |
149
+ | Ensure titles in DropdownMenu do not move to a new line (#4244) | ❓ | It is unclear if the changes resolve the layout issue with startContent. |
150
+
151
+ ## Possibly related PRs
152
+ - **#4168**: Fixes the missing `<li>` wrapper when the `href` prop is specified in `ListboxItem`, directly relating to the changes made.
153
+ - **#3756**: Undoes changes from a previous PR that may have affected dropdown and menu components, which could relate to the changes in this PR.
154
+ - **#4156**: Fixes class name issues in the `MenuItem` component, which may relate to the overall structure and rendering of menu items.
155
+ - **#4198**: Addresses issues with `forwardRef` render functions in various components, relevant to the changes in `ListboxItem`.
156
+ - **#4222**: Addresses cursor positioning in the pagination component, which may relate to user interactions similar to those in the `ListboxItem`.
157
+
158
+ ## Suggested labels
159
+ `πŸ‘€ Status: In Review`
160
+
161
+ ## Suggested reviewers
162
+ - jrgarciadev
163
+ - wingkwong
164
+
165
+ <!-- walkthrough_end -->
166
+
167
+ ---
168
+
169
+ <details>
170
+ <summary>πŸ“œ Recent review details</summary>
171
+
172
+ **Configuration used: .coderabbit.yaml**
173
+ **Review profile: CHILL**
174
+
175
+ <details>
176
+ <summary>πŸ“₯ Commits</summary>
177
+
178
+ Reviewing files that changed from the base of the PR and between 2870b31bf4e11f8f5709362d3926b798c1ce191a and cdbd5f8ceba0eeed59e2c1b235a734b60d75caf3.
179
+
180
+ </details>
181
+
182
+ <details>
183
+ <summary>πŸ“’ Files selected for processing (1)</summary>
184
+
185
+ * `.changeset/breezy-bobcats-destroy.md` (1 hunks)
186
+
187
+ </details>
188
+
189
+ <details>
190
+ <summary>βœ… Files skipped from review due to trivial changes (1)</summary>
191
+
192
+ * .changeset/breezy-bobcats-destroy.md
193
+
194
+ </details>
195
+
196
+ </details>
197
+ <!-- internal state start -->
198
+
199
+
200
+ <!-- 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= -->
201
+
202
+ <!-- internal state end -->
203
+ <!-- tips_start -->
204
+
205
+ ---
206
+
207
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
208
+
209
+ <details>
210
+ <summary>❀️ Share</summary>
211
+
212
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
213
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
214
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
215
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
216
+
217
+ </details>
218
+
219
+ <details>
220
+ <summary>πŸͺ§ Tips</summary>
221
+
222
+ ### Chat
223
+
224
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
225
+
226
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
227
+ - `I pushed a fix in commit <commit_id>, please review it.`
228
+ - `Generate unit testing code for this file.`
229
+ - `Open a follow-up GitHub issue for this discussion.`
230
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
231
+ - `@coderabbitai generate unit testing code for this file.`
232
+ - `@coderabbitai modularize this function.`
233
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
234
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
235
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
236
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
237
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
238
+
239
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
240
+
241
+ ### CodeRabbit Commands (Invoked using PR comments)
242
+
243
+ - `@coderabbitai pause` to pause the reviews on a PR.
244
+ - `@coderabbitai resume` to resume the paused reviews.
245
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
246
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
247
+ - `@coderabbitai summary` to regenerate the summary of the PR.
248
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
249
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
250
+ - `@coderabbitai help` to get help.
251
+
252
+ ### Other keywords and placeholders
253
+
254
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
255
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
256
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
257
+
258
+ ### Documentation and Community
259
+
260
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
261
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
262
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
263
+
264
+ </details>
265
+
266
+ <!-- tips_end -->\n
267
+
268
+ Files Changed:
269
+ - .changeset/breezy-bobcats-destroy.md (added, 7 changes)\n Patch: @@ -0,0 +1,7 @@
270
+ +---
271
+ +"@nextui-org/pagination": patch
272
+ +"@nextui-org/listbox": patch
273
+ +"@nextui-org/menu": patch
274
+ +---
275
+ +
276
+ +Reverts the PR-4168 (#4256, #4246, #4244)\n- packages/components/listbox/__tests__/listbox.test.tsx (modified, 34 changes)\n Patch: @@ -124,40 +124,6 @@ describe("Listbox", () => {
277
+ expect(() => wrapper.unmount()).not.toThrow();
278
+ });
279
+
280
+ - it("should not have anchor tag when href prop is not passed", () => {
281
+ - render(
282
+ - <Listbox disallowEmptySelection aria-label="Actions" selectionMode="multiple">
283
+ - <ListboxItem key="new">New file</ListboxItem>
284
+ - <ListboxItem key="copy">Copy link</ListboxItem>
285
+ - <ListboxItem key="edit">Edit file</ListboxItem>
286
+ - </Listbox>,
287
+ - );
288
+ -
289
+ - let anchorTag = document.getElementsByTagName("a")[0];
290
+ -
291
+ - expect(anchorTag).toBeFalsy();
292
+ - });
293
+ -
294
+ - it("should have anchor tag when href prop is passed", () => {
295
+ - const href = "http://www.nextui.org/";
296
+ -
297
+ - render(
298
+ - <Listbox disallowEmptySelection aria-label="Actions" selectionMode="multiple">
299
+ - <ListboxItem key="new" href={href}>
300
+ - New file
301
+ - </ListboxItem>
302
+ - <ListboxItem key="copy">Copy link</ListboxItem>
303
+ - <ListboxItem key="edit">Edit file</ListboxItem>
304
+ - </Listbox>,
305
+ - );
306
+ -
307
+ - let anchorTag = document.getElementsByTagName("a")[0];
308
+ -
309
+ - expect(anchorTag).toBeTruthy();
310
+ -
311
+ - expect(anchorTag).toHaveProperty("href", href);
312
+ - });
313
+ -
314
+ it("should work with single selection (controlled)", async () => {
315
+ let onSelectionChange = jest.fn();
316
+ \n- packages/components/listbox/src/listbox-item.tsx (modified, 28 changes)\n Patch: @@ -12,7 +12,6 @@ export interface ListboxItemProps<T extends object = object>
317
+ const ListboxItem = (props: ListboxItemProps) => {
318
+ const {
319
+ Component,
320
+ - FragmentWrapper,
321
+ rendered,
322
+ description,
323
+ isSelectable,
324
+ @@ -23,7 +22,6 @@ const ListboxItem = (props: ListboxItemProps) => {
325
+ endContent,
326
+ hideSelectedIcon,
327
+ disableAnimation,
328
+ - fragmentWrapperProps,
329
+ getItemProps,
330
+ getLabelProps,
331
+ getWrapperProps,
332
+ @@ -47,21 +45,19 @@ const ListboxItem = (props: ListboxItemProps) => {
333
+
334
+ return (
335
+ <Component {...getItemProps()}>
336
+ - <FragmentWrapper {...fragmentWrapperProps}>
337
+ - {startContent}
338
+ - {description ? (
339
+ - <div {...getWrapperProps()}>
340
+ - <span {...getLabelProps()}>{rendered}</span>
341
+ - <span {...getDescriptionProps()}>{description}</span>
342
+ - </div>
343
+ - ) : (
344
+ + {startContent}
345
+ + {description ? (
346
+ + <div {...getWrapperProps()}>
347
+ <span {...getLabelProps()}>{rendered}</span>
348
+ - )}
349
+ - {isSelectable && !hideSelectedIcon && (
350
+ - <span {...getSelectedIconProps()}>{selectedContent}</span>
351
+ - )}
352
+ - {endContent}
353
+ - </FragmentWrapper>
354
+ + <span {...getDescriptionProps()}>{description}</span>
355
+ + </div>
356
+ + ) : (
357
+ + <span {...getLabelProps()}>{rendered}</span>
358
+ + )}
359
+ + {isSelectable && !hideSelectedIcon && (
360
+ + <span {...getSelectedIconProps()}>{selectedContent}</span>
361
+ + )}
362
+ + {endContent}
363
+ </Component>
364
+ );
365
+ };\n- packages/components/listbox/src/use-listbox-item.ts (modified, 10 changes)\n Patch: @@ -1,7 +1,7 @@
366
+ import type {ListboxItemBaseProps} from "./base/listbox-item-base";
367
+ import type {MenuItemVariantProps} from "@nextui-org/theme";
368
+
369
+ -import {useMemo, useRef, useCallback, Fragment} from "react";
370
+ +import {useMemo, useRef, useCallback} from "react";
371
+ import {listboxItem} from "@nextui-org/theme";
372
+ import {
373
+ HTMLNextUIProps,
374
+ @@ -50,7 +50,6 @@ export function useListboxItem<T extends object>(originalProps: UseListboxItemPr
375
+ shouldHighlightOnFocus,
376
+ hideSelectedIcon = false,
377
+ isReadOnly = false,
378
+ - href,
379
+ ...otherProps
380
+ } = props;
381
+
382
+ @@ -59,12 +58,9 @@ export function useListboxItem<T extends object>(originalProps: UseListboxItemPr
383
+
384
+ const domRef = useRef<HTMLLIElement>(null);
385
+
386
+ - const Component = as || "li";
387
+ + const Component = as || (originalProps.href ? "a" : "li");
388
+ const shouldFilterDOMProps = typeof Component === "string";
389
+
390
+ - const FragmentWrapper = href ? "a" : Fragment;
391
+ - const fragmentWrapperProps = href ? {href} : {};
392
+ -
393
+ const {rendered, key} = item;
394
+
395
+ const isDisabled = state.disabledKeys.has(key) || originalProps.isDisabled;
396
+ @@ -173,7 +169,6 @@ export function useListboxItem<T extends object>(originalProps: UseListboxItemPr
397
+
398
+ return {
399
+ Component,
400
+ - FragmentWrapper,
401
+ domRef,
402
+ slots,
403
+ classNames,
404
+ @@ -187,7 +182,6 @@ export function useListboxItem<T extends object>(originalProps: UseListboxItemPr
405
+ selectedIcon,
406
+ hideSelectedIcon,
407
+ disableAnimation,
408
+ - fragmentWrapperProps,
409
+ getItemProps,
410
+ getLabelProps,
411
+ getWrapperProps,\n- packages/components/menu/__tests__/menu.test.tsx (modified, 40 changes)\n Patch: @@ -125,46 +125,6 @@ describe("Menu", () => {
412
+ expect(() => wrapper.unmount()).not.toThrow();
413
+ });
414
+
415
+ - it("should not have anchor tag when href prop is not passed", () => {
416
+ - render(
417
+ - <Menu disallowEmptySelection aria-label="Actions" selectionMode="multiple">
418
+ - <MenuItem key="new">New file</MenuItem>
419
+ - <MenuItem key="copy">Copy link</MenuItem>
420
+ - <MenuItem key="edit">Edit file</MenuItem>
421
+ - <MenuItem key="delete" color="danger">
422
+ - Delete file
423
+ - </MenuItem>
424
+ - </Menu>,
425
+ - );
426
+ -
427
+ - let anchorTag = document.getElementsByTagName("a")[0];
428
+ -
429
+ - expect(anchorTag).toBeFalsy();
430
+ - });
431
+ -
432
+ - it("should have anchor tag when href prop is passed", () => {
433
+ - const href = "http://www.nextui.org/";
434
+ -
435
+ - render(
436
+ - <Menu disallowEmptySelection aria-label="Actions" selectionMode="multiple">
437
+ - <MenuItem key="new" href={href}>
438
+ - New file
439
+ - </MenuItem>
440
+ - <MenuItem key="copy">Copy link</MenuItem>
441
+ - <MenuItem key="edit">Edit file</MenuItem>
442
+ - <MenuItem key="delete" color="danger">
443
+ - Delete file
444
+ - </MenuItem>
445
+ - </Menu>,
446
+ - );
447
+ -
448
+ - let anchorTag = document.getElementsByTagName("a")[0];
449
+ -
450
+ - expect(anchorTag).toBeTruthy();
451
+ -
452
+ - expect(anchorTag).toHaveProperty("href", href);
453
+ - });
454
+ -
455
+ it("should work with single selection (controlled)", async () => {
456
+ let onSelectionChange = jest.fn();
457
+ \n- packages/components/menu/src/menu-item.tsx (modified, 30 changes)\n Patch: @@ -12,7 +12,6 @@ export interface MenuItemProps<T extends object = object>
458
+ const MenuItem = (props: MenuItemProps) => {
459
+ const {
460
+ Component,
461
+ - FragmentWrapper,
462
+ slots,
463
+ classNames,
464
+ rendered,
465
+ @@ -26,7 +25,6 @@ const MenuItem = (props: MenuItemProps) => {
466
+ endContent,
467
+ disableAnimation,
468
+ hideSelectedIcon,
469
+ - fragmentWrapperProps,
470
+ getItemProps,
471
+ getLabelProps,
472
+ getDescriptionProps,
473
+ @@ -50,22 +48,20 @@ const MenuItem = (props: MenuItemProps) => {
474
+
475
+ return (
476
+ <Component {...getItemProps()}>
477
+ - <FragmentWrapper {...fragmentWrapperProps}>
478
+ - {startContent}
479
+ - {description ? (
480
+ - <div className={slots.wrapper({class: classNames?.wrapper})}>
481
+ - <span {...getLabelProps()}>{rendered}</span>
482
+ - <span {...getDescriptionProps()}>{description}</span>
483
+ - </div>
484
+ - ) : (
485
+ + {startContent}
486
+ + {description ? (
487
+ + <div className={slots.wrapper({class: classNames?.wrapper})}>
488
+ <span {...getLabelProps()}>{rendered}</span>
489
+ - )}
490
+ - {shortcut && <kbd {...getKeyboardShortcutProps()}>{shortcut}</kbd>}
491
+ - {isSelectable && !hideSelectedIcon && (
492
+ - <span {...getSelectedIconProps()}>{selectedContent}</span>
493
+ - )}
494
+ - {endContent}
495
+ - </FragmentWrapper>
496
+ + <span {...getDescriptionProps()}>{description}</span>
497
+ + </div>
498
+ + ) : (
499
+ + <span {...getLabelProps()}>{rendered}</span>
500
+ + )}
501
+ + {shortcut && <kbd {...getKeyboardShortcutProps()}>{shortcut}</kbd>}
502
+ + {isSelectable && !hideSelectedIcon && (
503
+ + <span {...getSelectedIconProps()}>{selectedContent}</span>
504
+ + )}
505
+ + {endContent}
506
+ </Component>
507
+ );
508
+ };\n- packages/components/menu/src/use-menu-item.ts (modified, 10 changes)\n Patch: @@ -2,7 +2,7 @@ import type {MenuItemBaseProps} from "./base/menu-item-base";
509
+ import type {MenuItemVariantProps} from "@nextui-org/theme";
510
+ import type {Node} from "@react-types/shared";
511
+
512
+ -import {useMemo, useRef, useCallback, Fragment} from "react";
513
+ +import {useMemo, useRef, useCallback} from "react";
514
+ import {menuItem} from "@nextui-org/theme";
515
+ import {
516
+ HTMLNextUIProps,
517
+ @@ -59,7 +59,6 @@ export function useMenuItem<T extends object>(originalProps: UseMenuItemProps<T>
518
+ isReadOnly = false,
519
+ closeOnSelect,
520
+ onClose,
521
+ - href,
522
+ ...otherProps
523
+ } = props;
524
+
525
+ @@ -68,12 +67,9 @@ export function useMenuItem<T extends object>(originalProps: UseMenuItemProps<T>
526
+
527
+ const domRef = useRef<HTMLLIElement>(null);
528
+
529
+ - const Component = as || "li";
530
+ + const Component = as || (otherProps?.href ? "a" : "li");
531
+ const shouldFilterDOMProps = typeof Component === "string";
532
+
533
+ - const FragmentWrapper = href ? "a" : Fragment;
534
+ - const fragmentWrapperProps = href ? {href} : {};
535
+ -
536
+ const {rendered, key} = item;
537
+
538
+ const isDisabledProp = state.disabledKeys.has(key) || originalProps.isDisabled;
539
+ @@ -198,7 +194,6 @@ export function useMenuItem<T extends object>(originalProps: UseMenuItemProps<T>
540
+
541
+ return {
542
+ Component,
543
+ - FragmentWrapper,
544
+ domRef,
545
+ slots,
546
+ classNames,
547
+ @@ -212,7 +207,6 @@ export function useMenuItem<T extends object>(originalProps: UseMenuItemProps<T>
548
+ endContent,
549
+ selectedIcon,
550
+ disableAnimation,
551
+ - fragmentWrapperProps,
552
+ getItemProps,
553
+ getLabelProps,
554
+ hideSelectedIcon,\n- packages/components/pagination/__tests__/pagination.test.tsx (modified, 21 changes)\n Patch: @@ -1,7 +1,7 @@
555
+ import * as React from "react";
556
+ import {render} from "@testing-library/react";
557
+
558
+ -import {Pagination, PaginationItem} from "../src";
559
+ +import {Pagination} from "../src";
560
+
561
+ describe("Pagination", () => {
562
+ it("should render correctly", () => {
563
+ @@ -37,25 +37,6 @@ describe("Pagination", () => {
564
+ expect(prevButton).toBeNull();
565
+ });
566
+
567
+ - it("should not have anchor tag when href prop is not passed", () => {
568
+ - render(<PaginationItem />);
569
+ - let anchorTag = document.getElementsByTagName("a")[0];
570
+ -
571
+ - expect(anchorTag).toBeFalsy();
572
+ - });
573
+ -
574
+ - it("should have anchor tag when href prop is passed", () => {
575
+ - const href = "http://www.nextui.org/";
576
+ -
577
+ - render(<PaginationItem href={href} />);
578
+ -
579
+ - let anchorTag = document.getElementsByTagName("a")[0];
580
+ -
581
+ - expect(anchorTag).toBeTruthy();
582
+ -
583
+ - expect(anchorTag).toHaveProperty("href", href);
584
+ - });
585
+ -
586
+ it("should show dots when total is greater than 10", () => {
587
+ const wrapper = render(<Pagination total={10} />);
588
+ \n- packages/components/pagination/src/pagination-item.tsx (modified, 9 changes)\n Patch: @@ -5,14 +5,9 @@ import {usePaginationItem, UsePaginationItemProps} from "./use-pagination-item";
589
+ export interface PaginationItemProps extends UsePaginationItemProps {}
590
+
591
+ const PaginationItem = forwardRef<"li", PaginationItemProps>((props, ref) => {
592
+ - const {Component, FragmentWrapper, fragmentWrapperProps, children, getItemProps} =
593
+ - usePaginationItem({...props, ref});
594
+ + const {Component, children, getItemProps} = usePaginationItem({...props, ref});
595
+
596
+ - return (
597
+ - <Component {...getItemProps()}>
598
+ - <FragmentWrapper {...fragmentWrapperProps}>{children}</FragmentWrapper>
599
+ - </Component>
600
+ - );
601
+ + return <Component {...getItemProps()}>{children}</Component>;
602
+ });
603
+
604
+ PaginationItem.displayName = "NextUI.PaginationItem";\n- packages/components/pagination/src/use-pagination-item.ts (modified, 11 changes)\n Patch: @@ -2,7 +2,7 @@ import type {Ref} from "react";
605
+ import type {HTMLNextUIProps, PropGetter} from "@nextui-org/system";
606
+ import type {LinkDOMProps, PressEvent} from "@react-types/shared";
607
+
608
+ -import {Fragment, useMemo} from "react";
609
+ +import {useMemo} from "react";
610
+ import {PaginationItemValue} from "@nextui-org/use-pagination";
611
+ import {clsx, dataAttr} from "@nextui-org/shared-utils";
612
+ import {chain, mergeProps, shouldClientNavigate, useRouter} from "@react-aria/utils";
613
+ @@ -64,13 +64,10 @@ export function usePaginationItem(props: UsePaginationItemProps) {
614
+ } = props;
615
+
616
+ const isLink = !!props?.href;
617
+ - const Component = as || "li";
618
+ + const Component = as || isLink ? "a" : "li";
619
+ const shouldFilterDOMProps = typeof Component === "string";
620
+ -
621
+ - const FragmentWrapper = isLink ? "a" : Fragment;
622
+ - const fragmentWrapperProps = isLink ? {href: props.href} : {};
623
+ -
624
+ const domRef = useDOMRef(ref);
625
+ +
626
+ const router = useRouter();
627
+
628
+ const ariaLabel = useMemo(
629
+ @@ -132,8 +129,6 @@ export function usePaginationItem(props: UsePaginationItemProps) {
630
+
631
+ return {
632
+ Component,
633
+ - FragmentWrapper,
634
+ - fragmentWrapperProps,
635
+ children,
636
+ ariaLabel,
637
+ isFocused,\n
processed_docs/pr_data_0_doc_30.txt ADDED
@@ -0,0 +1,191 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4235
2
+ Title: fix: snippet release
3
+ Base Branch: canary
4
+ Head Branch: fix/versions
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4235
7
+ State: MERGED
8
+ Created At: 2024-12-06T14:28:48Z
9
+ Merged At: 2024-12-06T14:29:02Z
10
+ Participants: jrgarciadev
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+
26
+ Bug Fixes
27
+
28
+ Updated the dependency for improved stability and performance.
29
+
30
+ Commits:
31
+ - fix: snippet release\n
32
+
33
+ Labels:
34
+
35
+
36
+ Comments:
37
+ - changeset-bot: ### πŸ¦‹ Changeset detected
38
+
39
+ Latest commit: 294ffac4b4d7fc7dba3d6c1e69ee4b4c1f3d1426
40
+
41
+ **The changes in this PR will be included in the next version bump.**
42
+
43
+ <details><summary>This PR includes changesets to release 2 packages</summary>
44
+
45
+ | Name | Type |
46
+ | ------------------- | ----- |
47
+ | @nextui-org/snippet | Patch |
48
+ | @nextui-org/react | Patch |
49
+
50
+ </details>
51
+
52
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
53
+
54
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/fix/versions?filename=.changeset/shy-yaks-argue.md&value=---%0A%0A---%0A%0Afix%3A%20snippet%20release%0A)
55
+
56
+ \n- vercel: [vc]: #qXrFRZXWijqSnw6nc7i19qpsFsv5IY9gx9nopces554=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi82N2NjaTFUYnpGWHhUZFEyb1p4SFRWOFJhOVBVIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtdmVyc2lvbnMtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IlBFTkRJTkciLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LWZpeC12ZXJzaW9ucy1uZXh0dWktb3JnLnZlcmNlbC5hcHAifX0seyJuYW1lIjoibmV4dHVpLXN0b3J5Ym9vay12MiIsInJvb3REaXJlY3RvcnkiOiJwYWNrYWdlcy9zdG9yeWJvb2siLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktc3Rvcnlib29rLXYyLzZVaDJ1aTVXd3NqMXhCQ0h3dmlBUkdFaVBuNnciLCJwcmV2aWV3VXJsIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LXZlcnNpb25zLW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJQRU5ESU5HIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZpeC12ZXJzaW9ucy1uZXh0dWktb3JnLnZlcmNlbC5hcHAifX1dfQ==
57
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
58
+
59
+ | Name | Status | Preview | Comments | Updated (UTC) |
60
+ | :--- | :----- | :------ | :------- | :------ |
61
+ | **nextui-docs-v2** | πŸ”„ Building ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/67cci1TbzFXxTdQ2oZxHTV8Ra9PU)) | [Visit Preview](https://nextui-docs-v2-git-fix-versions-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-versions-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 2:28pm |
62
+ | **nextui-storybook-v2** | πŸ”„ Building ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/6Uh2ui5Wwsj1xBCHwviARGEiPn6w)) | [Visit Preview](https://nextui-storybook-v2-git-fix-versions-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-versions-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 2:28pm |
63
+
64
+
65
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
66
+ <!-- This is an auto-generated comment: failure by coderabbit.ai -->
67
+
68
+ > [!CAUTION]
69
+ > ## Review failed
70
+ >
71
+ > The pull request is closed.
72
+
73
+ <!-- end of auto-generated comment: failure by coderabbit.ai -->
74
+
75
+ <!-- internal state start -->
76
+
77
+
78
+ <!-- FAHghAtBAEAqAWBLAztF0CGA7TBXALgPYQDmAplmQE4b5kAm0AxoQLasX4Bc0ADldEIAjAFZkm+RADcyqIQE9mhetQxChifADoMiaFAB8wY+CjGAxOegAFAErQAyrnYYq84wjJ9cAGx/QqMgBHXFl8aEl8HwZoACIAM0QADx5kLEReXjJwwOiMZDJY6AB3fOZA2hiFCPgvXAKBESoSVyZEDBUpTCxGdEQVLElEqsV8WugsZyFqaAAWACYAZgBWLWgASXD0eEJkOkZCHABxTQAJXCFMcLGvAFVbABkeAG14fHxeZC4Aem+STXgFy0LFY30oSXwuEQEEIzTBZAhUO+vF8Pm+CxWAF0ABRvD5fX7/MZAkHwxHQ2EkMmQxDI1HopbLACUWg84xUyCYVAykkOgniNS8KL8AWCoT2aCwTB8uA5mAiZFYvB8lRqtEEBB8iEoqBuE3EsmQrkUezIn26jBYWGQ/VUvOt0HisOgyAurE0kiwJHldjWm2git48HyiAAXrJBWglbD8NgmF5CAKANZkM3a716uwu1gYPwAGmgWvdnu9mgihEElAi8iy0GxrqY8EwqHohCYzk4tEQhwL8TItFwgQLgXiGAksPTBatntwhHqkroJBo9uHZt2mlhikb2HIyALzqEuG9iSSsiZBewjCwhDouuD4TsqG1+CoylwbS9+uKAYh1CwuegFQsh6Cg2gjHNFECEJEECeUfEOcgBECKREDIb9JA4VlgE8BUlRVOg+FfJV8DvLxp25Q8iAEIhCMIFCVHlIRuTIAUOS5HluxwRNI23L1wI6MgCz1dsqECQZoGmYMUOdMZ1XQaZ02gVhlEQYZ6AvHpI0ob9JIwaSBGfV96HfEZI19aAAEF6HoTRONzHx5ALMt8iTVBilqG5qPGXjdyUa1IgILwMAkiok0Unygp6JyBWQQghIrNiKK8PVECVMdwkvJTECXLs+V4WgmydAQERQEtoHqahUG4gA5BF8FudY1k8WD0FzWL5QKCROMdZ1sEUDobPtADtSKnN7TVcIIIkrxcjIKRsGuCs9WQ1Dv34NtDSwgB5GQaHzMz7F0VhdQrAbAmQVBcGtLI2jUtALvFUV8JiGi9TSDIshyMg8gKC8fDGOcSCbZAbtUxAmEA7JdB8VBAhaKgbM/YTgz4qqvK8FBXS8BTP2lXYYlcLxr3Cdb6JibVI1dFw3CwwwTEgGAKAOAUMAIYhyEoZcYhBDhBh4fhBFEcRJBkOQt2UVR1E0HQ9Dp0wYAQPpUGwPAiFICg7W5thee4AIMG/KmczcCTxZUGgpe0XR9AgIx6bMYBgRR3dsm+eCZAciBtOQCAmAwJUtFYeguGAWJQ+ASxLPWdXOcqRhDeNflmCd2RjAsvhaEbaBgzkVMcAwTItRepb2TNJnQMUAADWIAAFwRpGE4XezJsliCvJUjRJomgCvHZ3WQXbd775E9tDvd9/3A57uBvOT+7mEqEgJ3DRgymCk8nv7X7JRs32ytkrYMus86CifB6IwPI8nxwN7Qbu/KmCTDByCwiwrAs/67U4k7IxUaVXFyh03EES8BjDEZ0KIhBaghpwWyKdgAwAACKlxAlKRQuBeD0FjjwKutc6pQgblSJun1W7tx7hFAo+BXZ0SHiPYoY8/a8ADvQCuIcw7wJtnbRmmluKszVhzTWlptacB4DQA2zgjaKGqCwM2agNCW1ljbIAA=== -->
79
+
80
+ <!-- internal state end -->
81
+ <!-- walkthrough_start -->
82
+
83
+ ## Walkthrough
84
+ A patch has been applied to the dependency `"@nextui-org/snippet"` in the `.changeset/lovely-news-camp.md` file. This change is categorized as a fix release, indicating that it resolves issues or bugs related to the specified package.
85
+
86
+ ## Changes
87
+
88
+ | File | Change Summary |
89
+ |-------------------------------------|------------------------------------------------|
90
+ | .changeset/lovely-news-camp.md | Updated dependency `"@nextui-org/snippet"` |
91
+
92
+ ## Possibly related PRs
93
+ - #4204: The main PR updates the dependency `"@nextui-org/snippet"`, while this retrieved PR addresses issues in the `@nextui-org/react` package, indicating a potential connection through shared dependencies within the NextUI framework.
94
+
95
+ <!-- walkthrough_end -->
96
+
97
+ ---
98
+
99
+ <details>
100
+ <summary>πŸ“œ Recent review details</summary>
101
+
102
+ **Configuration used: .coderabbit.yaml**
103
+ **Review profile: CHILL**
104
+
105
+ <details>
106
+ <summary>πŸ“₯ Commits</summary>
107
+
108
+ Reviewing files that changed from the base of the PR and between bbb436b89b46a6b3f1dc7df0adff0ec1f8bc3daf and 294ffac4b4d7fc7dba3d6c1e69ee4b4c1f3d1426.
109
+
110
+ </details>
111
+
112
+ <details>
113
+ <summary>πŸ“’ Files selected for processing (1)</summary>
114
+
115
+ * `.changeset/lovely-news-camp.md` (1 hunks)
116
+
117
+ </details>
118
+
119
+ </details>
120
+ <!-- tips_start -->
121
+
122
+ ---
123
+
124
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
125
+
126
+ <details>
127
+ <summary>❀️ Share</summary>
128
+
129
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
130
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
131
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
132
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
133
+
134
+ </details>
135
+
136
+ <details>
137
+ <summary>πŸͺ§ Tips</summary>
138
+
139
+ ### Chat
140
+
141
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
142
+
143
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
144
+ - `I pushed a fix in commit <commit_id>, please review it.`
145
+ - `Generate unit testing code for this file.`
146
+ - `Open a follow-up GitHub issue for this discussion.`
147
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
148
+ - `@coderabbitai generate unit testing code for this file.`
149
+ - `@coderabbitai modularize this function.`
150
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
151
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
152
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
153
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
154
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
155
+
156
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
157
+
158
+ ### CodeRabbit Commands (Invoked using PR comments)
159
+
160
+ - `@coderabbitai pause` to pause the reviews on a PR.
161
+ - `@coderabbitai resume` to resume the paused reviews.
162
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
163
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
164
+ - `@coderabbitai summary` to regenerate the summary of the PR.
165
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
166
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
167
+ - `@coderabbitai help` to get help.
168
+
169
+ ### Other keywords and placeholders
170
+
171
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
172
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
173
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
174
+
175
+ ### Documentation and Community
176
+
177
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
178
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
179
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
180
+
181
+ </details>
182
+
183
+ <!-- tips_end -->\n
184
+
185
+ Files Changed:
186
+ - .changeset/lovely-news-camp.md (added, 5 changes)\n Patch: @@ -0,0 +1,5 @@
187
+ +---
188
+ +"@nextui-org/snippet": patch
189
+ +---
190
+ +
191
+ +Fix release\n
processed_docs/pr_data_0_doc_31.txt ADDED
@@ -0,0 +1,240 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4233
2
+ Title: fix(docs): prevent scrolling up on pressing theme change switch
3
+ Base Branch: canary
4
+ Head Branch: macci001/eng-1647
5
+ Author: macci001
6
+ URL: https://github.com/nextui-org/nextui/pull/4233
7
+ State: MERGED
8
+ Created At: 2024-12-06T13:02:24Z
9
+ Merged At: 2024-12-06T13:14:04Z
10
+ Participants: macci001, jrgarciadev
11
+
12
+ Description:
13
+ Closes # ENG-1647
14
+ πŸ“ Description
15
+ Prevent scrolling up on pressing theme change switch
16
+ ⛳️ Current behavior (updates)
17
+ Pressing the theme change switch scrolls the page up.
18
+ πŸš€ New behavior
19
+
20
+
21
+
22
+
23
+
24
+ Screen.Recording.2024-12-06.at.6.30.19.PM.mov
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+ πŸ’£ Is this a breaking change (Yes/No): No
34
+
35
+ Summary by CodeRabbit
36
+
37
+
38
+ New Features
39
+
40
+ Enhanced theme switching functionality with improved event handling for mouse and keyboard interactions.
41
+ Users can now switch themes using the "Enter" and "Space" keys for better accessibility.
42
+
43
+
44
+
45
+ Bug Fixes
46
+
47
+ Resolved unintended side effects during theme changes by implementing event prevention methods.
48
+
49
+ Commits:
50
+ - fix(docs): prevent scrolling up on pressing theme change switch\n
51
+
52
+ Labels:
53
+
54
+
55
+ Comments:
56
+ - linear: <p><a href="https://linear.app/nextui-inc/issue/ENG-1647/theme-switch-is-scrolling-the-page-up">ENG-1647 Theme switch is scrolling the page up</a></p>\n- vercel: [vc]: #dQoNW/L6uWr4+cUqigz34WJMu9kw6vY794HnL1DhM+M=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LW1hY2NpMDAxLWVuZy0xNjQ3LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9LCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi8yZGh5eFB1aEZ1ZTk5Z0xzYVJ6QVhhOWdkVFhMIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1tYWNjaTAwMS1lbmctMTY0Ny1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQifSx7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvSjg2QzZCQWNUeG9MTENxeUVzVG1uTVFIbzFWbSIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1tYWNjaTAwMS1lbmctMTY0Ny1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtbWFjY2kwMDEtZW5nLTE2NDctbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
57
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
58
+
59
+ | Name | Status | Preview | Comments | Updated (UTC) |
60
+ | :--- | :----- | :------ | :------- | :------ |
61
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/2dhyxPuhFue99gLsaRzAXa9gdTXL)) | [Visit Preview](https://nextui-docs-v2-git-macci001-eng-1647-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-macci001-eng-1647-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 1:04pm |
62
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/J86C6BAcTxoLLCqyEsTmnMQHo1Vm)) | [Visit Preview](https://nextui-storybook-v2-git-macci001-eng-1647-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-macci001-eng-1647-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 6, 2024 1:04pm |
63
+
64
+
65
+ \n- changeset-bot: ### ⚠️ No Changeset found
66
+
67
+ Latest commit: 40c44c6653eacfd0e975d9bf55f73551ca82b849
68
+
69
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
70
+
71
+ <details><summary>This PR includes no changesets</summary>
72
+
73
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
74
+
75
+ </details>
76
+
77
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
78
+
79
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/macci001/eng-1647?filename=.changeset/smooth-insects-battle.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0Afix(docs)%3A%20prevent%20scrolling%20up%20on%20pressing%20theme%20change%20switch%0A)
80
+
81
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
82
+
83
+
84
+ <!-- walkthrough_start -->
85
+
86
+ ## Walkthrough
87
+ The changes in this pull request primarily involve modifications to the `ThemeSwitch` component located in `apps/docs/components/theme-switch.tsx`. The `onChange` function has been renamed to `handleThemeChange`, which now accepts a broader range of event types. The function's logic has been refined to calculate the new theme based on the current state, and it includes event handling improvements. Additionally, the component's event handlers have been updated to enhance user interaction through keyboard and mouse events.
88
+
89
+ ## Changes
90
+
91
+ | File Path | Change Summary |
92
+ |---------------------------------------------|-----------------------------------------------------------------------------------------------------|
93
+ | apps/docs/components/theme-switch.tsx | - Renamed `onChange` to `handleThemeChange` with updated signature. |
94
+ | | - Added `preventDefault()` and `stopPropagation()` to the event handling. |
95
+ | | - Encapsulated theme calculation logic within `handleThemeChange`. |
96
+ | | - Updated `posthog.capture` to use the newly calculated theme. |
97
+ | | - Modified `useSwitch` hook to use `handleThemeChange`. |
98
+ | | - Added `onClick` and `onKeyDown` handlers for improved user interaction. |
99
+
100
+ ## Possibly related PRs
101
+ - **#3491**: Addresses slow color changes in sortable table headers during theme transitions.
102
+ - **#3552**: Resolves a double-click issue on checkbox, toggle, and radio components.
103
+ - **#3663**: Fixes color discrepancies in the select component.
104
+ - **#3764**: Improves the styling of ghost danger buttons.
105
+ - **#3768**: Addresses the `fullWidth` functionality in input and select components.
106
+ - **#3869**: Fixes label placement in select and input components.
107
+
108
+ ## Suggested labels
109
+ `πŸ‘€ Status: In Review`
110
+
111
+ ## Suggested reviewers
112
+ - jrgarciadev
113
+ - wingkwong
114
+
115
+ <!-- walkthrough_end -->
116
+ <!-- internal state start -->
117
+
118
+
119
+ <!-- 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= -->
120
+
121
+ <!-- internal state end -->
122
+ <!-- tips_start -->
123
+
124
+ ---
125
+
126
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
127
+
128
+ <details>
129
+ <summary>❀️ Share</summary>
130
+
131
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
132
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
133
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
134
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
135
+
136
+ </details>
137
+
138
+ <details>
139
+ <summary>πŸͺ§ Tips</summary>
140
+
141
+ ### Chat
142
+
143
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
144
+
145
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
146
+ - `I pushed a fix in commit <commit_id>, please review it.`
147
+ - `Generate unit testing code for this file.`
148
+ - `Open a follow-up GitHub issue for this discussion.`
149
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
150
+ - `@coderabbitai generate unit testing code for this file.`
151
+ - `@coderabbitai modularize this function.`
152
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
153
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
154
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
155
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
156
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
157
+
158
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
159
+
160
+ ### CodeRabbit Commands (Invoked using PR comments)
161
+
162
+ - `@coderabbitai pause` to pause the reviews on a PR.
163
+ - `@coderabbitai resume` to resume the paused reviews.
164
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
165
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
166
+ - `@coderabbitai summary` to regenerate the summary of the PR.
167
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
168
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
169
+ - `@coderabbitai help` to get help.
170
+
171
+ ### Other keywords and placeholders
172
+
173
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
174
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
175
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
176
+
177
+ ### Documentation and Community
178
+
179
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
180
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
181
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
182
+
183
+ </details>
184
+
185
+ <!-- tips_end -->\n
186
+
187
+ Files Changed:
188
+ - apps/docs/components/theme-switch.tsx (modified, 23 changes)\n Patch: @@ -1,6 +1,6 @@
189
+ "use client";
190
+
191
+ -import {FC} from "react";
192
+ +import {FC, ChangeEvent} from "react";
193
+ import {VisuallyHidden} from "@react-aria/visually-hidden";
194
+ import {SwitchProps, useSwitch} from "@nextui-org/react";
195
+ import {useTheme} from "next-themes";
196
+ @@ -22,20 +22,27 @@ export const ThemeSwitch: FC<ThemeSwitchProps> = ({className, classNames}) => {
197
+
198
+ const initialTheme = isSSR ? "light" : theme;
199
+
200
+ - const onChange = () => {
201
+ - theme === "light" ? setTheme("dark") : setTheme("light");
202
+ + const handleThemeChange = (
203
+ + e?: ChangeEvent<HTMLInputElement> | React.MouseEvent | React.KeyboardEvent,
204
+ + ) => {
205
+ + e?.preventDefault();
206
+ + e?.stopPropagation();
207
+ +
208
+ + const newTheme = theme === "light" ? "dark" : "light";
209
+ +
210
+ + setTheme(newTheme);
211
+
212
+ posthog.capture("ThemeChange", {
213
+ action: "click",
214
+ category: "theme",
215
+ - data: theme === "light" ? "dark" : "light",
216
+ + data: newTheme,
217
+ });
218
+ };
219
+
220
+ const {Component, slots, isSelected, getBaseProps, getInputProps, getWrapperProps} = useSwitch({
221
+ isSelected: initialTheme === "light",
222
+ "aria-label": `Switch to ${initialTheme === "light" ? "dark" : "light"} mode`,
223
+ - onChange,
224
+ + onChange: handleThemeChange as (event: ChangeEvent<HTMLInputElement>) => void,
225
+ });
226
+
227
+ return (
228
+ @@ -46,6 +53,12 @@ export const ThemeSwitch: FC<ThemeSwitchProps> = ({className, classNames}) => {
229
+ className,
230
+ classNames?.base,
231
+ ),
232
+ + onClick: handleThemeChange,
233
+ + onKeyDown: (e: React.KeyboardEvent) => {
234
+ + if (e.key === "Enter" || e.key === " ") {
235
+ + handleThemeChange(e);
236
+ + }
237
+ + },
238
+ })}
239
+ >
240
+ <VisuallyHidden>\n
processed_docs/pr_data_0_doc_32.txt ADDED
@@ -0,0 +1,1567 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4229
2
+ Title: fix: fix for next15 support
3
+ Base Branch: canary
4
+ Head Branch: fix/next15-using-react-create-element
5
+ Author: macci001
6
+ URL: https://github.com/nextui-org/nextui/pull/4229
7
+ State: CLOSED
8
+ Created At: 2024-12-05T18:47:27Z
9
+ Merged At: None
10
+ Participants: macci001, jrgarciadev
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Commits:
25
+ - feat: nextjs 15 migration in progress\n- fix: fix for next15 support\n
26
+
27
+ Labels:
28
+
29
+
30
+ Comments:
31
+ - vercel: [vc]: #buCSiKeyvMUgkDHF4QMBGzzKwRzdq4LfeUiLMvom3aM=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoiIn0sImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1kb2NzLXYyL0hya3ZwN2E3U1lrckxRczdlaFNFcXM3NkY3SG8iLCJwcmV2aWV3VXJsIjoiIiwibmV4dENvbW1pdFN0YXR1cyI6IkZBSUxFRCJ9LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6IiJ9LCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktc3Rvcnlib29rLXYyL0FCWW1Tc2VkcXU1R2F0NGpRNEFwZThTVHAzNVUiLCJwcmV2aWV3VXJsIjoiIiwibmV4dENvbW1pdFN0YXR1cyI6IkZBSUxFRCJ9XX0=
32
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
33
+
34
+ | Name | Status | Preview | Comments | Updated (UTC) |
35
+ | :--- | :----- | :------ | :------- | :------ |
36
+ | **nextui-docs-v2** | ❌ Failed ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/Hrkvp7a7SYkrLQs7ehSEqs76F7Ho)) | | | Dec 5, 2024 6:47pm |
37
+ | **nextui-storybook-v2** | ❌ Failed ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/ABYmSsedqu5Gat4jQ4Ape8STp35U)) | | | Dec 5, 2024 6:47pm |
38
+
39
+
40
+ \n- changeset-bot: ### ⚠️ No Changeset found
41
+
42
+ Latest commit: 743e30e0847510d08f22e31e7944f0e6502664b2
43
+
44
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
45
+
46
+ <details><summary>This PR includes no changesets</summary>
47
+
48
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
49
+
50
+ </details>
51
+
52
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
53
+
54
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/fix/next15-using-react-create-element?filename=.changeset/new-bananas-trade.md&value=---%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Fdate-picker%22%3A%20patch%0A%22%40nextui-org%2Fnavbar%22%3A%20patch%0A%22%40nextui-org%2Fpopover%22%3A%20patch%0A%22%40nextui-org%2Fselect%22%3A%20patch%0A---%0A%0Afix%3A%20fix%20for%20next15%20support%0A)
55
+
56
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
57
+ <!-- This is an auto-generated comment: skip review by coderabbit.ai -->
58
+
59
+ > [!IMPORTANT]
60
+ > ## Review skipped
61
+ >
62
+ > Draft detected.
63
+ >
64
+ > Please check the settings in the CodeRabbit UI or the `.coderabbit.yaml` file in this repository. To trigger a single review, invoke the `@coderabbitai review` command.
65
+ >
66
+ > You can disable this status message by setting the `reviews.review_status` to `false` in the CodeRabbit configuration file.
67
+
68
+ <!-- end of auto-generated comment: skip review by coderabbit.ai -->
69
+
70
+ <!-- tips_start -->
71
+
72
+ ---
73
+
74
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
75
+
76
+ <details>
77
+ <summary>❀️ Share</summary>
78
+
79
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
80
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
81
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
82
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
83
+
84
+ </details>
85
+
86
+ <details>
87
+ <summary>πŸͺ§ Tips</summary>
88
+
89
+ ### Chat
90
+
91
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
92
+
93
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
94
+ - `I pushed a fix in commit <commit_id>, please review it.`
95
+ - `Generate unit testing code for this file.`
96
+ - `Open a follow-up GitHub issue for this discussion.`
97
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
98
+ - `@coderabbitai generate unit testing code for this file.`
99
+ - `@coderabbitai modularize this function.`
100
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
101
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
102
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
103
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
104
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
105
+
106
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
107
+
108
+ ### CodeRabbit Commands (Invoked using PR comments)
109
+
110
+ - `@coderabbitai pause` to pause the reviews on a PR.
111
+ - `@coderabbitai resume` to resume the paused reviews.
112
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
113
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
114
+ - `@coderabbitai summary` to regenerate the summary of the PR.
115
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
116
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
117
+ - `@coderabbitai help` to get help.
118
+
119
+ ### Other keywords and placeholders
120
+
121
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
122
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
123
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
124
+
125
+ ### Documentation and Community
126
+
127
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
128
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
129
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
130
+
131
+ </details>
132
+
133
+ <!-- tips_end -->\n
134
+
135
+ Files Changed:
136
+ - apps/docs/app/blog/[slug]/page.tsx (modified, 10 changes)\n Patch: @@ -14,9 +14,9 @@ import {Route} from "@/libs/docs/page";
137
+ import {ChevronRightLinearIcon} from "@/components/icons";
138
+
139
+ interface BlogPostProps {
140
+ - params: {
141
+ + params: Promise<{
142
+ slug: string;
143
+ - };
144
+ + }>;
145
+ }
146
+
147
+ const isDraftVisible = __DEV__ || __PREVIEW__;
148
+ @@ -38,7 +38,8 @@ async function getBlogPostFromParams({params}: BlogPostProps) {
149
+ return {post, currentRoute};
150
+ }
151
+
152
+ -export async function generateMetadata({params}: BlogPostProps): Promise<Metadata> {
153
+ +export async function generateMetadata(props: BlogPostProps): Promise<Metadata> {
154
+ + const params = await props.params;
155
+ const {post} = await getBlogPostFromParams({params});
156
+
157
+ if (!post) {
158
+ @@ -78,7 +79,8 @@ export async function generateStaticParams(): Promise<BlogPostProps["params"][]>
159
+ }));
160
+ }
161
+
162
+ -export default async function DocPage({params}: BlogPostProps) {
163
+ +export default async function DocPage(props: BlogPostProps) {
164
+ + const params = await props.params;
165
+ const {post} = await getBlogPostFromParams({params});
166
+
167
+ if (!post || (post.draft && !isDraftVisible)) {\n- apps/docs/app/docs/[[...slug]]/page.tsx (modified, 10 changes)\n Patch: @@ -13,9 +13,9 @@ import {CONTENT_PATH, TAG} from "@/libs/docs/config";
168
+ import {getHeadings} from "@/libs/docs/utils";
169
+
170
+ interface DocPageProps {
171
+ - params: {
172
+ + params: Promise<{
173
+ slug: string[];
174
+ - };
175
+ + }>;
176
+ }
177
+
178
+ async function getDocFromParams({params}: DocPageProps) {
179
+ @@ -37,7 +37,8 @@ async function getDocFromParams({params}: DocPageProps) {
180
+ return {doc, headings, currentRoute};
181
+ }
182
+
183
+ -export async function generateMetadata({params}: DocPageProps): Promise<Metadata> {
184
+ +export async function generateMetadata(props: DocPageProps): Promise<Metadata> {
185
+ + const params = await props.params;
186
+ const {doc} = await getDocFromParams({params});
187
+
188
+ if (!doc) {
189
+ @@ -77,7 +78,8 @@ export async function generateStaticParams(): Promise<DocPageProps["params"][]>
190
+ }));
191
+ }
192
+
193
+ -export default async function DocPage({params}: DocPageProps) {
194
+ +export default async function DocPage(props: DocPageProps) {
195
+ + const params = await props.params;
196
+ const {doc, headings, currentRoute} = await getDocFromParams({params});
197
+
198
+ if (!doc) {\n- apps/docs/app/layout.tsx (modified, 19 changes)\n Patch: @@ -1,6 +1,6 @@
199
+ import "@/styles/globals.css";
200
+ import "@/styles/sandpack.css";
201
+ -import {Metadata} from "next";
202
+ +import {Metadata, Viewport} from "next";
203
+ import {clsx} from "@nextui-org/shared-utils";
204
+
205
+ import {Providers} from "./providers";
206
+ @@ -33,10 +33,6 @@ export const metadata: Metadata = {
207
+ "UI Framework",
208
+ "UI Design System",
209
+ ],
210
+ - themeColor: [
211
+ - {media: "(prefers-color-scheme: light)", color: "white"},
212
+ - {media: "(prefers-color-scheme: dark)", color: "black"},
213
+ - ],
214
+ icons: {
215
+ icon: "/favicon.ico",
216
+ shortcut: "/favicon-32x32.png",
217
+ @@ -58,8 +54,17 @@ export const metadata: Metadata = {
218
+ "application/rss+xml": [{url: "https://nextui.org/feed.xml", title: "NextUI RSS Feed"}],
219
+ },
220
+ },
221
+ - viewport:
222
+ - "viewport-fit=cover, width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0",
223
+ +};
224
+ +
225
+ +export const viewport: Viewport = {
226
+ + initialScale: 1,
227
+ + themeColor: [
228
+ + {color: "#f4f4f5", media: "(prefers-color-scheme: light)"},
229
+ + {color: "#111111", media: "(prefers-color-scheme: dark)"},
230
+ + ],
231
+ + userScalable: true,
232
+ + viewportFit: "cover",
233
+ + width: "device-width",
234
+ };
235
+
236
+ export default function RootLayout({children}: {children: React.ReactNode}) {\n- apps/docs/app/page.tsx (modified, 22 changes)\n Patch: @@ -1,4 +1,5 @@
237
+ import {Spacer} from "@nextui-org/spacer";
238
+ +import {Suspense} from "react";
239
+
240
+ import {Hero} from "@/components/marketing/hero";
241
+ import {FeaturesGrid} from "@/components/marketing/features-grid";
242
+ @@ -9,26 +10,11 @@ import {Customization} from "@/components/marketing/customization";
243
+ import {LastButNotLeast} from "@/components/marketing/last-but-not-least";
244
+ import {InstallBanner} from "@/components/marketing/install-banner";
245
+ import {Community} from "@/components/marketing/community";
246
+ -import {Support} from "@/components/marketing/support";
247
+ +import Support from "@/components/marketing/support";
248
+ import landingContent from "@/content/landing";
249
+ -import {getAllSponsors} from "@/utils/get-all-sponsors";
250
+ import {Sponsors} from "@/components/marketing/sponsors";
251
+
252
+ -async function getData() {
253
+ - try {
254
+ - const sponsors = await getAllSponsors();
255
+ -
256
+ - return {
257
+ - sponsors,
258
+ - };
259
+ - } catch (error) {
260
+ - throw new Error("Failed to fetch data");
261
+ - }
262
+ -}
263
+ -
264
+ export default async function Home() {
265
+ - const data = await getData();
266
+ -
267
+ return (
268
+ <main className="container mx-auto max-w-7xl px-6 flex-grow">
269
+ <section className="flex flex-col items-center justify-center">
270
+ @@ -40,7 +26,9 @@ export default async function Home() {
271
+ <DarkMode />
272
+ <Customization />
273
+ <LastButNotLeast />
274
+ - <Support sponsors={data.sponsors} />
275
+ + <Suspense fallback={<div>Loading...</div>}>
276
+ + <Support />
277
+ + </Suspense>
278
+ <Spacer y={24} />
279
+ <InstallBanner />
280
+ <Community />\n- apps/docs/app/providers.tsx (modified, 4 changes)\n Patch: @@ -5,7 +5,7 @@ import type {ReactNode} from "react";
281
+ import * as React from "react";
282
+ import {NextUIProvider} from "@nextui-org/react";
283
+ import {ThemeProvider as NextThemesProvider} from "next-themes";
284
+ -import {ThemeProviderProps} from "next-themes/dist/types";
285
+ +import {ThemeProviderProps} from "next-themes";
286
+ import {useRouter} from "next/navigation";
287
+ import {useEffect} from "react";
288
+ import posthog from "posthog-js";
289
+ @@ -23,7 +23,7 @@ export function Providers({children, themeProps}: ProvidersProps) {
290
+
291
+ const ProviderWrapper = ({children}: {children: ReactNode}) => {
292
+ useEffect(() => {
293
+ - if (typeof window !== "undefined") {
294
+ + if (typeof window !== "undefined" && __PROD__) {
295
+ posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY!, {
296
+ api_host: "/ingest",
297
+ person_profiles: "identified_only",\n- apps/docs/components/demos/user-twitter-card.tsx (modified, 6 changes)\n Patch: @@ -1,15 +1,14 @@
298
+ "use client";
299
+
300
+ -import {useState, FC} from "react";
301
+ +import {useState} from "react";
302
+ import {Card, CardHeader, Button, Avatar, CardBody, CardFooter} from "@nextui-org/react";
303
+ import {clsx} from "@nextui-org/shared-utils";
304
+ -import NextImage from "next/image";
305
+
306
+ interface UserTwitterCardProps {
307
+ className?: string;
308
+ }
309
+
310
+ -export const UserTwitterCard: FC<UserTwitterCardProps> = ({className}) => {
311
+ +export const UserTwitterCard = ({className}: UserTwitterCardProps) => {
312
+ const [isFollowed, setIsFollowed] = useState(false);
313
+
314
+ return (
315
+ @@ -18,7 +17,6 @@ export const UserTwitterCard: FC<UserTwitterCardProps> = ({className}) => {
316
+ <div className="flex gap-5">
317
+ <Avatar
318
+ isBordered
319
+ - ImgComponent={NextImage}
320
+ alt="Zoey Lang"
321
+ imgProps={{
322
+ width: 40,\n- apps/docs/components/docs/components/code-demo/react-live-demo.tsx (modified, 5 changes)\n Patch: @@ -1,7 +1,7 @@
323
+ import React from "react";
324
+ import {LivePreview, LiveProvider, LiveError} from "react-live";
325
+ import {clsx} from "@nextui-org/shared-utils";
326
+ -import * as Components from "@nextui-org/react";
327
+ +import * as NextUI from "@nextui-org/react";
328
+ import * as intlDateUtils from "@internationalized/date";
329
+ import * as reactAriaI18n from "@react-aria/i18n";
330
+ import * as reactHookFormBase from "react-hook-form";
331
+ @@ -31,7 +31,8 @@ const reactHookForm = {
332
+ };
333
+
334
+ export const scope = {
335
+ - ...Components,
336
+ + React,
337
+ + ...NextUI,
338
+ ...intlDateUtils,
339
+ ...reactAriaI18n,
340
+ ...reactHookForm,\n- apps/docs/components/marketing/support-client.tsx (added, 211 changes)\n Patch: @@ -0,0 +1,211 @@
341
+ +"use client";
342
+ +
343
+ +import {FC, useMemo, useRef} from "react";
344
+ +import {Avatar, AvatarProps, Button, Spacer, Tooltip} from "@nextui-org/react";
345
+ +import {clamp} from "@nextui-org/shared-utils";
346
+ +import {usePostHog} from "posthog-js/react";
347
+ +
348
+ +import {sectionWrapper, titleWrapper, title, subtitle} from "../primitives";
349
+ +
350
+ +import {FeaturesGrid} from "./features-grid";
351
+ +
352
+ +import {OpenCollectiveIcon, PatreonIcon, HeartBoldIcon, PlusLinearIcon} from "@/components/icons";
353
+ +import {Sponsor, SPONSOR_TIERS, SPONSOR_COLORS, getTier} from "@/libs/docs/sponsors";
354
+ +import {SonarPulse} from "@/components/sonar-pulse";
355
+ +import {useIsMobile} from "@/hooks/use-media-query";
356
+ +
357
+ +export interface SupportProps {
358
+ + sponsors: Sponsor[];
359
+ +}
360
+ +
361
+ +const supportAccounts = [
362
+ + {
363
+ + title: "Open Collective",
364
+ + description: "Sponsor the NextUI maintainers.",
365
+ + icon: <OpenCollectiveIcon className="text-pink-500" />,
366
+ + href: "https://opencollective.com/nextui",
367
+ + isExternal: true,
368
+ + },
369
+ + {
370
+ + title: "Patreon",
371
+ + description: "Sponsor the creator, Junior Garcia.",
372
+ + icon: <PatreonIcon className="text-pink-500" />,
373
+ + href: "https://www.patreon.com/jrgarciadev?fan_landing=true",
374
+ + isExternal: true,
375
+ + },
376
+ +];
377
+ +
378
+ +const SONAR_PULSE_SIZE = 80;
379
+ +const SONAR_PULSE_CIRCLES_COUNT = 4;
380
+ +const SONAR_PULSE_RADIUS = 130;
381
+ +
382
+ +const getSponsorName = (sponsor: Sponsor) => {
383
+ + if (!sponsor.name) {
384
+ + return "";
385
+ + }
386
+ +
387
+ + return sponsor.name.slice(0, 2).toUpperCase();
388
+ +};
389
+ +
390
+ +const getSponsorSize = (sponsor: Sponsor, isMobile: boolean) => {
391
+ + let size: AvatarProps["size"] = "md";
392
+ + const tier = sponsor.tier || getTier(sponsor.totalAmountDonated);
393
+ +
394
+ + switch (tier) {
395
+ + case SPONSOR_TIERS.BRONZE:
396
+ + size = isMobile ? "sm" : "md";
397
+ + break;
398
+ + case SPONSOR_TIERS.SILVER:
399
+ + size = isMobile ? "sm" : "md";
400
+ + break;
401
+ + case SPONSOR_TIERS.GOLD:
402
+ + size = isMobile ? "md" : "lg";
403
+ + break;
404
+ + case SPONSOR_TIERS.PLATINUM:
405
+ + size = isMobile ? "md" : "lg";
406
+ + break;
407
+ + default:
408
+ + size = isMobile ? "sm" : "md";
409
+ + }
410
+ +
411
+ + return size;
412
+ +};
413
+ +
414
+ +const getSponsorColor = (sponsor: Sponsor) => {
415
+ + const tier = sponsor.tier || getTier(sponsor.totalAmountDonated);
416
+ +
417
+ + return SPONSOR_COLORS[tier] || "default";
418
+ +};
419
+ +
420
+ +const getSponsorAvatarStyles = (index: number, sponsors: Sponsor[] = []) => {
421
+ + const angle = (index * 360) / sponsors.length;
422
+ + const radius = SONAR_PULSE_RADIUS;
423
+ +
424
+ + // position the avatar randomly inside the sonar pulse
425
+ + const randomRadius = clamp(Math.floor((index + 1) * radius), radius * 0.4, radius);
426
+ +
427
+ + const x = randomRadius * Math.cos((angle * Math.PI) / 180);
428
+ + const y = randomRadius * Math.sin((angle * Math.PI) / 180);
429
+ +
430
+ + return {
431
+ + transform: `translate(${x}px, ${y}px)`,
432
+ + };
433
+ +};
434
+ +
435
+ +export const Support: FC<SupportProps> = ({sponsors = []}) => {
436
+ + const sonarRef = useRef(null);
437
+ + const isMobile = useIsMobile();
438
+ + const posthog = usePostHog();
439
+ +
440
+ + const handleExternalLinkClick = (href: string) => {
441
+ + if (!href) return;
442
+ + window.open(href, "_blank");
443
+ + };
444
+ +
445
+ + const handleBecomeSponsor = () => {
446
+ + posthog.capture("Support - Become a sponsor", {
447
+ + action: "click",
448
+ + category: "landing-page",
449
+ + });
450
+ +
451
+ + handleExternalLinkClick(supportAccounts[0].href);
452
+ + };
453
+ + const renderSponsors = useMemo(() => {
454
+ + if (!sponsors.length) return null;
455
+ +
456
+ + return (
457
+ + <div
458
+ + className="absolute rounded-full bg-transparent"
459
+ + style={{
460
+ + width: `${SONAR_PULSE_RADIUS}px`,
461
+ + top: SONAR_PULSE_RADIUS / 6,
462
+ + left: SONAR_PULSE_RADIUS / 6,
463
+ + }}
464
+ + >
465
+ + {sponsors.map((sponsor, index) => (
466
+ + <Avatar
467
+ + key={`${sponsor.MemberId}-${index}`}
468
+ + isBordered
469
+ + showFallback
470
+ + className="absolute cursor-pointer bg-transparent before:bg-white/10 before:content-[''] before:block before:z-[-1] before:absolute before:inset-0 before:backdrop-blur-md before:backdrop-saturate-200"
471
+ + color={getSponsorColor(sponsor) as AvatarProps["color"]}
472
+ + name={getSponsorName(sponsor)}
473
+ + size={getSponsorSize(sponsor, isMobile)}
474
+ + src={sponsor.image}
475
+ + style={getSponsorAvatarStyles(index, sponsors)}
476
+ + onClick={() => handleExternalLinkClick(sponsor["website"] || sponsor["profile"])}
477
+ + />
478
+ + ))}
479
+ + </div>
480
+ + );
481
+ + }, [isMobile, sponsors]);
482
+ +
483
+ + return (
484
+ + <section className={sectionWrapper({class: "flex flex-col items-center z-20 mt-16 lg:mt-44"})}>
485
+ + <div className="max-w-4xl flex flex-col gap-8">
486
+ + <div>
487
+ + <div className={titleWrapper({class: "text-center items-center"})}>
488
+ + <div className="flex md:inline-flex flex-col md:flex-row items-center">
489
+ + <h1 className={title({size: "lg"})}>Support NextUI&nbsp;</h1>
490
+ + <HeartBoldIcon
491
+ + className="text-pink-500 animate-heartbeat"
492
+ + size={50}
493
+ + style={{
494
+ + animationDuration: "2.5s",
495
+ + }}
496
+ + />
497
+ + </div>
498
+ + </div>
499
+ + <p
500
+ + className={subtitle({class: "md:w-full text-center flex justify-center items-center"})}
501
+ + >
502
+ + Using NextUI in a profit-making product, as a freelancer, or for fun projects? Your
503
+ + contributions will help to make NextUI better.
504
+ + </p>
505
+ + <Spacer y={12} />
506
+ + <FeaturesGrid
507
+ + classNames={{
508
+ + base: "lg:grid-cols-2",
509
+ + }}
510
+ + features={supportAccounts}
511
+ + />
512
+ + <div
513
+ + ref={sonarRef}
514
+ + className="relative mt-32 md:mt-60 w-full flex items-center justify-center"
515
+ + >
516
+ + <SonarPulse
517
+ + circlesCount={SONAR_PULSE_CIRCLES_COUNT}
518
+ + color="#7928CA"
519
+ + icon={
520
+ + <Tooltip
521
+ + showArrow
522
+ + color="secondary"
523
+ + content={"Become a sponsor"}
524
+ + offset={10}
525
+ + radius="full"
526
+ + >
527
+ + <Button
528
+ + isIconOnly
529
+ + aria-label="Become a sponsor"
530
+ + className="z-50 w-auto h-auto bg-gradient-to-b from-[#FF1CF7] to-[#7928CA]"
531
+ + radius="full"
532
+ + onPress={handleBecomeSponsor}
533
+ + >
534
+ + <PlusLinearIcon
535
+ + className="flex items-center justify-center rounded-full text-white"
536
+ + size={54}
537
+ + />
538
+ + </Button>
539
+ + </Tooltip>
540
+ + }
541
+ + playState="running"
542
+ + size={SONAR_PULSE_SIZE}
543
+ + >
544
+ + {renderSponsors}
545
+ + </SonarPulse>
546
+ + </div>
547
+ + </div>
548
+ + </div>
549
+ + </section>
550
+ + );
551
+ +};\n- apps/docs/components/marketing/support.tsx (modified, 220 changes)\n Patch: @@ -1,211 +1,21 @@
552
+ -"use client";
553
+ +import {Support as SupportClient} from "./support-client";
554
+
555
+ -import {FC, useMemo, useRef} from "react";
556
+ -import {Avatar, AvatarProps, Button, Spacer, Tooltip} from "@nextui-org/react";
557
+ -import {clamp} from "@nextui-org/shared-utils";
558
+ -import {usePostHog} from "posthog-js/react";
559
+ +import {getAllSponsors} from "@/utils/get-all-sponsors";
560
+
561
+ -import {sectionWrapper, titleWrapper, title, subtitle} from "../primitives";
562
+ +async function getData() {
563
+ + try {
564
+ + const sponsors = await getAllSponsors();
565
+
566
+ -import {FeaturesGrid} from "./features-grid";
567
+ -
568
+ -import {OpenCollectiveIcon, PatreonIcon, HeartBoldIcon, PlusLinearIcon} from "@/components/icons";
569
+ -import {Sponsor, SPONSOR_TIERS, SPONSOR_COLORS, getTier} from "@/libs/docs/sponsors";
570
+ -import {SonarPulse} from "@/components/sonar-pulse";
571
+ -import {useIsMobile} from "@/hooks/use-media-query";
572
+ -
573
+ -export interface SupportProps {
574
+ - sponsors: Sponsor[];
575
+ -}
576
+ -
577
+ -const supportAccounts = [
578
+ - {
579
+ - title: "Open Collective",
580
+ - description: "Sponsor the NextUI maintainers.",
581
+ - icon: <OpenCollectiveIcon className="text-pink-500" />,
582
+ - href: "https://opencollective.com/nextui",
583
+ - isExternal: true,
584
+ - },
585
+ - {
586
+ - title: "Patreon",
587
+ - description: "Sponsor the creator, Junior Garcia.",
588
+ - icon: <PatreonIcon className="text-pink-500" />,
589
+ - href: "https://www.patreon.com/jrgarciadev?fan_landing=true",
590
+ - isExternal: true,
591
+ - },
592
+ -];
593
+ -
594
+ -const SONAR_PULSE_SIZE = 80;
595
+ -const SONAR_PULSE_CIRCLES_COUNT = 4;
596
+ -const SONAR_PULSE_RADIUS = 130;
597
+ -
598
+ -const getSponsorName = (sponsor: Sponsor) => {
599
+ - if (!sponsor.name) {
600
+ - return "";
601
+ + return {
602
+ + sponsors,
603
+ + };
604
+ + } catch (error) {
605
+ + throw new Error("Failed to fetch data");
606
+ }
607
+ +}
608
+
609
+ - return sponsor.name.slice(0, 2).toUpperCase();
610
+ -};
611
+ -
612
+ -const getSponsorSize = (sponsor: Sponsor, isMobile: boolean) => {
613
+ - let size: AvatarProps["size"] = "md";
614
+ - const tier = sponsor.tier || getTier(sponsor.totalAmountDonated);
615
+ -
616
+ - switch (tier) {
617
+ - case SPONSOR_TIERS.BRONZE:
618
+ - size = isMobile ? "sm" : "md";
619
+ - break;
620
+ - case SPONSOR_TIERS.SILVER:
621
+ - size = isMobile ? "sm" : "md";
622
+ - break;
623
+ - case SPONSOR_TIERS.GOLD:
624
+ - size = isMobile ? "md" : "lg";
625
+ - break;
626
+ - case SPONSOR_TIERS.PLATINUM:
627
+ - size = isMobile ? "md" : "lg";
628
+ - break;
629
+ - default:
630
+ - size = isMobile ? "sm" : "md";
631
+ - }
632
+ -
633
+ - return size;
634
+ -};
635
+ -
636
+ -const getSponsorColor = (sponsor: Sponsor) => {
637
+ - const tier = sponsor.tier || getTier(sponsor.totalAmountDonated);
638
+ -
639
+ - return SPONSOR_COLORS[tier] || "default";
640
+ -};
641
+ -
642
+ -const getSponsorAvatarStyles = (index: number, sponsors: Sponsor[] = []) => {
643
+ - const angle = (index * 360) / sponsors.length;
644
+ - const radius = SONAR_PULSE_RADIUS;
645
+ -
646
+ - // position the avatar randomly inside the sonar pulse
647
+ - const randomRadius = clamp(Math.floor((index + 1) * radius), radius * 0.4, radius);
648
+ -
649
+ - const x = randomRadius * Math.cos((angle * Math.PI) / 180);
650
+ - const y = randomRadius * Math.sin((angle * Math.PI) / 180);
651
+ -
652
+ - return {
653
+ - transform: `translate(${x}px, ${y}px)`,
654
+ - };
655
+ -};
656
+ -
657
+ -export const Support: FC<SupportProps> = ({sponsors = []}) => {
658
+ - const sonarRef = useRef(null);
659
+ - const isMobile = useIsMobile();
660
+ - const posthog = usePostHog();
661
+ -
662
+ - const handleExternalLinkClick = (href: string) => {
663
+ - if (!href) return;
664
+ - window.open(href, "_blank");
665
+ - };
666
+ -
667
+ - const handleBecomeSponsor = () => {
668
+ - posthog.capture("Support - Become a sponsor", {
669
+ - action: "click",
670
+ - category: "landing-page",
671
+ - });
672
+ -
673
+ - handleExternalLinkClick(supportAccounts[0].href);
674
+ - };
675
+ - const renderSponsors = useMemo(() => {
676
+ - if (!sponsors.length) return null;
677
+ -
678
+ - return (
679
+ - <div
680
+ - className="absolute rounded-full bg-transparent"
681
+ - style={{
682
+ - width: `${SONAR_PULSE_RADIUS}px`,
683
+ - top: SONAR_PULSE_RADIUS / 6,
684
+ - left: SONAR_PULSE_RADIUS / 6,
685
+ - }}
686
+ - >
687
+ - {sponsors.map((sponsor, index) => (
688
+ - <Avatar
689
+ - key={`${sponsor.MemberId}-${index}`}
690
+ - isBordered
691
+ - showFallback
692
+ - className="absolute cursor-pointer bg-transparent before:bg-white/10 before:content-[''] before:block before:z-[-1] before:absolute before:inset-0 before:backdrop-blur-md before:backdrop-saturate-200"
693
+ - color={getSponsorColor(sponsor) as AvatarProps["color"]}
694
+ - name={getSponsorName(sponsor)}
695
+ - size={getSponsorSize(sponsor, isMobile)}
696
+ - src={sponsor.image}
697
+ - style={getSponsorAvatarStyles(index, sponsors)}
698
+ - onClick={() => handleExternalLinkClick(sponsor["website"] || sponsor["profile"])}
699
+ - />
700
+ - ))}
701
+ - </div>
702
+ - );
703
+ - }, [isMobile, sponsors]);
704
+ +export default async function Support() {
705
+ + const data = await getData();
706
+
707
+ - return (
708
+ - <section className={sectionWrapper({class: "flex flex-col items-center z-20 mt-16 lg:mt-44"})}>
709
+ - <div className="max-w-4xl flex flex-col gap-8">
710
+ - <div>
711
+ - <div className={titleWrapper({class: "text-center items-center"})}>
712
+ - <div className="flex md:inline-flex flex-col md:flex-row items-center">
713
+ - <h1 className={title({size: "lg"})}>Support NextUI&nbsp;</h1>
714
+ - <HeartBoldIcon
715
+ - className="text-pink-500 animate-heartbeat"
716
+ - size={50}
717
+ - style={{
718
+ - animationDuration: "2.5s",
719
+ - }}
720
+ - />
721
+ - </div>
722
+ - </div>
723
+ - <p
724
+ - className={subtitle({class: "md:w-full text-center flex justify-center items-center"})}
725
+ - >
726
+ - Using NextUI in a profit-making product, as a freelancer, or for fun projects? Your
727
+ - contributions will help to make NextUI better.
728
+ - </p>
729
+ - <Spacer y={12} />
730
+ - <FeaturesGrid
731
+ - classNames={{
732
+ - base: "lg:grid-cols-2",
733
+ - }}
734
+ - features={supportAccounts}
735
+ - />
736
+ - <div
737
+ - ref={sonarRef}
738
+ - className="relative mt-32 md:mt-60 w-full flex items-center justify-center"
739
+ - >
740
+ - <SonarPulse
741
+ - circlesCount={SONAR_PULSE_CIRCLES_COUNT}
742
+ - color="#7928CA"
743
+ - icon={
744
+ - <Tooltip
745
+ - showArrow
746
+ - color="secondary"
747
+ - content={"Become a sponsor"}
748
+ - offset={10}
749
+ - radius="full"
750
+ - >
751
+ - <Button
752
+ - isIconOnly
753
+ - aria-label="Become a sponsor"
754
+ - className="z-50 w-auto h-auto bg-gradient-to-b from-[#FF1CF7] to-[#7928CA]"
755
+ - radius="full"
756
+ - onPress={handleBecomeSponsor}
757
+ - >
758
+ - <PlusLinearIcon
759
+ - className="flex items-center justify-center rounded-full text-white"
760
+ - size={54}
761
+ - />
762
+ - </Button>
763
+ - </Tooltip>
764
+ - }
765
+ - playState="running"
766
+ - size={SONAR_PULSE_SIZE}
767
+ - >
768
+ - {renderSponsors}
769
+ - </SonarPulse>
770
+ - </div>
771
+ - </div>
772
+ - </div>
773
+ - </section>
774
+ - );
775
+ -};
776
+ + return <SupportClient sponsors={data.sponsors} />;
777
+ +}\n- apps/docs/components/theme-switch.tsx (modified, 6 changes)\n Patch: @@ -20,6 +20,8 @@ export const ThemeSwitch: FC<ThemeSwitchProps> = ({className, classNames}) => {
778
+ const isSSR = useIsSSR();
779
+ const posthog = usePostHog();
780
+
781
+ + const initialTheme = isSSR ? "light" : theme;
782
+ +
783
+ const onChange = () => {
784
+ theme === "light" ? setTheme("dark") : setTheme("light");
785
+
786
+ @@ -31,8 +33,8 @@ export const ThemeSwitch: FC<ThemeSwitchProps> = ({className, classNames}) => {
787
+ };
788
+
789
+ const {Component, slots, isSelected, getBaseProps, getInputProps, getWrapperProps} = useSwitch({
790
+ - isSelected: theme === "light",
791
+ - "aria-label": `Switch to ${theme === "light" ? "dark" : "light"} mode`,
792
+ + isSelected: initialTheme === "light",
793
+ + "aria-label": `Switch to ${initialTheme === "light" ? "dark" : "light"} mode`,
794
+ onChange,
795
+ });
796
+ \n- apps/docs/config/routes.json (modified, 12 changes)\n Patch: @@ -12,6 +12,12 @@
797
+ "keywords": "introduction, nextui",
798
+ "path": "/docs/guide/introduction.mdx"
799
+ },
800
+ + {
801
+ + "key": "design-principles",
802
+ + "title": "Design Principles",
803
+ + "keywords": "design principles, nextui",
804
+ + "path": "/docs/guide/design-principles.mdx"
805
+ + },
806
+ {
807
+ "key": "installation",
808
+ "title": "Installation",
809
+ @@ -24,12 +30,6 @@
810
+ "keywords": "cli, command line interface",
811
+ "path": "/docs/guide/cli.mdx"
812
+ },
813
+ - {
814
+ - "key": "design-principles",
815
+ - "title": "Design Principles",
816
+ - "keywords": "design principles, nextui",
817
+ - "path": "/docs/guide/design-principles.mdx"
818
+ - },
819
+ {
820
+ "key": "routing",
821
+ "title": "Routing",\n- apps/docs/content/blog/v2.6.0.mdx (modified, 4 changes)\n Patch: @@ -2,7 +2,7 @@
822
+ title: "NextUI v2.6.0 πŸ”₯"
823
+ description: "NextUI v2.6.0 includes 4 new components, React 19 & Next.js 15 support, and lots of bug fixes and improvements."
824
+ date: "2024-12-03"
825
+ -image: "/blog/v2.6.0.jpg"
826
+ +image: "/blog/v2.4.0.jpg"
827
+ tags: ["nextui", "v2.6.0", "release", "bug fixes", "improvements", "animations"]
828
+ author:
829
+ name: "Junior Garcia"
830
+ @@ -14,7 +14,7 @@ author:
831
+ import {formContent} from "@/content/components/form";
832
+
833
+ <img
834
+ - src="/blog/v2.6.0_2x.jpg"
835
+ + src="/blog/v2.4.0_2x.jpg"
836
+ width={700}
837
+ height={350}
838
+ alt="NextUI v2.6.0"\n- apps/docs/next.config.js (modified, 28 changes)\n Patch: @@ -3,7 +3,6 @@ const withContentlayer = require("next-contentlayer2").withContentlayer;
839
+ /** @type {import('next').NextConfig} */
840
+ const nextConfig = {
841
+ transpilePackages: ["@nextui-org/react", "@nextui-org/theme"],
842
+ - swcMinify: true,
843
+ reactStrictMode: true, // Recommended for the `pages` directory, default in `app`.
844
+ redirects: require("./next-redirect.js"),
845
+ eslint: {
846
+ @@ -14,12 +13,27 @@ const nextConfig = {
847
+ ignoreBuildErrors: true,
848
+ },
849
+ images: {
850
+ - domains: [
851
+ - "opencollective-production.s3.us-west-1.amazonaws.com",
852
+ - "avatars.githubusercontent.com",
853
+ - "logo.clearbit.com",
854
+ - "i.pravatar.cc",
855
+ - "nextui.org",
856
+ + remotePatterns: [
857
+ + {
858
+ + protocol: "https",
859
+ + hostname: "opencollective-production.s3.us-west-1.amazonaws.com",
860
+ + },
861
+ + {
862
+ + protocol: "https",
863
+ + hostname: "avatars.githubusercontent.com",
864
+ + },
865
+ + {
866
+ + protocol: "https",
867
+ + hostname: "logo.clearbit.com",
868
+ + },
869
+ + {
870
+ + protocol: "https",
871
+ + hostname: "i.pravatar.cc",
872
+ + },
873
+ + {
874
+ + protocol: "https",
875
+ + hostname: "nextui.org",
876
+ + },
877
+ ],
878
+ },
879
+ rewrites: async () => {\n- apps/docs/package.json (modified, 76 changes)\n Patch: @@ -3,7 +3,7 @@
880
+ "version": "2.0.0",
881
+ "private": true,
882
+ "scripts": {
883
+ - "dev": "rimraf .contentlayer && concurrently \"contentlayer2 dev\" \"next dev\"",
884
+ + "dev": "rimraf .contentlayer && concurrently \"contentlayer2 dev\" \"next dev --turbopack\"",
885
+ "build": "contentlayer2 build && next build ",
886
+ "build:analyze": "ANALYZE=true next build",
887
+ "start": "next start",
888
+ @@ -18,8 +18,8 @@
889
+ "dependencies": {
890
+ "@codesandbox/sandpack-react": "^2.6.4",
891
+ "@emotion/is-prop-valid": "^1.3.1",
892
+ - "@iconify/icons-solar": "^1.2.3",
893
+ - "@iconify/react": "^4.1.1",
894
+ + "@iconify/icons-solar": "1.2.3",
895
+ + "@iconify/react": "5.0.2",
896
+ "@internationalized/date": "3.5.6",
897
+ "@mapbox/rehype-prism": "^0.6.0",
898
+ "@nextui-org/aria-utils": "workspace:*",
899
+ @@ -52,57 +52,59 @@
900
+ "@react-stately/layout": "3.13.9",
901
+ "@react-stately/tree": "3.8.1",
902
+ "@rehooks/local-storage": "^2.4.5",
903
+ + "@tanstack/react-virtual": "3.10.9",
904
+ "canvas-confetti": "^1.9.2",
905
+ "cmdk": "^0.2.0",
906
+ - "color2k": "^2.0.2",
907
+ - "contentlayer2": "^0.5.1",
908
+ - "date-fns": "^2.30.0",
909
+ - "framer-motion": "11.9.0",
910
+ - "geist": "^1.3.1",
911
+ + "color2k": "2.0.3",
912
+ + "contentlayer2": "0.5.3",
913
+ + "date-fns": "4.1.0",
914
+ + "framer-motion": "11.11.13",
915
+ + "geist": "1.3.1",
916
+ "github-slugger": "^2.0.0",
917
+ "gray-matter": "^4.0.3",
918
+ "hast-util-to-html": "9.0.3",
919
+ "marked": "^5.1.0",
920
+ - "match-sorter": "^6.3.1",
921
+ - "mini-svg-data-uri": "^1.4.3",
922
+ - "mitt": "3.0.0",
923
+ - "next": "13.5.1",
924
+ - "next-contentlayer2": "^0.5.1",
925
+ - "next-themes": "^0.2.1",
926
+ + "match-sorter": "8.0.0",
927
+ + "mini-svg-data-uri": "1.4.4",
928
+ + "mitt": "3.0.1",
929
+ + "next": "15.0.3",
930
+ + "next-contentlayer2": "0.5.3",
931
+ + "next-themes": "0.4.3",
932
+ "nprogress": "^0.2.0",
933
+ "parse-numeric-range": "1.2.0",
934
+ - "posthog-js": "1.187.1",
935
+ + "posthog-js": "1.184.1",
936
+ "prism-react-renderer": "^1.2.1",
937
+ "querystring": "^0.2.1",
938
+ - "react": "^18.2.0",
939
+ - "react-dom": "^18.2.0",
940
+ + "react": "18.2.0",
941
+ + "react-dom": "18.2.0",
942
+ "react-hook-form": "^7.51.3",
943
+ "react-icons": "^4.10.1",
944
+ - "react-live": "^2.3.0",
945
+ + "react-live": "^4.1.8",
946
+ "react-multi-ref": "^1.0.1",
947
+ "react-wrap-balancer": "^1.0.0",
948
+ "refractor": "3.3.1",
949
+ "rehype": "13.0.2",
950
+ "rehype-parse": "9.0.1",
951
+ "rehype-pretty-code": "^0.14.0",
952
+ - "rehype-slug": "^6.0.0",
953
+ + "rehype-slug": "6.0.0",
954
+ "remark": "^15.0.1",
955
+ - "remark-gfm": "^4.0.0",
956
+ - "rss": "^1.2.2",
957
+ - "scroll-into-view-if-needed": "3.0.10",
958
+ + "remark-gfm": "4.0.0",
959
+ + "rss": "1.2.2",
960
+ + "scroll-into-view-if-needed": "3.1.0",
961
+ "sharp": "^0.32.1",
962
+ "shelljs": "^0.8.4",
963
+ - "swr": "^2.2.1",
964
+ + "swr": "2.2.5",
965
+ "tailwind-variants": "^0.1.20",
966
+ "unified": "^11.0.5",
967
+ - "unist-util-visit": "^5.0.0",
968
+ - "usehooks-ts": "^2.9.1",
969
+ - "zustand": "^4.3.8"
970
+ + "unist-util-visit": "5.0.0",
971
+ + "usehooks-ts": "3.1.0",
972
+ + "zustand": "5.0.1"
973
+ },
974
+ "devDependencies": {
975
+ "@docusaurus/utils": "2.0.0-beta.3",
976
+ - "@next/bundle-analyzer": "^13.4.6",
977
+ - "@next/env": "^13.4.12",
978
+ + "@next/bundle-analyzer": "15.0.3",
979
+ + "@next/env": "15.0.3",
980
+ + "mdx-bundler": "10.0.3",
981
+ "@react-types/calendar": "3.4.10",
982
+ "@react-types/datepicker": "3.8.3",
983
+ "@react-types/shared": "3.25.0",
984
+ @@ -116,22 +118,28 @@
985
+ "@types/react": "18.2.8",
986
+ "@types/react-dom": "18.2.4",
987
+ "@types/refractor": "^3.0.2",
988
+ - "@types/rss": "^0.0.30",
989
+ + "@types/rss": "0.0.32",
990
+ "@types/shelljs": "^0.8.9",
991
+ "@types/uuid": "^8.3.1",
992
+ "algoliasearch": "^4.10.3",
993
+ - "autoprefixer": "^10.4.14",
994
+ + "autoprefixer": "10.4.20",
995
+ "dotenv": "^16.0.1",
996
+ "esbuild-plugin-raw": "0.1.8",
997
+ - "eslint-config-next": "^13.5.1",
998
+ + "eslint-config-next": "15.0.3",
999
+ "markdown-toc": "^1.2.0",
1000
+ - "next-sitemap": "^4.1.8",
1001
+ + "next-sitemap": "4.2.3",
1002
+ "node-fetch": "^3.2.10",
1003
+ - "postcss": "^8.4.21",
1004
+ + "postcss": "8.4.49",
1005
+ "prettier": "^2.7.1",
1006
+ - "tailwindcss": "^3.4.0",
1007
+ + "tailwindcss": "3.4.14",
1008
+ "tsx": "^3.8.2",
1009
+ "typescript": "^5.5.0",
1010
+ "uuid": "^8.3.2"
1011
+ + },
1012
+ + "pnpm": {
1013
+ + "overrides": {
1014
+ + "react": "18.2.0",
1015
+ + "react-dom": "18.2.0"
1016
+ + }
1017
+ }
1018
+ }\n- apps/docs/styles/globals.css (modified, 8 changes)\n Patch: @@ -1,11 +1,11 @@
1019
+ -@tailwind base;
1020
+ -@tailwind components;
1021
+ -@tailwind utilities;
1022
+ -
1023
+ @import 'prism.css';
1024
+ @import 'nprogress.css';
1025
+ @import 'ads.css';
1026
+
1027
+ +@tailwind base;
1028
+ +@tailwind components;
1029
+ +@tailwind utilities;
1030
+ +
1031
+ html {
1032
+ font-size: 16px;
1033
+ padding: 0px !important;\n- package.json (modified, 4 changes)\n Patch: @@ -142,8 +142,8 @@
1034
+ },
1035
+ "pnpm": {
1036
+ "overrides": {
1037
+ - "react": "^18.2.0",
1038
+ - "react-dom": "^18.2.0",
1039
+ + "react": "18.2.0",
1040
+ + "react-dom": "18.2.0",
1041
+ "@changesets/get-github-info": "0.6.0"
1042
+ }
1043
+ },\n- packages/components/autocomplete/src/autocomplete.tsx (modified, 31 changes)\n Patch: @@ -7,6 +7,7 @@ import {Button} from "@nextui-org/button";
1044
+ import {Input} from "@nextui-org/input";
1045
+ import {ForwardedRef, ReactElement} from "react";
1046
+ import {AnimatePresence} from "framer-motion";
1047
+ +import * as React from "react";
1048
+
1049
+ import {UseAutocompleteProps, useAutocomplete} from "./use-autocomplete";
1050
+
1051
+ @@ -49,18 +50,24 @@ const Autocomplete = forwardRef(function Autocomplete<T extends object>(
1052
+ ) : null;
1053
+
1054
+ return (
1055
+ - <Component {...getBaseProps()}>
1056
+ - <Input
1057
+ - {...getInputProps()}
1058
+ - endContent={
1059
+ - <div {...getEndContentWrapperProps()}>
1060
+ - {endContent || <Button {...getClearButtonProps()}>{clearIcon}</Button>}
1061
+ - <Button {...getSelectorButtonProps()}>{selectorIcon}</Button>
1062
+ - </div>
1063
+ - }
1064
+ - />
1065
+ - {disableAnimation ? popoverContent : <AnimatePresence>{popoverContent}</AnimatePresence>}
1066
+ - </Component>
1067
+ + <>
1068
+ + {React.createElement(
1069
+ + Component,
1070
+ + getBaseProps(),
1071
+ + <>
1072
+ + <Input
1073
+ + {...getInputProps()}
1074
+ + endContent={
1075
+ + <div {...getEndContentWrapperProps()}>
1076
+ + {endContent || <Button {...getClearButtonProps()}>{clearIcon}</Button>}
1077
+ + <Button {...getSelectorButtonProps()}>{selectorIcon}</Button>
1078
+ + </div>
1079
+ + }
1080
+ + />
1081
+ + {disableAnimation ? popoverContent : <AnimatePresence>{popoverContent}</AnimatePresence>}
1082
+ + </>,
1083
+ + )}
1084
+ + </>
1085
+ );
1086
+ }) as <T extends object>(props: AutocompleteProps<T>) => ReactElement;
1087
+ \n- packages/components/autocomplete/src/use-autocomplete.ts (modified, 5 changes)\n Patch: @@ -7,7 +7,7 @@ import {autocomplete} from "@nextui-org/theme";
1088
+ import {useFilter} from "@react-aria/i18n";
1089
+ import {FilterFn, useComboBoxState} from "@react-stately/combobox";
1090
+ import {ReactRef, useDOMRef} from "@nextui-org/react-utils";
1091
+ -import {ReactNode, useEffect, useMemo, useRef} from "react";
1092
+ +import {ElementType, ReactNode, useEffect, useMemo, useRef} from "react";
1093
+ import {ComboBoxProps} from "@react-types/combobox";
1094
+ import {PopoverProps} from "@nextui-org/popover";
1095
+ import {ListboxProps} from "@nextui-org/listbox";
1096
+ @@ -377,7 +377,7 @@ export function useAutocomplete<T extends object>(originalProps: UseAutocomplete
1097
+ };
1098
+ }
1099
+
1100
+ - const Component = as || "div";
1101
+ + const Component: ElementType = as || "div";
1102
+
1103
+ const slots = useMemo(
1104
+ () =>
1105
+ @@ -537,6 +537,7 @@ export function useAutocomplete<T extends object>(originalProps: UseAutocomplete
1106
+ });
1107
+
1108
+ return {
1109
+ + as,
1110
+ Component,
1111
+ inputRef,
1112
+ label,\n- packages/components/date-picker/src/date-range-picker-field.tsx (modified, 40 changes)\n Patch: @@ -13,6 +13,7 @@ import {DateInputSegment} from "@nextui-org/date-input";
1113
+ import {filterDOMProps, useDOMRef} from "@nextui-org/react-utils";
1114
+ import {useLocale} from "@react-aria/i18n";
1115
+ import {mergeProps} from "@react-aria/utils";
1116
+ +import * as React from "react";
1117
+
1118
+ type NextUIBaseProps<T extends DateValue> = Omit<
1119
+ HTMLNextUIProps<"div">,
1120
+ @@ -54,29 +55,34 @@ const DateRangePickerField = forwardRef(function DateRangePickerField<T extends
1121
+
1122
+ const inputRef = useRef(null);
1123
+
1124
+ - const {
1125
+ - fieldProps,
1126
+ - inputProps,
1127
+ - isInvalid: ariaIsInvalid,
1128
+ - } = useAriaDateField({...otherProps, inputRef}, state, domRef);
1129
+ + const {fieldProps, isInvalid: ariaIsInvalid} = useAriaDateField(
1130
+ + {...otherProps, inputRef},
1131
+ + state,
1132
+ + domRef,
1133
+ + );
1134
+
1135
+ const isInvalid = props.isInvalid || ariaIsInvalid;
1136
+
1137
+ state.isInvalid = isInvalid;
1138
+
1139
+ return (
1140
+ - <Component {...mergeProps(fieldProps, filterDOMProps(otherProps))} ref={domRef}>
1141
+ - {state.segments.map((segment, i) => (
1142
+ - <DateInputSegment
1143
+ - key={i}
1144
+ - classNames={classNames}
1145
+ - segment={segment}
1146
+ - slots={slots}
1147
+ - state={state}
1148
+ - />
1149
+ - ))}
1150
+ - <input {...inputProps} ref={inputRef} />
1151
+ - </Component>
1152
+ + <>
1153
+ + {React.createElement(
1154
+ + Component,
1155
+ + {...mergeProps(fieldProps, filterDOMProps(otherProps)), ref: {domRef}},
1156
+ + <>
1157
+ + {state.segments.map((segment, i) => (
1158
+ + <DateInputSegment
1159
+ + key={i}
1160
+ + classNames={classNames}
1161
+ + segment={segment}
1162
+ + slots={slots}
1163
+ + state={state}
1164
+ + />
1165
+ + ))}
1166
+ + </>,
1167
+ + )}
1168
+ + </>
1169
+ );
1170
+ }) as <T extends DateValue>(props: DateRangePickerFieldProps<T>) => ReactElement;
1171
+ \n- packages/components/navbar/package.json (modified, 26 changes)\n Patch: @@ -34,41 +34,41 @@
1172
+ "postpack": "clean-package restore"
1173
+ },
1174
+ "peerDependencies": {
1175
+ - "react": ">=18 || >=19.0.0-rc.0",
1176
+ - "react-dom": ">=18 || >=19.0.0-rc.0",
1177
+ - "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1178
+ + "@nextui-org/system": ">=2.3.0-beta.0",
1179
+ "@nextui-org/theme": ">=2.3.0-beta.0",
1180
+ - "@nextui-org/system": ">=2.3.0-beta.0"
1181
+ + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1",
1182
+ + "react": ">=18 || >=19.0.0-rc.0",
1183
+ + "react-dom": ">=18 || >=19.0.0-rc.0"
1184
+ },
1185
+ "dependencies": {
1186
+ - "@nextui-org/shared-utils": "workspace:*",
1187
+ - "@nextui-org/react-utils": "workspace:*",
1188
+ + "@nextui-org/dom-animation": "workspace:*",
1189
+ "@nextui-org/framer-utils": "workspace:*",
1190
+ + "@nextui-org/react-utils": "workspace:*",
1191
+ + "@nextui-org/shared-utils": "workspace:*",
1192
+ "@nextui-org/use-aria-toggle-button": "workspace:*",
1193
+ "@nextui-org/use-scroll-position": "workspace:*",
1194
+ - "@nextui-org/dom-animation": "workspace:*",
1195
+ "@react-aria/focus": "3.18.4",
1196
+ "@react-aria/interactions": "3.22.4",
1197
+ "@react-aria/overlays": "3.23.4",
1198
+ "@react-aria/utils": "3.26.0",
1199
+ "@react-stately/toggle": "3.7.8",
1200
+ "@react-stately/utils": "3.10.4",
1201
+ - "react-remove-scroll": "^2.5.6"
1202
+ + "react-remove-scroll": "^2.6.0"
1203
+ },
1204
+ "devDependencies": {
1205
+ - "@nextui-org/theme": "workspace:*",
1206
+ - "@nextui-org/system": "workspace:*",
1207
+ "@nextui-org/avatar": "workspace:*",
1208
+ "@nextui-org/button": "workspace:*",
1209
+ "@nextui-org/dropdown": "workspace:*",
1210
+ "@nextui-org/input": "workspace:*",
1211
+ "@nextui-org/link": "workspace:*",
1212
+ "@nextui-org/shared-icons": "workspace:*",
1213
+ - "framer-motion": "11.9.0",
1214
+ - "react-lorem-component": "0.13.0",
1215
+ + "@nextui-org/system": "workspace:*",
1216
+ + "@nextui-org/theme": "workspace:*",
1217
+ "clean-package": "2.2.0",
1218
+ + "framer-motion": "11.9.0",
1219
+ "react": "^18.0.0",
1220
+ - "react-dom": "^18.0.0"
1221
+ + "react-dom": "^18.0.0",
1222
+ + "react-lorem-component": "0.13.0"
1223
+ },
1224
+ "clean-package": "../../../clean-package.config.json"
1225
+ }
1226
+ \n- packages/components/navbar/src/navbar-brand.tsx (modified, 11 changes)\n Patch: @@ -1,6 +1,7 @@
1227
+ import {forwardRef, HTMLNextUIProps} from "@nextui-org/system";
1228
+ import {useDOMRef} from "@nextui-org/react-utils";
1229
+ import {clsx} from "@nextui-org/shared-utils";
1230
+ +import * as React from "react";
1231
+
1232
+ import {useNavbarContext} from "./navbar-context";
1233
+
1234
+ @@ -19,9 +20,13 @@ const NavbarBrand = forwardRef<"div", NavbarBrandProps>((props, ref) => {
1235
+ const styles = clsx(classNames?.brand, className);
1236
+
1237
+ return (
1238
+ - <Component ref={domRef} className={slots.brand?.({class: styles})} {...otherProps}>
1239
+ - {children}
1240
+ - </Component>
1241
+ + <>
1242
+ + {React.createElement(
1243
+ + Component,
1244
+ + {ref: domRef, className: slots.brand?.({class: styles}), ...otherProps},
1245
+ + <>{children}</>,
1246
+ + )}
1247
+ + </>
1248
+ );
1249
+ });
1250
+ \n- packages/components/navbar/src/navbar-content.tsx (modified, 21 changes)\n Patch: @@ -1,6 +1,7 @@
1251
+ import {forwardRef, HTMLNextUIProps} from "@nextui-org/system";
1252
+ import {useDOMRef} from "@nextui-org/react-utils";
1253
+ import {clsx} from "@nextui-org/shared-utils";
1254
+ +import * as React from "react";
1255
+
1256
+ import {useNavbarContext} from "./navbar-context";
1257
+
1258
+ @@ -27,14 +28,18 @@ const NavbarContent = forwardRef<"ul", NavbarContentProps>((props, ref) => {
1259
+ const styles = clsx(classNames?.content, className);
1260
+
1261
+ return (
1262
+ - <Component
1263
+ - ref={domRef}
1264
+ - className={slots.content?.({class: styles})}
1265
+ - data-justify={justify}
1266
+ - {...otherProps}
1267
+ - >
1268
+ - {children}
1269
+ - </Component>
1270
+ + <>
1271
+ + {React.createElement(
1272
+ + Component,
1273
+ + {
1274
+ + ref: domRef,
1275
+ + className: slots.content?.({class: styles}),
1276
+ + "data-justify": justify,
1277
+ + ...otherProps,
1278
+ + },
1279
+ + <>{children}</>,
1280
+ + )}
1281
+ + </>
1282
+ );
1283
+ });
1284
+ \n- packages/components/navbar/src/navbar-item.tsx (modified, 21 changes)\n Patch: @@ -1,6 +1,7 @@
1285
+ import {forwardRef, HTMLNextUIProps} from "@nextui-org/system";
1286
+ import {useDOMRef} from "@nextui-org/react-utils";
1287
+ import {clsx, dataAttr} from "@nextui-org/shared-utils";
1288
+ +import * as React from "react";
1289
+
1290
+ import {useNavbarContext} from "./navbar-context";
1291
+
1292
+ @@ -24,14 +25,18 @@ const NavbarItem = forwardRef<"li", NavbarItemProps>((props, ref) => {
1293
+ const styles = clsx(classNames?.item, className);
1294
+
1295
+ return (
1296
+ - <Component
1297
+ - ref={domRef}
1298
+ - className={slots.item?.({class: styles})}
1299
+ - data-active={dataAttr(isActive)}
1300
+ - {...otherProps}
1301
+ - >
1302
+ - {children}
1303
+ - </Component>
1304
+ + <>
1305
+ + {React.createElement(
1306
+ + Component,
1307
+ + {
1308
+ + ref: domRef,
1309
+ + className: slots.item?.({class: styles}),
1310
+ + "data-active": dataAttr(isActive),
1311
+ + ...otherProps,
1312
+ + },
1313
+ + <>{children}</>,
1314
+ + )}
1315
+ + </>
1316
+ );
1317
+ });
1318
+ \n- packages/components/navbar/src/navbar-menu-toggle.tsx (modified, 31 changes)\n Patch: @@ -7,6 +7,7 @@ import {useFocusRing} from "@react-aria/focus";
1319
+ import {mergeProps} from "@react-aria/utils";
1320
+ import {useHover} from "@react-aria/interactions";
1321
+ import {useMemo, ReactNode} from "react";
1322
+ +import * as React from "react";
1323
+
1324
+ import {useNavbarContext} from "./navbar-context";
1325
+
1326
+ @@ -74,18 +75,24 @@ const NavbarMenuToggle = forwardRef<"button", NavbarMenuToggleProps>((props, ref
1327
+ }, [srOnlyTextProp, isMenuOpen]);
1328
+
1329
+ return (
1330
+ - <Component
1331
+ - ref={domRef}
1332
+ - className={slots.toggle?.({class: toggleStyles})}
1333
+ - data-focus-visible={dataAttr(isFocusVisible)}
1334
+ - data-hover={dataAttr(isHovered)}
1335
+ - data-open={dataAttr(isMenuOpen)}
1336
+ - data-pressed={dataAttr(isPressed)}
1337
+ - {...mergeProps(buttonProps, focusProps, hoverProps, otherProps)}
1338
+ - >
1339
+ - <span className={slots.srOnly()}>{srOnlyText}</span>
1340
+ - {child}
1341
+ - </Component>
1342
+ + <>
1343
+ + {React.createElement(
1344
+ + Component,
1345
+ + {
1346
+ + ref: domRef,
1347
+ + className: slots.toggle?.({class: toggleStyles}),
1348
+ + "data-focus-visible": dataAttr(isFocusVisible),
1349
+ + "data-hover": dataAttr(isHovered),
1350
+ + "data-open": dataAttr(isMenuOpen),
1351
+ + "data-pressed": dataAttr(isPressed),
1352
+ + ...mergeProps(buttonProps, focusProps, hoverProps, otherProps),
1353
+ + },
1354
+ + <>
1355
+ + <span className={slots.srOnly()}>{srOnlyText}</span>
1356
+ + {child}
1357
+ + </>,
1358
+ + )}
1359
+ + </>
1360
+ );
1361
+ });
1362
+ \n- packages/components/navbar/src/navbar.tsx (modified, 3 changes)\n Patch: @@ -2,6 +2,7 @@ import {forwardRef} from "@nextui-org/system";
1363
+ import {pickChildren} from "@nextui-org/react-utils";
1364
+ import {LazyMotion, m} from "framer-motion";
1365
+ import {mergeProps} from "@react-aria/utils";
1366
+ +import * as React from "react";
1367
+
1368
+ import {hideOnScrollVariants} from "./navbar-transitions";
1369
+ import {UseNavbarProps, useNavbar} from "./use-navbar";
1370
+ @@ -44,7 +45,7 @@ const Navbar = forwardRef<"div", NavbarProps>((props, ref) => {
1371
+ </m.nav>
1372
+ </LazyMotion>
1373
+ ) : (
1374
+ - <Component {...context.getBaseProps()}>{content}</Component>
1375
+ + <>{React.createElement(Component, context.getBaseProps(), <>{content}</>)}</>
1376
+ )}
1377
+ </NavbarProvider>
1378
+ );\n- packages/components/popover/src/free-solo-popover.tsx (modified, 10 changes)\n Patch: @@ -92,7 +92,7 @@ FreeSoloPopoverWrapper.displayName = "NextUI.FreeSoloPopoverWrapper";
1379
+ const FreeSoloPopover = forwardRef<"div", FreeSoloPopoverProps>(
1380
+ ({children, transformOrigin, disableDialogFocus = false, ...props}, ref) => {
1381
+ const {
1382
+ - Component,
1383
+ + as,
1384
+ state,
1385
+ placement,
1386
+ backdrop,
1387
+ @@ -144,7 +144,9 @@ const FreeSoloPopover = forwardRef<"div", FreeSoloPopoverProps>(
1388
+ return (
1389
+ <Overlay portalContainer={portalContainer}>
1390
+ {!isNonModal && backdropContent}
1391
+ - <Component {...getPopoverProps()}>
1392
+ + {React.createElement(
1393
+ + as || "div",
1394
+ + getPopoverProps(),
1395
+ <FreeSoloPopoverWrapper
1396
+ disableAnimation={disableAnimation}
1397
+ motionProps={motionProps}
1398
+ @@ -158,8 +160,8 @@ const FreeSoloPopover = forwardRef<"div", FreeSoloPopoverProps>(
1399
+ {typeof children === "function" ? children(titleProps) : children}
1400
+ </div>
1401
+ <DismissButton onDismiss={state.close} />
1402
+ - </FreeSoloPopoverWrapper>
1403
+ - </Component>
1404
+ + </FreeSoloPopoverWrapper>,
1405
+ + )}
1406
+ </Overlay>
1407
+ );
1408
+ },\n- packages/components/popover/src/popover-content.tsx (modified, 65 changes)\n Patch: @@ -9,6 +9,7 @@ import {m, LazyMotion} from "framer-motion";
1409
+ import {HTMLNextUIProps} from "@nextui-org/system";
1410
+ import {getTransformOrigins} from "@nextui-org/aria-utils";
1411
+ import {useDialog} from "@react-aria/dialog";
1412
+ +import * as React from "react";
1413
+
1414
+ import {usePopoverContext} from "./popover-context";
1415
+
1416
+ @@ -41,22 +42,19 @@ const PopoverContent = (props: PopoverContentProps) => {
1417
+
1418
+ const dialogRef = useRef(null);
1419
+ const {dialogProps: ariaDialogProps, titleProps} = useDialog({}, dialogRef);
1420
+ - const dialogProps = getDialogProps({
1421
+ - ref: dialogRef,
1422
+ - ...ariaDialogProps,
1423
+ - ...otherProps,
1424
+ - });
1425
+
1426
+ const Component = as || OverlayComponent || "div";
1427
+
1428
+ const content = (
1429
+ <>
1430
+ {!isNonModal && <DismissButton onDismiss={onClose} />}
1431
+ - <Component {...dialogProps}>
1432
+ - <div {...getContentProps({className})}>
1433
+ + {React.createElement(
1434
+ + Component,
1435
+ + getDialogProps({ref: dialogRef, ...ariaDialogProps, ...otherProps}),
1436
+ + <div {...getContentProps()} className={className}>
1437
+ {typeof children === "function" ? children(titleProps) : children}
1438
+ - </div>
1439
+ - </Component>
1440
+ + </div>,
1441
+ + )}
1442
+ <DismissButton onDismiss={onClose} />
1443
+ </>
1444
+ );
1445
+ @@ -83,27 +81,34 @@ const PopoverContent = (props: PopoverContentProps) => {
1446
+ );
1447
+ }, [backdrop, disableAnimation, getBackdropProps]);
1448
+
1449
+ - const contents = (
1450
+ - <RemoveScroll enabled={shouldBlockScroll && isOpen} removeScrollBar={false}>
1451
+ - {disableAnimation ? (
1452
+ - content
1453
+ - ) : (
1454
+ - <LazyMotion features={domAnimation}>
1455
+ - <m.div
1456
+ - animate="enter"
1457
+ - exit="exit"
1458
+ - initial="initial"
1459
+ - style={{
1460
+ - ...getTransformOrigins(placement === "center" ? "top" : placement),
1461
+ - }}
1462
+ - variants={TRANSITION_VARIANTS.scaleSpringOpacity}
1463
+ - {...motionProps}
1464
+ - >
1465
+ - {content}
1466
+ - </m.div>
1467
+ - </LazyMotion>
1468
+ - )}
1469
+ - </RemoveScroll>
1470
+ + const contents = React.createElement(
1471
+ + RemoveScroll as React.ComponentType<any>,
1472
+ + {
1473
+ + enabled: shouldBlockScroll && isOpen,
1474
+ + removeScrollBar: false,
1475
+ + key: null,
1476
+ + },
1477
+ + disableAnimation
1478
+ + ? content
1479
+ + : React.createElement(
1480
+ + LazyMotion,
1481
+ + {features: domAnimation},
1482
+ + React.createElement(
1483
+ + m.div,
1484
+ + {
1485
+ + key: null,
1486
+ + animate: "enter",
1487
+ + exit: "exit",
1488
+ + initial: "initial",
1489
+ + style: {
1490
+ + ...getTransformOrigins(placement === "center" ? "top" : placement),
1491
+ + },
1492
+ + variants: TRANSITION_VARIANTS.scaleSpringOpacity,
1493
+ + ...motionProps,
1494
+ + },
1495
+ + content,
1496
+ + ),
1497
+ + ),
1498
+ );
1499
+
1500
+ return (\n- packages/components/popover/src/use-popover.ts (modified, 5 changes)\n Patch: @@ -2,7 +2,7 @@ import type {PopoverVariantProps, SlotsToClasses, PopoverSlots} from "@nextui-or
1501
+ import type {HTMLMotionProps} from "framer-motion";
1502
+ import type {PressEvent} from "@react-types/shared";
1503
+
1504
+ -import {RefObject, Ref, useEffect} from "react";
1505
+ +import {RefObject, Ref, useEffect, ElementType} from "react";
1506
+ import {ReactRef, useDOMRef} from "@nextui-org/react-utils";
1507
+ import {OverlayTriggerState, useOverlayTriggerState} from "@react-stately/overlays";
1508
+ import {useFocusRing} from "@react-aria/focus";
1509
+ @@ -126,7 +126,7 @@ export function usePopover(originalProps: UsePopoverProps) {
1510
+ ...otherProps
1511
+ } = props;
1512
+
1513
+ - const Component = as || "div";
1514
+ + const Component = (as || "div") as ElementType;
1515
+
1516
+ const domRef = useDOMRef(ref);
1517
+
1518
+ @@ -307,6 +307,7 @@ export function usePopover(originalProps: UsePopoverProps) {
1519
+ }, [state.isOpen, domRef]);
1520
+
1521
+ return {
1522
+ + as,
1523
+ state,
1524
+ Component,
1525
+ children,\n- packages/components/select/src/select.tsx (modified, 29 changes)\n Patch: @@ -10,6 +10,7 @@ import {ScrollShadow} from "@nextui-org/scroll-shadow";
1526
+ import {cloneElement} from "react";
1527
+ import {VisuallyHidden} from "@react-aria/visually-hidden";
1528
+ import {AnimatePresence} from "framer-motion";
1529
+ +import * as React from "react";
1530
+
1531
+ import {HiddenSelect} from "./hidden-select";
1532
+ import {UseSelectProps, useSelect} from "./use-select";
1533
+ @@ -130,18 +131,22 @@ const Select = forwardRef(function Select<T extends object>(
1534
+ <HiddenSelect {...getHiddenSelectProps()} />
1535
+ {shouldLabelBeOutside ? labelContent : null}
1536
+ <div {...getMainWrapperProps()}>
1537
+ - <Component {...getTriggerProps()}>
1538
+ - {!shouldLabelBeOutside ? labelContent : null}
1539
+ - <div {...getInnerWrapperProps()}>
1540
+ - {startContent}
1541
+ - <span {...getValueProps()}>{renderSelectedItem}</span>
1542
+ - {endContent && state.selectedItems && (
1543
+ - <VisuallyHidden elementType="span">,</VisuallyHidden>
1544
+ - )}
1545
+ - {endContent}
1546
+ - </div>
1547
+ - {renderIndicator}
1548
+ - </Component>
1549
+ + {React.createElement(
1550
+ + Component,
1551
+ + getTriggerProps(),
1552
+ + <>
1553
+ + {!shouldLabelBeOutside ? labelContent : null}
1554
+ + <div {...getInnerWrapperProps()}>
1555
+ + {startContent}
1556
+ + <span {...getValueProps()}>{renderSelectedItem}</span>
1557
+ + {endContent && state.selectedItems && (
1558
+ + <VisuallyHidden elementType="span">,</VisuallyHidden>
1559
+ + )}
1560
+ + {endContent}
1561
+ + </div>
1562
+ + {renderIndicator}
1563
+ + </>,
1564
+ + )}
1565
+ {helperWrapper}
1566
+ </div>
1567
+ {disableAnimation ? popoverContent : <AnimatePresence>{popoverContent}</AnimatePresence>}\n- pnpm-lock.yaml (modified, 4303 changes)\n Patch: No patch available\n
processed_docs/pr_data_0_doc_33.txt ADDED
The diff for this file is too large to render. See raw diff
 
processed_docs/pr_data_0_doc_34.txt ADDED
@@ -0,0 +1,514 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4227
2
+ Title: feat: Adding nextui pro section on the landing page
3
+ Base Branch: canary
4
+ Head Branch: macci001/eng-1636
5
+ Author: macci001
6
+ URL: https://github.com/nextui-org/nextui/pull/4227
7
+ State: MERGED
8
+ Created At: 2024-12-05T12:50:25Z
9
+ Merged At: 2024-12-06T13:13:08Z
10
+ Participants: macci001, jrgarciadev
11
+
12
+ Description:
13
+ Closes ENG-1636
14
+ πŸ“ Description
15
+ Adding nextui pro section on the landing page
16
+ πŸš€ New behavior
17
+
18
+
19
+
20
+
21
+
22
+ Screen.Recording.2024-12-06.at.2.52.32.PM.mov
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+ πŸ’£ Is this a breaking change (Yes/No):
32
+
33
+ πŸ“ Additional Information
34
+
35
+ Summary by CodeRabbit
36
+ Release Notes
37
+
38
+
39
+ New Features
40
+
41
+ Introduced the NextUIProSection component for enhanced marketing content on the homepage.
42
+ Added a new Marquee component for customizable scrolling effects.
43
+
44
+
45
+
46
+ Enhancements
47
+
48
+ Expanded Tailwind CSS configuration with new scrolling animations for improved visual effects.
49
+
50
+
51
+
52
+ These updates aim to enrich the user experience with dynamic content and engaging visual elements.
53
+
54
+ Commits:
55
+ - feat: adding nextui pro section on the landing page\n- chore(nits): nits\n- Merge branch 'canary' of github.com:nextui-org/nextui into macci001/eng-1636\n- fix: remove pro image on mobile\n
56
+
57
+ Labels:
58
+
59
+
60
+ Comments:
61
+ - linear: <p><a href="https://linear.app/nextui-inc/issue/ENG-1636/nextui-pro-section">ENG-1636 NextUI Pro Section</a></p>\n- changeset-bot: ### ⚠️ No Changeset found
62
+
63
+ Latest commit: 3049e1846baec4c15076a95719a7a86149fe0e08
64
+
65
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
66
+
67
+ <details><summary>This PR includes no changesets</summary>
68
+
69
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
70
+
71
+ </details>
72
+
73
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
74
+
75
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/macci001/eng-1636?filename=.changeset/thin-cars-dream.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0Afeat%3A%20Adding%20nextui%20pro%20section%20on%20the%20landing%20page%0A)
76
+
77
+ \n- vercel: [vc]: #7oUjYQWH6cL33JyVv3wKxASWV90OiMXZHr549DUa8ZY=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoiIn0sImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1kb2NzLXYyL0FoTkRSeWZrdWdCUE11S3V6Z2d3clYyMVZmVHgiLCJwcmV2aWV3VXJsIjoiIiwibmV4dENvbW1pdFN0YXR1cyI6IkNBTkNFTEVEIn0seyJuYW1lIjoibmV4dHVpLXN0b3J5Ym9vay12MiIsInJvb3REaXJlY3RvcnkiOiJwYWNrYWdlcy9zdG9yeWJvb2siLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoiIn0sImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvRFF3Z2NTMUJuWFVEWG8zWEdONlJ1NUh4eTNSYSIsInByZXZpZXdVcmwiOiIiLCJuZXh0Q29tbWl0U3RhdHVzIjoiQ0FOQ0VMRUQifV19
78
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
79
+
80
+ | Name | Status | Preview | Comments | Updated (UTC) |
81
+ | :--- | :----- | :------ | :------- | :------ |
82
+ | **nextui-docs-v2** | πŸ›‘ Canceled ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/AhNDRyfkugBPMuKuzggwrV21VfTx)) | | | Dec 6, 2024 1:18pm |
83
+ | **nextui-storybook-v2** | πŸ›‘ Canceled ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/DQwgcS1BnXUDXo3XGN6Ru5Hxy3Ra)) | | | Dec 6, 2024 1:18pm |
84
+
85
+
86
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
87
+ <!-- This is an auto-generated comment: failure by coderabbit.ai -->
88
+
89
+ > [!CAUTION]
90
+ > ## Review failed
91
+ >
92
+ > The pull request is closed.
93
+
94
+ <!-- end of auto-generated comment: failure by coderabbit.ai -->
95
+
96
+
97
+
98
+ <!-- internal state start -->
99
+
100
+
101
+ <!-- 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 -->
102
+
103
+ <!-- internal state end -->
104
+ <!-- walkthrough_start -->
105
+
106
+ ## Walkthrough
107
+ The pull request introduces several changes across multiple files, primarily adding new components and enhancing the Tailwind CSS configuration. A new `NextUIProSection` component is incorporated into the `Home` function, while a `Marquee` component is introduced for customizable scrolling effects. Additionally, the Tailwind CSS configuration is updated to include new animations. These changes enhance the marketing sections of the application without altering existing functionalities.
108
+
109
+ ## Changes
110
+
111
+ | File Path | Change Summary |
112
+ |----------------------------------------------------|-----------------------------------------------------------------------------------------------------|
113
+ | apps/docs/app/page.tsx | Added import for `NextUIProSection` and included it in the `Home` function's return statement. |
114
+ | apps/docs/components/marketing/marquee.tsx | Introduced `Marquee` component with customizable props for scrolling behavior. |
115
+ | apps/docs/components/marketing/nextui-pro-section.tsx | Added `NextUIProSection` component with dynamic content based on user context and responsive design. |
116
+ | apps/docs/tailwind.config.js | Enhanced Tailwind CSS configuration with new animations and keyframes for scrolling effects. |
117
+
118
+ ## Suggested labels
119
+ `πŸ“‹ Scope : Docs`
120
+
121
+ ## Suggested reviewers
122
+ - wingkwong
123
+
124
+ <!-- walkthrough_end -->
125
+
126
+ ---
127
+
128
+ <details>
129
+ <summary>πŸ“œ Recent review details</summary>
130
+
131
+ **Configuration used: .coderabbit.yaml**
132
+ **Review profile: CHILL**
133
+
134
+ <details>
135
+ <summary>πŸ“₯ Commits</summary>
136
+
137
+ Reviewing files that changed from the base of the PR and between 606712f023b2edadf2435a71bcf696c24f2ee7d8 and 3049e1846baec4c15076a95719a7a86149fe0e08.
138
+
139
+ </details>
140
+
141
+ <details>
142
+ <summary>πŸ“’ Files selected for processing (1)</summary>
143
+
144
+ * `apps/docs/components/marketing/nextui-pro-section.tsx` (1 hunks)
145
+
146
+ </details>
147
+
148
+ </details>
149
+ <!-- tips_start -->
150
+
151
+ ---
152
+
153
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
154
+
155
+ <details>
156
+ <summary>❀️ Share</summary>
157
+
158
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
159
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
160
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
161
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
162
+
163
+ </details>
164
+
165
+ <details>
166
+ <summary>πŸͺ§ Tips</summary>
167
+
168
+ ### Chat
169
+
170
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
171
+
172
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
173
+ - `I pushed a fix in commit <commit_id>, please review it.`
174
+ - `Generate unit testing code for this file.`
175
+ - `Open a follow-up GitHub issue for this discussion.`
176
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
177
+ - `@coderabbitai generate unit testing code for this file.`
178
+ - `@coderabbitai modularize this function.`
179
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
180
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
181
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
182
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
183
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
184
+
185
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
186
+
187
+ ### CodeRabbit Commands (Invoked using PR comments)
188
+
189
+ - `@coderabbitai pause` to pause the reviews on a PR.
190
+ - `@coderabbitai resume` to resume the paused reviews.
191
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
192
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
193
+ - `@coderabbitai summary` to regenerate the summary of the PR.
194
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
195
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
196
+ - `@coderabbitai help` to get help.
197
+
198
+ ### Other keywords and placeholders
199
+
200
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
201
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
202
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
203
+
204
+ ### Documentation and Community
205
+
206
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
207
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
208
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
209
+
210
+ </details>
211
+
212
+ <!-- tips_end -->\n
213
+
214
+ Files Changed:
215
+ - apps/docs/app/page.tsx (modified, 2 changes)\n Patch: @@ -13,6 +13,7 @@ import {Community} from "@/components/marketing/community";
216
+ import Support from "@/components/marketing/support";
217
+ import landingContent from "@/content/landing";
218
+ import {Sponsors} from "@/components/marketing/sponsors";
219
+ +import {NextUIProSection} from "@/components/marketing/nextui-pro-section";
220
+
221
+ export default async function Home() {
222
+ return (
223
+ @@ -25,6 +26,7 @@ export default async function Home() {
224
+ <A11yOtb />
225
+ <DarkMode />
226
+ <Customization />
227
+ + <NextUIProSection />
228
+ <LastButNotLeast />
229
+ <Suspense fallback={<div>Loading...</div>}>
230
+ <Support />\n- apps/docs/components/marketing/marquee.tsx (added, 79 changes)\n Patch: @@ -0,0 +1,79 @@
231
+ +"use client";
232
+ +
233
+ +import type {ReactNode} from "react";
234
+ +import type {ScrollShadowProps} from "@nextui-org/react";
235
+ +
236
+ +import {Children, cloneElement} from "react";
237
+ +import {ScrollShadow} from "@nextui-org/react";
238
+ +import {cn} from "@nextui-org/react";
239
+ +
240
+ +interface MarqueeProps {
241
+ + className?: string;
242
+ + reverse?: boolean;
243
+ + shadow?: boolean;
244
+ + duration?: number;
245
+ + pauseOnHover?: boolean;
246
+ + vertical?: boolean;
247
+ + children?: ReactNode;
248
+ + [key: string]: unknown;
249
+ +}
250
+ +
251
+ +export const Marquee = ({
252
+ + className,
253
+ + reverse,
254
+ + duration = 40,
255
+ + shadow = false,
256
+ + pauseOnHover = false,
257
+ + vertical = false,
258
+ + children,
259
+ + ...props
260
+ +}: MarqueeProps) => {
261
+ + const shadowProps: ScrollShadowProps = {
262
+ + isEnabled: shadow,
263
+ + offset: -20,
264
+ + size: 300,
265
+ + orientation: "vertical",
266
+ + visibility: "both",
267
+ + };
268
+ +
269
+ + const Wrapper = shadow ? ScrollShadow : "div";
270
+ +
271
+ + const componentProps = shadow ? {...props, ...shadowProps} : props;
272
+ +
273
+ + return (
274
+ + <Wrapper
275
+ + {...componentProps}
276
+ + className={cn(
277
+ + "flex [--gap:1rem]",
278
+ + {
279
+ + "w-full": !vertical,
280
+ + "overflow-y-hidden": vertical,
281
+ + "overflow-x-hidden": !vertical,
282
+ + "max-h-[calc(100vh_-_200px)]": vertical,
283
+ + },
284
+ + className,
285
+ + )}
286
+ + style={{
287
+ + // @ts-ignore
288
+ + "--duration": `${duration}s`,
289
+ + }}
290
+ + >
291
+ + <div
292
+ + className={cn("flex w-max items-stretch gap-[--gap]", {
293
+ + "flex-col": vertical,
294
+ + "h-full": vertical,
295
+ + "animate-scrolling-banner": !vertical,
296
+ + "animate-scrolling-banner-vertical": vertical,
297
+ + "[animation-direction:reverse]": reverse,
298
+ + "hover:[animation-play-state:paused]": pauseOnHover,
299
+ + })}
300
+ + >
301
+ + {Children.map(children, (child) =>
302
+ + child && typeof child === "object" && "type" in child ? cloneElement(child) : child,
303
+ + )}
304
+ + </div>
305
+ + </Wrapper>
306
+ + );
307
+ +};
308
+ +
309
+ +export default Marquee;\n- apps/docs/components/marketing/nextui-pro-section.tsx (added, 182 changes)\n Patch: @@ -0,0 +1,182 @@
310
+ +"use client";
311
+ +
312
+ +import {Button, Chip} from "@nextui-org/react";
313
+ +import {useEffect, useState} from "react";
314
+ +import {useTheme} from "next-themes";
315
+ +
316
+ +import {sectionWrapper, title, titleWrapper, subtitle} from "../primitives";
317
+ +
318
+ +import Marquee from "./marquee";
319
+ +
320
+ +import {useIsMobile} from "@/hooks/use-media-query";
321
+ +
322
+ +export const NextUIProSection = () => {
323
+ + const [mounted, setMounted] = useState(false);
324
+ +
325
+ + useEffect(() => {
326
+ + setMounted(true);
327
+ + }, []);
328
+ +
329
+ + const isMobile = useIsMobile();
330
+ + const {theme} = useTheme();
331
+ + const isDarkMode = theme === "dark";
332
+ +
333
+ + let imgSrc: string;
334
+ +
335
+ + if (isDarkMode) {
336
+ + imgSrc = isMobile
337
+ + ? "/images/[email protected]"
338
+ + : "/images/nextuipro-section-background.webp";
339
+ + } else {
340
+ + imgSrc = isMobile
341
+ + ? "/images/[email protected]"
342
+ + : "/images/nextuipro-section-background-light.webp";
343
+ + }
344
+ +
345
+ + const mobileClassName: string = isDarkMode
346
+ + ? "h-full w-full bg-[radial-gradient(at_40%_80%,_rgba(255,255,255,_0)_5%,_rgba(0,0,0,_0.8)_50%,_rgba(0,0,0,1)_100%)]"
347
+ + : "h-full w-full bg-[radial-gradient(at_40%_80%,_rgba(0,0,0,_0)_5%,_rgba(255,255,255,_0.8)_50%,_rgba(255,255,255,1)_100%)]";
348
+ +
349
+ + const webClassName: string = isDarkMode
350
+ + ? "h-full w-full bg-[radial-gradient(at_80%_50%,_rgba(255,255,255,_0)_20%,_rgba(0,0,0,_0.8)_40%,_rgba(0,0,0,1)_100%)]"
351
+ + : "h-full w-full bg-[radial-gradient(at_80%_50%,_rgba(0,0,0,_0)_20%,_rgba(255,255,255,_0.9)_40%,_rgba(255,255,255,1)_100%)]";
352
+ +
353
+ + if (!mounted) return null;
354
+ +
355
+ + const CheckmarkIcon = () => (
356
+ + <svg fill="none" height="11" viewBox="0 0 13 11" width="13" xmlns="http://www.w3.org/2000/svg">
357
+ + <path
358
+ + d="M1 6.4L4.14286 10L12 1"
359
+ + stroke="#006FEE"
360
+ + strokeLinecap="round"
361
+ + strokeLinejoin="round"
362
+ + strokeWidth="2"
363
+ + />
364
+ + </svg>
365
+ + );
366
+ +
367
+ + return (
368
+ + <section className={sectionWrapper({class: "mt-16 lg:mt-44 overflow-hidden"})}>
369
+ + <div className="flex flex-col gap-8 min-h-[480px]">
370
+ + <div className="z-30 flex w-screen h-full flex-col items-start justify-center leading-8 pt-4">
371
+ + <Chip
372
+ + classNames={{
373
+ + base: "ml-0.5 transition-colors bg-gradient-to-br from-cyan-600 to-blue-600",
374
+ + content: "text-tiny font-semibold",
375
+ + }}
376
+ + color="primary"
377
+ + size="sm"
378
+ + >
379
+ + PRO
380
+ + </Chip>
381
+ + <div className={titleWrapper({class: "mt-2 inline md:block"})}>
382
+ + <h1 className={title({size: "lg", class: "[text-shadow:_0_3px_0_rgb(0_0_0_/_10%)]"})}>
383
+ + Ship&nbsp;
384
+ + </h1>
385
+ + <h1
386
+ + className={title({
387
+ + size: "lg",
388
+ + color: "blue",
389
+ + class: "[text-shadow:_0_3px_0_rgb(0_0_0_/_10%)]",
390
+ + })}
391
+ + >
392
+ + faster&nbsp;
393
+ + </h1>
394
+ + <h1 className={title({size: "lg", class: "[text-shadow:_0_3px_0_rgb(0_0_0_/_10%)]"})}>
395
+ + with&nbsp;
396
+ + </h1>
397
+ + <div className="flex flex-col sm:flex-row">
398
+ + <h1 className={title({size: "lg", class: "[text-shadow:_0_3px_0_rgb(0_0_0_/_10%)]"})}>
399
+ + beautiful&nbsp;
400
+ + </h1>
401
+ + <h1 className={title({size: "lg", class: "[text-shadow:_0_3px_0_rgb(0_0_0_/_10%)]"})}>
402
+ + components
403
+ + </h1>
404
+ + </div>
405
+ + </div>
406
+ + <p className={subtitle({class: "pr-12 text-foreground-500"})}>
407
+ + Premade templates of over 210+ beautiful and responsive components, professionally
408
+ + created by the team behind NextUI.
409
+ + </p>
410
+ + <div className="mt-4 text-foreground-600 font-medium">
411
+ + <div className="flex gap-x-4 items-center">
412
+ + <CheckmarkIcon />
413
+ + 210+ Components
414
+ + </div>
415
+ + <div className="flex gap-x-4 items-center">
416
+ + <CheckmarkIcon />
417
+ + Lifetime Access
418
+ + </div>
419
+ + <div className="flex gap-x-4 items-center">
420
+ + <CheckmarkIcon />
421
+ + Free Updates
422
+ + </div>
423
+ + <div className="flex gap-x-4 items-center">
424
+ + <CheckmarkIcon />
425
+ + Figma Files Included
426
+ + </div>
427
+ + </div>
428
+ + <div className="mt-4">
429
+ + <Button
430
+ + as={"a"}
431
+ + className="px-6 flex items-center"
432
+ + color="primary"
433
+ + href="https://nextui.pro?utm_source=nextui.org&utm_medium=nextui-homepage-section"
434
+ + rel="noopener noreferrer"
435
+ + target="_blank"
436
+ + >
437
+ + Explore NextUI Pro
438
+ + <svg
439
+ + fill="none"
440
+ + height="21"
441
+ + viewBox="0 0 20 21"
442
+ + width="20"
443
+ + xmlns="http://www.w3.org/2000/svg"
444
+ + >
445
+ + <path
446
+ + d="M12.0254 5.44189L17.0837 10.5002L12.0254 15.5586"
447
+ + stroke="white"
448
+ + strokeLinecap="round"
449
+ + strokeLinejoin="round"
450
+ + strokeMiterlimit="10"
451
+ + strokeWidth="1.5"
452
+ + />
453
+ + <path
454
+ + d="M2.91602 10.5H16.941"
455
+ + stroke="white"
456
+ + strokeLinecap="round"
457
+ + strokeLinejoin="round"
458
+ + strokeMiterlimit="10"
459
+ + strokeWidth="1.5"
460
+ + />
461
+ + </svg>
462
+ + </Button>
463
+ + </div>
464
+ + </div>
465
+ + <div className="overflow-hidden">
466
+ + <Marquee
467
+ + vertical
468
+ + className="h-78 hidden md:flex w-screen mt-4 md:absolute md:top-0 md:inset-0 isolate md:max-h-dvh"
469
+ + duration={isMobile ? 240 : 60}
470
+ + >
471
+ + <img
472
+ + alt="Hero Background"
473
+ + className="w-full"
474
+ + height={3255}
475
+ + loading="lazy"
476
+ + src={imgSrc}
477
+ + width={1920}
478
+ + />
479
+ + </Marquee>
480
+ + <div className="absolute md:hidden inset-0 pointer-events-none top-0 z-20">
481
+ + <div className={mobileClassName} />
482
+ + </div>
483
+ +
484
+ + <div className="absolute hidden md:block md:inset-0 md:pointer-events-none md:top-0 md:z-20">
485
+ + <div className={webClassName} />
486
+ + </div>
487
+ + </div>
488
+ + </div>
489
+ + </section>
490
+ + );
491
+ +};\n- apps/docs/public/images/nextuipro-section-background-light.webp (added, 0 changes)\n Patch: No patch available\n- apps/docs/public/images/[email protected] (added, 0 changes)\n Patch: No patch available\n- apps/docs/public/images/nextuipro-section-background.webp (added, 0 changes)\n Patch: No patch available\n- apps/docs/public/images/[email protected] (added, 0 changes)\n Patch: No patch available\n- apps/docs/tailwind.config.js (modified, 10 changes)\n Patch: @@ -319,13 +319,23 @@ module.exports = {
492
+ backgroundPosition: "-200% center",
493
+ },
494
+ },
495
+ + "scrolling-banner": {
496
+ + from: {transform: "translateX(0)"},
497
+ + to: {transform: "translateX(calc(-50% - var(--gap)/2))"},
498
+ + },
499
+ + "scrolling-banner-vertical": {
500
+ + from: {transform: "translateY(0)"},
501
+ + to: {transform: "translateY(calc(-50% - var(--gap)/2))"},
502
+ + },
503
+ },
504
+ animation: {
505
+ heartbeat: "heartbeat 1s ease-in-out infinite",
506
+ levitate: "levitate 5s ease infinite",
507
+ expand: "expand 6s ease-out infinite both",
508
+ "expand-opacity": "expand-opacity 6s linear infinite both",
509
+ "text-gradient": "text-gradient 4s linear 0s infinite normal forwards running",
510
+ + "scrolling-banner": "scrolling-banner var(--duration) linear infinite",
511
+ + "scrolling-banner-vertical": "scrolling-banner-vertical var(--duration) linear infinite",
512
+ },
513
+ maxWidth: {
514
+ "8xl": "90rem", // 1440px\n
processed_docs/pr_data_0_doc_35.txt ADDED
@@ -0,0 +1,531 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4226
2
+ Title: fix(deps): bump `@react-aria/utils` version
3
+ Base Branch: canary
4
+ Head Branch: fix/client-side-routing
5
+ Author: wingkwong
6
+ URL: https://github.com/nextui-org/nextui/pull/4226
7
+ State: MERGED
8
+ Created At: 2024-12-05T11:13:24Z
9
+ Merged At: 2024-12-05T11:50:42Z
10
+ Participants: wingkwong, jrgarciadev
11
+
12
+ Description:
13
+ Closes #4212
14
+ ref: #3784
15
+
16
+ πŸ“ Description
17
+
18
+ client side routing is not working whenever the version is not compatible with the one in RA.
19
+
20
+
21
+
22
+
23
+
24
+ pr4226-demo.webm
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+ ⛳️ Current behavior (updates)
34
+
35
+ πŸš€ New behavior
36
+
37
+ πŸ’£ Is this a breaking change (Yes/No):
38
+
39
+ πŸ“ Additional Information
40
+
41
+ Summary by CodeRabbit
42
+ Release Notes
43
+
44
+
45
+ New Features
46
+
47
+ Updated multiple components and utilities within the @nextui-org namespace to enhance accessibility and user experience.
48
+
49
+
50
+
51
+ Improvements
52
+
53
+ Incremented the version of @react-aria/utils across various packages, which may include bug fixes, performance enhancements, and new features.
54
+
55
+
56
+
57
+ Documentation
58
+
59
+ Updated Storybook configuration for the Snippet component to include new JSON configuration for Next.js Progressive Web Apps.
60
+
61
+ Commits:
62
+ - fix(deps): bump `@react-aria/utils` version\n- chore(changeset): add changeset\n
63
+
64
+ Labels:
65
+
66
+
67
+ Comments:
68
+ - changeset-bot: ### πŸ¦‹ Changeset detected
69
+
70
+ Latest commit: 35bd01a4abe507aefb3f179e8f83d0d228ebdae4
71
+
72
+ **The changes in this PR will be included in the next version bump.**
73
+
74
+ <details><summary>This PR includes changesets to release 48 packages</summary>
75
+
76
+ | Name | Type |
77
+ | ------------------------------------- | ----- |
78
+ | @nextui-org/use-intersection-observer | Patch |
79
+ | @nextui-org/use-aria-modal-overlay | Patch |
80
+ | @nextui-org/use-aria-toggle-button | Patch |
81
+ | @nextui-org/use-aria-multiselect | Patch |
82
+ | @nextui-org/use-aria-accordion | Patch |
83
+ | @nextui-org/autocomplete | Patch |
84
+ | @nextui-org/breadcrumbs | Patch |
85
+ | @nextui-org/date-picker | Patch |
86
+ | @nextui-org/date-input | Patch |
87
+ | @nextui-org/pagination | Patch |
88
+ | @nextui-org/use-aria-button | Patch |
89
+ | @nextui-org/accordion | Patch |
90
+ | @nextui-org/use-disclosure | Patch |
91
+ | @nextui-org/aria-utils | Patch |
92
+ | @nextui-org/calendar | Patch |
93
+ | @nextui-org/checkbox | Patch |
94
+ | @nextui-org/dropdown | Patch |
95
+ | @nextui-org/progress | Patch |
96
+ | @nextui-org/use-aria-link | Patch |
97
+ | @nextui-org/use-aria-menu | Patch |
98
+ | @nextui-org/listbox | Patch |
99
+ | @nextui-org/popover | Patch |
100
+ | @nextui-org/snippet | Patch |
101
+ | @nextui-org/tooltip | Patch |
102
+ | @nextui-org/avatar | Patch |
103
+ | @nextui-org/button | Patch |
104
+ | @nextui-org/navbar | Patch |
105
+ | @nextui-org/select | Patch |
106
+ | @nextui-org/slider | Patch |
107
+ | @nextui-org/switch | Patch |
108
+ | @nextui-org/alert | Patch |
109
+ | @nextui-org/input | Patch |
110
+ | @nextui-org/modal | Patch |
111
+ | @nextui-org/radio | Patch |
112
+ | @nextui-org/table | Patch |
113
+ | @nextui-org/card | Patch |
114
+ | @nextui-org/chip | Patch |
115
+ | @nextui-org/form | Patch |
116
+ | @nextui-org/link | Patch |
117
+ | @nextui-org/menu | Patch |
118
+ | @nextui-org/tabs | Patch |
119
+ | @nextui-org/user | Patch |
120
+ | @nextui-org/kbd | Patch |
121
+ | @nextui-org/system | Patch |
122
+ | @nextui-org/react | Patch |
123
+ | @nextui-org/drawer | Patch |
124
+ | @nextui-org/input-otp | Patch |
125
+ | @nextui-org/framer-utils | Patch |
126
+
127
+ </details>
128
+
129
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
130
+
131
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/fix/client-side-routing?filename=.changeset/tall-crabs-run.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A%22%40nextui-org%2Faccordion%22%3A%20patch%0A%22%40nextui-org%2Falert%22%3A%20patch%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Favatar%22%3A%20patch%0A%22%40nextui-org%2Fbreadcrumbs%22%3A%20patch%0A%22%40nextui-org%2Fbutton%22%3A%20patch%0A%22%40nextui-org%2Fcalendar%22%3A%20patch%0A%22%40nextui-org%2Fcard%22%3A%20patch%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fchip%22%3A%20patch%0A%22%40nextui-org%2Fdate-input%22%3A%20patch%0A%22%40nextui-org%2Fdate-picker%22%3A%20patch%0A%22%40nextui-org%2Fdropdown%22%3A%20patch%0A%22%40nextui-org%2Fform%22%3A%20patch%0A%22%40nextui-org%2Finput%22%3A%20patch%0A%22%40nextui-org%2Fkbd%22%3A%20patch%0A%22%40nextui-org%2Flink%22%3A%20patch%0A%22%40nextui-org%2Flistbox%22%3A%20patch%0A%22%40nextui-org%2Fmenu%22%3A%20patch%0A%22%40nextui-org%2Fmodal%22%3A%20patch%0A%22%40nextui-org%2Fnavbar%22%3A%20patch%0A%22%40nextui-org%2Fpagination%22%3A%20patch%0A%22%40nextui-org%2Fpopover%22%3A%20patch%0A%22%40nextui-org%2Fprogress%22%3A%20patch%0A%22%40nextui-org%2Fradio%22%3A%20patch%0A%22%40nextui-org%2Fselect%22%3A%20patch%0A%22%40nextui-org%2Fslider%22%3A%20patch%0A%22%40nextui-org%2Fsnippet%22%3A%20patch%0A---%0A%0Afix(deps)%3A%20bump%20%60%40react-aria%2Futils%60%20version%0A)
132
+
133
+ \n- vercel: [vc]: #6Yf2UkPcP0y8XVx6AEZUU8mZwKNqFSdJ2nn4QxPy28I=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi85TXNKemdpTjNFdVBNYzdzVE1vSG02eFFtTlhHIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtY2xpZW50LXNpZGUtcm91dGluZy1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LWZpeC1jbGllbnQtc2lkZS1yb3V0aW5nLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvQkdFcWNWcTMxamhacHp5VTFzbUhwQzhjSjRVdyIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1maXgtY2xpZW50LXNpZGUtcm91dGluZy1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LWNsaWVudC1zaWRlLXJvdXRpbmctbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
134
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
135
+
136
+ | Name | Status | Preview | Comments | Updated (UTC) |
137
+ | :--- | :----- | :------ | :------- | :------ |
138
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/9MsJzgiN3EuPMc7sTMoHm6xQmNXG)) | [Visit Preview](https://nextui-docs-v2-git-fix-client-side-routing-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-client-side-routing-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 5, 2024 11:22am |
139
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/BGEqcVq31jhZpzyU1smHpC8cJ4Uw)) | [Visit Preview](https://nextui-storybook-v2-git-fix-client-side-routing-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-client-side-routing-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 5, 2024 11:22am |
140
+
141
+
142
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
143
+
144
+
145
+ <!-- walkthrough_start -->
146
+
147
+ ## Walkthrough
148
+ This pull request introduces updates across multiple packages within the `@nextui-org` namespace, primarily focusing on the version bump of the `@react-aria/utils` dependency from `3.25.3` to `3.26.0`. This change affects various UI components and hooks, ensuring they incorporate the latest improvements and fixes. The updates are aimed at maintaining compatibility and enhancing accessibility features across the UI components.
149
+
150
+ ## Changes
151
+
152
+ | File Path | Change Summary |
153
+ |-------------------------------------------------|--------------------------------------------------------------------------------------------------|
154
+ | .changeset/quick-monkeys-pretend.md | Multiple packages updated to use `@react-aria/utils` version `3.26.0`. |
155
+ | apps/docs/package.json | Updated `@react-aria/utils` from `3.25.3` to `3.26.0`. |
156
+ | packages/components/*/package.json | Updated `@react-aria/utils` from `3.25.3` to `3.26.0` for various components (accordion, alert, etc.). |
157
+ | packages/hooks/*/package.json | Updated `@react-aria/utils` from `3.25.3` to `3.26.0` for various hooks (use-aria-accordion, etc.). |
158
+ | packages/utilities/aria-utils/package.json | Updated `@react-aria/utils` from `3.25.3` to `3.26.0`. |
159
+ | packages/components/snippet/stories/snippet.stories.tsx | Updated Storybook configuration for `Snippet` component. |
160
+
161
+ ## Assessment against linked issues
162
+
163
+ | Objective | Addressed | Explanation |
164
+ |---------------------------------------------------------------------------|-----------|------------------------------------------|
165
+ | Expected `BreadCrumbItem` to use client-side loading as `Link` does (#4212) | ❌ | No changes related to `BreadcrumbItem` functionality in this PR. |
166
+
167
+ ## Possibly related PRs
168
+ - **#2943**: Addresses missing `useHref` logic in the `@nextui-org/system` package.
169
+ - **#3229**: Fixes link logic in the `useMenuItem` hook, relevant to accessibility updates.
170
+ - **#3240**: Involves a bump in React Aria dependencies, directly related to this PR.
171
+ - **#3762**: Fixes an issue in the Dropdown component, relevant to the main PR's focus.
172
+ - **#4168**: Addresses missing `<li>` tag when `href` is specified, related to link handling.
173
+ - **#4204**: Addresses issues in the `@nextui-org/react` package, relevant to this PR's updates.
174
+
175
+ ## Suggested reviewers
176
+ - jrgarciadev
177
+
178
+ <!-- walkthrough_end -->
179
+ <!-- internal state start -->
180
+
181
+
182
+ <!-- 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 -->
183
+
184
+ <!-- internal state end -->
185
+ <!-- tips_start -->
186
+
187
+ ---
188
+
189
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
190
+
191
+ <details>
192
+ <summary>❀️ Share</summary>
193
+
194
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
195
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
196
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
197
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
198
+
199
+ </details>
200
+
201
+ <details>
202
+ <summary>πŸͺ§ Tips</summary>
203
+
204
+ ### Chat
205
+
206
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
207
+
208
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
209
+ - `I pushed a fix in commit <commit_id>, please review it.`
210
+ - `Generate unit testing code for this file.`
211
+ - `Open a follow-up GitHub issue for this discussion.`
212
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
213
+ - `@coderabbitai generate unit testing code for this file.`
214
+ - `@coderabbitai modularize this function.`
215
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
216
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
217
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
218
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
219
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
220
+
221
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
222
+
223
+ ### CodeRabbit Commands (Invoked using PR comments)
224
+
225
+ - `@coderabbitai pause` to pause the reviews on a PR.
226
+ - `@coderabbitai resume` to resume the paused reviews.
227
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
228
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
229
+ - `@coderabbitai summary` to regenerate the summary of the PR.
230
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
231
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
232
+ - `@coderabbitai help` to get help.
233
+
234
+ ### Other keywords and placeholders
235
+
236
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
237
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
238
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
239
+
240
+ ### Documentation and Community
241
+
242
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
243
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
244
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
245
+
246
+ </details>
247
+
248
+ <!-- tips_end -->\n
249
+
250
+ Files Changed:
251
+ - .changeset/quick-monkeys-pretend.md (added, 48 changes)\n Patch: @@ -0,0 +1,48 @@
252
+ +---
253
+ +"@nextui-org/use-intersection-observer": patch
254
+ +"@nextui-org/use-aria-modal-overlay": patch
255
+ +"@nextui-org/use-aria-toggle-button": patch
256
+ +"@nextui-org/use-aria-multiselect": patch
257
+ +"@nextui-org/use-aria-accordion": patch
258
+ +"@nextui-org/autocomplete": patch
259
+ +"@nextui-org/breadcrumbs": patch
260
+ +"@nextui-org/date-picker": patch
261
+ +"@nextui-org/date-input": patch
262
+ +"@nextui-org/pagination": patch
263
+ +"@nextui-org/use-aria-button": patch
264
+ +"@nextui-org/accordion": patch
265
+ +"@nextui-org/use-disclosure": patch
266
+ +"@nextui-org/aria-utils": patch
267
+ +"@nextui-org/calendar": patch
268
+ +"@nextui-org/checkbox": patch
269
+ +"@nextui-org/dropdown": patch
270
+ +"@nextui-org/progress": patch
271
+ +"@nextui-org/use-aria-link": patch
272
+ +"@nextui-org/use-aria-menu": patch
273
+ +"@nextui-org/listbox": patch
274
+ +"@nextui-org/popover": patch
275
+ +"@nextui-org/snippet": patch
276
+ +"@nextui-org/tooltip": patch
277
+ +"@nextui-org/avatar": patch
278
+ +"@nextui-org/button": patch
279
+ +"@nextui-org/navbar": patch
280
+ +"@nextui-org/select": patch
281
+ +"@nextui-org/slider": patch
282
+ +"@nextui-org/switch": patch
283
+ +"@nextui-org/alert": patch
284
+ +"@nextui-org/input": patch
285
+ +"@nextui-org/modal": patch
286
+ +"@nextui-org/radio": patch
287
+ +"@nextui-org/table": patch
288
+ +"@nextui-org/card": patch
289
+ +"@nextui-org/chip": patch
290
+ +"@nextui-org/form": patch
291
+ +"@nextui-org/link": patch
292
+ +"@nextui-org/menu": patch
293
+ +"@nextui-org/tabs": patch
294
+ +"@nextui-org/user": patch
295
+ +"@nextui-org/kbd": patch
296
+ +"@nextui-org/system": patch
297
+ +---
298
+ +
299
+ +bump `@react-aria/utils` version (#4212)\n- apps/docs/package.json (modified, 2 changes)\n Patch: @@ -45,7 +45,7 @@
300
+ "@react-aria/interactions": "3.22.4",
301
+ "@react-aria/selection": "3.20.1",
302
+ "@react-aria/ssr": "3.9.6",
303
+ - "@react-aria/utils": "3.25.3",
304
+ + "@react-aria/utils": "3.26.0",
305
+ "@react-aria/virtualizer": "3.10.1",
306
+ "@react-aria/visually-hidden": "3.8.17",
307
+ "@react-stately/data": "3.11.4",\n- packages/components/accordion/package.json (modified, 2 changes)\n Patch: @@ -57,7 +57,7 @@
308
+ "@nextui-org/dom-animation": "workspace:*",
309
+ "@react-aria/interactions": "3.22.4",
310
+ "@react-aria/focus": "3.18.4",
311
+ - "@react-aria/utils": "3.25.3",
312
+ + "@react-aria/utils": "3.26.0",
313
+ "@react-stately/tree": "3.8.5",
314
+ "@react-aria/button": "3.10.1",
315
+ "@react-types/accordion": "3.0.0-alpha.24",\n- packages/components/alert/package.json (modified, 2 changes)\n Patch: @@ -48,7 +48,7 @@
316
+ "@nextui-org/shared-icons": "workspace:*",
317
+ "@nextui-org/shared-utils": "workspace:*",
318
+ "@react-stately/utils": "3.10.4",
319
+ - "@react-aria/utils": "3.25.3",
320
+ + "@react-aria/utils": "3.26.0",
321
+ "@nextui-org/button": "workspace:*"
322
+ },
323
+ "devDependencies": {\n- packages/components/autocomplete/package.json (modified, 2 changes)\n Patch: @@ -58,7 +58,7 @@
324
+ "@react-aria/focus": "3.18.4",
325
+ "@react-aria/i18n": "3.12.3",
326
+ "@react-aria/interactions": "3.22.4",
327
+ - "@react-aria/utils": "3.25.3",
328
+ + "@react-aria/utils": "3.26.0",
329
+ "@react-aria/visually-hidden": "3.8.17",
330
+ "@react-stately/combobox": "3.10.0",
331
+ "@react-types/combobox": "3.13.0",\n- packages/components/avatar/package.json (modified, 2 changes)\n Patch: @@ -45,7 +45,7 @@
332
+ "@nextui-org/use-image": "workspace:*",
333
+ "@react-aria/interactions": "3.22.4",
334
+ "@react-aria/focus": "3.18.4",
335
+ - "@react-aria/utils": "3.25.3"
336
+ + "@react-aria/utils": "3.26.0"
337
+ },
338
+ "devDependencies": {
339
+ "@nextui-org/theme": "workspace:*",\n- packages/components/breadcrumbs/package.json (modified, 2 changes)\n Patch: @@ -45,7 +45,7 @@
340
+ "@nextui-org/shared-icons": "workspace:*",
341
+ "@react-aria/focus": "3.18.4",
342
+ "@react-aria/breadcrumbs": "3.5.18",
343
+ - "@react-aria/utils": "3.25.3",
344
+ + "@react-aria/utils": "3.26.0",
345
+ "@react-types/breadcrumbs": "3.7.8",
346
+ "@react-types/shared": "3.25.0"
347
+ },\n- packages/components/button/package.json (modified, 2 changes)\n Patch: @@ -48,7 +48,7 @@
348
+ "@nextui-org/spinner": "workspace:*",
349
+ "@react-aria/button": "3.10.1",
350
+ "@react-aria/interactions": "3.22.4",
351
+ - "@react-aria/utils": "3.25.3",
352
+ + "@react-aria/utils": "3.26.0",
353
+ "@react-aria/focus": "3.18.4",
354
+ "@react-types/shared": "3.25.0",
355
+ "@react-types/button": "3.10.0"\n- packages/components/calendar/package.json (modified, 2 changes)\n Patch: @@ -55,7 +55,7 @@
356
+ "@react-stately/calendar": "3.5.5",
357
+ "@react-types/button": "3.10.0",
358
+ "@react-aria/visually-hidden": "3.8.17",
359
+ - "@react-aria/utils": "3.25.3",
360
+ + "@react-aria/utils": "3.26.0",
361
+ "@react-stately/utils": "3.10.4",
362
+ "@react-types/calendar": "3.4.10",
363
+ "@react-aria/interactions": "3.22.4",\n- packages/components/card/package.json (modified, 2 changes)\n Patch: @@ -46,7 +46,7 @@
364
+ "@nextui-org/use-aria-button": "workspace:*",
365
+ "@nextui-org/ripple": "workspace:*",
366
+ "@react-aria/focus": "3.18.4",
367
+ - "@react-aria/utils": "3.25.3",
368
+ + "@react-aria/utils": "3.26.0",
369
+ "@react-aria/interactions": "3.22.4",
370
+ "@react-aria/button": "3.10.1",
371
+ "@react-types/shared": "3.25.0"\n- packages/components/checkbox/package.json (modified, 2 changes)\n Patch: @@ -48,7 +48,7 @@
372
+ "@react-aria/checkbox": "3.14.8",
373
+ "@react-aria/focus": "3.18.4",
374
+ "@react-aria/interactions": "3.22.4",
375
+ - "@react-aria/utils": "3.25.3",
376
+ + "@react-aria/utils": "3.26.0",
377
+ "@react-aria/visually-hidden": "3.8.17",
378
+ "@react-stately/checkbox": "3.6.9",
379
+ "@react-stately/toggle": "3.7.8",\n- packages/components/chip/package.json (modified, 2 changes)\n Patch: @@ -45,7 +45,7 @@
380
+ "@nextui-org/react-utils": "workspace:*",
381
+ "@react-aria/focus": "3.18.4",
382
+ "@react-aria/interactions": "3.22.4",
383
+ - "@react-aria/utils": "3.25.3",
384
+ + "@react-aria/utils": "3.26.0",
385
+ "@react-types/checkbox": "3.8.4"
386
+ },
387
+ "devDependencies": {\n- packages/components/date-input/package.json (modified, 2 changes)\n Patch: @@ -49,7 +49,7 @@
388
+ "@react-stately/datepicker": "3.10.3",
389
+ "@react-types/datepicker": "3.8.3",
390
+ "@react-types/shared": "3.25.0",
391
+ - "@react-aria/utils": "3.25.3"
392
+ + "@react-aria/utils": "3.26.0"
393
+ },
394
+ "devDependencies": {
395
+ "@nextui-org/system": "workspace:*",\n- packages/components/date-picker/package.json (modified, 2 changes)\n Patch: @@ -53,7 +53,7 @@
396
+ "@nextui-org/shared-utils": "workspace:*",
397
+ "@react-aria/datepicker": "3.11.4",
398
+ "@react-aria/i18n": "3.12.3",
399
+ - "@react-aria/utils": "3.25.3",
400
+ + "@react-aria/utils": "3.26.0",
401
+ "@react-stately/datepicker": "3.10.3",
402
+ "@react-stately/overlays": "3.6.11",
403
+ "@react-stately/utils": "3.10.4",\n- packages/components/dropdown/package.json (modified, 2 changes)\n Patch: @@ -48,7 +48,7 @@
404
+ "@nextui-org/shared-utils": "workspace:*",
405
+ "@react-aria/focus": "3.18.4",
406
+ "@react-aria/menu": "3.15.5",
407
+ - "@react-aria/utils": "3.25.3",
408
+ + "@react-aria/utils": "3.26.0",
409
+ "@react-stately/menu": "3.8.3",
410
+ "@react-types/menu": "3.9.12"
411
+ },\n- packages/components/form/package.json (modified, 2 changes)\n Patch: @@ -44,7 +44,7 @@
412
+ "@nextui-org/shared-utils": "workspace:*",
413
+ "@nextui-org/system": "workspace:*",
414
+ "@nextui-org/theme": "workspace:*",
415
+ - "@react-aria/utils": "3.25.3",
416
+ + "@react-aria/utils": "3.26.0",
417
+ "@react-types/shared": "3.25.0",
418
+ "@react-stately/form": "3.0.6",
419
+ "@react-types/form": "^3.7.8"\n- packages/components/input/package.json (modified, 2 changes)\n Patch: @@ -48,7 +48,7 @@
420
+ "@react-aria/focus": "3.18.4",
421
+ "@react-aria/interactions": "3.22.4",
422
+ "@react-aria/textfield": "3.14.10",
423
+ - "@react-aria/utils": "3.25.3",
424
+ + "@react-aria/utils": "3.26.0",
425
+ "@react-stately/utils": "3.10.4",
426
+ "@react-types/shared": "3.25.0",
427
+ "@react-types/textfield": "3.9.7",\n- packages/components/kbd/package.json (modified, 2 changes)\n Patch: @@ -42,7 +42,7 @@
428
+ "@nextui-org/system-rsc": "workspace:*",
429
+ "@nextui-org/shared-utils": "workspace:*",
430
+ "@nextui-org/react-utils": "workspace:*",
431
+ - "@react-aria/utils": "3.25.3"
432
+ + "@react-aria/utils": "3.26.0"
433
+ },
434
+ "devDependencies": {
435
+ "@nextui-org/theme": "workspace:*",\n- packages/components/link/package.json (modified, 2 changes)\n Patch: @@ -45,7 +45,7 @@
436
+ "@nextui-org/react-utils": "workspace:*",
437
+ "@nextui-org/use-aria-link": "workspace:*",
438
+ "@react-aria/link": "3.7.6",
439
+ - "@react-aria/utils": "3.25.3",
440
+ + "@react-aria/utils": "3.26.0",
441
+ "@react-aria/focus": "3.18.4",
442
+ "@react-types/link": "3.5.8"
443
+ },\n- packages/components/listbox/package.json (modified, 2 changes)\n Patch: @@ -46,7 +46,7 @@
444
+ "@nextui-org/shared-utils": "workspace:*",
445
+ "@nextui-org/use-is-mobile": "workspace:*",
446
+ "@tanstack/react-virtual": "3.10.9",
447
+ - "@react-aria/utils": "3.25.3",
448
+ + "@react-aria/utils": "3.26.0",
449
+ "@react-aria/listbox": "3.13.5",
450
+ "@react-stately/list": "3.11.0",
451
+ "@react-aria/focus": "3.18.4",\n- packages/components/menu/package.json (modified, 2 changes)\n Patch: @@ -49,7 +49,7 @@
452
+ "@react-aria/focus": "3.18.4",
453
+ "@react-aria/interactions": "3.22.4",
454
+ "@react-aria/menu": "3.15.5",
455
+ - "@react-aria/utils": "3.25.3",
456
+ + "@react-aria/utils": "3.26.0",
457
+ "@react-stately/menu": "3.8.3",
458
+ "@react-stately/tree": "3.8.5",
459
+ "@react-types/menu": "3.9.12",\n- packages/components/modal/package.json (modified, 2 changes)\n Patch: @@ -54,7 +54,7 @@
460
+ "@react-aria/focus": "3.18.4",
461
+ "@react-aria/interactions": "3.22.4",
462
+ "@react-aria/overlays": "3.23.4",
463
+ - "@react-aria/utils": "3.25.3",
464
+ + "@react-aria/utils": "3.26.0",
465
+ "@react-stately/overlays": "3.6.11",
466
+ "@react-types/overlays": "3.8.10"
467
+ },\n- packages/components/navbar/package.json (modified, 2 changes)\n Patch: @@ -50,7 +50,7 @@
468
+ "@react-aria/focus": "3.18.4",
469
+ "@react-aria/interactions": "3.22.4",
470
+ "@react-aria/overlays": "3.23.4",
471
+ - "@react-aria/utils": "3.25.3",
472
+ + "@react-aria/utils": "3.26.0",
473
+ "@react-stately/toggle": "3.7.8",
474
+ "@react-stately/utils": "3.10.4",
475
+ "react-remove-scroll": "^2.5.6"\n- packages/components/pagination/package.json (modified, 2 changes)\n Patch: @@ -48,7 +48,7 @@
476
+ "@react-aria/focus": "3.18.4",
477
+ "@react-aria/i18n": "3.12.3",
478
+ "@react-aria/interactions": "3.22.4",
479
+ - "@react-aria/utils": "3.25.3",
480
+ + "@react-aria/utils": "3.26.0",
481
+ "scroll-into-view-if-needed": "3.0.10"
482
+ },
483
+ "devDependencies": {\n- packages/components/popover/package.json (modified, 2 changes)\n Patch: @@ -53,7 +53,7 @@
484
+ "@react-aria/focus": "3.18.4",
485
+ "@react-aria/interactions": "3.22.4",
486
+ "@react-aria/overlays": "3.23.4",
487
+ - "@react-aria/utils": "3.25.3",
488
+ + "@react-aria/utils": "3.26.0",
489
+ "@react-stately/overlays": "3.6.11",
490
+ "@react-types/button": "3.10.0",
491
+ "@react-types/overlays": "3.8.10",\n- packages/components/progress/package.json (modified, 2 changes)\n Patch: @@ -45,7 +45,7 @@
492
+ "@nextui-org/use-is-mounted": "workspace:*",
493
+ "@react-aria/i18n": "3.12.3",
494
+ "@react-aria/progress": "3.4.17",
495
+ - "@react-aria/utils": "3.25.3",
496
+ + "@react-aria/utils": "3.26.0",
497
+ "@react-types/progress": "3.5.7"
498
+ },
499
+ "devDependencies": {\n- packages/components/radio/package.json (modified, 2 changes)\n Patch: @@ -46,7 +46,7 @@
500
+ "@react-aria/focus": "3.18.4",
501
+ "@react-aria/interactions": "3.22.4",
502
+ "@react-aria/radio": "3.10.9",
503
+ - "@react-aria/utils": "3.25.3",
504
+ + "@react-aria/utils": "3.26.0",
505
+ "@react-aria/visually-hidden": "3.8.17",
506
+ "@react-stately/radio": "3.10.8",
507
+ "@react-types/radio": "3.8.4",\n- packages/components/select/package.json (modified, 2 changes)\n Patch: @@ -56,7 +56,7 @@
508
+ "@react-aria/focus": "3.18.4",
509
+ "@react-aria/form": "3.0.10",
510
+ "@react-aria/interactions": "3.22.4",
511
+ - "@react-aria/utils": "3.25.3",
512
+ + "@react-aria/utils": "3.26.0",
513
+ "@react-aria/visually-hidden": "3.8.17",
514
+ "@react-types/shared": "3.25.0",
515
+ "@tanstack/react-virtual": "3.10.9"\n- packages/components/slider/package.json (modified, 2 changes)\n Patch: @@ -47,7 +47,7 @@
516
+ "@react-aria/i18n": "3.12.3",
517
+ "@react-aria/interactions": "3.22.4",
518
+ "@react-aria/slider": "3.7.13",
519
+ - "@react-aria/utils": "3.25.3",
520
+ + "@react-aria/utils": "3.26.0",
521
+ "@react-aria/visually-hidden": "3.8.17",
522
+ "@react-stately/slider": "3.5.8"
523
+ },\n- packages/components/snippet/package.json (modified, 2 changes)\n Patch: @@ -48,7 +48,7 @@
524
+ "@nextui-org/use-clipboard": "workspace:*",
525
+ "@nextui-org/tooltip": "workspace:*",
526
+ "@react-aria/focus": "3.18.4",
527
+ - "@react-aria/utils": "3.25.3"
528
+ + "@react-aria/utils": "3.26.0"
529
+ },
530
+ "devDependencies": {
531
+ "@nextui-org/theme": "workspace:*",\n
processed_docs/pr_data_0_doc_36.txt ADDED
@@ -0,0 +1,1153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4224
2
+ Title: fix: form fixes and improvements
3
+ Base Branch: canary
4
+ Head Branch: feat/select-form-support
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4224
7
+ State: MERGED
8
+ Created At: 2024-12-04T22:22:54Z
9
+ Merged At: 2024-12-04T22:30:00Z
10
+ Participants: jrgarciadev, wingkwong
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+ Release Notes
26
+
27
+
28
+ New Features
29
+
30
+ Enhanced form integration for input-otp, select, and various components.
31
+ Added server-side and custom validation templates for InputOtp and Select components.
32
+
33
+
34
+
35
+ Documentation Updates
36
+
37
+ Clarified validationBehavior descriptions across components to indicate default values.
38
+ Expanded API documentation for Autocomplete, CheckboxGroup, DatePicker, and others for better clarity on props and events.
39
+
40
+
41
+
42
+ Bug Fixes
43
+
44
+ Resolved compatibility issues for select component in form contexts.
45
+
46
+
47
+
48
+ Chores
49
+
50
+ Added dependencies for form handling in input-otp and select packages.
51
+
52
+ Commits:
53
+ - fix: form fixes and improvements\n- chore: merged with canary\n
54
+
55
+ Labels:
56
+
57
+
58
+ Comments:
59
+ - vercel: [vc]: #zLUwlRTLIZBWoEfBbIu27AOkPQtK/EuPJzRyVz74tBg=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9DTDRrWEhoN0pNc3BUOGZDODVTOEo1WWdQZG9MIiwicHJldmlld1VybCI6IiIsIm5leHRDb21taXRTdGF0dXMiOiJDQU5DRUxFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiIifX0seyJuYW1lIjoibmV4dHVpLXN0b3J5Ym9vay12MiIsInJvb3REaXJlY3RvcnkiOiJwYWNrYWdlcy9zdG9yeWJvb2siLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktc3Rvcnlib29rLXYyL0RLU1g3aXpmSGR1d256bkZLUzRUMm83WUNhVGYiLCJwcmV2aWV3VXJsIjoiIiwibmV4dENvbW1pdFN0YXR1cyI6IkNBTkNFTEVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6IiJ9fV19
60
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
61
+
62
+ | Name | Status | Preview | Comments | Updated (UTC) |
63
+ | :--- | :----- | :------ | :------- | :------ |
64
+ | **nextui-docs-v2** | πŸ›‘ Canceled ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/CL4kXHh7JMspT8fC85S8J5YgPdoL)) | | | Dec 4, 2024 10:30pm |
65
+ | **nextui-storybook-v2** | πŸ›‘ Canceled ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/DKSX7izfHduwnznFKS4T2o7YCaTf)) | | | Dec 4, 2024 10:30pm |
66
+
67
+
68
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
69
+ <!-- walkthrough_start -->
70
+
71
+ ## Walkthrough
72
+ This pull request introduces modifications across various components in the `@nextui-org` library, primarily focusing on the `validationBehavior` property. The default value for `validationBehavior` has been changed from "aria" to "native" in multiple components, enhancing compatibility with form contexts. Additionally, documentation updates clarify the behavior of components like `Autocomplete`, `CheckboxGroup`, `DatePicker`, and others, providing detailed descriptions for props and events. New tests and examples have been added to ensure proper validation behavior and integration with forms.
73
+
74
+ ## Changes
75
+
76
+ | File Path | Change Summary |
77
+ |----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------|
78
+ | .changeset/hip-bananas-notice.md | Introduced patches for form-related functionalities in `input-otp` and `select` components. |
79
+ | apps/docs/content/docs/components/autocomplete.mdx | Updated API section to clarify `validationBehavior` and added descriptions for props and events. |
80
+ | apps/docs/content/docs/components/checkbox-group.mdx | Clarified `validationBehavior` description and updated its default value. |
81
+ | apps/docs/content/docs/components/date-picker.mdx | Enhanced API and usage examples, updated `validationBehavior` description. |
82
+ | apps/docs/content/docs/components/date-range-picker.mdx | Updated `validationBehavior` description in documentation. |
83
+ | apps/docs/content/docs/components/input.mdx | Expanded prop descriptions and clarified `validationBehavior` behavior. |
84
+ | apps/docs/content/docs/components/radio-group.mdx | Updated `validationBehavior` description and marked `validationState` as deprecated. |
85
+ | apps/docs/content/docs/components/textarea.mdx | Clarified `validationBehavior` description and updated its default value. |
86
+ | apps/docs/content/docs/components/time-input.mdx | Enhanced documentation with prop descriptions and updated `validationBehavior`. |
87
+ | packages/components/autocomplete/src/use-autocomplete.ts | Updated `validationBehavior` from "aria" to "native" and deprecated `disableClearable`. |
88
+ | packages/components/checkbox/src/use-checkbox-group.ts | Changed default `validationBehavior` from "aria" to "native". |
89
+ | packages/components/checkbox/src/use-checkbox.ts | Updated `validationBehavior` handling based on context. |
90
+ | packages/components/date-input/__tests__/date-input.test.tsx | Added `validationBehavior` prop to tests for handling unavailable dates. |
91
+ | packages/components/date-input/__tests__/time-input.test.tsx | Enhanced validation behavior tests for time values with `validationBehavior`. |
92
+ | packages/components/date-input/src/use-date-input.ts | Changed default `validationBehavior` from "aria" to "native". |
93
+ | packages/components/date-input/src/use-time-input.ts | Updated default `validationBehavior` to "native". |
94
+ | packages/components/date-picker/src/use-date-picker.ts | Changed default `validationBehavior` from "aria" to "native". |
95
+ | packages/components/date-picker/src/use-date-range-picker.ts | Updated default `validationBehavior` to "native". |
96
+ | packages/components/form/src/base-form.tsx | Changed default `validationBehavior` from "aria" to "native". |
97
+ | packages/components/input-otp/package.json | Added dependency on `@nextui-org/form`. |
98
+ | packages/components/input-otp/src/use-input-otp.ts | Enhanced form validation and context management. |
99
+ | packages/components/input-otp/stories/input-otp.stories.tsx | Introduced new templates for server-side and custom validation. |
100
+ | packages/components/input/src/use-input.ts | Updated default `validationBehavior` from "aria" to "native". |
101
+ | packages/components/radio/src/use-radio-group.ts | Changed default `validationBehavior` from "aria" to "native". |
102
+ | packages/components/select/__tests__/select.test.tsx | Added tests for validation behavior using ARIA attributes. |
103
+ | packages/components/select/package.json | Added dependency on `@nextui-org/form`. |
104
+ | packages/components/select/src/hidden-select.tsx | Enhanced accessibility features and error handling. |
105
+ | packages/components/select/src/use-select.ts | Updated to include validation and error handling improvements. |
106
+ | packages/components/select/stories/select.stories.tsx | Added templates for server-side and custom validation scenarios. |
107
+ | packages/core/system/src/provider-context.ts | Updated default value for `validationBehavior` from "aria" to `undefined`. |
108
+ | packages/core/system/src/provider.tsx | Removed default value for `validationBehavior`, allowing it to be undefined. |
109
+ | packages/hooks/use-aria-multiselect/src/use-multiselect-state.ts | Enhanced validation capabilities in multi-select state management. |
110
+
111
+ ## Possibly related PRs
112
+ - **#2987**: Changes the default `validationBehavior` from "native" to "aria" and allows switching via props.
113
+ - **#3106**: Supplements validation behavior by updating the default to "aria" and requiring the use of `isInvalid`.
114
+ - **#4082**: Addresses the controlled `isInvalid` prop in the Select component, relevant to validation behavior changes.
115
+ - **#4219**: Introduces the `hideEmptyContent` API to the Select component, enhancing its functionality in relation to form behavior.
116
+
117
+ ## Suggested labels
118
+ `πŸ“‹ Scope : Docs`, `πŸ‘€ Status: In Review`
119
+
120
+ ## Suggested reviewers
121
+ - wingkwong
122
+
123
+ <!-- walkthrough_end -->
124
+
125
+
126
+ <!-- internal state start -->
127
+
128
+
129
+ <!-- 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 -->
130
+
131
+ <!-- internal state end -->
132
+ <!-- tips_start -->
133
+
134
+ ---
135
+
136
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
137
+
138
+ <details>
139
+ <summary>❀️ Share</summary>
140
+
141
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
142
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
143
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
144
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
145
+
146
+ </details>
147
+
148
+ <details>
149
+ <summary>πŸͺ§ Tips</summary>
150
+
151
+ ### Chat
152
+
153
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
154
+
155
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
156
+ - `I pushed a fix in commit <commit_id>, please review it.`
157
+ - `Generate unit testing code for this file.`
158
+ - `Open a follow-up GitHub issue for this discussion.`
159
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
160
+ - `@coderabbitai generate unit testing code for this file.`
161
+ - `@coderabbitai modularize this function.`
162
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
163
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
164
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
165
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
166
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
167
+
168
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
169
+
170
+ ### CodeRabbit Commands (Invoked using PR comments)
171
+
172
+ - `@coderabbitai pause` to pause the reviews on a PR.
173
+ - `@coderabbitai resume` to resume the paused reviews.
174
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
175
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
176
+ - `@coderabbitai summary` to regenerate the summary of the PR.
177
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
178
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
179
+ - `@coderabbitai help` to get help.
180
+
181
+ ### Other keywords and placeholders
182
+
183
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
184
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
185
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
186
+
187
+ ### Documentation and Community
188
+
189
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
190
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
191
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
192
+
193
+ </details>
194
+
195
+ <!-- tips_end -->\n- changeset-bot: ### πŸ¦‹ Changeset detected
196
+
197
+ Latest commit: a43b5d5c5b13d4fab035e8d378620c965e173ecf
198
+
199
+ **The changes in this PR will be included in the next version bump.**
200
+
201
+ <details><summary>This PR includes changesets to release 28 packages</summary>
202
+
203
+ | Name | Type |
204
+ | -------------------------------- | ----- |
205
+ | @nextui-org/use-aria-multiselect | Patch |
206
+ | @nextui-org/autocomplete | Patch |
207
+ | @nextui-org/date-picker | Patch |
208
+ | @nextui-org/date-input | Patch |
209
+ | @nextui-org/input-otp | Patch |
210
+ | @nextui-org/checkbox | Patch |
211
+ | @nextui-org/select | Patch |
212
+ | @nextui-org/input | Patch |
213
+ | @nextui-org/radio | Patch |
214
+ | @nextui-org/form | Patch |
215
+ | @nextui-org/system | Patch |
216
+ | @nextui-org/react | Patch |
217
+ | @nextui-org/drawer | Patch |
218
+ | @nextui-org/modal | Patch |
219
+ | @nextui-org/table | Patch |
220
+ | @nextui-org/accordion | Patch |
221
+ | @nextui-org/navbar | Patch |
222
+ | @nextui-org/popover | Patch |
223
+ | @nextui-org/tabs | Patch |
224
+ | @nextui-org/calendar | Patch |
225
+ | @nextui-org/dropdown | Patch |
226
+ | @nextui-org/listbox | Patch |
227
+ | @nextui-org/menu | Patch |
228
+ | @nextui-org/slider | Patch |
229
+ | @nextui-org/snippet | Patch |
230
+ | @nextui-org/tooltip | Patch |
231
+ | @nextui-org/aria-utils | Patch |
232
+ | @nextui-org/framer-utils | Patch |
233
+
234
+ </details>
235
+
236
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
237
+
238
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/feat/select-form-support?filename=.changeset/silly-knives-fold.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fdate-input%22%3A%20patch%0A%22%40nextui-org%2Fdate-picker%22%3A%20patch%0A%22%40nextui-org%2Fform%22%3A%20patch%0A%22%40nextui-org%2Finput-otp%22%3A%20patch%0A%22%40nextui-org%2Finput%22%3A%20patch%0A%22%40nextui-org%2Fradio%22%3A%20patch%0A%22%40nextui-org%2Fselect%22%3A%20patch%0A%22%40nextui-org%2Fsystem%22%3A%20patch%0A---%0A%0Afix%3A%20form%20fixes%20and%20improvements%0A)
239
+
240
+ \n
241
+
242
+ Files Changed:
243
+ - .changeset/hip-bananas-notice.md (added, 15 changes)\n Patch: @@ -0,0 +1,15 @@
244
+ +---
245
+ +"@nextui-org/use-aria-multiselect": patch
246
+ +"@nextui-org/autocomplete": patch
247
+ +"@nextui-org/date-picker": patch
248
+ +"@nextui-org/date-input": patch
249
+ +"@nextui-org/input-otp": patch
250
+ +"@nextui-org/checkbox": patch
251
+ +"@nextui-org/select": patch
252
+ +"@nextui-org/input": patch
253
+ +"@nextui-org/radio": patch
254
+ +"@nextui-org/form": patch
255
+ +"@nextui-org/system": patch
256
+ +---
257
+ +
258
+ +Added form support to input-otp, change default validationBehavior to "native" to avoid breaking changes, and fix select with form\n- apps/docs/content/docs/components/autocomplete.mdx (modified, 4 changes)\n Patch: @@ -578,8 +578,8 @@ properties to customize the popover, listbox and input components.
259
+ {
260
+ attribute: "validationBehavior",
261
+ type: "native | aria",
262
+ - description: "Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.",
263
+ - default: "aria"
264
+ + description: "Whether to use native HTML form validation or ARIA validation. When wrapped in a Form component, the default is `aria`. Otherwise, the default is `native`.",
265
+ + default: "native"
266
+ },
267
+ {
268
+ attribute: "startContent",\n- apps/docs/content/docs/components/checkbox-group.mdx (modified, 4 changes)\n Patch: @@ -188,8 +188,8 @@ In case you need to customize the checkbox even further, you can use the `useChe
269
+ {
270
+ attribute: "validationBehavior",
271
+ type: "native | aria",
272
+ - description: "Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.",
273
+ - default: "aria"
274
+ + description: "Whether to use native HTML form validation or ARIA validation. When wrapped in a Form component, the default is `aria`. Otherwise, the default is `native`.",
275
+ + default: "native"
276
+ },
277
+ {
278
+ attribute: "isDisabled",\n- apps/docs/content/docs/components/date-picker.mdx (modified, 4 changes)\n Patch: @@ -384,8 +384,8 @@ import {I18nProvider} from "@react-aria/i18n";
279
+ {
280
+ attribute: "validationBehavior",
281
+ type: "native | aria",
282
+ - description: "Whether to use native HTML form validation or ARIA validation.",
283
+ - default: "aria"
284
+ + description: "Whether to use native HTML form validation or ARIA validation. When wrapped in a Form component, the default is `aria`. Otherwise, the default is `native`.",
285
+ + default: "native"
286
+ },
287
+ {
288
+ attribute: "startContent",\n- apps/docs/content/docs/components/date-range-picker.mdx (modified, 4 changes)\n Patch: @@ -443,8 +443,8 @@ You can customize the `DateRangePicker` component by passing custom Tailwind CSS
289
+ {
290
+ attribute: "validationBehavior",
291
+ type: "native | aria",
292
+ - description: "Whether to use native HTML form validation or ARIA validation.",
293
+ - default: "aria"
294
+ + description: "Whether to use native HTML form validation or ARIA validation. When wrapped in a Form component, the default is `aria`. Otherwise, the default is `native`.",
295
+ + default: "native"
296
+ },
297
+ {
298
+ attribute: "startContent",\n- apps/docs/content/docs/components/input.mdx (modified, 4 changes)\n Patch: @@ -271,8 +271,8 @@ In case you need to customize the input even further, you can use the `useInput`
299
+ {
300
+ attribute: "validationBehavior",
301
+ type: "native | aria",
302
+ - description: "Whether to use native HTML form validation or ARIA validation.",
303
+ - default: "aria"
304
+ + description: "Whether to use native HTML form validation or ARIA validation. When wrapped in a Form component, the default is `aria`. Otherwise, the default is `native`.",
305
+ + default: "native"
306
+ },
307
+ {
308
+ attribute: "startContent",\n- apps/docs/content/docs/components/radio-group.mdx (modified, 4 changes)\n Patch: @@ -218,8 +218,8 @@ In case you need to customize the radio group even further, you can use the `use
309
+ {
310
+ attribute: "validationBehavior",
311
+ type: "native | aria",
312
+ - description: "Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.",
313
+ - default: "aria"
314
+ + description: "Whether to use native HTML form validation or ARIA validation. When wrapped in a Form component, the default is `aria`. Otherwise, the default is `native`.",
315
+ + default: "native"
316
+ },
317
+ {
318
+ attribute: "isDisabled",\n- apps/docs/content/docs/components/textarea.mdx (modified, 4 changes)\n Patch: @@ -254,8 +254,8 @@ You can use the `value` and `onValueChange` properties to control the input valu
319
+ {
320
+ attribute: "validationBehavior",
321
+ type: "native | aria",
322
+ - description: "Whether to use native HTML form validation or ARIA.",
323
+ - default: "aria"
324
+ + description: "Whether to use native HTML form validation or ARIA validation. When wrapped in a Form component, the default is `aria`. Otherwise, the default is `native`.",
325
+ + default: "native"
326
+ },
327
+ {
328
+ attribute: "labelPlacement",\n- apps/docs/content/docs/components/time-input.mdx (modified, 4 changes)\n Patch: @@ -358,8 +358,8 @@ By default, `TimeInput` displays times in either 12 or 24 hour hour format depen
329
+ {
330
+ attribute: "validationBehavior",
331
+ type: "native | aria",
332
+ - description: "Whether to use native HTML form validation or ARIA.",
333
+ - default: "aria"
334
+ + description: "Whether to use native HTML form validation or ARIA validation. When wrapped in a Form component, the default is `aria`. Otherwise, the default is `native`.",
335
+ + default: "native"
336
+ },
337
+ {
338
+ attribute: "disableAnimation",\n- packages/components/autocomplete/src/use-autocomplete.ts (modified, 2 changes)\n Patch: @@ -180,7 +180,7 @@ export function useAutocomplete<T extends object>(originalProps: UseAutocomplete
339
+ isVirtualized,
340
+ maxListboxHeight = 256,
341
+ itemHeight = 32,
342
+ - validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "aria",
343
+ + validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "native",
344
+ className,
345
+ classNames,
346
+ errorMessage,\n- packages/components/checkbox/src/use-checkbox-group.ts (modified, 2 changes)\n Patch: @@ -90,7 +90,7 @@ export function useCheckboxGroup(props: UseCheckboxGroupProps) {
347
+ orientation = "vertical",
348
+ lineThrough = false,
349
+ isDisabled = false,
350
+ - validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "aria",
351
+ + validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "native",
352
+ disableAnimation = globalContext?.disableAnimation ?? false,
353
+ isReadOnly,
354
+ isRequired,\n- packages/components/checkbox/src/use-checkbox.ts (modified, 2 changes)\n Patch: @@ -101,7 +101,7 @@ export function useCheckbox(props: UseCheckboxProps = {}) {
355
+ isIndeterminate = false,
356
+ validationBehavior = isInGroup
357
+ ? groupContext.validationBehavior
358
+ - : formValidationBehavior ?? globalContext?.validationBehavior ?? "aria",
359
+ + : formValidationBehavior ?? globalContext?.validationBehavior ?? "native",
360
+ defaultSelected,
361
+ classNames,
362
+ className,\n- packages/components/date-input/__tests__/date-input.test.tsx (modified, 1 changes)\n Patch: @@ -64,6 +64,7 @@ describe("DateInput", () => {
363
+ );
364
+ }}
365
+ name="date"
366
+ + validationBehavior="aria"
367
+ />,
368
+ );
369
+ \n- packages/components/date-input/__tests__/time-input.test.tsx (modified, 34 changes)\n Patch: @@ -368,14 +368,27 @@ describe("TimeInput", () => {
370
+
371
+ describe(`Validation (validationBehavior="aria")`, () => {
372
+ it("should display errorMessage when timeValue is less than the minimum (controlled)", () => {
373
+ - render(<TimeInput label="Time" minValue={new Time(9)} value={new Time(8)} />);
374
+ + render(
375
+ + <TimeInput
376
+ + label="Time"
377
+ + minValue={new Time(9)}
378
+ + validationBehavior="aria"
379
+ + value={new Time(8)}
380
+ + />,
381
+ + );
382
+
383
+ expect(document.querySelector("[data-slot=error-message]")).toBeVisible();
384
+ });
385
+
386
+ it("should display errorMessage when timeValue is less than the minimum (uncontrolled)", async () => {
387
+ const {getAllByRole} = render(
388
+ - <TimeInput defaultValue={new Time(9)} label="Time" minValue={new Time(9)} name="time" />,
389
+ + <TimeInput
390
+ + defaultValue={new Time(9)}
391
+ + label="Time"
392
+ + minValue={new Time(9)}
393
+ + name="time"
394
+ + validationBehavior="aria"
395
+ + />,
396
+ );
397
+
398
+ const input = document.querySelector("input[name=time]");
399
+ @@ -392,14 +405,27 @@ describe("TimeInput", () => {
400
+ });
401
+
402
+ it("should display errorMessage when timeValue is greater than the maximum (controlled)", () => {
403
+ - render(<TimeInput label="Time" maxValue={new Time(17)} value={new Time(18)} />);
404
+ + render(
405
+ + <TimeInput
406
+ + label="Time"
407
+ + maxValue={new Time(17)}
408
+ + validationBehavior="aria"
409
+ + value={new Time(18)}
410
+ + />,
411
+ + );
412
+
413
+ expect(document.querySelector("[data-slot=error-message]")).toBeVisible();
414
+ });
415
+
416
+ it("should display errorMessage when timeValue is greater than the maximum (uncontrolled)", async () => {
417
+ const {getAllByRole} = render(
418
+ - <TimeInput defaultValue={new Time(17)} label="Time" maxValue={new Time(17)} name="time" />,
419
+ + <TimeInput
420
+ + defaultValue={new Time(17)}
421
+ + label="Time"
422
+ + maxValue={new Time(17)}
423
+ + name="time"
424
+ + validationBehavior="aria"
425
+ + />,
426
+ );
427
+
428
+ const input = document.querySelector("input[name=time]");\n- packages/components/date-input/src/use-date-input.ts (modified, 2 changes)\n Patch: @@ -146,7 +146,7 @@ export function useDateInput<T extends DateValue>(originalProps: UseDateInputPro
429
+ innerWrapperProps: innerWrapperPropsProp,
430
+ errorMessageProps: errorMessagePropsProp,
431
+ descriptionProps: descriptionPropsProp,
432
+ - validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "aria",
433
+ + validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "native",
434
+ shouldForceLeadingZeros = true,
435
+ minValue = globalContext?.defaultDates?.minDate ??
436
+ new CalendarDate(calendarProp, 1900 + gregorianYearOffset, 1, 1),\n- packages/components/date-input/src/use-time-input.ts (modified, 2 changes)\n Patch: @@ -94,7 +94,7 @@ export function useTimeInput<T extends TimeValue>(originalProps: UseTimeInputPro
437
+ fieldProps: fieldPropsProp,
438
+ errorMessageProps: errorMessagePropsProp,
439
+ descriptionProps: descriptionPropsProp,
440
+ - validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "aria",
441
+ + validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "native",
442
+ shouldForceLeadingZeros = true,
443
+ minValue,
444
+ maxValue,\n- packages/components/date-picker/src/use-date-picker.ts (modified, 2 changes)\n Patch: @@ -70,7 +70,7 @@ export function useDatePicker<T extends DateValue>({
445
+ originalProps.validationBehavior ??
446
+ formValidationBehavior ??
447
+ globalContext?.validationBehavior ??
448
+ - "aria";
449
+ + "native";
450
+
451
+ const {
452
+ domRef,\n- packages/components/date-picker/src/use-date-range-picker.ts (modified, 2 changes)\n Patch: @@ -77,7 +77,7 @@ export function useDateRangePicker<T extends DateValue>({
453
+ originalProps.validationBehavior ??
454
+ formValidationBehavior ??
455
+ globalContext?.validationBehavior ??
456
+ - "aria";
457
+ + "native";
458
+
459
+ const {
460
+ domRef,\n- packages/components/form/src/base-form.tsx (modified, 2 changes)\n Patch: @@ -29,7 +29,7 @@ export const FormContext = createContext<ContextValue<FormProps, HTMLFormElement
461
+ */
462
+ export const Form = forwardRef(function Form(props: FormProps, ref: ForwardedRef<HTMLFormElement>) {
463
+ [props, ref] = useContextProps(props, ref, FormContext);
464
+ - let {validationErrors, validationBehavior = "aria", children, className, ...domProps} = props;
465
+ + let {validationErrors, validationBehavior = "native", children, className, ...domProps} = props;
466
+
467
+ const styles = useMemo(() => form({className}), [className]);
468
+ \n- packages/components/input-otp/package.json (modified, 1 changes)\n Patch: @@ -40,6 +40,7 @@
469
+ "@nextui-org/system": ">=2.3.0-beta.0"
470
+ },
471
+ "dependencies": {
472
+ + "@nextui-org/form": "workspace:*",
473
+ "@nextui-org/shared-utils": "workspace:*",
474
+ "@nextui-org/react-utils": "workspace:*",
475
+ "@react-aria/utils": "3.24.1",\n- packages/components/input-otp/src/use-input-otp.ts (modified, 10 changes)\n Patch: @@ -15,13 +15,14 @@ import {inputOtp} from "@nextui-org/theme";
476
+ import {filterDOMProps, ReactRef, useDOMRef} from "@nextui-org/react-utils";
477
+ import {clsx, dataAttr, objectToDeps} from "@nextui-org/shared-utils";
478
+ import {useCallback, useMemo} from "react";
479
+ -import {chain, mergeProps} from "@react-aria/utils";
480
+ +import {chain, mergeProps, useFormReset} from "@react-aria/utils";
481
+ import {AriaTextFieldProps} from "@react-types/textfield";
482
+ import {useControlledState} from "@react-stately/utils";
483
+ import {useFormValidationState} from "@react-stately/form";
484
+ import {useFormValidation} from "@react-aria/form";
485
+ import {useFocusRing} from "@react-aria/focus";
486
+ import {OTPInputProps} from "input-otp";
487
+ +import {FormContext, useSlottedContext} from "@nextui-org/form";
488
+
489
+ interface Props extends HTMLNextUIProps<"div"> {
490
+ /**
491
+ @@ -92,6 +93,8 @@ export type UseInputOtpProps = Props &
492
+
493
+ export function useInputOtp(originalProps: UseInputOtpProps) {
494
+ const globalContext = useProviderContext();
495
+ + const {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
496
+ +
497
+ const [props, variantProps] = mapPropsVariants(originalProps, inputOtp.variantKeys);
498
+
499
+ const {
500
+ @@ -105,7 +108,7 @@ export function useInputOtp(originalProps: UseInputOtpProps) {
501
+ "aria-label": ariaLabel = "One-time password input",
502
+ onValueChange = () => {},
503
+ allowedKeys = "^[0-9]*$",
504
+ - validationBehavior = globalContext?.validationBehavior ?? "aria",
505
+ + validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "native",
506
+ type,
507
+ name,
508
+ maxLength,
509
+ @@ -147,12 +150,13 @@ export function useInputOtp(originalProps: UseInputOtpProps) {
510
+ const isDisabled = originalProps.isDisabled;
511
+ const baseStyles = clsx(classNames?.base, className);
512
+
513
+ - const validationState = useFormValidationState({
514
+ + const validationState = useFormValidationState<string>({
515
+ ...props,
516
+ validationBehavior,
517
+ value,
518
+ });
519
+
520
+ + useFormReset(inputRef, value, setValue);
521
+ useFormValidation(props, validationState, inputRef);
522
+
523
+ const {\n- packages/components/input-otp/stories/input-otp.stories.tsx (modified, 68 changes)\n Patch: @@ -4,6 +4,7 @@ import {button, inputOtp} from "@nextui-org/theme";
524
+ import {useForm} from "react-hook-form";
525
+ import {ValidationResult} from "@react-types/shared";
526
+ import {Button} from "@nextui-org/button";
527
+ +import {Form} from "@nextui-org/form";
528
+
529
+ import {InputOtp} from "../src";
530
+
531
+ @@ -176,6 +177,56 @@ const WithReactHookFormTemplate = (args) => {
532
+ );
533
+ };
534
+
535
+ +const ServerValidationTemplate = (args) => {
536
+ + const [serverErrors, setServerErrors] = React.useState({});
537
+ +
538
+ + const onSubmit = (e) => {
539
+ + e.preventDefault();
540
+ + setServerErrors({
541
+ + otp: "Please provide a valid OTP code.",
542
+ + });
543
+ + };
544
+ +
545
+ + return (
546
+ + <Form
547
+ + className="flex flex-col items-start gap-2"
548
+ + validationErrors={serverErrors}
549
+ + onSubmit={onSubmit}
550
+ + >
551
+ + <InputOtp {...args} name="otp" />
552
+ + <Button size="sm" type="submit">
553
+ + Submit
554
+ + </Button>
555
+ + </Form>
556
+ + );
557
+ +};
558
+ +
559
+ +const WithValidationTemplate = (args) => (
560
+ + <form
561
+ + className="flex flex-col items-start gap-2"
562
+ + onSubmit={(e) => {
563
+ + e.preventDefault();
564
+ + const formData = new FormData(e.currentTarget);
565
+ + const otp = formData.get("otp");
566
+ +
567
+ + alert(`OTP submitted: ${otp}`);
568
+ + }}
569
+ + >
570
+ + <InputOtp
571
+ + {...args}
572
+ + name="otp"
573
+ + validate={(value) => {
574
+ + if (value.length < 4) {
575
+ + return "OTP must be 4 digits";
576
+ + }
577
+ + }}
578
+ + />
579
+ + <Button size="sm" type="submit">
580
+ + Submit
581
+ + </Button>
582
+ + </form>
583
+ +);
584
+ +
585
+ export const Default = {
586
+ render: Template,
587
+ args: {
588
+ @@ -315,3 +366,20 @@ export const CustomWithClassNames = {
589
+ description: "Enter the 4 digit code sent to your email",
590
+ },
591
+ };
592
+ +
593
+ +export const WithServerValidation = {
594
+ + render: ServerValidationTemplate,
595
+ + args: {
596
+ + ...defaultProps,
597
+ + length: 4,
598
+ + },
599
+ +};
600
+ +
601
+ +export const WithValidation = {
602
+ + render: WithValidationTemplate,
603
+ + args: {
604
+ + ...defaultProps,
605
+ + length: 4,
606
+ + isRequired: true,
607
+ + },
608
+ +};\n- packages/components/input/src/use-input.ts (modified, 2 changes)\n Patch: @@ -113,7 +113,7 @@ export function useInput<T extends HTMLInputElement | HTMLTextAreaElement = HTML
609
+ onClear,
610
+ onChange,
611
+ validationState,
612
+ - validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "aria",
613
+ + validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "native",
614
+ innerWrapperRef: innerWrapperRefProp,
615
+ onValueChange = () => {},
616
+ ...otherProps\n- packages/components/radio/src/use-radio-group.ts (modified, 2 changes)\n Patch: @@ -76,7 +76,7 @@ export function useRadioGroup(props: UseRadioGroupProps) {
617
+ name,
618
+ isInvalid: isInvalidProp,
619
+ validationState,
620
+ - validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "aria",
621
+ + validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "native",
622
+ size = "md",
623
+ color = "primary",
624
+ isDisabled = false,\n- packages/components/select/__tests__/select.test.tsx (modified, 124 changes)\n Patch: @@ -4,6 +4,7 @@ import * as React from "react";
625
+ import {act, render, renderHook, waitFor} from "@testing-library/react";
626
+ import userEvent, {UserEvent} from "@testing-library/user-event";
627
+ import {useForm} from "react-hook-form";
628
+ +import {Form} from "@nextui-org/form";
629
+
630
+ import {Select, SelectItem, SelectSection} from "../src";
631
+ import {Modal, ModalContent, ModalHeader, ModalBody, ModalFooter} from "../../modal/src";
632
+ @@ -1170,3 +1171,126 @@ describe("Select with React Hook Form", () => {
633
+ expect(onSubmit).toHaveBeenCalledTimes(1);
634
+ });
635
+ });
636
+ +
637
+ +describe("validation", () => {
638
+ + let user;
639
+ +
640
+ + beforeAll(() => {
641
+ + user = userEvent.setup();
642
+ + });
643
+ +
644
+ + describe("validationBehavior=aria", () => {
645
+ + it("supports isRequired", async () => {
646
+ + function FormRender() {
647
+ + const [serverErrors, setServerErrors] = React.useState({});
648
+ +
649
+ + const onSubmit = (e) => {
650
+ + e.preventDefault();
651
+ + const formData = new FormData(e.target as HTMLFormElement);
652
+ + const value = formData.get("animal");
653
+ +
654
+ + if (!value || (value !== "cat" && value !== "dog")) {
655
+ + setServerErrors({
656
+ + animal: "Please select a cat or dog",
657
+ + });
658
+ + } else {
659
+ + setServerErrors({});
660
+ + }
661
+ + };
662
+ +
663
+ + return (
664
+ + <Form data-testid="form" validationErrors={serverErrors} onSubmit={onSubmit}>
665
+ + <Select
666
+ + isRequired
667
+ + aria-label="Favorite Animal"
668
+ + data-testid="select"
669
+ + label="Favorite Animal"
670
+ + name="animal"
671
+ + >
672
+ + <SelectItem key="cat">Cat</SelectItem>
673
+ + <SelectItem key="dog">Dog</SelectItem>
674
+ + <SelectItem key="penguin">Penguin</SelectItem>
675
+ + <SelectItem key="zebra">Zebra</SelectItem>
676
+ + <SelectItem key="shark">Shark</SelectItem>
677
+ + </Select>
678
+ + <button data-testid="button" type="submit">
679
+ + Submit
680
+ + </button>
681
+ + </Form>
682
+ + );
683
+ + }
684
+ +
685
+ + const {getByTestId} = render(<FormRender />);
686
+ +
687
+ + const select = getByTestId("select");
688
+ + const input = document.querySelector("input");
689
+ +
690
+ + expect(select).not.toHaveAttribute("aria-describedby");
691
+ + const button = getByTestId("button");
692
+ +
693
+ + await user.click(button);
694
+ +
695
+ + expect(select).toHaveAttribute("aria-describedby");
696
+ + expect(input).toHaveAttribute("aria-required");
697
+ +
698
+ + expect(document.getElementById(select.getAttribute("aria-describedby")!)).toHaveTextContent(
699
+ + "Please select a cat or dog",
700
+ + );
701
+ +
702
+ + await user.click(select);
703
+ + let listboxItems = document.querySelectorAll("[role='option']");
704
+ +
705
+ + await user.click(listboxItems[0]);
706
+ +
707
+ + await user.click(button);
708
+ +
709
+ + expect(select).not.toHaveAttribute("aria-describedby");
710
+ + });
711
+ +
712
+ + it("supports validate function", async () => {
713
+ + const {getByTestId} = render(
714
+ + <Form data-testid="form">
715
+ + <Select
716
+ + aria-label="Favorite Animal"
717
+ + data-testid="select"
718
+ + defaultSelectedKeys={["penguin"]}
719
+ + label="Favorite Animal"
720
+ + validate={(v) => (v.includes("penguin") ? "Invalid value" : null)}
721
+ + validationBehavior="aria"
722
+ + >
723
+ + <SelectItem key="penguin">Penguin</SelectItem>
724
+ + <SelectItem key="zebra">Zebra</SelectItem>
725
+ + <SelectItem key="shark">Shark</SelectItem>
726
+ + </Select>
727
+ + <button data-testid="button" type="submit">
728
+ + Submit
729
+ + </button>
730
+ + </Form>,
731
+ + );
732
+ +
733
+ + const select = getByTestId("select");
734
+ + const input = document.querySelector("input");
735
+ + const button = getByTestId("button");
736
+ +
737
+ + expect(select).toHaveAttribute("aria-describedby");
738
+ + expect(input).toHaveAttribute("aria-invalid", "true");
739
+ +
740
+ + expect(document.getElementById(select.getAttribute("aria-describedby")!)).toHaveTextContent(
741
+ + "Invalid value",
742
+ + );
743
+ +
744
+ + expect(input?.validity.valid).toBe(true);
745
+ +
746
+ + await user.click(select);
747
+ +
748
+ + let listboxItems = document.querySelectorAll("[role='option']");
749
+ +
750
+ + await user.click(listboxItems[1]); // Select "Zebra"
751
+ +
752
+ + await user.click(button);
753
+ +
754
+ + expect(select).not.toHaveAttribute("aria-describedby");
755
+ + expect(select).not.toHaveAttribute("aria-invalid");
756
+ + });
757
+ + });
758
+ +});\n- packages/components/select/package.json (modified, 1 changes)\n Patch: @@ -52,6 +52,7 @@
759
+ "@nextui-org/use-aria-button": "workspace:*",
760
+ "@nextui-org/use-aria-multiselect": "workspace:*",
761
+ "@nextui-org/use-safe-layout-effect": "workspace:*",
762
+ + "@nextui-org/form": "workspace:*",
763
+ "@react-aria/focus": "3.18.4",
764
+ "@react-aria/form": "3.0.10",
765
+ "@react-aria/interactions": "3.22.4",\n- packages/components/select/src/hidden-select.tsx (modified, 24 changes)\n Patch: @@ -62,14 +62,15 @@ export function useHiddenSelect<T>(
766
+ triggerRef: RefObject<FocusableElement>,
767
+ ) {
768
+ let data = selectData.get(state) || {};
769
+ +
770
+ let {
771
+ autoComplete,
772
+ name = data.name,
773
+ isDisabled = data.isDisabled,
774
+ selectionMode,
775
+ onChange,
776
+ } = props;
777
+ - let {validationBehavior, isRequired} = data;
778
+ + let {validationBehavior, isRequired, isInvalid} = data;
779
+ let modality = useInteractionModality();
780
+ let {visuallyHiddenProps} = useVisuallyHidden();
781
+
782
+ @@ -83,32 +84,33 @@ export function useHiddenSelect<T>(
783
+ props.selectRef,
784
+ );
785
+
786
+ + const commonProps = {
787
+ + autoComplete,
788
+ + disabled: isDisabled,
789
+ + "aria-invalid": isInvalid || undefined,
790
+ + "aria-required": (isRequired && validationBehavior === "aria") || undefined,
791
+ + required: isRequired && validationBehavior === "native",
792
+ + };
793
+ +
794
+ return {
795
+ containerProps: {
796
+ ...visuallyHiddenProps,
797
+ "aria-hidden": true,
798
+ ["data-a11y-ignore"]: "aria-hidden-focus",
799
+ },
800
+ inputProps: {
801
+ + ...commonProps,
802
+ type: "text",
803
+ tabIndex: modality == null || state.isFocused || state.isOpen ? -1 : 0,
804
+ - autoComplete,
805
+ value: [...state.selectedKeys].join(",") ?? "",
806
+ - required: isRequired,
807
+ style: {fontSize: 16},
808
+ onFocus: () => triggerRef.current?.focus(),
809
+ - disabled: isDisabled,
810
+ - // The onChange is handled by the `select` element. This avoids the `form` with input `value`
811
+ - // and no `onChange` warning.
812
+ - onChange: () => {},
813
+ + onChange: () => {}, // The onChange is handled by the `select` element
814
+ },
815
+ selectProps: {
816
+ + ...commonProps,
817
+ name,
818
+ tabIndex: -1,
819
+ - autoComplete,
820
+ - // TODO: Address validation for cases where an option is selected and then deselected.
821
+ - // required: validationBehavior === "native" && isRequired,
822
+ - disabled: isDisabled,
823
+ size: state.collection.size,
824
+ value:
825
+ selectionMode === "multiple"\n- packages/components/select/src/use-select.ts (modified, 18 changes)\n Patch: @@ -29,7 +29,8 @@ import {
826
+ import {SpinnerProps} from "@nextui-org/spinner";
827
+ import {useSafeLayoutEffect} from "@nextui-org/use-safe-layout-effect";
828
+ import {ariaShouldCloseOnInteractOutside} from "@nextui-org/aria-utils";
829
+ -import {CollectionChildren} from "@react-types/shared";
830
+ +import {CollectionChildren, ValidationError} from "@react-types/shared";
831
+ +import {FormContext, useSlottedContext} from "@nextui-org/form";
832
+
833
+ export type SelectedItemProps<T = object> = {
834
+ /** A unique key for the item. */
835
+ @@ -133,11 +134,19 @@ interface Props<T> extends Omit<HTMLNextUIProps<"select">, keyof SelectVariantPr
836
+ * Handler that is called when the selection changes.
837
+ */
838
+ onSelectionChange?: (keys: SharedSelection) => void;
839
+ + /**
840
+ + * A function that returns an error message if a given value is invalid.
841
+ + * Validation errors are displayed to the user when the form is submitted
842
+ + * if `validationBehavior="native"`. For realtime validation, use the `isInvalid`
843
+ + * prop instead.
844
+ + */
845
+ + validate?: (value: string | string[]) => ValidationError | true | null | undefined;
846
+ }
847
+
848
+ interface SelectData {
849
+ isDisabled?: boolean;
850
+ isRequired?: boolean;
851
+ + isInvalid?: boolean;
852
+ name?: string;
853
+ validationBehavior?: "aria" | "native";
854
+ }
855
+ @@ -175,6 +184,7 @@ export type UseSelectProps<T> = Omit<
856
+
857
+ export function useSelect<T extends object>(originalProps: UseSelectProps<T>) {
858
+ const globalContext = useProviderContext();
859
+ + const {validationBehavior: formValidationBehavior} = useSlottedContext(FormContext) || {};
860
+
861
+ const [props, variantProps] = mapPropsVariants(originalProps, select.variantKeys);
862
+
863
+ @@ -214,6 +224,7 @@ export function useSelect<T extends object>(originalProps: UseSelectProps<T>) {
864
+ onClose,
865
+ className,
866
+ classNames,
867
+ + validationBehavior = formValidationBehavior ?? globalContext?.validationBehavior ?? "native",
868
+ hideEmptyContent = false,
869
+ ...otherProps
870
+ } = props;
871
+ @@ -264,6 +275,7 @@ export function useSelect<T extends object>(originalProps: UseSelectProps<T>) {
872
+ isOpen,
873
+ selectionMode,
874
+ disallowEmptySelection,
875
+ + validationBehavior,
876
+ children: children as CollectionChildren<T>,
877
+ isRequired: originalProps.isRequired,
878
+ isDisabled: originalProps.isDisabled,
879
+ @@ -686,8 +698,8 @@ export function useSelect<T extends object>(originalProps: UseSelectProps<T>) {
880
+ isDisabled: originalProps?.isDisabled,
881
+ isRequired: originalProps?.isRequired,
882
+ name: originalProps?.name,
883
+ - // TODO: Future enhancement to support "aria" validation behavior.
884
+ - validationBehavior: "native",
885
+ + isInvalid,
886
+ + validationBehavior,
887
+ });
888
+
889
+ return {\n- packages/components/select/stories/select.stories.tsx (modified, 225 changes)\n Patch: @@ -19,6 +19,7 @@ import {
890
+ Animal,
891
+ User,
892
+ } from "@nextui-org/stories-utils";
893
+ +import {Form} from "@nextui-org/form";
894
+
895
+ import {Select, SelectedItems, SelectItem, SelectProps, SelectSection} from "../src";
896
+
897
+ @@ -277,6 +278,100 @@ const FormTemplate = ({color, variant, ...args}: SelectProps) => {
898
+ );
899
+ };
900
+
901
+ +const ServerValidationTemplate = (args: SelectProps) => {
902
+ + const [submittedData, setSubmittedData] = React.useState<{animal: string} | null>(null);
903
+ + const [serverErrors, setServerErrors] = React.useState({});
904
+ +
905
+ + const onSubmit = (e) => {
906
+ + e.preventDefault();
907
+ + const formData = new FormData(e.target as HTMLFormElement);
908
+ + const value = formData.get("animal");
909
+ +
910
+ + if (!value) {
911
+ + setServerErrors({
912
+ + animal: "Please select a valid value",
913
+ + });
914
+ +
915
+ + return;
916
+ + }
917
+ +
918
+ + if (!value || (value !== "cat" && value !== "dog")) {
919
+ + setServerErrors({
920
+ + animal: "Please select a cat or dog",
921
+ + });
922
+ + } else {
923
+ + setServerErrors({});
924
+ + setSubmittedData({animal: value});
925
+ + }
926
+ + };
927
+ +
928
+ + return (
929
+ + <Form
930
+ + className="w-full flex flex-col items-start gap-2"
931
+ + validationErrors={serverErrors}
932
+ + onSubmit={onSubmit}
933
+ + >
934
+ + <Select isRequired {...args} className="max-w-xs" label="Favorite Animal" name="animal">
935
+ + {items}
936
+ + </Select>
937
+ + <button className={button({color: "primary"})} type="submit">
938
+ + Submit
939
+ + </button>
940
+ + {submittedData && (
941
+ + <div className="text-small text-default-500">
942
+ + You submitted: <code>{JSON.stringify(submittedData)}</code>
943
+ + </div>
944
+ + )}
945
+ + </Form>
946
+ + );
947
+ +};
948
+ +
949
+ +const ServerValidationTemplateWithMultiple = (args: SelectProps) => {
950
+ + const [submittedData, setSubmittedData] = React.useState<{animals: string[]} | null>(null);
951
+ + const [serverErrors, setServerErrors] = React.useState({});
952
+ +
953
+ + const onSubmit = (e) => {
954
+ + e.preventDefault();
955
+ + const formData = new FormData(e.target as HTMLFormElement);
956
+ + const values = formData.getAll("animals");
957
+ +
958
+ + if (!values.length || !values.every((v) => v === "cat" || v === "dog")) {
959
+ + setServerErrors({
960
+ + animals: "Please select only cats and/or dogs",
961
+ + });
962
+ + } else {
963
+ + setServerErrors({});
964
+ + setSubmittedData({animals: values as string[]});
965
+ + }
966
+ + };
967
+ +
968
+ + return (
969
+ + <Form
970
+ + className="w-full flex flex-col items-start gap-2"
971
+ + validationErrors={serverErrors}
972
+ + onSubmit={onSubmit}
973
+ + >
974
+ + <Select
975
+ + {...args}
976
+ + className="max-w-xs"
977
+ + label="Favorite Animals"
978
+ + name="animals"
979
+ + selectionMode="multiple"
980
+ + >
981
+ + {items}
982
+ + </Select>
983
+ + <button className={button({color: "primary"})} type="submit">
984
+ + Submit
985
+ + </button>
986
+ + {submittedData && (
987
+ + <div className="text-small text-default-500">
988
+ + You submitted: <code>{JSON.stringify(submittedData)}</code>
989
+ + </div>
990
+ + )}
991
+ + </Form>
992
+ + );
993
+ +};
994
+ +
995
+ const MirrorTemplate = ({color, variant, ...args}: SelectProps) => (
996
+ <div className="w-full max-w-xl flex flex-row gap-4">
997
+ <Select className="max-w-xs" color={color} label="Select an animal" variant={variant} {...args}>
998
+ @@ -807,6 +902,113 @@ const LargeDatasetTemplate = (args: SelectProps & {numItems: number}) => {
999
+ );
1000
+ };
1001
+
1002
+ +const ValidationBehaviorAriaTemplate = (args: SelectProps) => {
1003
+ + // Custom validation example
1004
+ + const CustomValidationExample = () => {
1005
+ + return (
1006
+ + <Select
1007
+ + {...args}
1008
+ + className="max-w-xs"
1009
+ + label="Favorite Animal"
1010
+ + placeholder="Select an animal"
1011
+ + validate={(value) => {
1012
+ + if (typeof value === "string" && value === "penguin") {
1013
+ + return "Penguins are not allowed";
1014
+ + }
1015
+ +
1016
+ + return null;
1017
+ + }}
1018
+ + validationBehavior="aria"
1019
+ + >
1020
+ + <SelectItem key="penguin">Penguin</SelectItem>
1021
+ + <SelectItem key="zebra">Zebra</SelectItem>
1022
+ + <SelectItem key="shark">Shark</SelectItem>
1023
+ + </Select>
1024
+ + );
1025
+ + };
1026
+ +
1027
+ + //Custom validation example multiple
1028
+ + const CustomValidationExampleMultiple = () => {
1029
+ + return (
1030
+ + <Select
1031
+ + {...args}
1032
+ + className="max-w-xs"
1033
+ + label="Favorite Animal"
1034
+ + placeholder="Select an animal"
1035
+ + selectionMode="multiple"
1036
+ + validate={(value) => {
1037
+ + if (Array.isArray(value) && value.includes("penguin")) {
1038
+ + return "Penguins are not allowed";
1039
+ + }
1040
+ +
1041
+ + return null;
1042
+ + }}
1043
+ + validationBehavior="aria"
1044
+ + >
1045
+ + <SelectItem key="penguin">Penguin</SelectItem>
1046
+ + <SelectItem key="zebra">Zebra</SelectItem>
1047
+ + <SelectItem key="shark">Shark</SelectItem>
1048
+ + </Select>
1049
+ + );
1050
+ + };
1051
+ +
1052
+ + // Server validation example
1053
+ + const ServerValidationExample = () => {
1054
+ + const [serverErrors, setServerErrors] = React.useState({});
1055
+ +
1056
+ + const onSubmit = (e: React.FormEvent) => {
1057
+ + e.preventDefault();
1058
+ + const formData = new FormData(e.target as HTMLFormElement);
1059
+ + const value = formData.get("animal");
1060
+ +
1061
+ + if (value === "penguin") {
1062
+ + setServerErrors({
1063
+ + animal: "Server says: No penguins allowed!",
1064
+ + });
1065
+ + } else {
1066
+ + setServerErrors({});
1067
+ + }
1068
+ + };
1069
+ +
1070
+ + return (
1071
+ + <Form
1072
+ + className="w-full flex flex-col items-start gap-2"
1073
+ + validationErrors={serverErrors}
1074
+ + onSubmit={onSubmit}
1075
+ + >
1076
+ + <Select className="max-w-xs" label="Select Animal" name="animal" validationBehavior="aria">
1077
+ + <SelectItem key="penguin">Penguin</SelectItem>
1078
+ + <SelectItem key="zebra">Zebra</SelectItem>
1079
+ + <SelectItem key="shark">Shark</SelectItem>
1080
+ + </Select>
1081
+ + <button className={button({color: "primary"})} type="submit">
1082
+ + Validate
1083
+ + </button>
1084
+ + </Form>
1085
+ + );
1086
+ + };
1087
+ +
1088
+ + return (
1089
+ + <div className="flex flex-col gap-8">
1090
+ + <div className="flex flex-col gap-2">
1091
+ + <h3 className="text-default-500">Custom Validation</h3>
1092
+ + <p className="text-small text-default-400">Try selecting a penguin</p>
1093
+ + <CustomValidationExample />
1094
+ + </div>
1095
+ + <div className="flex flex-col gap-2">
1096
+ + <h3 className="text-default-500">Custom Validation Multiple</h3>
1097
+ + <p className="text-small text-default-400">Try selecting a penguin</p>
1098
+ + <CustomValidationExampleMultiple />
1099
+ + </div>
1100
+ + <div className="flex flex-col gap-2">
1101
+ + <h3 className="text-default-500">Server Validation</h3>
1102
+ + <p className="text-small text-default-400">Select a penguin and click validate</p>
1103
+ + <ServerValidationExample />
1104
+ + </div>
1105
+ + </div>
1106
+ + );
1107
+ +};
1108
+ +
1109
+ export const Default = {
1110
+ render: MirrorTemplate,
1111
+
1112
+ @@ -1027,6 +1229,22 @@ export const WithReactHookForm = {
1113
+ },
1114
+ };
1115
+
1116
+ +export const WithServerValidation = {
1117
+ + render: ServerValidationTemplate,
1118
+ +
1119
+ + args: {
1120
+ + ...defaultProps,
1121
+ + },
1122
+ +};
1123
+ +
1124
+ +export const WithServerValidationMultiple = {
1125
+ + render: ServerValidationTemplateWithMultiple,
1126
+ +
1127
+ + args: {
1128
+ + ...defaultProps,
1129
+ + },
1130
+ +};
1131
+ +
1132
+ export const WithScrollableContainer = {
1133
+ render: ScrollableContainerTemplate,
1134
+
1135
+ @@ -1172,3 +1390,10 @@ export const CustomItemHeight = {
1136
+ itemHeight: 40,
1137
+ },
1138
+ };
1139
+ +
1140
+ +export const ValidationBehaviorAria = {
1141
+ + render: ValidationBehaviorAriaTemplate,
1142
+ + args: {
1143
+ + ...defaultProps,
1144
+ + },
1145
+ +};\n- packages/core/system/src/provider-context.ts (modified, 2 changes)\n Patch: @@ -24,7 +24,7 @@ export type ProviderContextProps = {
1146
+ * or invalid via ARIA.
1147
+ * @see https://react-spectrum.adobe.com/react-aria/forms.html
1148
+ *
1149
+ - * @default "aria"
1150
+ + * @default undefined
1151
+ */
1152
+ validationBehavior?: "aria" | "native";
1153
+ /**\n
processed_docs/pr_data_0_doc_37.txt ADDED
@@ -0,0 +1,946 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4222
2
+ Title: fix(pagination): cursor position when hidden on init
3
+ Base Branch: canary
4
+ Head Branch: fix/pagination-cursor-hidden-position
5
+ Author: Peterl561
6
+ URL: https://github.com/nextui-org/nextui/pull/4222
7
+ State: MERGED
8
+ Created At: 2024-12-04T14:02:49Z
9
+ Merged At: 2024-12-04T22:28:03Z
10
+ Participants: Peterl561, jrgarciadev, wingkwong
11
+
12
+ Description:
13
+ Closes #3151
14
+ Alternative to #3346
15
+ πŸ“ Description
16
+
17
+ when Pagination first loads, if it is not visible, offset of the initial page node will be 0
18
+ if animation is enabled, this causes the cursor to jump to 0, which blocks the left control button if it is enabled
19
+ to rectify this, do not show cursor until Pagination component is visible in the DOM
20
+ this effect can be achieved with IntersectionObserver
21
+
22
+ ⛳️ Current behavior (updates)
23
+
24
+
25
+
26
+
27
+
28
+ before.mp4
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+ πŸš€ New behavior
38
+
39
+
40
+
41
+
42
+
43
+ after.mp4
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+ πŸ’£ Is this a breaking change (Yes/No):
53
+ No
54
+ πŸ“ Additional Information
55
+
56
+ initial page still doesn't work for asynchronously loaded page totals
57
+ should be addressed as a separate fix, probably some sort of loading state or something
58
+
59
+
60
+ Summary by CodeRabbit
61
+
62
+
63
+ New Features
64
+
65
+ Improved pagination cursor positioning on initial render for better navigation.
66
+ Added visibility detection for pagination components to enhance scrolling behavior.
67
+
68
+
69
+
70
+ Bug Fixes
71
+
72
+ Addressed cursor positioning issue when the pagination component is first loaded.
73
+
74
+
75
+
76
+ Tests
77
+
78
+ Introduced a new test case to ensure correct behavior of the pagination cursor with respect to visibility.
79
+
80
+
81
+
82
+ Chores
83
+
84
+ Updated dependencies to include @nextui-org/use-intersection-observer.
85
+
86
+ Commits:
87
+ - fix(pagination): cusor position when hidden on init\n- test(pagination): cursor intersection observer\n- chore(changeset): pagination cursor position fix\n- refactor(pagination): minor nitpicks
88
+ - check for null ref in usePagination
89
+ - restore original IntersectionObserver in test\n
90
+
91
+ Labels:
92
+
93
+
94
+ Comments:
95
+ - changeset-bot: ### πŸ¦‹ Changeset detected
96
+
97
+ Latest commit: 701b2ca41e3dcc86767848163fb2f6284afe958c
98
+
99
+ **The changes in this PR will be included in the next version bump.**
100
+
101
+ <details><summary>This PR includes changesets to release 2 packages</summary>
102
+
103
+ | Name | Type |
104
+ | ---------------------- | ----- |
105
+ | @nextui-org/pagination | Patch |
106
+ | @nextui-org/react | Patch |
107
+
108
+ </details>
109
+
110
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
111
+
112
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/Peterl561/nextui/new/fix/pagination-cursor-hidden-position?filename=.changeset/warm-gorillas-flow.md&value=---%0A%22%40nextui-org%2Fpagination%22%3A%20patch%0A---%0A%0Afix(pagination)%3A%20cursor%20position%20when%20hidden%20on%20init%0A)
113
+
114
+ \n- vercel: @Peterl561 is attempting to deploy a commit to the **NextUI Inc** Team on [Vercel](https://vercel.com).
115
+
116
+ A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=NextUI%20Inc&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%227348ade8a7171b5b7ce5125e54a3d7c923f59e65%22%7D%2C%22id%22%3A%22QmThLGgWJjRg4rqvZkqhTqtfYhQFZ3yPMHEtdk6UgLcdcb%22%2C%22org%22%3A%22nextui-org%22%2C%22prId%22%3A4222%2C%22repo%22%3A%22nextui%22%7D).
117
+
118
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
119
+ <!-- walkthrough_start -->
120
+
121
+ ## Walkthrough
122
+
123
+ This pull request introduces a patch for the `@nextui-org/pagination` package to address an issue with the cursor position on the first load of the pagination component. It includes updates to the `use-pagination.ts` file to incorporate visibility detection using the `@nextui-org/use-intersection-observer` dependency. Additionally, a new test case is added to ensure the correct behavior of the pagination cursor in relation to the Intersection Observer API.
124
+
125
+ ## Changes
126
+
127
+ | File Path | Change Summary |
128
+ |-------------------------------------------------|-------------------------------------------------------------------------------------------------|
129
+ | .changeset/tidy-parents-cheat.md | Introduced a patch for the `@nextui-org/pagination` package to fix cursor position on load. |
130
+ | packages/components/pagination/__tests__/pagination.test.tsx | Added a test for the `Pagination` component to check the `data-moving` attribute behavior. |
131
+ | packages/components/pagination/package.json | Added new dependency: `@nextui-org/use-intersection-observer` with version `workspace:*`. |
132
+ | packages/components/pagination/src/use-pagination.ts | Updated `use-pagination.ts` to include visibility detection and modified scrolling logic. |
133
+
134
+ ## Assessment against linked issues
135
+
136
+ | Objective | Addressed | Explanation |
137
+ |----------------------------------------------------------------------------|-----------|-------------------------------------------|
138
+ | Fix the pagination left arrow issue on the first load (#3151) | βœ… | |
139
+
140
+ ## Possibly related PRs
141
+
142
+ - **#3144**: This PR addresses animation issues in the `@nextui-org/pagination` package, which is directly related to the pagination functionality being modified in the main PR.
143
+ - **#4168**: This PR fixes the missing `<li>` wrapper in the `PaginationItem` component when the `href` prop is used, which is relevant to the changes made in the main PR regarding the pagination component.
144
+ - **#4207**: This PR focuses on fixing ref handling in collection-based components, including pagination, which aligns with the changes made in the main PR regarding the pagination component's functionality.
145
+
146
+ ## Suggested labels
147
+
148
+ `πŸ› Type: Bug`
149
+
150
+ ## Suggested reviewers
151
+
152
+ - wingkwong
153
+ - jrgarciadev
154
+
155
+ <!-- walkthrough_end -->
156
+
157
+
158
+
159
+
160
+ <!-- internal state start -->
161
+
162
+
163
+ <!-- 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 -->
164
+
165
+ <!-- internal state end -->
166
+ <!-- tips_start -->
167
+
168
+ ---
169
+
170
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
171
+
172
+ <details>
173
+ <summary>❀️ Share</summary>
174
+
175
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
176
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
177
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
178
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
179
+
180
+ </details>
181
+
182
+ <details>
183
+ <summary>πŸͺ§ Tips</summary>
184
+
185
+ ### Chat
186
+
187
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
188
+
189
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
190
+ - `I pushed a fix in commit <commit_id>, please review it.`
191
+ - `Generate unit testing code for this file.`
192
+ - `Open a follow-up GitHub issue for this discussion.`
193
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
194
+ - `@coderabbitai generate unit testing code for this file.`
195
+ - `@coderabbitai modularize this function.`
196
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
197
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
198
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
199
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
200
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
201
+
202
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
203
+
204
+ ### CodeRabbit Commands (Invoked using PR comments)
205
+
206
+ - `@coderabbitai pause` to pause the reviews on a PR.
207
+ - `@coderabbitai resume` to resume the paused reviews.
208
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
209
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
210
+ - `@coderabbitai summary` to regenerate the summary of the PR.
211
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
212
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
213
+ - `@coderabbitai help` to get help.
214
+
215
+ ### Other keywords and placeholders
216
+
217
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
218
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
219
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
220
+
221
+ ### Documentation and Community
222
+
223
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
224
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
225
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
226
+
227
+ </details>
228
+
229
+ <!-- tips_end -->\n- vercel: [vc]: #5hcj3e/M3nYmRyy+VZKm1cJmhA/Rv39K1CGJigAAv+s=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9Id3JwcUJhVkh2RkhRaTJpc0NtdWNFRnZ1RFpOIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtcGFnaW5hdC02MmRjZTYtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtcGFnaW5hdC02MmRjZTYtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
230
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
231
+
232
+ | Name | Status | Preview | Comments | Updated (UTC) |
233
+ | :--- | :----- | :------ | :------- | :------ |
234
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/HwrpqBaVHvFHQi2isCmucEFvuDZN)) | [Visit Preview](https://nextui-docs-v2-git-fork-peterl561-fix-paginat-62dce6-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fork-peterl561-fix-paginat-62dce6-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 4, 2024 10:27pm |
235
+
236
+ \n
237
+
238
+ Files Changed:
239
+ - .changeset/tidy-parents-cheat.md (added, 5 changes)\n Patch: @@ -0,0 +1,5 @@
240
+ +---
241
+ +"@nextui-org/pagination": patch
242
+ +---
243
+ +
244
+ +fix pagination cursor position on first load\n- packages/components/pagination/__tests__/pagination.test.tsx (modified, 74 changes)\n Patch: @@ -79,4 +79,78 @@ describe("Pagination", () => {
245
+
246
+ expect(cursor).toHaveAttribute("aria-hidden", "true");
247
+ });
248
+ +
249
+ + it("the pagination cursor should not have data-moving attribute before intersection", () => {
250
+ + const originalIntersectionObserver = window.IntersectionObserver;
251
+ +
252
+ + // save callback and options to later emulate intersection event
253
+ + let intersectCallback: IntersectionObserverCallback | undefined;
254
+ + let intersectOptions: IntersectionObserverInit | undefined;
255
+ +
256
+ + // defined here as we need the closure
257
+ + class MockIntersectionObserver implements IntersectionObserver {
258
+ + root: Element | null = null;
259
+ + rootMargin: string = "";
260
+ + thresholds: number[] = [];
261
+ + disconnect: () => void = () => {};
262
+ + observe: (target: Element) => void = () => {};
263
+ + unobserve: (target: Element) => void = () => {};
264
+ + takeRecords: () => IntersectionObserverEntry[] = () => [];
265
+ +
266
+ + constructor(
267
+ + private readonly callback: IntersectionObserverCallback,
268
+ + private readonly options?: IntersectionObserverInit,
269
+ + ) {
270
+ + this.root = (this.options?.root ?? null) as Element | null;
271
+ + this.rootMargin = this.options?.rootMargin ?? "";
272
+ + this.thresholds = Array.isArray(this.options?.threshold)
273
+ + ? this.options.threshold
274
+ + : this.options?.threshold != null
275
+ + ? [this.options.threshold]
276
+ + : [0];
277
+ + this.disconnect = jest.fn();
278
+ + this.observe = jest.fn();
279
+ + this.unobserve = jest.fn();
280
+ + this.takeRecords = jest.fn();
281
+ +
282
+ + // save to closure
283
+ + intersectCallback = this.callback;
284
+ + intersectOptions = this.options;
285
+ + }
286
+ + }
287
+ +
288
+ + // hijack the IntersectionObserver implementation so useIntersectionObserver returns our mock
289
+ + window.IntersectionObserver = MockIntersectionObserver;
290
+ +
291
+ + const {container, rerender} = render(<Pagination total={10} />);
292
+ +
293
+ + const cursor = container.querySelector("span[data-slot='cursor']");
294
+ +
295
+ + // on first render, the cursor should not have the data-moving attribute until the observer is triggered
296
+ + expect(cursor).not.toHaveAttribute("data-moving");
297
+ +
298
+ + // trigger the observer with a full intersection
299
+ + intersectCallback?.(
300
+ + [
301
+ + {
302
+ + isIntersecting: true,
303
+ + intersectionRatio: 1,
304
+ + target: container,
305
+ + boundingClientRect: {} as DOMRectReadOnly,
306
+ + intersectionRect: {} as DOMRectReadOnly,
307
+ + rootBounds: {} as DOMRectReadOnly,
308
+ + time: 0,
309
+ + },
310
+ + ],
311
+ + new MockIntersectionObserver(intersectCallback, intersectOptions),
312
+ + );
313
+ +
314
+ + // rerender the component to update cursor state after intersection
315
+ + rerender(<Pagination total={10} />);
316
+ +
317
+ + // on rerender, the cursor should have the data-moving attribute
318
+ + expect(cursor).toHaveAttribute("data-moving");
319
+ +
320
+ + window.IntersectionObserver = originalIntersectionObserver;
321
+ + });
322
+ });\n- packages/components/pagination/package.json (modified, 1 changes)\n Patch: @@ -43,6 +43,7 @@
323
+ "@nextui-org/shared-utils": "workspace:*",
324
+ "@nextui-org/react-utils": "workspace:*",
325
+ "@nextui-org/shared-icons": "workspace:*",
326
+ + "@nextui-org/use-intersection-observer": "workspace:*",
327
+ "@nextui-org/use-pagination": "workspace:*",
328
+ "@react-aria/focus": "3.18.4",
329
+ "@react-aria/i18n": "3.12.3",\n- packages/components/pagination/src/use-pagination.ts (modified, 15 changes)\n Patch: @@ -17,6 +17,7 @@ import {pagination} from "@nextui-org/theme";
330
+ import {useDOMRef} from "@nextui-org/react-utils";
331
+ import {clsx, dataAttr} from "@nextui-org/shared-utils";
332
+ import {PressEvent} from "@react-types/shared";
333
+ +import {useIntersectionObserver} from "@nextui-org/use-intersection-observer";
334
+
335
+ export type PaginationItemRenderProps = {
336
+ /**
337
+ @@ -278,17 +279,29 @@ export function usePagination(originalProps: UsePaginationProps) {
338
+ onChange,
339
+ });
340
+
341
+ + // check if the pagination component is visible
342
+ + const [setRef, isVisible] = useIntersectionObserver();
343
+ +
344
+ + useEffect(() => {
345
+ + if (domRef.current) {
346
+ + setRef(domRef.current);
347
+ + }
348
+ + }, [domRef.current]);
349
+ +
350
+ const activePageRef = useRef(activePage);
351
+
352
+ useEffect(() => {
353
+ - if (activePage && !disableAnimation) {
354
+ + // when the pagination component is invisible, scroll offset will be wrong
355
+ + // thus, only scroll to the active page if the pagination component is visible
356
+ + if (activePage && !disableAnimation && isVisible) {
357
+ scrollTo(activePage, activePage === activePageRef.current);
358
+ }
359
+ activePageRef.current = activePage;
360
+ }, [
361
+ activePage,
362
+ disableAnimation,
363
+ disableCursorAnimation,
364
+ + isVisible,
365
+ originalProps.dotsJump,
366
+ originalProps.isCompact,
367
+ originalProps.showControls,\n- pnpm-lock.yaml (modified, 212 changes)\n Patch: @@ -123,16 +123,16 @@ importers:
368
+ version: 7.32.0
369
+ eslint-config-airbnb:
370
+ specifier: ^18.2.1
371
372
373
+ eslint-config-airbnb-typescript:
374
+ specifier: ^12.3.1
375
376
377
+ eslint-config-prettier:
378
+ specifier: ^8.2.0
379
+ version: 8.10.0([email protected])
380
+ eslint-config-react-app:
381
+ specifier: ^6.0.0
382
383
384
+ eslint-config-ts-lambdas:
385
+ specifier: ^1.2.3
386
387
+ @@ -141,10 +141,10 @@ importers:
388
389
+ eslint-loader:
390
+ specifier: ^4.0.2
391
392
+ + version: 4.0.2([email protected])([email protected])
393
+ eslint-plugin-import:
394
+ specifier: ^2.26.0
395
396
397
+ eslint-plugin-jest:
398
+ specifier: ^24.7.0
399
400
+ @@ -195,13 +195,13 @@ importers:
401
+ version: 10.7.7
402
+ jest:
403
+ specifier: ^29.7.0
404
405
406
+ jest-environment-jsdom:
407
+ specifier: ^29.7.0
408
+ version: 29.7.0
409
+ jest-watch-typeahead:
410
+ specifier: 2.2.2
411
412
413
+ lint-staged:
414
+ specifier: ^13.0.3
415
+ version: 13.3.0([email protected])
416
+ @@ -517,7 +517,7 @@ importers:
417
+ devDependencies:
418
+ '@docusaurus/utils':
419
+ specifier: 2.0.0-beta.3
420
421
422
+ '@next/bundle-analyzer':
423
+ specifier: ^13.4.6
424
+ version: 13.5.7
425
+ @@ -2195,6 +2195,9 @@ importers:
426
+ '@nextui-org/shared-utils':
427
+ specifier: workspace:*
428
+ version: link:../../utilities/shared-utils
429
+ + '@nextui-org/use-intersection-observer':
430
+ + specifier: workspace:*
431
+ + version: link:../../hooks/use-intersection-observer
432
+ '@nextui-org/use-pagination':
433
+ specifier: workspace:*
434
+ version: link:../../hooks/use-pagination
435
+ @@ -3309,7 +3312,7 @@ importers:
436
+ version: 18.3.1
437
+ tailwind-variants:
438
+ specifier: ^0.1.20
439
440
441
+
442
+ packages/core/theme:
443
+ dependencies:
444
+ @@ -3336,7 +3339,7 @@ importers:
445
+ version: 2.5.4
446
+ tailwind-variants:
447
+ specifier: ^0.1.20
448
449
450
+ devDependencies:
451
+ '@types/color':
452
+ specifier: ^3.0.3
453
+ @@ -3349,7 +3352,7 @@ importers:
454
+ version: 2.2.0
455
+ tailwindcss:
456
+ specifier: ^3.4.0
457
458
459
+
460
+ packages/hooks/use-aria-accordion:
461
+ dependencies:
462
+ @@ -16289,7 +16292,7 @@ snapshots:
463
+ lodash.merge: 4.6.2
464
+ lodash.uniq: 4.5.0
465
+ resolve-from: 5.0.0
466
467
468
+ typescript: 4.9.5
469
+ transitivePeerDependencies:
470
+ - '@swc/core'
471
+ @@ -16443,22 +16446,22 @@ snapshots:
472
+
473
+ '@discoveryjs/[email protected]': {}
474
+
475
476
477
+ dependencies:
478
+ commander: 5.1.0
479
+ joi: 17.13.3
480
+ querystring: 0.2.0
481
482
483
+ webpack-merge: 5.10.0
484
+ transitivePeerDependencies:
485
+ - '@swc/core'
486
+ - esbuild
487
+ - uglify-js
488
+ - webpack-cli
489
+
490
491
492
+ dependencies:
493
494
+ + '@docusaurus/types': 2.0.0-beta.3(@swc/[email protected](@swc/[email protected]))([email protected])([email protected])
495
+ '@types/github-slugger': 1.3.0
496
+ chalk: 4.1.2
497
+ escape-string-regexp: 4.0.0
498
+ @@ -16786,7 +16789,7 @@ snapshots:
499
+ jest-util: 29.7.0
500
+ slash: 3.0.0
501
+
502
503
504
+ dependencies:
505
+ '@jest/console': 29.7.0
506
+ '@jest/reporters': 29.7.0
507
+ @@ -16800,7 +16803,7 @@ snapshots:
508
+ exit: 0.1.2
509
+ graceful-fs: 4.2.11
510
+ jest-changed-files: 29.7.0
511
512
513
+ jest-haste-map: 29.7.0
514
+ jest-message-util: 29.7.0
515
+ jest-regex-util: 29.6.3
516
+ @@ -21252,7 +21255,7 @@ snapshots:
517
+ dependencies:
518
+ '@types/node': 20.5.1
519
+ cosmiconfig: 8.3.6([email protected])
520
521
522
+ typescript: 4.9.5
523
+
524
525
+ @@ -21273,13 +21276,13 @@ snapshots:
526
+ optionalDependencies:
527
+ typescript: 4.9.5
528
+
529
530
531
+ dependencies:
532
+ '@jest/types': 29.6.3
533
+ chalk: 4.1.2
534
+ exit: 0.1.2
535
+ graceful-fs: 4.2.11
536
537
538
+ jest-util: 29.7.0
539
+ prompts: 2.4.2
540
+ transitivePeerDependencies:
541
+ @@ -21962,19 +21965,19 @@ snapshots:
542
+ optionalDependencies:
543
+ source-map: 0.6.1
544
+
545
546
547
+ dependencies:
548
+ confusing-browser-globals: 1.0.11
549
+ eslint: 7.32.0
550
+ - eslint-plugin-import: 2.31.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
551
552
+ object.assign: 4.1.5
553
+ object.entries: 1.1.8
554
+
555
556
557
+ dependencies:
558
+ '@typescript-eslint/parser': 4.33.0([email protected])([email protected])
559
560
561
562
+ + eslint-config-airbnb-base: 14.2.1([email protected])([email protected])
563
+ transitivePeerDependencies:
564
+ - eslint
565
+ - eslint-plugin-import
566
+ @@ -21984,11 +21987,11 @@ snapshots:
567
+ - supports-color
568
+ - typescript
569
+
570
571
572
+ dependencies:
573
+ eslint: 7.32.0
574
575
+ - eslint-plugin-import: 2.31.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
576
+ + eslint-config-airbnb-base: 14.2.1([email protected])([email protected])
577
578
+ eslint-plugin-jsx-a11y: 6.10.2([email protected])
579
+ eslint-plugin-react: 7.37.2([email protected])
580
+ eslint-plugin-react-hooks: 4.6.2([email protected])
581
+ @@ -22002,7 +22005,7 @@ snapshots:
582
+ '@typescript-eslint/parser': 5.62.0([email protected])([email protected])
583
+ eslint: 7.32.0
584
+ eslint-import-resolver-node: 0.3.9
585
+ - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
586
+ + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
587
588
+ eslint-plugin-jsx-a11y: 6.10.2([email protected])
589
+ eslint-plugin-react: 7.37.2([email protected])
590
+ @@ -22018,15 +22021,15 @@ snapshots:
591
+ dependencies:
592
+ eslint: 7.32.0
593
+
594
595
596
+ dependencies:
597
+ '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
598
+ '@typescript-eslint/parser': 5.62.0([email protected])([email protected])
599
+ babel-eslint: 10.1.0([email protected])
600
+ confusing-browser-globals: 1.0.11
601
+ eslint: 7.32.0
602
+ eslint-plugin-flowtype: 5.10.0([email protected])
603
+ - eslint-plugin-import: 2.31.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
604
605
+ eslint-plugin-jsx-a11y: 6.10.2([email protected])
606
+ eslint-plugin-react: 7.37.2([email protected])
607
+ eslint-plugin-react-hooks: 4.6.2([email protected])
608
+ @@ -22053,21 +22056,21 @@ snapshots:
609
+ dependencies:
610
+ debug: 4.3.7
611
+ eslint: 7.32.0
612
+ - eslint-plugin-import: 2.31.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
613
614
+ glob: 7.2.3
615
+ is-glob: 4.0.3
616
+ resolve: 1.22.8
617
+ tsconfig-paths: 3.15.0
618
+ transitivePeerDependencies:
619
+ - supports-color
620
+
621
622
623
+ dependencies:
624
+ '@nolyfill/is-core-module': 1.0.39
625
+ debug: 4.3.7
626
+ enhanced-resolve: 5.17.1
627
+ eslint: 7.32.0
628
629
630
+ fast-glob: 3.3.2
631
+ get-tsconfig: 4.8.1
632
+ is-bun-module: 1.2.1
633
+ @@ -22080,7 +22083,7 @@ snapshots:
634
+ - eslint-import-resolver-webpack
635
+ - supports-color
636
+
637
638
639
+ dependencies:
640
+ eslint: 7.32.0
641
+ find-cache-dir: 3.3.2
642
+ @@ -22090,25 +22093,14 @@ snapshots:
643
+ schema-utils: 2.7.1
644
645
+
646
647
648
+ dependencies:
649
+ debug: 3.2.7
650
+ optionalDependencies:
651
+ '@typescript-eslint/parser': 5.62.0([email protected])([email protected])
652
+ eslint: 7.32.0
653
+ eslint-import-resolver-node: 0.3.9
654
+ - eslint-import-resolver-typescript: 2.7.1([email protected])([email protected])
655
+ - transitivePeerDependencies:
656
+ - - supports-color
657
+ -
658
659
+ - dependencies:
660
+ - debug: 3.2.7
661
+ - optionalDependencies:
662
+ - '@typescript-eslint/parser': 5.62.0([email protected])([email protected])
663
+ - eslint: 7.32.0
664
+ - eslint-import-resolver-node: 0.3.9
665
+ - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
666
+ + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
667
+ transitivePeerDependencies:
668
+ - supports-color
669
+
670
+ @@ -22135,36 +22127,7 @@ snapshots:
671
+ doctrine: 2.1.0
672
+ eslint: 7.32.0
673
+ eslint-import-resolver-node: 0.3.9
674
675
+ - hasown: 2.0.2
676
+ - is-core-module: 2.15.1
677
+ - is-glob: 4.0.3
678
+ - minimatch: 3.1.2
679
+ - object.fromentries: 2.0.8
680
+ - object.groupby: 1.0.3
681
+ - object.values: 1.2.0
682
+ - semver: 6.3.1
683
+ - string.prototype.trimend: 1.0.8
684
+ - tsconfig-paths: 3.15.0
685
+ - optionalDependencies:
686
+ - '@typescript-eslint/parser': 5.62.0([email protected])([email protected])
687
+ - transitivePeerDependencies:
688
+ - - eslint-import-resolver-typescript
689
+ - - eslint-import-resolver-webpack
690
+ - - supports-color
691
+ -
692
693
+ - dependencies:
694
+ - '@rtsao/scc': 1.1.0
695
+ - array-includes: 3.1.8
696
+ - array.prototype.findlastindex: 1.2.5
697
+ - array.prototype.flat: 1.3.2
698
+ - array.prototype.flatmap: 1.3.2
699
+ - debug: 3.2.7
700
+ - doctrine: 2.1.0
701
+ - eslint: 7.32.0
702
+ - eslint-import-resolver-node: 0.3.9
703
704
705
+ hasown: 2.0.2
706
+ is-core-module: 2.15.1
707
+ is-glob: 4.0.3
708
+ @@ -23843,16 +23806,16 @@ snapshots:
709
+ - babel-plugin-macros
710
+ - supports-color
711
+
712
713
714
+ dependencies:
715
716
717
+ '@jest/test-result': 29.7.0
718
+ '@jest/types': 29.6.3
719
+ chalk: 4.1.2
720
721
722
+ exit: 0.1.2
723
+ import-local: 3.2.0
724
725
726
+ jest-util: 29.7.0
727
+ jest-validate: 29.7.0
728
+ yargs: 17.7.2
729
+ @@ -23862,7 +23825,7 @@ snapshots:
730
+ - supports-color
731
+ - ts-node
732
+
733
734
735
+ dependencies:
736
+ '@babel/core': 7.26.0
737
+ '@jest/test-sequencer': 29.7.0
738
+ @@ -23888,7 +23851,7 @@ snapshots:
739
+ strip-json-comments: 3.1.1
740
+ optionalDependencies:
741
+ '@types/node': 15.14.9
742
743
744
+ transitivePeerDependencies:
745
+ - babel-plugin-macros
746
+ - supports-color
747
+ @@ -24105,11 +24068,11 @@ snapshots:
748
+ leven: 3.1.0
749
+ pretty-format: 29.7.0
750
+
751
752
753
+ dependencies:
754
+ ansi-escapes: 6.2.1
755
+ chalk: 5.3.0
756
757
758
+ jest-regex-util: 29.6.3
759
+ jest-watcher: 29.7.0
760
+ slash: 5.1.0
761
+ @@ -24140,12 +24103,12 @@ snapshots:
762
+ merge-stream: 2.0.0
763
+ supports-color: 8.1.1
764
+
765
766
767
+ dependencies:
768
769
770
+ '@jest/types': 29.6.3
771
+ import-local: 3.2.0
772
773
774
+ transitivePeerDependencies:
775
+ - '@types/node'
776
+ - babel-plugin-macros
777
+ @@ -26167,15 +26130,7 @@ snapshots:
778
+ yaml: 1.10.2
779
+ optionalDependencies:
780
+ postcss: 8.4.49
781
782
+ -
783
784
+ - dependencies:
785
+ - lilconfig: 3.1.2
786
+ - yaml: 2.6.1
787
+ - optionalDependencies:
788
+ - postcss: 8.4.49
789
790
791
+
792
793
+ dependencies:
794
+ @@ -27728,42 +27683,15 @@ snapshots:
795
+
796
797
+
798
799
+ - dependencies:
800
+ - tailwind-merge: 1.14.0
801
802
+ -
803
804
+ dependencies:
805
+ tailwind-merge: 1.14.0
806
807
+
808
809
810
+ dependencies:
811
+ - '@alloc/quick-lru': 5.2.0
812
+ - arg: 5.0.2
813
+ - chokidar: 3.6.0
814
+ - didyoumean: 1.2.2
815
+ - dlv: 1.1.3
816
+ - fast-glob: 3.3.2
817
+ - glob-parent: 6.0.2
818
+ - is-glob: 4.0.3
819
+ - jiti: 1.21.6
820
+ - lilconfig: 2.1.0
821
+ - micromatch: 4.0.8
822
+ - normalize-path: 3.0.0
823
+ - object-hash: 3.0.0
824
+ - picocolors: 1.1.1
825
+ - postcss: 8.4.49
826
+ - postcss-import: 15.1.0([email protected])
827
+ - postcss-js: 4.0.1([email protected])
828
829
+ - postcss-nested: 6.2.0([email protected])
830
+ - postcss-selector-parser: 6.1.2
831
+ - resolve: 1.22.8
832
+ - sucrase: 3.35.0
833
+ - transitivePeerDependencies:
834
+ - - ts-node
835
+ + tailwind-merge: 1.14.0
836
837
+
838
839
+ dependencies:
840
+ @@ -27867,7 +27795,7 @@ snapshots:
841
+
842
843
+
844
845
846
+ dependencies:
847
+ '@jridgewell/trace-mapping': 0.3.25
848
+ jest-worker: 27.5.1
849
+ @@ -27879,14 +27807,14 @@ snapshots:
850
+ '@swc/core': 1.9.2(@swc/[email protected])
851
+ esbuild: 0.15.18
852
+
853
854
855
+ dependencies:
856
+ '@jridgewell/trace-mapping': 0.3.25
857
+ jest-worker: 27.5.1
858
+ schema-utils: 3.3.0
859
+ serialize-javascript: 6.0.2
860
+ terser: 5.36.0
861
862
863
+ optionalDependencies:
864
+ '@swc/core': 1.9.2(@swc/[email protected])
865
+ esbuild: 0.21.5
866
+ @@ -28009,46 +27937,46 @@ snapshots:
867
+
868
869
+
870
871
872
+ dependencies:
873
+ '@cspotcode/source-map-support': 0.8.1
874
+ '@tsconfig/node10': 1.0.11
875
+ '@tsconfig/node12': 1.0.11
876
+ '@tsconfig/node14': 1.0.3
877
+ '@tsconfig/node16': 1.0.4
878
+ - '@types/node': 15.14.9
879
+ + '@types/node': 20.2.5
880
+ acorn: 8.14.0
881
+ acorn-walk: 8.3.4
882
+ arg: 4.1.3
883
+ create-require: 1.1.1
884
+ diff: 4.0.2
885
+ make-error: 1.3.6
886
+ - typescript: 4.9.5
887
+ + typescript: 5.6.3
888
+ v8-compile-cache-lib: 3.0.1
889
+ yn: 3.1.1
890
+ optionalDependencies:
891
+ '@swc/core': 1.9.2(@swc/[email protected])
892
+ + optional: true
893
+
894
895
896
+ dependencies:
897
+ '@cspotcode/source-map-support': 0.8.1
898
+ '@tsconfig/node10': 1.0.11
899
+ '@tsconfig/node12': 1.0.11
900
+ '@tsconfig/node14': 1.0.3
901
+ '@tsconfig/node16': 1.0.4
902
+ - '@types/node': 20.2.5
903
+ + '@types/node': 20.5.1
904
+ acorn: 8.14.0
905
+ acorn-walk: 8.3.4
906
+ arg: 4.1.3
907
+ create-require: 1.1.1
908
+ diff: 4.0.2
909
+ make-error: 1.3.6
910
+ - typescript: 5.6.3
911
+ + typescript: 4.9.5
912
+ v8-compile-cache-lib: 3.0.1
913
+ yn: 3.1.1
914
+ optionalDependencies:
915
+ '@swc/core': 1.9.2(@swc/[email protected])
916
+ - optional: true
917
+
918
919
+ dependencies:
920
+ @@ -28666,7 +28594,7 @@ snapshots:
921
+ neo-async: 2.6.2
922
+ schema-utils: 3.3.0
923
+ tapable: 2.2.1
924
925
+ + terser-webpack-plugin: 5.3.10(@swc/[email protected](@swc/[email protected]))([email protected])([email protected])
926
+ watchpack: 2.4.2
927
+ webpack-sources: 3.2.3
928
+ optionalDependencies:
929
+ @@ -28676,7 +28604,7 @@ snapshots:
930
+ - esbuild
931
+ - uglify-js
932
+
933
934
935
+ dependencies:
936
+ '@types/eslint-scope': 3.7.7
937
+ '@types/estree': 1.0.6
938
+ @@ -28698,7 +28626,7 @@ snapshots:
939
+ neo-async: 2.6.2
940
+ schema-utils: 3.3.0
941
+ tapable: 2.2.1
942
943
+ + terser-webpack-plugin: 5.3.10(@swc/[email protected](@swc/[email protected]))([email protected])([email protected])
944
+ watchpack: 2.4.2
945
+ webpack-sources: 3.2.3
946
+ optionalDependencies:\n
processed_docs/pr_data_0_doc_38.txt ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4221
2
+ Title: chore(docs): remove non-existing attribute in switch page
3
+ Base Branch: canary
4
+ Head Branch: fix/switch-isRequired
5
+ Author: wingkwong
6
+ URL: https://github.com/nextui-org/nextui/pull/4221
7
+ State: MERGED
8
+ Created At: 2024-12-04T13:02:10Z
9
+ Merged At: 2024-12-04T17:19:57Z
10
+ Participants: wingkwong, jrgarciadev
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ In switch doc page, isRequired is in the prop list while this prop doesn't exist, since switch is not meant to be required by concept (ref: #1610 (comment))
17
+ ⛳️ Current behavior (updates)
18
+
19
+ πŸš€ New behavior
20
+
21
+ πŸ’£ Is this a breaking change (Yes/No):
22
+
23
+ πŸ“ Additional Information
24
+
25
+ Summary by CodeRabbit
26
+
27
+ Documentation
28
+
29
+ Removed the isRequired prop from the Switch component documentation.
30
+ Added new sections for "Data Attributes" and "Accessibility" to enhance understanding of the component's functionality.
31
+ Expanded existing sections for clearer guidance on installation, usage, and API.
32
+
33
+ Commits:
34
+ - chore(docs): remove non-existing attribute\n
35
+
36
+ Labels:
37
+
38
+
39
+ Comments:
40
+ - vercel: [vc]: #VWJrfTKSOLUUXGjxI+HoVt1OI+XV+MV8Gn3X11idA94=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi82aEF3akFjTXhaYUZBTEhGWWl1amlxb1Nwb1VRIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtc3dpdGNoLWlzcmVxdWlyZWQtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtc3dpdGNoLWlzcmVxdWlyZWQtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi84aUVUVnBMUWE3UTk2aERuMllnNHVVNHBKd21QIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZpeC1zd2l0Y2gtaXNyZXF1aXJlZC1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LXN3aXRjaC1pc3JlcXVpcmVkLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
41
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
42
+
43
+ | Name | Status | Preview | Comments | Updated (UTC) |
44
+ | :--- | :----- | :------ | :------- | :------ |
45
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/6hAwjAcMxZaFALHFYiujiqoSpoUQ)) | [Visit Preview](https://nextui-docs-v2-git-fix-switch-isrequired-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-switch-isrequired-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 4, 2024 1:05pm |
46
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/8iETVpLQa7Q96hDn2Yg4uU4pJwmP)) | [Visit Preview](https://nextui-storybook-v2-git-fix-switch-isrequired-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-switch-isrequired-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 4, 2024 1:05pm |
47
+
48
+
49
+ \n- changeset-bot: ### ⚠️ No Changeset found
50
+
51
+ Latest commit: 0978b24215daf42a832f5fa4d8823a65afce7da0
52
+
53
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
54
+
55
+ <details><summary>This PR includes no changesets</summary>
56
+
57
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
58
+
59
+ </details>
60
+
61
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
62
+
63
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/fix/switch-isRequired?filename=.changeset/poor-beans-drum.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0Achore(docs)%3A%20remove%20non-existing%20attribute%20in%20switch%20page%0A)
64
+
65
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
66
+ <!-- walkthrough_start -->
67
+
68
+ ## Walkthrough
69
+ The pull request modifies the documentation for the Switch component. It removes the `isRequired` prop from the Switch Props section and enhances the documentation with new sections on "Data Attributes" and "Accessibility." The documentation now provides more detailed descriptions of the component's functionality while maintaining the overall structure, which includes sections for Installation, Import, Usage, and API.
70
+
71
+ ## Changes
72
+
73
+ | File Path | Change Summary |
74
+ |---------------------------------------------|--------------------------------------------------------------------------------------------------------|
75
+ | apps/docs/content/docs/components/switch.mdx | Removed `isRequired` prop from the Switch Props section; added "Data Attributes" and "Accessibility" sections with detailed descriptions. |
76
+
77
+ ## Possibly related PRs
78
+ - **#3861**: This PR addresses a layout issue in the Switch component by modifying the margin behavior, which is directly related to the changes made in the main PR regarding the documentation of the Switch component and its props.
79
+
80
+ ## Suggested labels
81
+ `πŸ“‹ Scope : Docs`
82
+
83
+ ## Suggested reviewers
84
+ - jrgarciadev
85
+
86
+ <!-- walkthrough_end -->
87
+
88
+
89
+
90
+ ---
91
+
92
+ <details>
93
+ <summary>πŸ“œ Recent review details</summary>
94
+
95
+ **Configuration used: .coderabbit.yaml**
96
+ **Review profile: CHILL**
97
+
98
+ <details>
99
+ <summary>πŸ“₯ Commits</summary>
100
+
101
+ Reviewing files that changed from the base of the PR and between 729ede8de7f18c7b49fbdb736aac300b5b98f239 and 0978b24215daf42a832f5fa4d8823a65afce7da0.
102
+
103
+ </details>
104
+
105
+ <details>
106
+ <summary>πŸ“’ Files selected for processing (1)</summary>
107
+
108
+ * `apps/docs/content/docs/components/switch.mdx` (0 hunks)
109
+
110
+ </details>
111
+
112
+ <details>
113
+ <summary>πŸ’€ Files with no reviewable changes (1)</summary>
114
+
115
+ * apps/docs/content/docs/components/switch.mdx
116
+
117
+ </details>
118
+
119
+ </details>
120
+ <!-- internal state start -->
121
+
122
+
123
+ <!-- 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 -->
124
+
125
+ <!-- internal state end -->
126
+ <!-- tips_start -->
127
+
128
+ ---
129
+
130
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
131
+
132
+ <details>
133
+ <summary>❀️ Share</summary>
134
+
135
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
136
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
137
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
138
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
139
+
140
+ </details>
141
+
142
+ <details>
143
+ <summary>πŸͺ§ Tips</summary>
144
+
145
+ ### Chat
146
+
147
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
148
+
149
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
150
+ - `I pushed a fix in commit <commit_id>, please review it.`
151
+ - `Generate unit testing code for this file.`
152
+ - `Open a follow-up GitHub issue for this discussion.`
153
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
154
+ - `@coderabbitai generate unit testing code for this file.`
155
+ - `@coderabbitai modularize this function.`
156
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
157
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
158
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
159
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
160
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
161
+
162
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
163
+
164
+ ### CodeRabbit Commands (Invoked using PR comments)
165
+
166
+ - `@coderabbitai pause` to pause the reviews on a PR.
167
+ - `@coderabbitai resume` to resume the paused reviews.
168
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
169
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
170
+ - `@coderabbitai summary` to regenerate the summary of the PR.
171
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
172
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
173
+ - `@coderabbitai help` to get help.
174
+
175
+ ### Other keywords and placeholders
176
+
177
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
178
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
179
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
180
+
181
+ ### Documentation and Community
182
+
183
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
184
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
185
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
186
+
187
+ </details>
188
+
189
+ <!-- tips_end -->\n
190
+
191
+ Files Changed:
192
+ - apps/docs/content/docs/components/switch.mdx (modified, 6 changes)\n Patch: @@ -197,12 +197,6 @@ In case you need to customize the switch even further, you can use the `useSwitc
193
+ description: "Whether the element should be selected (uncontrolled).",
194
+ default: "-"
195
+ },
196
+ - {
197
+ - attribute: "isRequired",
198
+ - type: "boolean",
199
+ - description: "Whether user input is required on the input before form submission.",
200
+ - default: "false"
201
+ - },
202
+ {
203
+ attribute: "isReadOnly",
204
+ type: "boolean",\n
processed_docs/pr_data_0_doc_39.txt ADDED
@@ -0,0 +1,430 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4220
2
+ Title: fix(touch): fixing the selection functionality on touch
3
+ Base Branch: canary
4
+ Head Branch: macci001/eng-1639
5
+ Author: macci001
6
+ URL: https://github.com/nextui-org/nextui/pull/4220
7
+ State: MERGED
8
+ Created At: 2024-12-04T07:43:13Z
9
+ Merged At: 2024-12-04T10:57:10Z
10
+ Participants: macci001, jrgarciadev, wingkwong
11
+
12
+ Description:
13
+ Closes #4210
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+
26
+
27
+ Bug Fixes
28
+
29
+ Resolved interaction issues for checkbox, switch, and radio components.
30
+
31
+
32
+
33
+ New Features
34
+
35
+ Simplified interaction handling for checkbox, switch, and radio components, enhancing user experience.
36
+
37
+
38
+
39
+ Refactor
40
+
41
+ Removed unnecessary complexity related to press state management, streamlining component functionality.
42
+
43
+ Commits:
44
+ - fix(touch): fixing the selection functionality on touch\n- Merge branch 'canary' of github.com:nextui-org/nextui into macci001/eng-1639\n- fix: radio, checkbox & switch interactions\n
45
+
46
+ Labels:
47
+
48
+
49
+ Comments:
50
+ - linear: <p><a href="https://linear.app/nextui-inc/issue/ENG-1639/theme-switch-canary">ENG-1639 Theme switch - Canary</a></p>\n- changeset-bot: ### πŸ¦‹ Changeset detected
51
+
52
+ Latest commit: 5d6426890002eaa37b4a39d65878e2228d66bdb3
53
+
54
+ **The changes in this PR will be included in the next version bump.**
55
+
56
+ <details><summary>This PR includes changesets to release 5 packages</summary>
57
+
58
+ | Name | Type |
59
+ | -------------------- | ----- |
60
+ | @nextui-org/checkbox | Patch |
61
+ | @nextui-org/switch | Patch |
62
+ | @nextui-org/radio | Patch |
63
+ | @nextui-org/table | Patch |
64
+ | @nextui-org/react | Patch |
65
+
66
+ </details>
67
+
68
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
69
+
70
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/macci001/eng-1639?filename=.changeset/dull-tigers-learn.md&value=---%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fradio%22%3A%20patch%0A%22%40nextui-org%2Fswitch%22%3A%20patch%0A---%0A%0Afix(touch)%3A%20fixing%20the%20selection%20functionality%20on%20touch%0A)
71
+
72
+ \n- vercel: [vc]: #+WX3xhQT+RXbY7+7SAGTbIOtzJPM3NrK0X74AvIqvn4=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9EWUtidVBTQjVNVnNaMjZDQWlDTnNiUmlFSjFFIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1tYWNjaTAwMS1lbmctMTYzOS1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LW1hY2NpMDAxLWVuZy0xNjM5LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1tYWNjaTAwMS1lbmctMTYzOS1uZXh0dWktb3JnLnZlcmNlbC5hcHAifSwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi9INzFCekhLTGY3RGMxVXNTOFBBeG91dzVMc21rIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LW1hY2NpMDAxLWVuZy0xNjM5LW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCJ9XX0=
73
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
74
+
75
+ | Name | Status | Preview | Comments | Updated (UTC) |
76
+ | :--- | :----- | :------ | :------- | :------ |
77
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/DYKbuPSB5MVsZ26CAiCNsbRiEJ1E)) | [Visit Preview](https://nextui-docs-v2-git-macci001-eng-1639-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-macci001-eng-1639-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 4, 2024 10:58am |
78
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/H71BzHKLf7Dc1UsS8PAxouw5Lsmk)) | [Visit Preview](https://nextui-storybook-v2-git-macci001-eng-1639-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-macci001-eng-1639-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 4, 2024 10:58am |
79
+
80
+
81
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
82
+ <!-- This is an auto-generated comment: failure by coderabbit.ai -->
83
+
84
+ > [!CAUTION]
85
+ > ## Review failed
86
+ >
87
+ > The pull request is closed.
88
+
89
+ <!-- end of auto-generated comment: failure by coderabbit.ai -->
90
+ <!-- walkthrough_start -->
91
+
92
+ ## Walkthrough
93
+ This pull request introduces a patch for the `@nextui-org/checkbox`, `@nextui-org/switch`, and `@nextui-org/radio` components, addressing an interaction issue reported in issue #4210. The changes involve the removal of the `usePress` hook and associated state management for keyboard interactions in these components, streamlining their functionality and simplifying the interaction logic.
94
+
95
+ ## Changes
96
+
97
+ | File Path | Change Summary |
98
+ |-----------------------------------------|-----------------------------------------------------------------------------------------------------|
99
+ | `.changeset/happy-guests-warn.md` | Patch applied to `@nextui-org/checkbox`, `@nextui-org/switch`, and `@nextui-org/radio` components. |
100
+ | `packages/components/checkbox/src/use-checkbox.ts` | Removed `usePress` hook and related state management, simplifying interaction handling. |
101
+ | `packages/components/radio/src/use-radio.ts` | Removed `usePress` hook, simplified state management, and updated `getBaseProps` method. |
102
+ | `packages/components/switch/src/use-switch.ts` | Removed `usePress` hook, simplified state management, and updated `getBaseProps` method. |
103
+
104
+ ## Assessment against linked issues
105
+
106
+ | Objective | Addressed | Explanation |
107
+ |--------------------------------------------------|-----------|--------------------------------------------------|
108
+ | Should register click (issue #4210) | βœ… | |
109
+
110
+ ## Possibly related PRs
111
+ - **#3301**: Related changes in `use-radio.ts` regarding the removal of the `usePress` hook and simplification of state management.
112
+ - **#3552**: Addresses a double-click issue in checkbox, switch, and radio components, relevant to the main PR's focus.
113
+ - **#3869**: Changes in label placement in input and select components, aligning with usability improvements in the main PR.
114
+ - **#3966**: Modifications to the helper wrapper in the input component, related to enhancing user interaction in form elements.
115
+
116
+ ## Suggested labels
117
+ `πŸ‘€ Status: In Review`
118
+
119
+ ## Suggested reviewers
120
+ - wingkwong
121
+
122
+ <!-- walkthrough_end -->
123
+
124
+ <!-- internal state start -->
125
+
126
+
127
+ <!-- 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= -->
128
+
129
+ <!-- internal state end -->
130
+
131
+ ---
132
+
133
+ <details>
134
+ <summary>πŸ“œ Recent review details</summary>
135
+
136
+ **Configuration used: .coderabbit.yaml**
137
+ **Review profile: CHILL**
138
+
139
+ <details>
140
+ <summary>πŸ“₯ Commits</summary>
141
+
142
+ Reviewing files that changed from the base of the PR and between d6ae2cb0dd8a8eddf76edac3011a3fb00521673f and 5d6426890002eaa37b4a39d65878e2228d66bdb3.
143
+
144
+ </details>
145
+
146
+ <details>
147
+ <summary>πŸ“’ Files selected for processing (4)</summary>
148
+
149
+ * `.changeset/happy-guests-warn.md` (1 hunks)
150
+ * `packages/components/checkbox/src/use-checkbox.ts` (3 hunks)
151
+ * `packages/components/radio/src/use-radio.ts` (4 hunks)
152
+ * `packages/components/switch/src/use-switch.ts` (3 hunks)
153
+
154
+ </details>
155
+
156
+ </details>
157
+ <!-- tips_start -->
158
+
159
+ ---
160
+
161
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
162
+
163
+ <details>
164
+ <summary>❀️ Share</summary>
165
+
166
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
167
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
168
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
169
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
170
+
171
+ </details>
172
+
173
+ <details>
174
+ <summary>πŸͺ§ Tips</summary>
175
+
176
+ ### Chat
177
+
178
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
179
+
180
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
181
+ - `I pushed a fix in commit <commit_id>, please review it.`
182
+ - `Generate unit testing code for this file.`
183
+ - `Open a follow-up GitHub issue for this discussion.`
184
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
185
+ - `@coderabbitai generate unit testing code for this file.`
186
+ - `@coderabbitai modularize this function.`
187
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
188
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
189
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
190
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
191
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
192
+
193
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
194
+
195
+ ### CodeRabbit Commands (Invoked using PR comments)
196
+
197
+ - `@coderabbitai pause` to pause the reviews on a PR.
198
+ - `@coderabbitai resume` to resume the paused reviews.
199
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
200
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
201
+ - `@coderabbitai summary` to regenerate the summary of the PR.
202
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
203
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
204
+ - `@coderabbitai help` to get help.
205
+
206
+ ### Other keywords and placeholders
207
+
208
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
209
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
210
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
211
+
212
+ ### Documentation and Community
213
+
214
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
215
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
216
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
217
+
218
+ </details>
219
+
220
+ <!-- tips_end -->\n- macci001: - [x] Fix the switch in docs
221
+ - [x] Fix tests\n
222
+
223
+ Files Changed:
224
+ - .changeset/happy-guests-warn.md (added, 7 changes)\n Patch: @@ -0,0 +1,7 @@
225
+ +---
226
+ +"@nextui-org/checkbox": patch
227
+ +"@nextui-org/switch": patch
228
+ +"@nextui-org/radio": patch
229
+ +---
230
+ +
231
+ +Fix #4210 radio, checkbox & switch interaction\n- packages/components/checkbox/src/use-checkbox.ts (modified, 34 changes)\n Patch: @@ -3,12 +3,12 @@ import type {AriaCheckboxProps} from "@react-types/checkbox";
232
+ import type {HTMLNextUIProps, PropGetter} from "@nextui-org/system";
233
+
234
+ import {useProviderContext} from "@nextui-org/system";
235
+ -import {ReactNode, Ref, useCallback, useId, useState} from "react";
236
+ +import {ReactNode, Ref, useCallback, useId} from "react";
237
+ import {useMemo, useRef} from "react";
238
+ import {useToggleState} from "@react-stately/toggle";
239
+ import {checkbox} from "@nextui-org/theme";
240
+ import {useCallbackRef} from "@nextui-org/use-callback-ref";
241
+ -import {useHover, usePress} from "@react-aria/interactions";
242
+ +import {useHover} from "@react-aria/interactions";
243
+ import {useFocusRing} from "@react-aria/focus";
244
+ import {mergeProps, chain} from "@react-aria/utils";
245
+ import {__DEV__, warn, clsx, dataAttr, safeAriaLabel} from "@nextui-org/shared-utils";
246
+ @@ -182,38 +182,15 @@ export function useCheckbox(props: UseCheckboxProps = {}) {
247
+
248
+ const toggleState = useToggleState(ariaCheckboxProps);
249
+
250
+ - const {
251
+ - inputProps,
252
+ - isSelected,
253
+ - isDisabled,
254
+ - isReadOnly,
255
+ - isPressed: isPressedKeyboard,
256
+ - } = isInGroup
257
+ + const {inputProps, isSelected, isDisabled, isReadOnly, isPressed} = isInGroup
258
+ ? // eslint-disable-next-line
259
+ useReactAriaCheckboxGroupItem({...ariaCheckboxProps}, groupContext.groupState, inputRef)
260
+ : // eslint-disable-next-line
261
+ useReactAriaCheckbox({...ariaCheckboxProps}, toggleState, inputRef);
262
+
263
+ const isInteractionDisabled = isDisabled || isReadOnly;
264
+
265
+ - // Handle press state for full label. Keyboard press state is returned by useCheckbox
266
+ - // since it is handled on the <input> element itself.
267
+ - const [isPressed, setPressed] = useState(false);
268
+ - const {pressProps} = usePress({
269
+ - isDisabled: isInteractionDisabled,
270
+ - onPressStart(e) {
271
+ - if (e.pointerType !== "keyboard") {
272
+ - setPressed(true);
273
+ - }
274
+ - },
275
+ - onPressEnd(e) {
276
+ - if (e.pointerType !== "keyboard") {
277
+ - setPressed(false);
278
+ - }
279
+ - },
280
+ - });
281
+ -
282
+ - const pressed = isInteractionDisabled ? false : isPressed || isPressedKeyboard;
283
+ + const pressed = isInteractionDisabled ? false : isPressed;
284
+
285
+ const {hoverProps, isHovered} = useHover({
286
+ isDisabled: inputProps.disabled,
287
+ @@ -277,7 +254,7 @@ export function useCheckbox(props: UseCheckboxProps = {}) {
288
+ "data-readonly": dataAttr(inputProps.readOnly),
289
+ "data-focus-visible": dataAttr(isFocusVisible),
290
+ "data-indeterminate": dataAttr(isIndeterminate),
291
+ - ...mergeProps(hoverProps, pressProps, otherProps),
292
+ + ...mergeProps(hoverProps, otherProps),
293
+ };
294
+ }, [
295
+ slots,
296
+ @@ -292,7 +269,6 @@ export function useCheckbox(props: UseCheckboxProps = {}) {
297
+ inputProps.readOnly,
298
+ isFocusVisible,
299
+ hoverProps,
300
+ - pressProps,
301
+ otherProps,
302
+ ]);
303
+ \n- packages/components/radio/src/use-radio.ts (modified, 33 changes)\n Patch: @@ -1,10 +1,10 @@
304
+ import type {AriaRadioProps} from "@react-types/radio";
305
+ import type {RadioVariantProps, RadioSlots, SlotsToClasses} from "@nextui-org/theme";
306
+
307
+ -import {Ref, ReactNode, useCallback, useId, useState} from "react";
308
+ +import {Ref, ReactNode, useCallback, useId} from "react";
309
+ import {useMemo, useRef} from "react";
310
+ import {useFocusRing} from "@react-aria/focus";
311
+ -import {useHover, usePress} from "@react-aria/interactions";
312
+ +import {useHover} from "@react-aria/interactions";
313
+ import {radio} from "@nextui-org/theme";
314
+ import {useRadio as useReactAriaRadio} from "@react-aria/radio";
315
+ import {HTMLNextUIProps, PropGetter, useProviderContext} from "@nextui-org/system";
316
+ @@ -115,12 +115,7 @@ export function useRadio(props: UseRadioProps) {
317
+ descriptionId,
318
+ ]);
319
+
320
+ - const {
321
+ - inputProps,
322
+ - isDisabled,
323
+ - isSelected,
324
+ - isPressed: isPressedKeyboard,
325
+ - } = useReactAriaRadio(
326
+ + const {inputProps, isDisabled, isSelected, isPressed} = useReactAriaRadio(
327
+ {
328
+ value,
329
+ children: typeof children === "function" ? true : children,
330
+ @@ -135,29 +130,11 @@ export function useRadio(props: UseRadioProps) {
331
+ });
332
+
333
+ const interactionDisabled = isDisabled || inputProps.readOnly;
334
+ -
335
+ - // Handle press state for full label. Keyboard press state is returned by useCheckbox
336
+ - // since it is handled on the <input> element itself.
337
+ - const [isPressed, setPressed] = useState(false);
338
+ - const {pressProps} = usePress({
339
+ - isDisabled: interactionDisabled,
340
+ - onPressStart(e) {
341
+ - if (e.pointerType !== "keyboard") {
342
+ - setPressed(true);
343
+ - }
344
+ - },
345
+ - onPressEnd(e) {
346
+ - if (e.pointerType !== "keyboard") {
347
+ - setPressed(false);
348
+ - }
349
+ - },
350
+ - });
351
+ -
352
+ const {hoverProps, isHovered} = useHover({
353
+ isDisabled: interactionDisabled,
354
+ });
355
+
356
+ - const pressed = interactionDisabled ? false : isPressed || isPressedKeyboard;
357
+ + const pressed = interactionDisabled ? false : isPressed;
358
+
359
+ const slots = useMemo(
360
+ () =>
361
+ @@ -189,7 +166,7 @@ export function useRadio(props: UseRadioProps) {
362
+ "data-hover-unselected": dataAttr(isHovered && !isSelected),
363
+ "data-readonly": dataAttr(inputProps.readOnly),
364
+ "aria-required": dataAttr(isRequired),
365
+ - ...mergeProps(hoverProps, pressProps, otherProps),
366
+ + ...mergeProps(hoverProps, otherProps),
367
+ };
368
+ },
369
+ [\n- packages/components/switch/src/use-switch.ts (modified, 32 changes)\n Patch: @@ -2,11 +2,11 @@ import type {ToggleVariantProps, ToggleSlots, SlotsToClasses} from "@nextui-org/
370
+ import type {AriaSwitchProps} from "@react-aria/switch";
371
+ import type {HTMLNextUIProps, PropGetter} from "@nextui-org/system";
372
+
373
+ -import {ReactNode, Ref, useCallback, useId, useRef, useState} from "react";
374
+ +import {ReactNode, Ref, useCallback, useId, useRef} from "react";
375
+ import {mapPropsVariants, useProviderContext} from "@nextui-org/system";
376
+ import {mergeRefs} from "@nextui-org/react-utils";
377
+ import {useSafeLayoutEffect} from "@nextui-org/use-safe-layout-effect";
378
+ -import {useHover, usePress} from "@react-aria/interactions";
379
+ +import {useHover} from "@react-aria/interactions";
380
+ import {toggle} from "@nextui-org/theme";
381
+ import {chain, mergeProps} from "@react-aria/utils";
382
+ import {clsx, dataAttr, objectToDeps} from "@nextui-org/shared-utils";
383
+ @@ -155,36 +155,14 @@ export function useSwitch(originalProps: UseSwitchProps = {}) {
384
+ state.setSelected(isInputRefChecked);
385
+ }, [inputRef.current]);
386
+
387
+ - const {
388
+ - inputProps,
389
+ - isPressed: isPressedKeyboard,
390
+ - isReadOnly,
391
+ - } = useReactAriaSwitch(ariaSwitchProps, state, inputRef);
392
+ + const {inputProps, isPressed, isReadOnly} = useReactAriaSwitch(ariaSwitchProps, state, inputRef);
393
+ const {focusProps, isFocused, isFocusVisible} = useFocusRing({autoFocus: inputProps.autoFocus});
394
+ const {hoverProps, isHovered} = useHover({
395
+ isDisabled: inputProps.disabled,
396
+ });
397
+
398
+ const isInteractionDisabled = ariaSwitchProps.isDisabled || isReadOnly;
399
+ -
400
+ - // Handle press state for full label. Keyboard press state is returned by useSwitch
401
+ - // since it is handled on the <input> element itself.
402
+ - const [isPressed, setPressed] = useState(false);
403
+ - const {pressProps} = usePress({
404
+ - isDisabled: isInteractionDisabled,
405
+ - onPressStart(e) {
406
+ - if (e.pointerType !== "keyboard") {
407
+ - setPressed(true);
408
+ - }
409
+ - },
410
+ - onPressEnd(e) {
411
+ - if (e.pointerType !== "keyboard") {
412
+ - setPressed(false);
413
+ - }
414
+ - },
415
+ - });
416
+ -
417
+ - const pressed = isInteractionDisabled ? false : isPressed || isPressedKeyboard;
418
+ + const pressed = isInteractionDisabled ? false : isPressed;
419
+
420
+ const isSelected = inputProps.checked;
421
+ const isDisabled = inputProps.disabled;
422
+ @@ -202,7 +180,7 @@ export function useSwitch(originalProps: UseSwitchProps = {}) {
423
+
424
+ const getBaseProps: PropGetter = (props) => {
425
+ return {
426
+ - ...mergeProps(hoverProps, pressProps, otherProps, props),
427
+ + ...mergeProps(hoverProps, otherProps, props),
428
+ ref: domRef,
429
+ className: slots.base({class: clsx(baseStyles, props?.className)}),
430
+ "data-disabled": dataAttr(isDisabled),\n
processed_docs/pr_data_0_doc_4.txt ADDED
@@ -0,0 +1,1002 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4285
2
+ Title: Feat(table): virtualization
3
+ Base Branch: canary
4
+ Head Branch: feat/eng-1633-virtualization-for-table
5
+ Author: vinroger
6
+ URL: https://github.com/nextui-org/nextui/pull/4285
7
+ State: OPEN
8
+ Created At: 2024-12-09T03:47:21Z
9
+ Merged At: None
10
+ Participants: vinroger
11
+
12
+ Description:
13
+ Results: Demo for 10000 rows + Full Page Refresh (Delay reduced significantly)
14
+
15
+
16
+
17
+
18
+
19
+ table.virtualized.mp4
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+ πŸ“ Description
29
+ This PR introduces virtualization support for the Table component, enabling efficient rendering and handling of large datasets by only rendering visible items in the viewport. The implementation utilizes the @tanstack/react-virtual library and adds several customizable props to enhance usability and performance.
30
+ ⛳️ Current behavior (updates)
31
+ The current Table component renders all rows in the DOM, which can lead to significant performance issues when displaying large datasets.
32
+ πŸš€ New behavior
33
+
34
+
35
+ Virtualization Support:
36
+
37
+ Added isVirtualized prop to enable virtualization.
38
+ Introduced new props:
39
+
40
+ rowHeight: Specifies the height of each row (default: 40px).
41
+ maxTableHeight: Sets the maximum height of the table (default: 600px).
42
+
43
+
44
+
45
+
46
+
47
+ Documentation and Examples:
48
+
49
+ Added examples demonstrating:
50
+
51
+ Virtualized table with 10,000 rows.
52
+ Custom rowHeight for variable row sizes.
53
+ Custom maxTableHeight configurations.
54
+
55
+
56
+
57
+
58
+
59
+ Performance Improvements:
60
+
61
+ Virtualization efficiently renders only visible rows, reducing DOM node usage and improving performance.
62
+
63
+
64
+
65
+ πŸ’£ Is this a breaking change (Yes/No):
66
+ No
67
+ πŸ“ Additional Information
68
+ This feature is powered by the @tanstack/react-virtual library for efficient list rendering. All new props and behavior changes are backward-compatible, ensuring seamless integration with existing implementations.
69
+ Summary by CodeRabbit
70
+
71
+ Summary by CodeRabbit
72
+
73
+
74
+ New Features
75
+
76
+ Introduced virtualization support for the Table component, allowing efficient rendering of large datasets.
77
+ Added new props: isVirtualized, rowHeight, and maxTableHeight for enhanced configurability.
78
+ New examples in documentation demonstrating virtualization with 500 and 10,000 rows.
79
+
80
+
81
+
82
+ Bug Fixes
83
+
84
+ Updated type handling for the TableRowGroup component to improve type safety.
85
+
86
+
87
+
88
+ Documentation
89
+
90
+ Enhanced documentation for the Table component with new sections on virtualization and updated API details.
91
+
92
+
93
+
94
+ Chores
95
+
96
+ Updated dependencies in the package configuration.
97
+
98
+ Commits:
99
+ - feat: baseline virtualization for table\n- merge branch canary\n- fix: table layout\n- fix: calc header height w layouteffect to offset padding\n- Merge branch 'canary' into feat/eng-1633-virtualization-for-table\n- Merge branch 'canary' into feat/eng-1633-virtualization-for-table\n- chore: remove unused files and comments\n- chore: add missing package\n- feat: add shouldVirtualize conditional to render virtualized-table\n- feat: update docs for table\n- feat: use wrapper to support theme styles\n
100
+
101
+ Labels:
102
+
103
+
104
+ Comments:
105
+ - linear: <p><a href="https://linear.app/nextui-inc/issue/ENG-1633/virtualization-for-table">ENG-1633 Virtualization for Table</a></p>\n- changeset-bot: ### ⚠️ No Changeset found
106
+
107
+ Latest commit: 3308771a703187232e402ce75ed349dab1e8ea1e
108
+
109
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
110
+
111
+ <details><summary>This PR includes no changesets</summary>
112
+
113
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
114
+
115
+ </details>
116
+
117
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
118
+
119
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/feat/eng-1633-virtualization-for-table?filename=.changeset/lovely-games-provide.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A%22%40nextui-org%2Ftable%22%3A%20patch%0A---%0A%0A%5BDRAFT%5D%20Feat(table)%3A%20virtualization%0A)
120
+
121
+ \n- vercel: [vc]: #MeTxs2/UFNgUt842By0Go97U3eAyM34HxIFHnUNDxBU=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9HUXFvb1BxNXEyYUdUVFk0cEo0YUJ5UG8xUFlyIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1mZWF0LWVuZy0xNjMzLXZpcnR1YWxpemF0aS0zZjcyZDYtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1mZWF0LWVuZy0xNjMzLXZpcnR1YWxpemF0aS0zZjcyZDYtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi82WWdjeFFUZkpGdDFpQUJldEd4amFpbjNaZzhKIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZlYXQtZW5nLTE2MzMtdmlydHVhbC01OWY3YzctbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZlYXQtZW5nLTE2MzMtdmlydHVhbC01OWY3YzctbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
122
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
123
+
124
+ | Name | Status | Preview | Comments | Updated (UTC) |
125
+ | :--- | :----- | :------ | :------- | :------ |
126
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/GQqooPq5q2aGTTY4pJ4aByPo1PYr)) | [Visit Preview](https://nextui-docs-v2-git-feat-eng-1633-virtualizati-3f72d6-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-feat-eng-1633-virtualizati-3f72d6-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 9:33am |
127
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/6YgcxQTfJFt1iABetGxjain3Zg8J)) | [Visit Preview](https://nextui-storybook-v2-git-feat-eng-1633-virtual-59f7c7-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-feat-eng-1633-virtual-59f7c7-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 9, 2024 9:33am |
128
+
129
+
130
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
131
+
132
+
133
+ <!-- walkthrough_start -->
134
+
135
+ ## Walkthrough
136
+ The changes in this pull request involve updates to the documentation and functionality of various table components within the NextUI framework. Key modifications include the introduction of virtualization features to enhance performance when rendering large datasets. The `routes.json` configuration has been updated to reflect new and updated content for documentation, while several new React components have been created to support virtualized table rendering. Additionally, the documentation has been enhanced to include new props related to virtualization, ensuring comprehensive guidance for users.
137
+
138
+ ## Changes
139
+
140
+ | File Path | Change Summary |
141
+ |-----------|----------------|
142
+ | `apps/docs/config/routes.json` | Updated multiple routes with `updated` and `newPost` flags; added `comingSoon` for `toast`. |
143
+ | `apps/docs/content/components/table/index.ts` | Added imports for virtualization-related features and updated `tableContent` export. |
144
+ | `apps/docs/content/components/table/virtualization-custom-max-table-height.raw.jsx` | Introduced a new component for a virtualized table with a max height of 300px. |
145
+ | `apps/docs/content/components/table/virtualization-custom-max-table-height.ts` | Created a module to export the new virtualized table component. |
146
+ | `apps/docs/content/components/table/virtualization-custom-row-height.raw.jsx` | Added a new component for a virtualized table with a max height of 500px. |
147
+ | `apps/docs/content/components/table/virtualization-custom-row-height.ts` | Created a module to export the new virtualized table component. |
148
+ | `apps/docs/content/components/table/virtualization-ten-thousand.raw.jsx` | Introduced a new component for a virtualized table capable of displaying 10,000 rows. |
149
+ | `apps/docs/content/components/table/virtualization-ten-thousand.ts` | Created a module to export the new virtualized table component. |
150
+ | `apps/docs/content/components/table/virtualization.raw.jsx` | Added a new component for rendering a virtualized table with 500 rows. |
151
+ | `apps/docs/content/components/table/virtualization.ts` | Created a module to export the new virtualized table component. |
152
+ | `apps/docs/content/docs/components/table.mdx` | Enhanced documentation with new props for virtualization and examples for large datasets. |
153
+ | `packages/components/table/package.json` | Added a new dependency on `@tanstack/react-virtual`. |
154
+ | `packages/components/table/src/table-row-group.tsx` | Updated the type of the forwarded ref in `TableRowGroup` from `"thead"` to `any`. |
155
+ | `packages/components/table/src/table.tsx` | Modified `TableProps` to include virtualization-related props and updated rendering logic. |
156
+ | `packages/components/table/src/virtualized-table-body.tsx` | Introduced `VirtualizedTableBody` component for rendering virtualized table bodies. |
157
+ | `packages/components/table/src/virtualized-table.tsx` | Created `VirtualizedTable` component to enhance rendering performance through virtualization. |
158
+ | `packages/components/table/stories/table.stories.tsx` | Added new story templates for virtualized table scenarios with 500 and 10,000 rows. |
159
+
160
+ ## Possibly related issues
161
+ - **nextui-org/nextui#3697**: This PR addresses the feature request for table virtualization, which is directly supported by the changes made in this pull request.
162
+
163
+ ## Possibly related PRs
164
+ - **#4203**: Introduces virtualization support for the `Select` component, aligning with the overall focus on enhancing component functionality.
165
+ - **#3735**: Adds an `isKeyboardNavigationDisabled` prop to the `Table` component, relevant to the updates in the table documentation.
166
+ - **#3822**: Adds a forms guide, relevant as it complements the new route for the "Forms" section in the documentation.
167
+ - **#4207**: Addresses ref handling in various components, including `select`, relevant to the documentation updates for the `select` component.
168
+
169
+ ## Suggested reviewers
170
+ - **jrgarciadev**: Suggested for review due to their expertise in the components being modified.
171
+
172
+ <!-- walkthrough_end -->
173
+ <!-- internal state start -->
174
+
175
+
176
+ <!-- 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 -->
177
+
178
+ <!-- internal state end -->
179
+ <!-- tips_start -->
180
+
181
+ ---
182
+
183
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
184
+
185
+ <details>
186
+ <summary>❀️ Share</summary>
187
+
188
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
189
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
190
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
191
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
192
+
193
+ </details>
194
+
195
+ <details>
196
+ <summary>πŸͺ§ Tips</summary>
197
+
198
+ ### Chat
199
+
200
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
201
+
202
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
203
+ - `I pushed a fix in commit <commit_id>, please review it.`
204
+ - `Generate unit testing code for this file.`
205
+ - `Open a follow-up GitHub issue for this discussion.`
206
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
207
+ - `@coderabbitai generate unit testing code for this file.`
208
+ - `@coderabbitai modularize this function.`
209
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
210
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
211
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
212
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
213
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
214
+
215
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
216
+
217
+ ### CodeRabbit Commands (Invoked using PR comments)
218
+
219
+ - `@coderabbitai pause` to pause the reviews on a PR.
220
+ - `@coderabbitai resume` to resume the paused reviews.
221
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
222
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
223
+ - `@coderabbitai summary` to regenerate the summary of the PR.
224
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
225
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
226
+ - `@coderabbitai help` to get help.
227
+
228
+ ### Other keywords and placeholders
229
+
230
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
231
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
232
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
233
+
234
+ ### Documentation and Community
235
+
236
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
237
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
238
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
239
+
240
+ </details>
241
+
242
+ <!-- tips_end -->\n
243
+
244
+ Files Changed:
245
+ - apps/docs/config/routes.json (modified, 3 changes)\n Patch: @@ -410,7 +410,8 @@
246
+ "key": "table",
247
+ "title": "Table",
248
+ "keywords": "table, data display, grid, spreadsheet",
249
+ - "path": "/docs/components/table.mdx"
250
+ + "path": "/docs/components/table.mdx",
251
+ + "updated": true
252
+ },
253
+ {
254
+ "key": "tabs",\n- apps/docs/content/components/table/index.ts (modified, 8 changes)\n Patch: @@ -19,6 +19,10 @@ import asyncPagination from "./async-pagination";
255
+ import infinitePagination from "./infinite-pagination";
256
+ import useCase from "./use-case";
257
+ import customStyles from "./custom-styles";
258
+ +import virtualization from "./virtualization";
259
+ +import virtualizationCustomItemHeight from "./virtualization-custom-row-height";
260
+ +import virtualizationCustomMaxTableHeight from "./virtualization-custom-max-table-height";
261
+ +import virtualizationTenThousand from "./virtualization-ten-thousand";
262
+
263
+ export const tableContent = {
264
+ usage,
265
+ @@ -42,4 +46,8 @@ export const tableContent = {
266
+ infinitePagination,
267
+ useCase,
268
+ customStyles,
269
+ + virtualization,
270
+ + virtualizationCustomItemHeight,
271
+ + virtualizationCustomMaxTableHeight,
272
+ + virtualizationTenThousand,
273
+ };\n- apps/docs/content/components/table/virtualization-custom-max-table-height.raw.jsx (added, 37 changes)\n Patch: @@ -0,0 +1,37 @@
274
+ +import {Table, TableBody, TableCell, TableColumn, TableHeader, TableRow} from "@nextui-org/react";
275
+ +
276
+ +function generateRows(count) {
277
+ + return Array.from({length: count}, (_, index) => ({
278
+ + key: index.toString(),
279
+ + name: `Item ${index + 1}`,
280
+ + value: `Value ${index + 1}`,
281
+ + }));
282
+ +}
283
+ +
284
+ +export default function App() {
285
+ + const rows = generateRows(500);
286
+ + const columns = [
287
+ + {key: "name", label: "Name"},
288
+ + {key: "value", label: "Value"},
289
+ + ];
290
+ +
291
+ + return (
292
+ + <Table
293
+ + isVirtualized
294
+ + aria-label="Example of virtualized table with a large dataset"
295
+ + maxTableHeight={300}
296
+ + rowHeight={40}
297
+ + >
298
+ + <TableHeader columns={columns}>
299
+ + {(column) => <TableColumn key={column.key}>{column.label}</TableColumn>}
300
+ + </TableHeader>
301
+ + <TableBody items={rows}>
302
+ + {(item) => (
303
+ + <TableRow key={item.key}>
304
+ + {(columnKey) => <TableCell>{item[columnKey]}</TableCell>}
305
+ + </TableRow>
306
+ + )}
307
+ + </TableBody>
308
+ + </Table>
309
+ + );
310
+ +}\n- apps/docs/content/components/table/virtualization-custom-max-table-height.ts (added, 9 changes)\n Patch: @@ -0,0 +1,9 @@
311
+ +import App from "./virtualization-custom-max-table-height.raw.jsx?raw";
312
+ +
313
+ +const react = {
314
+ + "/App.jsx": App,
315
+ +};
316
+ +
317
+ +export default {
318
+ + ...react,
319
+ +};\n- apps/docs/content/components/table/virtualization-custom-row-height.raw.jsx (added, 37 changes)\n Patch: @@ -0,0 +1,37 @@
320
+ +import {Table, TableBody, TableCell, TableColumn, TableHeader, TableRow} from "@nextui-org/react";
321
+ +
322
+ +function generateRows(count) {
323
+ + return Array.from({length: count}, (_, index) => ({
324
+ + key: index.toString(),
325
+ + name: `Item ${index + 1}`,
326
+ + value: `Value ${index + 1}`,
327
+ + }));
328
+ +}
329
+ +
330
+ +export default function App() {
331
+ + const rows = generateRows(500);
332
+ + const columns = [
333
+ + {key: "name", label: "Name"},
334
+ + {key: "value", label: "Value"},
335
+ + ];
336
+ +
337
+ + return (
338
+ + <Table
339
+ + isVirtualized
340
+ + aria-label="Example of virtualized table with a large dataset"
341
+ + maxTableHeight={500}
342
+ + rowHeight={70}
343
+ + >
344
+ + <TableHeader columns={columns}>
345
+ + {(column) => <TableColumn key={column.key}>{column.label}</TableColumn>}
346
+ + </TableHeader>
347
+ + <TableBody items={rows}>
348
+ + {(item) => (
349
+ + <TableRow key={item.key}>
350
+ + {(columnKey) => <TableCell>{item[columnKey]}</TableCell>}
351
+ + </TableRow>
352
+ + )}
353
+ + </TableBody>
354
+ + </Table>
355
+ + );
356
+ +}\n- apps/docs/content/components/table/virtualization-custom-row-height.ts (added, 9 changes)\n Patch: @@ -0,0 +1,9 @@
357
+ +import App from "./virtualization-custom-row-height.raw.jsx?raw";
358
+ +
359
+ +const react = {
360
+ + "/App.jsx": App,
361
+ +};
362
+ +
363
+ +export default {
364
+ + ...react,
365
+ +};\n- apps/docs/content/components/table/virtualization-ten-thousand.raw.jsx (added, 37 changes)\n Patch: @@ -0,0 +1,37 @@
366
+ +import {Table, TableBody, TableCell, TableColumn, TableHeader, TableRow} from "@nextui-org/react";
367
+ +
368
+ +function generateRows(count) {
369
+ + return Array.from({length: count}, (_, index) => ({
370
+ + key: index.toString(),
371
+ + name: `Item ${index + 1}`,
372
+ + value: `Value ${index + 1}`,
373
+ + }));
374
+ +}
375
+ +
376
+ +export default function App() {
377
+ + const rows = generateRows(10000);
378
+ + const columns = [
379
+ + {key: "name", label: "Name"},
380
+ + {key: "value", label: "Value"},
381
+ + ];
382
+ +
383
+ + return (
384
+ + <Table
385
+ + isVirtualized
386
+ + aria-label="Example of virtualized table with a large dataset"
387
+ + maxTableHeight={500}
388
+ + rowHeight={40}
389
+ + >
390
+ + <TableHeader columns={columns}>
391
+ + {(column) => <TableColumn key={column.key}>{column.label}</TableColumn>}
392
+ + </TableHeader>
393
+ + <TableBody items={rows}>
394
+ + {(item) => (
395
+ + <TableRow key={item.key}>
396
+ + {(columnKey) => <TableCell>{item[columnKey]}</TableCell>}
397
+ + </TableRow>
398
+ + )}
399
+ + </TableBody>
400
+ + </Table>
401
+ + );
402
+ +}\n- apps/docs/content/components/table/virtualization-ten-thousand.ts (added, 9 changes)\n Patch: @@ -0,0 +1,9 @@
403
+ +import App from "./virtualization-ten-thousand.raw.jsx?raw";
404
+ +
405
+ +const react = {
406
+ + "/App.jsx": App,
407
+ +};
408
+ +
409
+ +export default {
410
+ + ...react,
411
+ +};\n- apps/docs/content/components/table/virtualization.raw.jsx (added, 37 changes)\n Patch: @@ -0,0 +1,37 @@
412
+ +import {Table, TableBody, TableCell, TableColumn, TableHeader, TableRow} from "@nextui-org/react";
413
+ +
414
+ +function generateRows(count) {
415
+ + return Array.from({length: count}, (_, index) => ({
416
+ + key: index.toString(),
417
+ + name: `Item ${index + 1}`,
418
+ + value: `Value ${index + 1}`,
419
+ + }));
420
+ +}
421
+ +
422
+ +export default function App() {
423
+ + const rows = generateRows(500);
424
+ + const columns = [
425
+ + {key: "name", label: "Name"},
426
+ + {key: "value", label: "Value"},
427
+ + ];
428
+ +
429
+ + return (
430
+ + <Table
431
+ + isVirtualized
432
+ + aria-label="Example of virtualized table with a large dataset"
433
+ + maxTableHeight={500}
434
+ + rowHeight={40}
435
+ + >
436
+ + <TableHeader columns={columns}>
437
+ + {(column) => <TableColumn key={column.key}>{column.label}</TableColumn>}
438
+ + </TableHeader>
439
+ + <TableBody items={rows}>
440
+ + {(item) => (
441
+ + <TableRow key={item.key}>
442
+ + {(columnKey) => <TableCell>{item[columnKey]}</TableCell>}
443
+ + </TableRow>
444
+ + )}
445
+ + </TableBody>
446
+ + </Table>
447
+ + );
448
+ +}\n- apps/docs/content/components/table/virtualization.ts (added, 9 changes)\n Patch: @@ -0,0 +1,9 @@
449
+ +import App from "./virtualization.raw.jsx?raw";
450
+ +
451
+ +const react = {
452
+ + "/App.jsx": App,
453
+ +};
454
+ +
455
+ +export default {
456
+ + ...react,
457
+ +};\n- apps/docs/content/docs/components/table.mdx (modified, 48 changes)\n Patch: @@ -317,6 +317,36 @@ import { useAsyncList } from "@react-stately/data";
458
+ iframeSrc="/examples/table/infinite-pagination"
459
+ />
460
+
461
+ +
462
+ +### Virtualization
463
+ +
464
+ +Table supports virtualization, which allows efficient rendering of large lists by only rendering items that are visible in the viewport. You can enable virtualization by setting the `isVirtualized` prop to `true`.
465
+ +
466
+ +<CodeDemo
467
+ + title="Virtualization"
468
+ + files={tableContent.virtualization}
469
+ +/>
470
+ +
471
+ +> **Note**: The virtualization strategy is based on the [@tanstack/react-virtual](https://tanstack.com/virtual/latest) package, which provides efficient rendering of large lists by only rendering items that are visible in the viewport.
472
+ +
473
+ +#### Ten Thousand Items
474
+ +
475
+ +Here's an example of using virtualization with 10,000 items.
476
+ +
477
+ +<CodeDemo title="Ten Thousand Items" files={tableContent.virtualizationTenThousand} />
478
+ +
479
+ +#### Max Table Height
480
+ +
481
+ +The `maxTableHeight` prop is used to set the maximum height of the table. This is required when using virtualization. By default, it's set to `600`.
482
+ +
483
+ +<CodeDemo title="Max Table Height" files={tableContent.virtualizationCustomMaxTableHeight} />
484
+ +
485
+ +#### Custom Row Height
486
+ +
487
+ +The `rowHeight` prop is used to set the height of each row in the table. This is required when using virtualization. By default, it's set to `40`.
488
+ +
489
+ +<CodeDemo title="Custom Row Height" files={tableContent.virtualizationCustomItemHeight} />
490
+ +
491
+ ### Use Case Example
492
+
493
+ When creating a table, you usually need core functionalities like sorting, pagination, and filtering. In the
494
+ @@ -456,6 +486,24 @@ You can customize the `Table` component by passing custom Tailwind CSS classes t
495
+ type: "none | sm | md | lg",
496
+ description: "The shadow size of the table.",
497
+ default: "sm"
498
+ + },
499
+ + {
500
+ + attribute: "maxTableHeight",
501
+ + type: "number",
502
+ + description: "The maximum height of the table in pixels. Required when using virtualization.",
503
+ + default: 600
504
+ + },
505
+ + {
506
+ + attribute: "rowHeight",
507
+ + type: "number",
508
+ + description: "The fixed height of each row item in pixels. Required when using virtualization.",
509
+ + default: 40
510
+ + },
511
+ + {
512
+ + attribute: "isVirtualized",
513
+ + type: "boolean",
514
+ + description: "Whether to enable virtualization. By default, it's enabled when the number of items exceeds 50.",
515
+ + default: "undefined"
516
+ },
517
+ {
518
+ attribute: "hideHeader",\n- packages/components/table/package.json (modified, 3 changes)\n Patch: @@ -53,7 +53,8 @@
519
+ "@react-stately/table": "3.13.0",
520
+ "@react-stately/virtualizer": "4.2.0",
521
+ "@react-types/grid": "3.2.10",
522
+ - "@react-types/table": "3.10.3"
523
+ + "@react-types/table": "3.10.3",
524
+ + "@tanstack/react-virtual": "^3.10.9"
525
+ },
526
+ "devDependencies": {
527
+ "@nextui-org/theme": "workspace:*",\n- packages/components/table/src/table-row-group.tsx (modified, 2 changes)\n Patch: @@ -11,7 +11,7 @@ export interface TableRowGroupProps extends HTMLNextUIProps<"thead"> {
528
+ classNames?: ValuesType["classNames"];
529
+ }
530
+
531
+ -const TableRowGroup = forwardRef<"thead", TableRowGroupProps>((props, ref) => {
532
+ +const TableRowGroup = forwardRef<any, TableRowGroupProps>((props, ref) => {
533
+ const {as, className, children, slots, classNames, ...otherProps} = props;
534
+
535
+ const Component = as || "thead";\n- packages/components/table/src/table.tsx (modified, 23 changes)\n Patch: @@ -3,13 +3,19 @@ import {Spacer} from "@nextui-org/spacer";
536
+ import {forwardRef} from "@nextui-org/system";
537
+
538
+ import {UseTableProps, useTable} from "./use-table";
539
+ +import VirtualizedTable from "./virtualized-table";
540
+ import TableRowGroup from "./table-row-group";
541
+ import TableHeaderRow from "./table-header-row";
542
+ import TableColumnHeader from "./table-column-header";
543
+ import TableSelectAllCheckbox from "./table-select-all-checkbox";
544
+ import TableBody from "./table-body";
545
+
546
+ -export interface TableProps extends Omit<UseTableProps, "isSelectable" | "isMultiSelectable"> {}
547
+ +export interface TableProps<T = object>
548
+ + extends Omit<UseTableProps<T>, "isSelectable" | "isMultiSelectable"> {
549
+ + isVirtualized?: boolean;
550
+ + rowHeight?: number;
551
+ + maxTableHeight?: number;
552
+ +}
553
+
554
+ const Table = forwardRef<"table", TableProps>((props, ref) => {
555
+ const {
556
+ @@ -30,6 +36,10 @@ const Table = forwardRef<"table", TableProps>((props, ref) => {
557
+ ref,
558
+ });
559
+
560
+ + const {isVirtualized, rowHeight = 40, maxTableHeight = 600} = props;
561
+ +
562
+ + const shouldVirtualize = values.collection.size > 50 || isVirtualized;
563
+ +
564
+ const Wrapper = useCallback(
565
+ ({children}: {children: JSX.Element}) => {
566
+ if (removeWrapper) {
567
+ @@ -41,6 +51,17 @@ const Table = forwardRef<"table", TableProps>((props, ref) => {
568
+ [removeWrapper, getWrapperProps],
569
+ );
570
+
571
+ + if (shouldVirtualize) {
572
+ + return (
573
+ + <VirtualizedTable
574
+ + {...(props as TableProps)}
575
+ + ref={ref}
576
+ + maxTableHeight={maxTableHeight}
577
+ + rowHeight={rowHeight}
578
+ + />
579
+ + );
580
+ + }
581
+ +
582
+ return (
583
+ <div {...getBaseProps()}>
584
+ {topContentPlacement === "outside" && topContent}\n- packages/components/table/src/virtualized-table-body.tsx (added, 169 changes)\n Patch: @@ -0,0 +1,169 @@
585
+ +import {forwardRef, HTMLNextUIProps} from "@nextui-org/system";
586
+ +import {useDOMRef} from "@nextui-org/react-utils";
587
+ +import {clsx, dataAttr} from "@nextui-org/shared-utils";
588
+ +import {useTableRowGroup} from "@react-aria/table";
589
+ +import {filterDOMProps} from "@nextui-org/react-utils";
590
+ +import {mergeProps} from "@react-aria/utils";
591
+ +import {Virtualizer} from "@tanstack/react-virtual";
592
+ +
593
+ +import TableRow from "./table-row";
594
+ +import TableCell from "./table-cell";
595
+ +import TableCheckboxCell from "./table-checkbox-cell";
596
+ +import {ValuesType} from "./use-table";
597
+ +
598
+ +// @internal
599
+ +export interface VirtualizedTableBodyProps extends HTMLNextUIProps<"tbody"> {
600
+ + slots: ValuesType["slots"];
601
+ + collection: ValuesType["collection"];
602
+ + state: ValuesType["state"];
603
+ + isSelectable: ValuesType["isSelectable"];
604
+ + color: ValuesType["color"];
605
+ + disableAnimation: ValuesType["disableAnimation"];
606
+ + checkboxesProps: ValuesType["checkboxesProps"];
607
+ + selectionMode: ValuesType["selectionMode"];
608
+ + classNames?: ValuesType["classNames"];
609
+ + rowVirtualizer: Virtualizer<any, Element>;
610
+ +}
611
+ +
612
+ +const VirtualizedTableBody = forwardRef<"tbody", VirtualizedTableBodyProps>((props, ref) => {
613
+ + const {
614
+ + as,
615
+ + className,
616
+ + slots,
617
+ + state,
618
+ + collection,
619
+ + isSelectable,
620
+ + color,
621
+ + disableAnimation,
622
+ + checkboxesProps,
623
+ + selectionMode,
624
+ + classNames,
625
+ + rowVirtualizer,
626
+ + ...otherProps
627
+ + } = props;
628
+ +
629
+ + const Component = as || "tbody";
630
+ + const shouldFilterDOMProps = typeof Component === "string";
631
+ +
632
+ + const domRef = useDOMRef(ref);
633
+ +
634
+ + const {rowGroupProps} = useTableRowGroup();
635
+ +
636
+ + const tbodyStyles = clsx(classNames?.tbody, className);
637
+ + const bodyProps = collection?.body.props;
638
+ +
639
+ + const isLoading =
640
+ + bodyProps?.isLoading ||
641
+ + bodyProps?.loadingState === "loading" ||
642
+ + bodyProps?.loadingState === "loadingMore";
643
+ +
644
+ + const items = [...collection.body.childNodes];
645
+ +
646
+ + const virtualItems = rowVirtualizer.getVirtualItems();
647
+ +
648
+ + let emptyContent;
649
+ + let loadingContent;
650
+ +
651
+ + if (collection.size === 0 && bodyProps.emptyContent) {
652
+ + emptyContent = (
653
+ + <tr role="row">
654
+ + <td
655
+ + className={slots?.emptyWrapper({class: classNames?.emptyWrapper})}
656
+ + colSpan={collection.columnCount}
657
+ + role="gridcell"
658
+ + >
659
+ + {!isLoading && bodyProps.emptyContent}
660
+ + </td>
661
+ + </tr>
662
+ + );
663
+ + }
664
+ +
665
+ + if (isLoading && bodyProps.loadingContent) {
666
+ + loadingContent = (
667
+ + <tr role="row">
668
+ + <td
669
+ + className={slots?.loadingWrapper({class: classNames?.loadingWrapper})}
670
+ + colSpan={collection.columnCount}
671
+ + role="gridcell"
672
+ + >
673
+ + {bodyProps.loadingContent}
674
+ + </td>
675
+ + {!emptyContent && collection.size === 0 ? (
676
+ + <td className={slots?.emptyWrapper({class: classNames?.emptyWrapper})} />
677
+ + ) : null}
678
+ + </tr>
679
+ + );
680
+ + }
681
+ +
682
+ + return (
683
+ + <Component
684
+ + ref={domRef}
685
+ + {...mergeProps(
686
+ + rowGroupProps,
687
+ + filterDOMProps(bodyProps, {
688
+ + enabled: shouldFilterDOMProps,
689
+ + }),
690
+ + otherProps,
691
+ + )}
692
+ + className={slots.tbody?.({class: tbodyStyles})}
693
+ + data-empty={dataAttr(collection.size === 0)}
694
+ + data-loading={dataAttr(isLoading)}
695
+ + >
696
+ + {virtualItems.map((virtualRow, index) => {
697
+ + const row = items[virtualRow.index];
698
+ +
699
+ + if (!row) {
700
+ + return null;
701
+ + }
702
+ +
703
+ + return (
704
+ + <TableRow
705
+ + key={String(row.key)}
706
+ + classNames={classNames}
707
+ + isSelectable={isSelectable}
708
+ + node={row}
709
+ + slots={slots}
710
+ + state={state}
711
+ + style={{
712
+ + transform: `translateY(${virtualRow.start - index * virtualRow.size}px)`,
713
+ + height: `${virtualRow.size}px`,
714
+ + }}
715
+ + >
716
+ + {[...row.childNodes].map((cell) =>
717
+ + cell.props.isSelectionCell ? (
718
+ + <TableCheckboxCell
719
+ + key={String(cell.key)}
720
+ + checkboxesProps={checkboxesProps}
721
+ + classNames={classNames}
722
+ + color={color}
723
+ + disableAnimation={disableAnimation}
724
+ + node={cell}
725
+ + rowKey={row.key}
726
+ + selectionMode={selectionMode}
727
+ + slots={slots}
728
+ + state={state}
729
+ + />
730
+ + ) : (
731
+ + <TableCell
732
+ + key={String(cell.key)}
733
+ + classNames={classNames}
734
+ + node={cell}
735
+ + rowKey={row.key}
736
+ + slots={slots}
737
+ + state={state}
738
+ + />
739
+ + ),
740
+ + )}
741
+ + </TableRow>
742
+ + );
743
+ + })}
744
+ +
745
+ + {loadingContent}
746
+ + {emptyContent}
747
+ + </Component>
748
+ + );
749
+ +});
750
+ +
751
+ +VirtualizedTableBody.displayName = "NextUI.VirtualizedTableBody";
752
+ +
753
+ +export default VirtualizedTableBody;\n- packages/components/table/src/virtualized-table.tsx (added, 155 changes)\n Patch: @@ -0,0 +1,155 @@
754
+ +import {useCallback, useLayoutEffect, useRef, useState} from "react";
755
+ +import {Spacer} from "@nextui-org/spacer";
756
+ +import {forwardRef} from "@nextui-org/system";
757
+ +import {useVirtualizer} from "@tanstack/react-virtual";
758
+ +
759
+ +import {UseTableProps, useTable} from "./use-table";
760
+ +import TableRowGroup from "./table-row-group";
761
+ +import TableHeaderRow from "./table-header-row";
762
+ +import TableColumnHeader from "./table-column-header";
763
+ +import TableSelectAllCheckbox from "./table-select-all-checkbox";
764
+ +import VirtualizedTableBody from "./virtualized-table-body";
765
+ +
766
+ +export interface TableProps<T = object>
767
+ + extends Omit<UseTableProps<T>, "isSelectable" | "isMultiSelectable"> {
768
+ + isVirtualized?: boolean;
769
+ + rowHeight?: number;
770
+ + maxTableHeight?: number;
771
+ +}
772
+ +
773
+ +const VirtualizedTable = forwardRef<"table", TableProps>((props, ref) => {
774
+ + const {
775
+ + BaseComponent,
776
+ + Component,
777
+ + collection,
778
+ + values,
779
+ + topContent,
780
+ + topContentPlacement,
781
+ + bottomContentPlacement,
782
+ + bottomContent,
783
+ + removeWrapper,
784
+ + getBaseProps,
785
+ + getWrapperProps,
786
+ + getTableProps,
787
+ + } = useTable({
788
+ + ...props,
789
+ + ref,
790
+ + });
791
+ +
792
+ + const {rowHeight = 40, maxTableHeight = 600} = props;
793
+ +
794
+ + const Wrapper = useCallback(
795
+ + ({children}: {children: JSX.Element}) => {
796
+ + if (removeWrapper) {
797
+ + return children;
798
+ + }
799
+ +
800
+ + return (
801
+ + <BaseComponent
802
+ + {...getWrapperProps()}
803
+ + ref={parentRef}
804
+ + /* Display must be block to maintain the scroll "progress" */
805
+ + style={{height: maxTableHeight, display: "block"}}
806
+ + >
807
+ + {children}
808
+ + </BaseComponent>
809
+ + );
810
+ + },
811
+ + [removeWrapper, getWrapperProps, maxTableHeight],
812
+ + );
813
+ +
814
+ + const items = [...collection.body.childNodes];
815
+ +
816
+ + const count = items.length;
817
+ +
818
+ + const parentRef = useRef(null);
819
+ +
820
+ + const [headerHeight, setHeaderHeight] = useState(0);
821
+ +
822
+ + const headerRef = useRef<HTMLTableSectionElement>(null);
823
+ +
824
+ + useLayoutEffect(() => {
825
+ + if (headerRef.current) {
826
+ + setHeaderHeight(headerRef.current.getBoundingClientRect().height);
827
+ + }
828
+ + }, [headerRef]);
829
+ +
830
+ + const rowVirtualizer = useVirtualizer({
831
+ + count,
832
+ + getScrollElement: () => parentRef.current,
833
+ + estimateSize: () => rowHeight,
834
+ + overscan: 5,
835
+ + });
836
+ +
837
+ + return (
838
+ + <div {...getBaseProps()}>
839
+ + {/* We need to add p-1 to make the shadow-sm visible */}
840
+ + <Wrapper>
841
+ + <>
842
+ + {topContentPlacement === "outside" && topContent}
843
+ + <div style={{height: `calc(${rowVirtualizer.getTotalSize() + headerHeight}px)`}}>
844
+ + <>
845
+ + {topContentPlacement === "inside" && topContent}
846
+ + <Component {...getTableProps()}>
847
+ + <TableRowGroup ref={headerRef} classNames={values.classNames} slots={values.slots}>
848
+ + {collection.headerRows.map((headerRow) => (
849
+ + <TableHeaderRow
850
+ + key={headerRow?.key}
851
+ + classNames={values.classNames}
852
+ + node={headerRow}
853
+ + slots={values.slots}
854
+ + state={values.state}
855
+ + >
856
+ + {[...headerRow.childNodes].map((column) =>
857
+ + column?.props?.isSelectionCell ? (
858
+ + <TableSelectAllCheckbox
859
+ + key={column?.key}
860
+ + checkboxesProps={values.checkboxesProps}
861
+ + classNames={values.classNames}
862
+ + color={values.color}
863
+ + disableAnimation={values.disableAnimation}
864
+ + node={column}
865
+ + selectionMode={values.selectionMode}
866
+ + slots={values.slots}
867
+ + state={values.state}
868
+ + />
869
+ + ) : (
870
+ + <TableColumnHeader
871
+ + key={column?.key}
872
+ + classNames={values.classNames}
873
+ + node={column}
874
+ + slots={values.slots}
875
+ + state={values.state}
876
+ + />
877
+ + ),
878
+ + )}
879
+ + </TableHeaderRow>
880
+ + ))}
881
+ + <Spacer as="tr" tabIndex={-1} y={1} />
882
+ + </TableRowGroup>
883
+ + <VirtualizedTableBody
884
+ + checkboxesProps={values.checkboxesProps}
885
+ + classNames={values.classNames}
886
+ + collection={values.collection}
887
+ + color={values.color}
888
+ + disableAnimation={values.disableAnimation}
889
+ + isSelectable={values.isSelectable}
890
+ + rowVirtualizer={rowVirtualizer}
891
+ + selectionMode={values.selectionMode}
892
+ + slots={values.slots}
893
+ + state={values.state}
894
+ + />
895
+ + </Component>
896
+ + {bottomContentPlacement === "inside" && bottomContent}
897
+ + </>
898
+ + </div>
899
+ + {bottomContentPlacement === "outside" && bottomContent}
900
+ + </>
901
+ + </Wrapper>
902
+ + </div>
903
+ + );
904
+ +});
905
+ +
906
+ +VirtualizedTable.displayName = "NextUI.VirtualizedTable";
907
+ +
908
+ +export default VirtualizedTable;\n- packages/components/table/stories/table.stories.tsx (modified, 82 changes)\n Patch: @@ -1110,3 +1110,85 @@ export const TableWithSwitch = {
909
+ selectionMode: "multiple",
910
+ },
911
+ };
912
+ +
913
+ +function generateRows(count) {
914
+ + return Array.from({length: count}, (_, index) => ({
915
+ + key: index.toString(),
916
+ + name: `Item ${index + 1}`,
917
+ + value: `Value ${index + 1}`,
918
+ + }));
919
+ +}
920
+ +
921
+ +export const Virtualized = {
922
+ + render: (args: TableProps) => {
923
+ + const rows = generateRows(500);
924
+ + const columns = [
925
+ + {key: "name", label: "Name"},
926
+ + {key: "value", label: "Value"},
927
+ + ];
928
+ +
929
+ + return (
930
+ + <div>
931
+ + <Table
932
+ + aria-label="Example of virtualized table with a large dataset"
933
+ + {...args}
934
+ + isVirtualized
935
+ + maxTableHeight={300}
936
+ + rowHeight={40}
937
+ + >
938
+ + <TableHeader columns={columns}>
939
+ + {(column) => <TableColumn key={column.key}>{column.label}</TableColumn>}
940
+ + </TableHeader>
941
+ + <TableBody items={rows}>
942
+ + {(item) => (
943
+ + <TableRow key={item.key}>
944
+ + {(columnKey) => <TableCell>{item[columnKey]}</TableCell>}
945
+ + </TableRow>
946
+ + )}
947
+ + </TableBody>
948
+ + </Table>
949
+ + </div>
950
+ + );
951
+ + },
952
+ + args: {
953
+ + ...defaultProps,
954
+ + className: "max-w-3xl",
955
+ + },
956
+ +};
957
+ +
958
+ +export const TenThousandRows = {
959
+ + render: (args: TableProps) => {
960
+ + const rows = generateRows(10000);
961
+ + const columns = [
962
+ + {key: "name", label: "Name"},
963
+ + {key: "value", label: "Value"},
964
+ + ];
965
+ +
966
+ + return (
967
+ + <div>
968
+ + <Table
969
+ + aria-label="Example of virtualized table with a large dataset"
970
+ + {...args}
971
+ + isVirtualized
972
+ + maxTableHeight={300}
973
+ + rowHeight={40}
974
+ + >
975
+ + <TableHeader columns={columns}>
976
+ + {(column) => <TableColumn key={column.key}>{column.label}</TableColumn>}
977
+ + </TableHeader>
978
+ + <TableBody items={rows}>
979
+ + {(item) => (
980
+ + <TableRow key={item.key}>
981
+ + {(columnKey) => <TableCell>{item[columnKey]}</TableCell>}
982
+ + </TableRow>
983
+ + )}
984
+ + </TableBody>
985
+ + </Table>
986
+ + </div>
987
+ + );
988
+ + },
989
+ + args: {
990
+ + ...defaultProps,
991
+ + className: "max-w-3xl",
992
+ + },
993
+ +};\n- pnpm-lock.yaml (modified, 3 changes)\n Patch: @@ -2865,6 +2865,9 @@ importers:
994
+ '@react-types/table':
995
+ specifier: 3.10.3
996
+ version: 3.10.3([email protected])
997
+ + '@tanstack/react-virtual':
998
+ + specifier: ^3.10.9
999
1000
+ devDependencies:
1001
+ '@nextui-org/button':
1002
+ specifier: workspace:*\n
processed_docs/pr_data_0_doc_40.txt ADDED
@@ -0,0 +1,467 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4219
2
+ Title: fix(select): hideEmptyContent API
3
+ Base Branch: canary
4
+ Head Branch: fix/select-hide-empty-content
5
+ Author: Peterl561
6
+ URL: https://github.com/nextui-org/nextui/pull/4219
7
+ State: MERGED
8
+ Created At: 2024-12-04T04:07:22Z
9
+ Merged At: 2024-12-04T22:20:19Z
10
+ Participants: Peterl561, jrgarciadev, wingkwong
11
+
12
+ Description:
13
+ Closes #2422
14
+ πŸ“ Description
15
+
16
+ added hideEmptyContent to Select, which toggles whether to show dropdown when there is no content
17
+ note that it defaults to false in useSelect, which is different from current behavior
18
+ added Select storybook for hideEmptyContent
19
+
20
+ ⛳️ Current behavior (updates)
21
+ see video below
22
+ πŸš€ New behavior
23
+ old on the left, new on the right
24
+
25
+
26
+
27
+
28
+
29
+ hideEmptyContent.mp4
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+ πŸ’£ Is this a breaking change (Yes/No):
39
+ No
40
+ πŸ“ Additional Information
41
+ N/A
42
+
43
+ Summary by CodeRabbit
44
+
45
+
46
+ New Features
47
+
48
+ Introduced hideEmptyContent property in the Select component, allowing users to control the visibility of empty content in the dropdown.
49
+ Added examples in the storybook demonstrating the behavior of the Select component with empty content scenarios.
50
+
51
+
52
+
53
+ Documentation
54
+
55
+ Enhanced documentation for the Select component, detailing the new hideEmptyContent property and updating existing property descriptions for clarity.
56
+
57
+
58
+
59
+ Tests
60
+
61
+ Added new test cases to verify the behavior of the Select component when using the hideEmptyContent property.
62
+
63
+ Commits:
64
+ - fix(select): hideEmptyContent API\n- test(select): hideEmptyContent tests\n- docs(select): hideEmptyContent API\n- chore(select): hideEmptyContent storybook\n- chore(changeset): add hideEmptyContent API to select\n- refactor(select): hideEmptyContent nitpick\n- test(select): hideEmptyContent UI assertions\n- fix(select): hideEmptyContent default false\n- docs(select): hideEmptyContent default false\n
65
+
66
+ Labels:
67
+
68
+
69
+ Comments:
70
+ - changeset-bot: ### πŸ¦‹ Changeset detected
71
+
72
+ Latest commit: 92fd1f421e14e7da49a085d7dbe89ff4734e7d2f
73
+
74
+ **The changes in this PR will be included in the next version bump.**
75
+
76
+ <details><summary>This PR includes changesets to release 3 packages</summary>
77
+
78
+ | Name | Type |
79
+ | -------------------------------- | ----- |
80
+ | @nextui-org/use-aria-multiselect | Patch |
81
+ | @nextui-org/select | Patch |
82
+ | @nextui-org/react | Patch |
83
+
84
+ </details>
85
+
86
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
87
+
88
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/Peterl561/nextui/new/fix/select-hide-empty-content?filename=.changeset/tidy-pans-study.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A%22%40nextui-org%2Fselect%22%3A%20patch%0A%22%40nextui-org%2Fuse-aria-multiselect%22%3A%20patch%0A---%0A%0Afix(select)%3A%20hideEmptyContent%20API%0A)
89
+
90
+ \n- vercel: @Peterl561 is attempting to deploy a commit to the **NextUI Inc** Team on [Vercel](https://vercel.com).
91
+
92
+ A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=NextUI%20Inc&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%22d6a4e707cfdec92f26597f6ef57b59b0a39be9bc%22%7D%2C%22id%22%3A%22QmT4jF7dfHe3pZoWocNa2jUfHAqwa2YirtvvUaU3VvBGTi%22%2C%22org%22%3A%22nextui-org%22%2C%22prId%22%3A4219%2C%22repo%22%3A%22nextui%22%7D).
93
+
94
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
95
+ <!-- walkthrough_start -->
96
+
97
+ ## Walkthrough
98
+ This pull request introduces a new API feature called `hideEmptyContent` to the `Select` component, allowing users to control the visibility of the dropdown when there are no items. The implementation includes updates to the component's logic, documentation, and tests to ensure proper functionality. Additionally, it modifies the control flow in related hooks and components to integrate this new property effectively.
99
+
100
+ ## Changes
101
+
102
+ | File Path | Change Summary |
103
+ |------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
104
+ | `.changeset/rotten-jobs-pull.md` | Added `hideEmptyContent` method to `select` component. |
105
+ | `apps/docs/content/docs/components/select.mdx` | Updated documentation to include `hideEmptyContent` property and revised existing property formats. |
106
+ | `packages/components/select/__tests__/select.test.tsx` | Added tests for `hideEmptyContent` behavior in `Select` component. |
107
+ | `packages/components/select/src/use-select.ts` | Introduced `hideEmptyContent` property to `UseSelectProps` type and updated `useSelect` logic. |
108
+ | `packages/components/select/stories/select.stories.tsx` | Added `EmptyTemplate` to demonstrate `Select` behavior with `hideEmptyContent`. |
109
+ | `packages/hooks/use-aria-multiselect/src/use-multiselect-state.ts` | Added `hideEmptyContent` property to `MultiSelectProps` and updated logic in `useMultiSelectState`. |
110
+
111
+ ## Assessment against linked issues
112
+
113
+ | Objective | Addressed | Explanation |
114
+ |-------------------------------------------------------------------------------------------------|-----------|-------------------------------------------------|
115
+ | Control clicking behavior of the select component when the list is empty (#2422) | βœ… | |
116
+
117
+ ## Possibly related PRs
118
+ - **#2041**: This PR improves RTL support for the select component, which may relate to the overall functionality of the select component but does not directly connect to the `hideEmptyContent` API introduced in the main PR.
119
+ - **#3568**: This PR adds test cases for the `Select` component, specifically addressing the behavior of the dropdown when the `hideEmptyContent` prop is set. This is directly related to the changes in the main PR that introduced the `hideEmptyContent` API.
120
+ - **#3598**: This PR introduces changes to the `Select` component's event handling, which may indirectly relate to the overall functionality of the select component but does not specifically connect to the `hideEmptyContent` API.
121
+ - **#3663**: This PR modifies the styling of the select component, which may relate to the overall appearance but does not directly connect to the `hideEmptyContent` API.
122
+ - **#3853**: This PR addresses label placement discrepancies in the `Select` component, which may relate to the overall functionality of the select component but does not directly connect to the `hideEmptyContent` API.
123
+ - **#3881**: This PR focuses on making the styles of the select component consistent with the input component, which may relate to the overall functionality but does not directly connect to the `hideEmptyContent` API.
124
+ - **#4082**: This PR addresses the controlled `isInvalid` prop in the `Select` component, which may relate to the overall functionality of the select component but does not directly connect to the `hideEmptyContent` API.
125
+
126
+ ## Suggested labels
127
+ `πŸ“‹ Scope : Docs`, `πŸ‘€ Status: To Review`
128
+
129
+ ## Suggested reviewers
130
+ - wingkwong
131
+ - jrgarciadev
132
+
133
+ <!-- walkthrough_end -->
134
+
135
+
136
+
137
+
138
+
139
+ ---
140
+
141
+ <details>
142
+ <summary>πŸ“œ Recent review details</summary>
143
+
144
+ **Configuration used: .coderabbit.yaml**
145
+ **Review profile: CHILL**
146
+
147
+ <details>
148
+ <summary>πŸ“₯ Commits</summary>
149
+
150
+ Reviewing files that changed from the base of the PR and between 32c60ba3889613a20da32117815e4cdd8c959200 and 92fd1f421e14e7da49a085d7dbe89ff4734e7d2f.
151
+
152
+ </details>
153
+
154
+ <details>
155
+ <summary>πŸ“’ Files selected for processing (3)</summary>
156
+
157
+ * `apps/docs/content/docs/components/select.mdx` (3 hunks)
158
+ * `packages/components/select/__tests__/select.test.tsx` (1 hunks)
159
+ * `packages/components/select/src/use-select.ts` (3 hunks)
160
+
161
+ </details>
162
+
163
+ <details>
164
+ <summary>🚧 Files skipped from review as they are similar to previous changes (3)</summary>
165
+
166
+ * packages/components/select/src/use-select.ts
167
+ * packages/components/select/__tests__/select.test.tsx
168
+ * apps/docs/content/docs/components/select.mdx
169
+
170
+ </details>
171
+
172
+ </details>
173
+ <!-- internal state start -->
174
+
175
+
176
+ <!-- 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= -->
177
+
178
+ <!-- internal state end -->
179
+ <!-- tips_start -->
180
+
181
+ ---
182
+
183
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
184
+
185
+ <details>
186
+ <summary>❀️ Share</summary>
187
+
188
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
189
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
190
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
191
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
192
+
193
+ </details>
194
+
195
+ <details>
196
+ <summary>πŸͺ§ Tips</summary>
197
+
198
+ ### Chat
199
+
200
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
201
+
202
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
203
+ - `I pushed a fix in commit <commit_id>, please review it.`
204
+ - `Generate unit testing code for this file.`
205
+ - `Open a follow-up GitHub issue for this discussion.`
206
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
207
+ - `@coderabbitai generate unit testing code for this file.`
208
+ - `@coderabbitai modularize this function.`
209
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
210
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
211
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
212
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
213
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
214
+
215
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
216
+
217
+ ### CodeRabbit Commands (Invoked using PR comments)
218
+
219
+ - `@coderabbitai pause` to pause the reviews on a PR.
220
+ - `@coderabbitai resume` to resume the paused reviews.
221
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
222
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
223
+ - `@coderabbitai summary` to regenerate the summary of the PR.
224
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
225
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
226
+ - `@coderabbitai help` to get help.
227
+
228
+ ### Other keywords and placeholders
229
+
230
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
231
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
232
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
233
+
234
+ ### Documentation and Community
235
+
236
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
237
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
238
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
239
+
240
+ </details>
241
+
242
+ <!-- tips_end -->\n- Peterl561: Not sure if the doc changes need to be a separate PR or not, as recommended by the PR template. Let me know and I'll open another PR for it.\n- vercel: [vc]: #pL2KVdXh454s4sKVjjqHVvh9rdFg7ykfo/34f2AVUkU=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvQ0hNSGU3dDVVYVhyNXVXZ3JWNGtUR25raGlEZCIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2UtYmNiZTJhLW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2UtYmNiZTJhLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi82MVgyVlkxWGZOVnBDRjFSdVM1WThOYWZjcGd1IiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1mb3JrLXBldGVybDU2MS1maXgtc2VsZWN0LTk5NDUxYy1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LWZvcmstcGV0ZXJsNTYxLWZpeC1zZWxlY3QtOTk0NTFjLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
243
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
244
+
245
+ | Name | Status | Preview | Comments | Updated (UTC) |
246
+ | :--- | :----- | :------ | :------- | :------ |
247
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/61X2VY1XfNVpCF1RuS5Y8Nafcpgu)) | [Visit Preview](https://nextui-docs-v2-git-fork-peterl561-fix-select-99451c-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fork-peterl561-fix-select-99451c-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 4, 2024 7:58pm |
248
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/CHMHe7t5UaXr5uWgrV4kTGnkhiDd)) | [Visit Preview](https://nextui-storybook-v2-git-fork-peterl561-fix-se-bcbe2a-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fork-peterl561-fix-se-bcbe2a-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 4, 2024 7:58pm |
249
+
250
+
251
+ \n
252
+
253
+ Files Changed:
254
+ - .changeset/rotten-jobs-pull.md (added, 6 changes)\n Patch: @@ -0,0 +1,6 @@
255
+ +---
256
+ +"@nextui-org/use-aria-multiselect": patch
257
+ +"@nextui-org/select": patch
258
+ +---
259
+ +
260
+ +add hideEmptyContent API to select\n- apps/docs/content/docs/components/select.mdx (modified, 10 changes)\n Patch: @@ -485,7 +485,7 @@ the popover and listbox components.
261
+ },
262
+ {
263
+ attribute: "endContent",
264
+ - type: "ReactNode",
265
+ + type: "ReactNode",
266
+ description: "Element to be rendered in the right side of the select.",
267
+ default: "-"
268
+ },
269
+ @@ -515,7 +515,7 @@ the popover and listbox components.
270
+ },
271
+ {
272
+ attribute: "itemHeight",
273
+ - type: "number",
274
+ + type: "number",
275
+ description: "The fixed height of each item in pixels. Required when using virtualization.",
276
+ default: "32"
277
+ },
278
+ @@ -603,6 +603,12 @@ the popover and listbox components.
279
+ description: "Whether the select should disable the rotation of the selector icon.",
280
+ default: "false"
281
+ },
282
+ + {
283
+ + attribute: "hideEmptyContent",
284
+ + type: "boolean",
285
+ + description: "Whether the listbox will be prevented from opening when there are no items.",
286
+ + default: "false"
287
+ + },
288
+ {
289
+ attribute: "popoverProps",
290
+ type: "PopoverProps",\n- packages/components/select/__tests__/select.test.tsx (modified, 51 changes)\n Patch: @@ -828,6 +828,57 @@ describe("Select", () => {
291
+ "Invalid value",
292
+ );
293
+ });
294
+ +
295
+ + it("should not open dropdown when hideEmptyContent is true", async () => {
296
+ + const wrapper = render(
297
+ + <Select
298
+ + hideEmptyContent
299
+ + aria-label="Favorite Animal"
300
+ + data-testid="hide-empty-content-true-test"
301
+ + label="Favorite Animal"
302
+ + >
303
+ + {[]}
304
+ + </Select>,
305
+ + );
306
+ +
307
+ + const select = wrapper.getByTestId("hide-empty-content-true-test");
308
+ +
309
+ + // open the select dropdown
310
+ + await user.click(select);
311
+ +
312
+ + // assert that the select is not open
313
+ + expect(select).not.toHaveAttribute("aria-expanded", "true");
314
+ + // assert that the listbox is not rendered
315
+ + expect(wrapper.queryByRole("listbox")).not.toBeInTheDocument();
316
+ + });
317
+ +
318
+ + it("should open dropdown when hideEmptyContent is false", async () => {
319
+ + const wrapper = render(
320
+ + <Select
321
+ + aria-label="Favorite Animal"
322
+ + data-testid="hide-empty-content-false-test"
323
+ + hideEmptyContent={false}
324
+ + label="Favorite Animal"
325
+ + >
326
+ + {[]}
327
+ + </Select>,
328
+ + );
329
+ +
330
+ + const select = wrapper.getByTestId("hide-empty-content-false-test");
331
+ +
332
+ + // open the select dropdown
333
+ + await user.click(select);
334
+ +
335
+ + // assert that the select is open
336
+ + expect(select).toHaveAttribute("aria-expanded", "true");
337
+ +
338
+ + const listbox = wrapper.getByRole("listbox");
339
+ +
340
+ + // assert that the listbox is rendered
341
+ + expect(listbox).toBeInTheDocument();
342
+ + // assert that the listbox items are not rendered
343
+ + expect(wrapper.queryByRole("option")).not.toBeInTheDocument();
344
+ + });
345
+ });
346
+
347
+ describe("Select virtualization tests", () => {\n- packages/components/select/src/use-select.ts (modified, 7 changes)\n Patch: @@ -166,6 +166,11 @@ export type UseSelectProps<T> = Omit<
348
+ * @default undefined
349
+ */
350
+ isVirtualized?: boolean;
351
+ + /**
352
+ + * Whether the listbox will be prevented from opening when there are no items.
353
+ + * @default false
354
+ + */
355
+ + hideEmptyContent?: boolean;
356
+ };
357
+
358
+ export function useSelect<T extends object>(originalProps: UseSelectProps<T>) {
359
+ @@ -209,6 +214,7 @@ export function useSelect<T extends object>(originalProps: UseSelectProps<T>) {
360
+ onClose,
361
+ className,
362
+ classNames,
363
+ + hideEmptyContent = false,
364
+ ...otherProps
365
+ } = props;
366
+
367
+ @@ -263,6 +269,7 @@ export function useSelect<T extends object>(originalProps: UseSelectProps<T>) {
368
+ isDisabled: originalProps.isDisabled,
369
+ isInvalid: originalProps.isInvalid,
370
+ defaultOpen,
371
+ + hideEmptyContent,
372
+ onOpenChange: (open) => {
373
+ onOpenChange?.(open);
374
+ if (!open) {\n- packages/components/select/stories/select.stories.tsx (modified, 33 changes)\n Patch: @@ -411,6 +411,31 @@ const StartContentTemplate = ({color, variant, ...args}: SelectProps) => (
375
+ </Select>
376
+ );
377
+
378
+ +const EmptyTemplate = ({color, variant, ...args}: SelectProps) => (
379
+ + <div className="w-full justify-center flex gap-2">
380
+ + <Select
381
+ + hideEmptyContent
382
+ + className="max-w-xs"
383
+ + color={color}
384
+ + label="Hide empty content"
385
+ + variant={variant}
386
+ + {...args}
387
+ + >
388
+ + {[]}
389
+ + </Select>
390
+ + <Select
391
+ + className="max-w-xs"
392
+ + color={color}
393
+ + hideEmptyContent={false}
394
+ + label="Show empty content"
395
+ + variant={variant}
396
+ + {...args}
397
+ + >
398
+ + {[]}
399
+ + </Select>
400
+ + </div>
401
+ +);
402
+ +
403
+ const CustomItemsTemplate = ({color, variant, ...args}: SelectProps<User>) => (
404
+ <div className="w-full justify-center flex gap-2">
405
+ <Select
406
+ @@ -864,6 +889,14 @@ export const StartContent = {
407
+ },
408
+ };
409
+
410
+ +export const EmptyContent = {
411
+ + render: EmptyTemplate,
412
+ +
413
+ + args: {
414
+ + ...defaultProps,
415
+ + },
416
+ +};
417
+ +
418
+ export const WithDescription = {
419
+ render: MirrorTemplate,
420
+ \n- packages/hooks/use-aria-multiselect/src/use-multiselect-state.ts (modified, 25 changes)\n Patch: @@ -36,6 +36,10 @@ export interface MultiSelectProps<T>
421
+ * @default true
422
+ */
423
+ shouldFlip?: boolean;
424
+ + /**
425
+ + * Whether the menu should be hidden when there are no items.
426
+ + */
427
+ + hideEmptyContent?: boolean;
428
+ }
429
+
430
+ export interface MultiSelectState<T>
431
+ @@ -82,6 +86,8 @@ export function useMultiSelectState<T extends {}>(props: MultiSelectProps<T>): M
432
+ value: listState.selectedKeys,
433
+ });
434
+
435
+ + const shouldHideContent = listState.collection.size === 0 && props.hideEmptyContent;
436
+ +
437
+ return {
438
+ ...validationState,
439
+ ...listState,
440
+ @@ -91,18 +97,17 @@ export function useMultiSelectState<T extends {}>(props: MultiSelectProps<T>): M
441
+ triggerState.close();
442
+ },
443
+ open(focusStrategy: FocusStrategy | null = null) {
444
+ - // Don't open if the collection is empty.
445
+ - if (listState.collection.size !== 0) {
446
+ - setFocusStrategy(focusStrategy);
447
+ - triggerState.open();
448
+ - }
449
+ + if (shouldHideContent) return;
450
+ +
451
+ + setFocusStrategy(focusStrategy);
452
+ + triggerState.open();
453
+ },
454
+ toggle(focusStrategy: FocusStrategy | null = null) {
455
+ - if (listState.collection.size !== 0) {
456
+ - setFocusStrategy(focusStrategy);
457
+ - triggerState.toggle();
458
+ - validationState.commitValidation();
459
+ - }
460
+ + if (shouldHideContent) return;
461
+ +
462
+ + setFocusStrategy(focusStrategy);
463
+ + triggerState.toggle();
464
+ + validationState.commitValidation();
465
+ },
466
+ isFocused,
467
+ setFocused,\n
processed_docs/pr_data_0_doc_41.txt ADDED
@@ -0,0 +1,547 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4215
2
+ Title: fix(theme): support description with a single space using zero-width …
3
+ Base Branch: canary
4
+ Head Branch: zero-width-space
5
+ Author: iqingting
6
+ URL: https://github.com/nextui-org/nextui/pull/4215
7
+ State: OPEN
8
+ Created At: 2024-12-03T09:25:01Z
9
+ Merged At: None
10
+ Participants: iqingting, Peterl561
11
+
12
+ Description:
13
+ πŸ“ Description
14
+ Support description=" " to maintain a consistent layout when some form controls have descriptions and others do not.
15
+ ⛳️ Current behavior (updates)
16
+
17
+ πŸš€ New behavior
18
+
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No): No
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+ Release Notes
26
+
27
+
28
+ New Features
29
+
30
+ Introduced new story templates for components like Input, Textarea, and DatePicker, enhancing their presentation with descriptions.
31
+ Added type safety for the InputOtp component, improving prop validation.
32
+
33
+
34
+
35
+ Improvements
36
+
37
+ Streamlined the rendering of descriptions in various components to handle empty or whitespace-only cases more gracefully.
38
+ Enhanced layout and styling for WithDescription exports across multiple components for better visual representation.
39
+
40
+
41
+
42
+ Bug Fixes
43
+
44
+ Adjusted validation handling in the RadioGroup component to remove unnecessary properties.
45
+
46
+ Commits:
47
+ - fix(theme): support description with a single space using zero-width space\n- fix: revert code\n
48
+
49
+ Labels:
50
+
51
+
52
+ Comments:
53
+ - changeset-bot: ### ⚠️ No Changeset found
54
+
55
+ Latest commit: ecfd47196b95230755dfcdeca84aa4ca96197f82
56
+
57
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
58
+
59
+ <details><summary>This PR includes no changesets</summary>
60
+
61
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
62
+
63
+ </details>
64
+
65
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
66
+
67
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/iqingting/nextui/new/zero-width-space?filename=.changeset/many-snails-train.md&value=---%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Fcheckbox%22%3A%20patch%0A%22%40nextui-org%2Fdate-input%22%3A%20patch%0A%22%40nextui-org%2Fdate-picker%22%3A%20patch%0A%22%40nextui-org%2Finput-otp%22%3A%20patch%0A%22%40nextui-org%2Finput%22%3A%20patch%0A%22%40nextui-org%2Fradio%22%3A%20patch%0A%22%40nextui-org%2Fselect%22%3A%20patch%0A---%0A%0Afix(theme)%3A%20support%20description%20with%20a%20single%20space%20using%20zero-width%20%E2%80%A6%0A)
68
+
69
+ \n- vercel: @iqingting is attempting to deploy a commit to the **NextUI Inc** Team on [Vercel](https://vercel.com).
70
+
71
+ A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=NextUI%20Inc&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%22917fbb1698f3cbd7318c0f3d50a29bcd4c11f2af%22%7D%2C%22id%22%3A%22QmWgFNKwxede2bKqZ356jC6KCgsFJxP8HH4nqK7zTsFkRM%22%2C%22org%22%3A%22nextui-org%22%2C%22prId%22%3A4215%2C%22repo%22%3A%22nextui%22%7D).
72
+
73
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
74
+ <!-- This is an auto-generated comment: rate limited by coderabbit.ai -->
75
+
76
+ > [!WARNING]
77
+ > ## Rate limit exceeded
78
+ >
79
+ > @iqingting has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait **22 minutes and 25 seconds** before requesting another review.
80
+ >
81
+ > <details>
82
+ > <summary>βŒ› How to resolve this issue?</summary>
83
+ >
84
+ > After the wait time has elapsed, a review can be triggered using the `@coderabbitai review` command as a PR comment. Alternatively, push new commits to this PR.
85
+ >
86
+ > We recommend that you space out your commits to avoid hitting the rate limit.
87
+ >
88
+ > </details>
89
+ >
90
+ >
91
+ > <details>
92
+ > <summary>🚦 How do rate limits work?</summary>
93
+ >
94
+ > CodeRabbit enforces hourly rate limits for each developer per organization.
95
+ >
96
+ > Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.
97
+ >
98
+ > Please see our [FAQ](https://docs.coderabbit.ai/faq) for further information.
99
+ >
100
+ > </details>
101
+ >
102
+ > <details>
103
+ > <summary>πŸ“₯ Commits</summary>
104
+ >
105
+ > Reviewing files that changed from the base of the PR and between 704ba5254980a7c095328f8bc1348a126cbd8eb3 and ecfd47196b95230755dfcdeca84aa4ca96197f82.
106
+ >
107
+ > </details>
108
+
109
+ <!-- end of auto-generated comment: rate limited by coderabbit.ai -->
110
+ <!-- walkthrough_start -->
111
+
112
+ ## Walkthrough
113
+ This pull request introduces modifications across various story files for components like Autocomplete, Checkbox, Date Input, and others. The primary focus is on the `WithDescription` export, where the rendering logic has been updated to remove the `description` prop from `args` and instead manage it directly within the render function. Additionally, several components have seen changes to how descriptions are displayed, particularly handling cases where the description is a single space character. Overall, the changes streamline the presentation of the stories while maintaining existing functionality.
114
+
115
+ ## Changes
116
+
117
+ | File Path | Change Summary |
118
+ |---------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|
119
+ | `packages/components/autocomplete/stories/autocomplete.stories.tsx` | Removed `MirrorTemplate`, replaced with an inline function for `WithDescription`, removed `description` from `args`. |
120
+ | `packages/components/checkbox/stories/checkbox-group.stories.tsx` | Updated `WithDescription` to wrap two `Template` components in a `div`, removed `description` from `args`. |
121
+ | `packages/components/date-input/src/date-input-group.tsx` | Modified rendering of `description` to display a non-breaking space for single spaces. |
122
+ | `packages/components/date-input/stories/date-input.stories.tsx` | Updated `WithDescription` to center `DateInput` components, removed `description` from `args`. |
123
+ | `packages/components/date-input/stories/time-input.stories.tsx` | Updated `WithDescription` to display two `TimeInput` components, removed `description` from `args`. |
124
+ | `packages/components/date-picker/stories/date-picker.stories.tsx` | Updated `WithDescription` to wrap `Template` in a styled `div`, removed `description` from `args`. |
125
+ | `packages/components/date-picker/stories/date-range-picker.stories.tsx` | Updated `WithDescription` to include a wrapper `div`, removed `description` from `args`. |
126
+ | `packages/components/input-otp/stories/input-otp.stories.tsx` | Introduced `InputOtpProps`, updated `WithDescription` to conditionally include `description`. |
127
+ | `packages/components/input/src/input.tsx` | Modified rendering logic for `description` to handle single space characters. |
128
+ | `packages/components/input/stories/input.stories.tsx` | Added `WithDescriptionTemplate`, replacing `MirrorTemplate` in `WithDescription`. |
129
+ | `packages/components/input/stories/textarea.stories.tsx` | Introduced new `WithDescription` story for `Textarea` component. |
130
+ | `packages/components/radio/stories/radio.stories.tsx` | Updated `WithDescription` to render two `Template` components, removed `isInvalid` from `ServerValidationTemplate`. |
131
+ | `packages/components/select/src/select.tsx` | Modified rendering logic for `description` to display non-breaking space for single spaces. |
132
+ | `packages/components/select/stories/select.stories.tsx` | Updated `WithDescription` to render multiple `Template` instances with varying props, removed `description` from `args`.|
133
+
134
+ ## Possibly related PRs
135
+ - **#2987**: Modifications to the `WithDescription` export in the `autocomplete.stories.tsx` file.
136
+ - **#2990**: Changes to the `WithDescription` export in the `checkbox-group.stories.tsx` file.
137
+ - **#3281**: Updates to the `WithDescription` export in the `date-picker.stories.tsx` file.
138
+ - **#3302**: Changes to the `WithDescription` export in the `date-range-picker.stories.tsx` file.
139
+ - **#3552**: Modifications to the `WithDescription` export in the `radio.stories.tsx` file.
140
+ - **#3658**: Changes to the `WithDescription` export in the `select.stories.tsx` file.
141
+ - **#4203**: Introduction of virtualization support for the `Select` component.
142
+ - **#4206**: Introduction of virtualization support for the `Listbox` component.
143
+
144
+ ## Suggested labels
145
+ `πŸ‘€ Status: In Review`
146
+
147
+ ## Suggested reviewers
148
+ - jrgarciadev
149
+ - wingkwong
150
+
151
+ <!-- walkthrough_end -->
152
+
153
+ <!-- internal state start -->
154
+
155
+
156
+ <!-- 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= -->
157
+
158
+ <!-- internal state end -->
159
+ <!-- tips_start -->
160
+
161
+ ---
162
+
163
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
164
+
165
+ <details>
166
+ <summary>❀️ Share</summary>
167
+
168
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
169
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
170
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
171
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
172
+
173
+ </details>
174
+
175
+ <details>
176
+ <summary>πŸͺ§ Tips</summary>
177
+
178
+ ### Chat
179
+
180
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
181
+
182
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
183
+ - `I pushed a fix in commit <commit_id>, please review it.`
184
+ - `Generate unit testing code for this file.`
185
+ - `Open a follow-up GitHub issue for this discussion.`
186
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
187
+ - `@coderabbitai generate unit testing code for this file.`
188
+ - `@coderabbitai modularize this function.`
189
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
190
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
191
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
192
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
193
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
194
+
195
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
196
+
197
+ ### CodeRabbit Commands (Invoked using PR comments)
198
+
199
+ - `@coderabbitai pause` to pause the reviews on a PR.
200
+ - `@coderabbitai resume` to resume the paused reviews.
201
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
202
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
203
+ - `@coderabbitai summary` to regenerate the summary of the PR.
204
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
205
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
206
+ - `@coderabbitai help` to get help.
207
+
208
+ ### Other keywords and placeholders
209
+
210
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
211
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
212
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
213
+
214
+ ### Documentation and Community
215
+
216
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
217
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
218
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
219
+
220
+ </details>
221
+
222
+ <!-- tips_end -->\n- iqingting: > Aligning inputs is a styling problem that can be fixed through CSS (e.g. `align-items: flex-start;` or `items-start` class in tailwind). No need to make this change to input description's behavior.
223
+
224
+ It's not just a style issue; the problem is that when no description is provided, the error messages disrupt the layout. For example, if the form is in a modal, the current behavior causes the modal's height to change as the form's validation status updates.
225
+
226
+ And what I do is set the description to an empty value to reserve space so that the error messages no longer disrupt the layout.
227
+
228
+ https://stackblitz.com/edit/vitejs-vite-mj4jjg?file=src%2FApp.tsx
229
+
230
+
231
+ https://github.com/user-attachments/assets/4ea978b6-926a-40b2-82e8-cb520b73bf7b
232
+ \n- Peterl561: > It's not just a style issue; the problem is that when no description is provided, the error messages disrupt the layout. For example, if the form is in a modal, the current behavior causes the modal's height to change as the form's validation status updates.
233
+
234
+ That is definitely not great UI-wise, but I think solving it with some CSS is preferable to the implementation proposed in this PR, for the reasons I mentioned in my previous comments.\n- iqingting: > > It's not just a style issue; the problem is that when no description is provided, the error messages disrupt the layout. For example, if the form is in a modal, the current behavior causes the modal's height to change as the form's validation status updates.
235
+ >
236
+ >
237
+ >
238
+ > That is definitely not great UI-wise, but I think solving it with some CSS is preferable to the implementation proposed in this PR, for the reasons I mentioned in my previous comments.
239
+
240
+ I agree it’s not the best solution, but
241
+
242
+ 1. Why do you think don't disrupt the form layout when validate status change is not great UI-wise.
243
+ 2. `flex-start` doesn't work unless you set a static height for every form control, if you agree that preventing the form layout is a reasonable requirement.\n- Peterl561: > 1. Why do you think don't disrupt the form layout when validate status change is not great UI-wise.
244
+ > 2. `flex-start` doesn't work unless you set a static height for every form control, if you agree that preventing the form layout is a reasonable requirement.
245
+
246
+ Sorry for the confusion. I meant that the form height changing is not great. I do think it would be nice if we could come up with a generalized fix, but I don't have any decent ideas.
247
+
248
+ The actual CSS implementation will of course depend on your requirements. If you are interested in discussing a specific CSS solution for your situation, you could try asking in Discord.\n
249
+
250
+ Files Changed:
251
+ - packages/components/autocomplete/stories/autocomplete.stories.tsx (modified, 34 changes)\n Patch: @@ -285,30 +285,6 @@ const FullyControlledTemplate = () => {
252
+ );
253
+ };
254
+
255
+ -const MirrorTemplate = ({color, variant, ...args}: AutocompleteProps) => (
256
+ - <div className="w-full max-w-xl flex flex-row gap-4">
257
+ - <Autocomplete
258
+ - className="max-w-xs"
259
+ - color={color}
260
+ - label="Select an animal"
261
+ - variant={variant}
262
+ - {...args}
263
+ - >
264
+ - {items}
265
+ - </Autocomplete>
266
+ - <Autocomplete
267
+ - className="max-w-xs"
268
+ - color={color}
269
+ - label="Favorite Animal"
270
+ - placeholder="Select an animal"
271
+ - variant={variant}
272
+ - {...args}
273
+ - >
274
+ - {items}
275
+ - </Autocomplete>
276
+ - </div>
277
+ -);
278
+ -
279
+ const LabelPlacementTemplate = ({color, variant, ...args}: AutocompleteProps) => (
280
+ <div className="w-full flex flex-col items-center gap-12">
281
+ <div className="w-full max-w-2xl flex flex-col gap-3">
282
+ @@ -983,11 +959,17 @@ export const IsInvalid = {
283
+ };
284
+
285
+ export const WithDescription = {
286
+ - render: MirrorTemplate,
287
+ + render: (props: AutocompleteProps) => {
288
+ + return (
289
+ + <div className="w-full max-w-3xl flex justify-center gap-4">
290
+ + <Template {...props} description="Select your favorite animal" />
291
+ + <Template {...props} description=" " />
292
+ + </div>
293
+ + );
294
+ + },
295
+
296
+ args: {
297
+ ...defaultProps,
298
+ - description: "Select your favorite animal",
299
+ },
300
+ };
301
+ \n- packages/components/checkbox/stories/checkbox-group.stories.tsx (modified, 10 changes)\n Patch: @@ -232,11 +232,17 @@ export const LineThrough = {
302
+ };
303
+
304
+ export const WithDescription = {
305
+ - render: Template,
306
+ + render: (args: CheckboxGroupProps) => {
307
+ + return (
308
+ + <div className="w-full max-w-3xl flex justify-center gap-4">
309
+ + <Template {...args} description="Select the cities you want to visit" />
310
+ + <Template {...args} description=" " />
311
+ + </div>
312
+ + );
313
+ + },
314
+
315
+ args: {
316
+ ...defaultProps,
317
+ - description: "Select the cities you want to visit",
318
+ },
319
+ };
320
+ \n- packages/components/date-input/src/date-input-group.tsx (modified, 4 changes)\n Patch: @@ -64,7 +64,9 @@ export const DateInputGroup = forwardRef<"div", DateInputGroupProps>((props, ref
321
+ {isInvalid && errorMessage ? (
322
+ <div {...errorMessageProps}>{errorMessage}</div>
323
+ ) : description ? (
324
+ - <div {...descriptionProps}>{description}</div>
325
+ + <div {...descriptionProps}>
326
+ + {description === " " ? <span>&#8203;</span> : description}
327
+ + </div>
328
+ ) : null}
329
+ </div>
330
+ );\n- packages/components/date-input/stories/date-input.stories.tsx (modified, 10 changes)\n Patch: @@ -210,11 +210,17 @@ export const WithoutLabel = {
331
+ };
332
+
333
+ export const WithDescription = {
334
+ - render: Template,
335
+ + render: (props: DateInputProps) => {
336
+ + return (
337
+ + <div className="w-full max-w-3xl flex justify-center gap-4">
338
+ + <Template {...props} description="Please enter your birth date" />
339
+ + <Template {...props} description=" " />
340
+ + </div>
341
+ + );
342
+ + },
343
+
344
+ args: {
345
+ ...defaultProps,
346
+ - description: "Please enter your birth date",
347
+ },
348
+ };
349
+ \n- packages/components/date-input/stories/time-input.stories.tsx (modified, 10 changes)\n Patch: @@ -185,11 +185,17 @@ export const WithoutLabel = {
350
+ };
351
+
352
+ export const WithDescription = {
353
+ - render: Template,
354
+ + render: (args: TimeInputProps) => {
355
+ + return (
356
+ + <div className="w-full max-w-3xl flex justify-center gap-4">
357
+ + <Template {...args} description="Please enter your meeting time" />
358
+ + <Template {...args} description=" " />
359
+ + </div>
360
+ + );
361
+ + },
362
+
363
+ args: {
364
+ ...defaultProps,
365
+ - description: "Please enter your meeting time",
366
+ },
367
+ };
368
+ \n- packages/components/date-picker/stories/date-picker.stories.tsx (modified, 10 changes)\n Patch: @@ -489,11 +489,17 @@ export const WithoutLabel = {
369
+ };
370
+
371
+ export const WithDescription = {
372
+ - render: Template,
373
+ + render: (args: DatePickerProps) => {
374
+ + return (
375
+ + <div className="w-full max-w-3xl flex justify-center gap-4">
376
+ + <Template {...args} description="Please enter your birth date" />
377
+ + <Template {...args} description=" " />
378
+ + </div>
379
+ + );
380
+ + },
381
+
382
+ args: {
383
+ ...defaultProps,
384
+ - description: "Please enter your birth date",
385
+ },
386
+ };
387
+ \n- packages/components/date-picker/stories/date-range-picker.stories.tsx (modified, 10 changes)\n Patch: @@ -570,11 +570,17 @@ export const WithoutLabel = {
388
+ };
389
+
390
+ export const WithDescription = {
391
+ - render: Template,
392
+ + render: (args: DateRangePickerProps) => {
393
+ + return (
394
+ + <div className="w-full max-w-3xl flex justify-center gap-4">
395
+ + <Template {...args} description="Please enter your stay duration" />
396
+ + <Template {...args} description=" " />
397
+ + </div>
398
+ + );
399
+ + },
400
+
401
+ args: {
402
+ ...defaultProps,
403
+ - description: "Please enter your stay duration",
404
+ },
405
+ };
406
+ \n- packages/components/input-otp/stories/input-otp.stories.tsx (modified, 12 changes)\n Patch: @@ -5,7 +5,7 @@ import {useForm} from "react-hook-form";
407
+ import {ValidationResult} from "@react-types/shared";
408
+ import {Button} from "@nextui-org/button";
409
+
410
+ -import {InputOtp} from "../src";
411
+ +import {InputOtp, InputOtpProps} from "../src";
412
+
413
+ export default {
414
+ title: "Components/InputOtp",
415
+ @@ -213,11 +213,17 @@ export const ReadOnly = {
416
+ };
417
+
418
+ export const WithDescription = {
419
+ - render: Template,
420
+ + render: (args: InputOtpProps) => {
421
+ + return (
422
+ + <div className="w-full max-w-3xl flex justify-center gap-4">
423
+ + <Template {...args} description="Enter the 4 digit code sent to your email" />
424
+ + <Template {...args} description=" " />
425
+ + </div>
426
+ + );
427
+ + },
428
+ args: {
429
+ ...defaultProps,
430
+ length: 4,
431
+ - description: "Enter the 4 digit code sent to your email",
432
+ },
433
+ };
434
+ \n- packages/components/input/src/input.tsx (modified, 4 changes)\n Patch: @@ -53,7 +53,9 @@ const Input = forwardRef<"input", InputProps>((props, ref) => {
435
+ {shouldShowError ? (
436
+ <div {...getErrorMessageProps()}>{errorMessage}</div>
437
+ ) : (
438
+ - <div {...getDescriptionProps()}>{description}</div>
439
+ + <div {...getDescriptionProps()}>
440
+ + {description === " " ? <span>&#8203;</span> : description}
441
+ + </div>
442
+ )}
443
+ </div>
444
+ );\n- packages/components/input/stories/input.stories.tsx (modified, 10 changes)\n Patch: @@ -91,6 +91,14 @@ const MirrorTemplate = (args) => (
445
+ </div>
446
+ );
447
+
448
+ +const WithDescriptionTemplate = (args) => (
449
+ + <div className="w-full max-w-4xl flex flex-row items-end gap-4">
450
+ + <Input {...args} />
451
+ + <Input {...args} placeholder="Enter your email" />
452
+ + <Input {...args} description=" " placeholder="Enter your email" />
453
+ + </div>
454
+ +);
455
+ +
456
+ const FormTemplate = (args) => (
457
+ <form
458
+ className="w-full max-w-xl flex flex-row items-end gap-4"
459
+ @@ -590,7 +598,7 @@ export const WithoutLabel = {
460
+ };
461
+
462
+ export const WithDescription = {
463
+ - render: MirrorTemplate,
464
+ + render: WithDescriptionTemplate,
465
+
466
+ args: {
467
+ ...defaultProps,\n- packages/components/input/stories/textarea.stories.tsx (modified, 15 changes)\n Patch: @@ -214,6 +214,21 @@ export const WithEndContent = {
468
+ },
469
+ };
470
+
471
+ +export const WithDescription = {
472
+ + render: (args: TextAreaProps) => {
473
+ + return (
474
+ + <div className="w-full max-w-3xl flex justify-center gap-4">
475
+ + <Template {...args} description="Please enter your description" />
476
+ + <Template {...args} description=" " />
477
+ + </div>
478
+ + );
479
+ + },
480
+ +
481
+ + args: {
482
+ + ...defaultProps,
483
+ + },
484
+ +};
485
+ +
486
+ const ServerValidationTemplate = (args: TextAreaProps) => {
487
+ const [serverErrors, setServerErrors] = React.useState({});
488
+ const onSubmit = (e) => {\n- packages/components/radio/stories/radio.stories.tsx (modified, 9 changes)\n Patch: @@ -271,7 +271,14 @@ export const IsRequired = {
489
+ };
490
+
491
+ export const WithDescription = {
492
+ - render: Template,
493
+ + render: (args: RadioGroupProps) => {
494
+ + return (
495
+ + <div className="w-full max-w-3xl flex justify-center gap-4">
496
+ + <Template {...args} description="Please select an option" />
497
+ + <Template {...args} description=" " />
498
+ + </div>
499
+ + );
500
+ + },
501
+
502
+ args: {
503
+ ...defaultProps,\n- packages/components/select/src/select.tsx (modified, 4 changes)\n Patch: @@ -71,7 +71,9 @@ const Select = forwardRef(function Select<T extends object>(
504
+ {shouldShowError ? (
505
+ <div {...getErrorMessageProps()}>{errorMessage}</div>
506
+ ) : (
507
+ - <div {...getDescriptionProps()}>{description}</div>
508
+ + <div {...getDescriptionProps()}>
509
+ + {description === " " ? <span>&#8203;</span> : description}
510
+ + </div>
511
+ )}
512
+ </div>
513
+ );\n- packages/components/select/stories/select.stories.tsx (modified, 25 changes)\n Patch: @@ -865,11 +865,32 @@ export const StartContent = {
514
+ };
515
+
516
+ export const WithDescription = {
517
+ - render: MirrorTemplate,
518
+ + render: (args: SelectProps) => {
519
+ + return (
520
+ + <div className="w-full max-w-3xl flex justify-center gap-4">
521
+ + <Template
522
+ + {...args}
523
+ + description="Select your favorite animal"
524
+ + placeholder="Select an animal"
525
+ + />
526
+ + <Template
527
+ + {...args}
528
+ + description="Select your favorite animal"
529
+ + label="Favorite Animal"
530
+ + placeholder="Select an animal"
531
+ + />
532
+ + <Template
533
+ + {...args}
534
+ + description=" "
535
+ + label="Favorite Animal"
536
+ + placeholder="Select an animal"
537
+ + />
538
+ + </div>
539
+ + );
540
+ + },
541
+
542
+ args: {
543
+ ...defaultProps,
544
+ - description: "Select your favorite animal",
545
+ },
546
+ };
547
+ \n
processed_docs/pr_data_0_doc_42.txt ADDED
@@ -0,0 +1,211 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4214
2
+ Title: Update data-slot for the error message in the select.
3
+ Base Branch: canary
4
+ Head Branch: update-select-data-slot
5
+ Author: jubar
6
+ URL: https://github.com/nextui-org/nextui/pull/4214
7
+ State: MERGED
8
+ Created At: 2024-12-02T21:09:33Z
9
+ Merged At: 2024-12-03T13:07:13Z
10
+ Participants: jubar, jrgarciadev, wingkwong
11
+
12
+ Description:
13
+ All components use the data-slot="error-message" attribute, except for the select component. I observed this behavior when a test in my application started failing.
14
+
15
+ Closes #
16
+ πŸ“ Description
17
+
18
+ ⛳️ Current behavior (updates)
19
+
20
+ πŸš€ New behavior
21
+
22
+ πŸ’£ Is this a breaking change (Yes/No):
23
+
24
+ πŸ“ Additional Information
25
+
26
+ Summary by CodeRabbit
27
+
28
+ Chores
29
+
30
+ Standardized the naming convention for the data-slot attribute to improve consistency.
31
+ Minor code organization adjustments for clarity, including comment reordering and a TODO for future enhancements.
32
+
33
+ Commits:
34
+ - Update data-slot for the error message in the select.
35
+
36
+ All components use the `data-slot="error-message"` attribute, except for the select component. I observed this behavior when a test in my application started failing.\n- refactor(select): refactors the data-slots attribute for the error message\n
37
+
38
+ Labels:
39
+
40
+
41
+ Comments:
42
+ - changeset-bot: ### πŸ¦‹ Changeset detected
43
+
44
+ Latest commit: d6171ea56259df2839bcf5a840adb47adfde48d2
45
+
46
+ **The changes in this PR will be included in the next version bump.**
47
+
48
+ <details><summary>This PR includes changesets to release 2 packages</summary>
49
+
50
+ | Name | Type |
51
+ | ------------------ | ----- |
52
+ | @nextui-org/select | Patch |
53
+ | @nextui-org/react | Patch |
54
+
55
+ </details>
56
+
57
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
58
+
59
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/jubar/nextui/new/update-select-data-slot?filename=.changeset/bright-rabbits-jog.md&value=---%0A%22%40nextui-org%2Fselect%22%3A%20patch%0A---%0A%0AUpdate%20data-slot%20for%20the%20error%20message%20in%20the%20select.%0A)
60
+
61
+ \n- vercel: @jubar is attempting to deploy a commit to the **NextUI Inc** Team on [Vercel](https://vercel.com).
62
+
63
+ A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=NextUI%20Inc&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%229901e06aac6d6cdf2e27448a76e952a15aec4371%22%7D%2C%22id%22%3A%22QmadMcdsEU561Gz4kSP5dMbmVA9BFtiF6sZJv3vHWYPikL%22%2C%22org%22%3A%22nextui-org%22%2C%22prId%22%3A4214%2C%22repo%22%3A%22nextui%22%7D).
64
+
65
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
66
+ <!-- walkthrough_start -->
67
+
68
+ ## Walkthrough
69
+ The changes in this pull request focus on the `use-select.ts` file, specifically modifying the `getErrorMessageProps` function by updating the `data-slot` attribute from `"data-slot": "errorMessage"` to `"data-slot": "error-message"`. This adjustment standardizes the naming convention for data attributes. Additionally, there are minor code organization changes, including reordering comments and adding a TODO comment for future validation enhancements. Overall, the functionality and control flow of the component remain unchanged.
70
+
71
+ ## Changes
72
+
73
+ | File Path | Change Summary |
74
+ |-----------------------------------------|---------------------------------------------------------------------------------------------------|
75
+ | packages/components/select/src/use-select.ts | Updated `data-slot` attribute from `"errorMessage"` to `"error-message"`; minor code reorganization and comments added. |
76
+ | .changeset/dirty-trainers-love.md | Updated `data-slot` attribute from "errorMessage" to "error-message" for consistency in the `@nextui-org/select` component. |
77
+
78
+ ## Possibly related PRs
79
+ - **#3598**: This PR modifies the `data-slot` attribute from "errorMessage" to "error-message" in the `@nextui-org/select` component, which directly relates to the change made in the main PR regarding the same attribute in the `use-select.ts` file.
80
+ - **#4082**: This PR introduces changes to the `use-select.ts` file, specifically adding the `isInvalid` property and modifying the validation logic, which may relate to the overall structure and organization of the code in the main PR, although it focuses on different functionality.
81
+
82
+ ## Suggested reviewers
83
+ - jrgarciadev
84
+ - wingkwong
85
+
86
+ <!-- walkthrough_end -->
87
+
88
+
89
+
90
+
91
+
92
+ ---
93
+
94
+ <details>
95
+ <summary>πŸ“œ Recent review details</summary>
96
+
97
+ **Configuration used: .coderabbit.yaml**
98
+ **Review profile: CHILL**
99
+
100
+ <details>
101
+ <summary>πŸ“₯ Commits</summary>
102
+
103
+ Reviewing files that changed from the base of the PR and between 9901e06aac6d6cdf2e27448a76e952a15aec4371 and d6171ea56259df2839bcf5a840adb47adfde48d2.
104
+
105
+ </details>
106
+
107
+ <details>
108
+ <summary>πŸ“’ Files selected for processing (1)</summary>
109
+
110
+ * `.changeset/dirty-trainers-love.md` (1 hunks)
111
+
112
+ </details>
113
+
114
+ <details>
115
+ <summary>βœ… Files skipped from review due to trivial changes (1)</summary>
116
+
117
+ * .changeset/dirty-trainers-love.md
118
+
119
+ </details>
120
+
121
+ </details>
122
+ <!-- internal state start -->
123
+
124
+
125
+ <!-- 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= -->
126
+
127
+ <!-- internal state end -->
128
+ <!-- tips_start -->
129
+
130
+ ---
131
+
132
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
133
+
134
+ <details>
135
+ <summary>❀️ Share</summary>
136
+
137
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
138
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
139
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
140
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
141
+
142
+ </details>
143
+
144
+ <details>
145
+ <summary>πŸͺ§ Tips</summary>
146
+
147
+ ### Chat
148
+
149
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
150
+
151
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
152
+ - `I pushed a fix in commit <commit_id>, please review it.`
153
+ - `Generate unit testing code for this file.`
154
+ - `Open a follow-up GitHub issue for this discussion.`
155
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
156
+ - `@coderabbitai generate unit testing code for this file.`
157
+ - `@coderabbitai modularize this function.`
158
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
159
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
160
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
161
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
162
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
163
+
164
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
165
+
166
+ ### CodeRabbit Commands (Invoked using PR comments)
167
+
168
+ - `@coderabbitai pause` to pause the reviews on a PR.
169
+ - `@coderabbitai resume` to resume the paused reviews.
170
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
171
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
172
+ - `@coderabbitai summary` to regenerate the summary of the PR.
173
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
174
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
175
+ - `@coderabbitai help` to get help.
176
+
177
+ ### Other keywords and placeholders
178
+
179
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
180
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
181
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
182
+
183
+ ### Documentation and Community
184
+
185
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
186
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
187
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
188
+
189
+ </details>
190
+
191
+ <!-- tips_end -->\n- jubar: > For better consistency, I'd suggest to change other data-slot in this file as well. e.g. `helperWrapper` -> `helper-wrapper` etc.
192
+
193
+ Thanks for bringing this to my attention. I’ll work on it and update the PR shortly.
194
+
195
+ \n
196
+
197
+ Files Changed:
198
+ - .changeset/dirty-trainers-love.md (added, 5 changes)\n Patch: @@ -0,0 +1,5 @@
199
+ +---
200
+ +"@nextui-org/select": patch
201
+ +---
202
+ +
203
+ +Update the data-slot attribute of the Select component from "errorMessage" to "error-message" to maintain consistency across all components.\n- packages/components/select/src/use-select.ts (modified, 2 changes)\n Patch: @@ -651,7 +651,7 @@ export function useSelect<T extends object>(originalProps: UseSelectProps<T>) {
204
+ return {
205
+ ...props,
206
+ ...errorMessageProps,
207
+ - "data-slot": "errorMessage",
208
+ + "data-slot": "error-message",
209
+ className: slots.errorMessage({class: clsx(classNames?.errorMessage, props?.className)}),
210
+ };
211
+ },\n
processed_docs/pr_data_0_doc_43.txt ADDED
@@ -0,0 +1,548 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4209
2
+ Title: fix(docs): types for classNames and itemClasses
3
+ Base Branch: canary
4
+ Head Branch: fix/eng-986
5
+ Author: wingkwong
6
+ URL: https://github.com/nextui-org/nextui/pull/4209
7
+ State: MERGED
8
+ Created At: 2024-12-02T11:11:17Z
9
+ Merged At: 2024-12-03T13:07:43Z
10
+ Participants: wingkwong, jrgarciadev
11
+
12
+ Description:
13
+ Closes #3216
14
+ πŸ“ Description
15
+ correct the type for classNames and itemClasses to avoid confusion.
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+ Release Notes
26
+
27
+ Documentation Updates
28
+
29
+ Enhanced documentation for multiple components, including Autocomplete, Avatar, Badge, Breadcrumbs, Calendar, and many others.
30
+ Updated classNames prop types across various components to allow for more flexible customization.
31
+ Added detailed descriptions for props, events, and usage examples, improving clarity and usability.
32
+ Expanded sections on accessibility and data attributes to ensure compliance and better guidance for developers.
33
+
34
+
35
+
36
+ These updates aim to provide developers with comprehensive and clearer instructions for implementing and customizing components effectively.
37
+
38
+ Commits:
39
+ - fix(docs): types for classNames and itemClasses\n
40
+
41
+ Labels:
42
+
43
+
44
+ Comments:
45
+ - linear: <p><a href="https://linear.app/nextui-inc/issue/ENG-986/[bug]-does-the-next-ui-doc-have-something-error-of-the-classnames-type">ENG-986 [BUG] - does the next-ui doc have something error of the classNames type descripition?</a></p>\n- changeset-bot: ### ⚠️ No Changeset found
46
+
47
+ Latest commit: 999828a83a46e2a40756bdcad61a908020fd8453
48
+
49
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
50
+
51
+ <details><summary>This PR includes no changesets</summary>
52
+
53
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
54
+
55
+ </details>
56
+
57
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
58
+
59
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/fix/eng-986?filename=.changeset/kind-kings-kiss.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A---%0A%0Afix(docs)%3A%20types%20for%20classNames%20and%20itemClasses%0A)
60
+
61
+ \n- vercel: [vc]: #AKqZ88qEyMTkn+GNuRTvNfqd2+yzgg2httQSOSWjJ3o=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi82MllhakcyYTNmblZUZzVOalNhN3ZZYW9yUkNxIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtZW5nLTk4Ni1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLWRvY3MtdjItZ2l0LWZpeC1lbmctOTg2LW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJuZXh0dWktc3Rvcnlib29rLXYyIiwicm9vdERpcmVjdG9yeSI6InBhY2thZ2VzL3N0b3J5Ym9vayIsImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9uZXh0dWktb3JnL25leHR1aS1zdG9yeWJvb2stdjIvR3g1NzdhZGt1Q2hkOURqanEzYkhxTFlQNzg2TSIsInByZXZpZXdVcmwiOiJuZXh0dWktc3Rvcnlib29rLXYyLWdpdC1maXgtZW5nLTk4Ni1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LWVuZy05ODYtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
62
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
63
+
64
+ | Name | Status | Preview | Comments | Updated (UTC) |
65
+ | :--- | :----- | :------ | :------- | :------ |
66
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/62YajG2a3fnVTg5NjSa7vYaorRCq)) | [Visit Preview](https://nextui-docs-v2-git-fix-eng-986-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-eng-986-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 2, 2024 11:17am |
67
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/Gx577adkuChd9Djjq3bHqLYP786M)) | [Visit Preview](https://nextui-storybook-v2-git-fix-eng-986-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-eng-986-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 2, 2024 11:17am |
68
+
69
+
70
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
71
+ <!-- walkthrough_start -->
72
+
73
+ ## Walkthrough
74
+ This pull request introduces comprehensive updates to the documentation of various components in the NextUI library. The primary focus is on modifying the `classNames` property type across multiple components from a required `Record` type to a `Partial<Record>` type. This change allows for more flexible customization of class names. Additionally, the documentation has been enhanced with detailed descriptions of props, events, usage examples, and accessibility features, improving clarity and usability for developers.
75
+
76
+ ## Changes
77
+
78
+ | File Path | Change Summary |
79
+ |----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
80
+ | apps/docs/content/docs/components/autocomplete.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; enhanced API documentation and examples. |
81
+ | apps/docs/content/docs/components/avatar.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; improved prop descriptions and examples. |
82
+ | apps/docs/content/docs/components/badge.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; organized documentation for clarity. |
83
+ | apps/docs/content/docs/components/breadcrumbs.mdx | Updated `classNames` and `itemClasses` types from `Record` to `Partial<Record>`; added new sections on usage. |
84
+ | apps/docs/content/docs/components/calendar.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; expanded usage and prop descriptions. |
85
+ | apps/docs/content/docs/components/card.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; added detailed prop descriptions and examples. |
86
+ | apps/docs/content/docs/components/checkbox-group.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; maintained overall structure and content. |
87
+ | apps/docs/content/docs/components/checkbox.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; enhanced prop and accessibility descriptions. |
88
+ | apps/docs/content/docs/components/chip.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; retained overall documentation structure. |
89
+ | apps/docs/content/docs/components/circular-progress.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; included accessibility features. |
90
+ | apps/docs/content/docs/components/date-range-picker.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; clarified usage and prop descriptions. |
91
+ | apps/docs/content/docs/components/drawer.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; added sections on customization and usage. |
92
+ | apps/docs/content/docs/components/dropdown.mdx | Updated `classNames` and `itemClasses` types from `Record` to `Partial<Record>`; refined prop descriptions. |
93
+ | apps/docs/content/docs/components/image.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; enhanced API section with detailed prop info. |
94
+ | apps/docs/content/docs/components/input-otp.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; expanded documentation on props and usage. |
95
+ | apps/docs/content/docs/components/input.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; improved examples and prop descriptions. |
96
+ | apps/docs/content/docs/components/kbd.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; retained overall documentation structure. |
97
+ | apps/docs/content/docs/components/listbox.mdx | Updated `classNames` and `itemClasses` types from `Record` to `Partial<Record>`; enhanced prop descriptions. |
98
+ | apps/docs/content/docs/components/modal.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; added sections on accessibility and usage. |
99
+ | apps/docs/content/docs/components/navbar.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; clarified usage examples and props. |
100
+ | apps/docs/content/docs/components/pagination.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; expanded documentation on features and usage. |
101
+ | apps/docs/content/docs/components/popover.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; enhanced accessibility and usage sections. |
102
+ | apps/docs/content/docs/components/progress.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; detailed prop descriptions and usage guidelines. |
103
+ | apps/docs/content/docs/components/radio-group.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; enhanced documentation for props and events. |
104
+ | apps/docs/content/docs/components/select.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; clarified API section and examples. |
105
+ | apps/docs/content/docs/components/skeleton.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; retained overall documentation structure. |
106
+ | apps/docs/content/docs/components/snippet.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; maintained overall documentation structure. |
107
+ | apps/docs/content/docs/components/spinner.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; clarified usage and accessibility sections. |
108
+ | apps/docs/content/docs/components/switch.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; enhanced documentation on props and events. |
109
+ | apps/docs/content/docs/components/table.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; detailed features and usage guidelines. |
110
+ | apps/docs/content/docs/components/tabs.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; improved examples and accessibility sections. |
111
+ | apps/docs/content/docs/components/textarea.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; retained overall documentation structure. |
112
+ | apps/docs/content/docs/components/time-input.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; enhanced documentation on props and usage. |
113
+ | apps/docs/content/docs/components/tooltip.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; improved accessibility and usage sections. |
114
+ | apps/docs/content/docs/components/user.mdx | Updated `classNames` type from `Record` to `Partial<Record>`; clarified API section. |
115
+
116
+ ## Assessment against linked issues
117
+
118
+ | Objective | Addressed | Explanation |
119
+ |---------------------------------------------------------------------------|-----------|-------------------------------------------------------------------------------------------------|
120
+ | Update `classNames` type to `Partial<Record>` as per issue #3216 | βœ… | |
121
+ | Ensure documentation clarity regarding `classNames` usage as per issue #3216 | βœ… | |
122
+
123
+ ## Possibly related PRs
124
+ - **#3258**: Updates the `classNames` property in the `DateRangePicker` component, related to the changes in this PR.
125
+ - **#3773**: Addresses the propagation of `classNames` in the DatePicker component, aligning with the main PR's focus.
126
+ - **#3796**: Fixes broken links in the DatePicker documentation, relevant to the overall documentation improvements.
127
+ - **#3974**: Introduces a new `tabRef` prop in the `Tab` component, reflecting ongoing improvements in component APIs.
128
+
129
+ ## Suggested labels
130
+ `πŸ“‹ Scope : Docs`
131
+
132
+ ## Suggested reviewers
133
+ - jrgarciadev
134
+
135
+ <!-- walkthrough_end -->
136
+
137
+
138
+ <!-- internal state start -->
139
+
140
+
141
+ <!-- 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= -->
142
+
143
+ <!-- internal state end -->
144
+ <!-- tips_start -->
145
+
146
+ ---
147
+
148
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
149
+
150
+ <details>
151
+ <summary>❀️ Share</summary>
152
+
153
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
154
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
155
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
156
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
157
+
158
+ </details>
159
+
160
+ <details>
161
+ <summary>πŸͺ§ Tips</summary>
162
+
163
+ ### Chat
164
+
165
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
166
+
167
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
168
+ - `I pushed a fix in commit <commit_id>, please review it.`
169
+ - `Generate unit testing code for this file.`
170
+ - `Open a follow-up GitHub issue for this discussion.`
171
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
172
+ - `@coderabbitai generate unit testing code for this file.`
173
+ - `@coderabbitai modularize this function.`
174
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
175
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
176
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
177
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
178
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
179
+
180
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
181
+
182
+ ### CodeRabbit Commands (Invoked using PR comments)
183
+
184
+ - `@coderabbitai pause` to pause the reviews on a PR.
185
+ - `@coderabbitai resume` to resume the paused reviews.
186
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
187
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
188
+ - `@coderabbitai summary` to regenerate the summary of the PR.
189
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
190
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
191
+ - `@coderabbitai help` to get help.
192
+
193
+ ### Other keywords and placeholders
194
+
195
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
196
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
197
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
198
+
199
+ ### Documentation and Community
200
+
201
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
202
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
203
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
204
+
205
+ </details>
206
+
207
+ <!-- tips_end -->\n
208
+
209
+ Files Changed:
210
+ - apps/docs/content/docs/components/autocomplete.mdx (modified, 2 changes)\n Patch: @@ -745,7 +745,7 @@ properties to customize the popover, listbox and input components.
211
+ },
212
+ {
213
+ attribute: "classNames",
214
+ - type: "Record<'base' | 'listboxWrapper' | 'listbox' | 'popoverContent' | 'endContentWrapper' | 'clearButton' | 'selectorButton', string>",
215
+ + type: "Partial<Record<'base' | 'listboxWrapper' | 'listbox' | 'popoverContent' | 'endContentWrapper' | 'clearButton' | 'selectorButton', string>>",
216
+ description: "Allows to set custom class names for the Autocomplete slots.",
217
+ default: "-"
218
+ }\n- apps/docs/content/docs/components/avatar.mdx (modified, 4 changes)\n Patch: @@ -252,7 +252,7 @@ You can customize any part of the avatar by using the `classNames` prop, each `s
219
+ },
220
+ {
221
+ attribute: "classNames",
222
+ - type: "Record<\"base\" | \"img\" | \"fallback\" | \"name\" | \"icon\", string>",
223
+ + type: "Partial<Record<\"base\" | \"img\" | \"fallback\" | \"name\" | \"icon\", string>>",
224
+ description: "Allows to set custom class names for the avatar slots.",
225
+ default: "-"
226
+ }
227
+ @@ -319,7 +319,7 @@ You can customize any part of the avatar by using the `classNames` prop, each `s
228
+ },
229
+ {
230
+ attribute: "classNames",
231
+ - type: "Record<\"base\" | \"count\", string>",
232
+ + type: "Partial<Record<\"base\" | \"count\", string>>",
233
+ description: "Allows to set custom class names for the avatar group slots.",
234
+ default: "-"
235
+ }\n- apps/docs/content/docs/components/badge.mdx (modified, 2 changes)\n Patch: @@ -185,7 +185,7 @@ The Badge component has two slots:
236
+ },
237
+ {
238
+ attribute: "classNames",
239
+ - type: "Record<\"base\"|\"badge\", string>",
240
+ + type: "Partial<Record<\"base\"|\"badge\", string>>",
241
+ description: "Allows to set custom class names for the badge slots.",
242
+ default: "-"
243
+ }\n- apps/docs/content/docs/components/breadcrumbs.mdx (modified, 6 changes)\n Patch: @@ -293,13 +293,13 @@ You can customize the `Breadcrumbs` style by using the `classNames` prop and its
244
+ },
245
+ {
246
+ attribute: "itemClasses",
247
+ - type: "Record<\"base\" | \"item\" | \"separator\", string>",
248
+ + type: "Partial<Record<\"base\" | \"item\" | \"separator\", string>>",
249
+ description: "Allows to set custom class names for the breadcrumbs item slots.",
250
+ default: "-"
251
+ },
252
+ {
253
+ attribute: "classNames",
254
+ - type: "Record<\"base\" | \"list\" | \"ellipsis\" | \"separator\", string>",
255
+ + type: "Partial<Record<\"base\" | \"list\" | \"ellipsis\" | \"separator\", string>>",
256
+ description: "Allows to set custom class names for the breadcrumbs slots.",
257
+ default: "-"
258
+ }
259
+ @@ -397,7 +397,7 @@ You can customize the `Breadcrumbs` style by using the `classNames` prop and its
260
+ },
261
+ {
262
+ attribute: "classNames",
263
+ - type: "Record<\"base\" | \"item\" | \"separator\", string>",
264
+ + type: "Partial<Record<\"base\" | \"item\" | \"separator\", string>>",
265
+ description: "Allows to set custom class names for the item slots.",
266
+ default: "-"
267
+ }\n- apps/docs/content/docs/components/calendar.mdx (modified, 2 changes)\n Patch: @@ -365,7 +365,7 @@ Here's the example to customize `topContent` and `bottomContent` to have some pr
268
+ },
269
+ {
270
+ attribute: "classNames",
271
+ - type: "Record<'base' | 'prevButton' | 'nextButton' | 'headerWrapper' | 'header' | 'title' | 'content' | 'gridWrapper' | 'grid' | 'gridHeader' | 'gridHeaderRow' | 'gridHeaderCell' | 'gridBody' | 'gridBodyRow' | 'cell' | 'cellButton' | 'pickerWrapper' | 'pickerMonthList' | 'pickerYearList' | 'pickerHighlight' | 'pickerItem' | 'helperWrapper' | 'errorMessage', string>",
272
+ + type: "Partial<Record<'base' | 'prevButton' | 'nextButton' | 'headerWrapper' | 'header' | 'title' | 'content' | 'gridWrapper' | 'grid' | 'gridHeader' | 'gridHeaderRow' | 'gridHeaderCell' | 'gridBody' | 'gridBodyRow' | 'cell' | 'cellButton' | 'pickerWrapper' | 'pickerMonthList' | 'pickerYearList' | 'pickerHighlight' | 'pickerItem' | 'helperWrapper' | 'errorMessage', string>>",
273
+ description: "Allows to set custom class names for the calendar slots.",
274
+ default: "-"
275
+ }\n- apps/docs/content/docs/components/card.mdx (modified, 2 changes)\n Patch: @@ -205,7 +205,7 @@ You can use `Image` component as the cover of the card by taking it out of the `
276
+ },
277
+ {
278
+ attribute: "classNames",
279
+ - type: "Record<'base' | 'header' | 'body' | 'footer', string>",
280
+ + type: "Partial<Record<'base' | 'header' | 'body' | 'footer', string>>",
281
+ description: "Allows to set custom class names for the card slots.",
282
+ default: "-"
283
+ }\n- apps/docs/content/docs/components/checkbox-group.mdx (modified, 2 changes)\n Patch: @@ -217,7 +217,7 @@ In case you need to customize the checkbox even further, you can use the `useChe
284
+ },
285
+ {
286
+ attribute: "classNames",
287
+ - type: "Record<\"base\" | \"wrapper\" | \"label\", string>",
288
+ + type: "Partial<Record<\"base\" | \"wrapper\" | \"label\", string>>",
289
+ description: "Allows to set custom class names for the checkbox group slots.",
290
+ default: "-"
291
+ }\n- apps/docs/content/docs/components/checkbox.mdx (modified, 2 changes)\n Patch: @@ -252,7 +252,7 @@ In case you need to customize the checkbox even further, you can use the `useChe
292
+ },
293
+ {
294
+ attribute: "classNames",
295
+ - type: "Record<\"base\"| \"wrapper\"| \"icon\"| \"label\", string>",
296
+ + type: "Partial<Record<\"base\"| \"wrapper\"| \"icon\"| \"label\", string>>",
297
+ description: "Allows to set custom class names for the checkbox slots.",
298
+ default: "-"
299
+ }\n- apps/docs/content/docs/components/chip.mdx (modified, 2 changes)\n Patch: @@ -157,7 +157,7 @@ You can customize the `Chip` component by passing custom Tailwind CSS classes to
300
+ },
301
+ {
302
+ attribute: "classNames",
303
+ - type: 'Record<"base" | "content" | "dot" | "avatar" | "closeButton", string>',
304
+ + type: 'Partial<Record<"base" | "content" | "dot" | "avatar" | "closeButton", string>>',
305
+ description: "Allows to set custom class names for the chip slots.",
306
+ default: "-"
307
+ }\n- apps/docs/content/docs/components/circular-progress.mdx (modified, 2 changes)\n Patch: @@ -201,7 +201,7 @@ You can customize the `CircularProgress` component by passing custom Tailwind CS
308
+ },
309
+ {
310
+ attribute: "classNames",
311
+ - type: "Record<'base'|'svgWrapper'|'svg'|'track'|'indicator'|'value'|'label', string>",
312
+ + type: "Partial<Record<'base'|'svgWrapper'|'svg'|'track'|'indicator'|'value'|'label', string>>",
313
+ description: "Allows to set custom class names for the circular progress slots.",
314
+ default: "-"
315
+ }\n- apps/docs/content/docs/components/date-range-picker.mdx (modified, 2 changes)\n Patch: @@ -628,7 +628,7 @@ You can customize the `DateRangePicker` component by passing custom Tailwind CSS
316
+ },
317
+ {
318
+ attribute: "classNames",
319
+ - type: "Record<\"base\" | \"selectorButton\" | \"selectorIcon\" | \"popoverContent\" | \"calendar\" | \"calendarContent\" | \"timeInputLabel\" | \"timeInput\", string>",
320
+ + type: "Partial<Record<\"base\" | \"selectorButton\" | \"selectorIcon\" | \"popoverContent\" | \"calendar\" | \"calendarContent\" | \"timeInputLabel\" | \"timeInput\", string>>",
321
+ description: "Allows to set custom class names for the date-range-picker slots.",
322
+ default: "-"
323
+ }\n- apps/docs/content/docs/components/drawer.mdx (modified, 2 changes)\n Patch: @@ -247,7 +247,7 @@ The Drawer component design is inspired by [Luma](https://x.com/LumaHQ).
324
+ },
325
+ {
326
+ attribute: "classNames",
327
+ - type: "Record<'wrapper' | 'base' | 'backdrop' | 'header' | 'body' | 'footer' | 'closeButton', string>",
328
+ + type: "Partial<Record<'wrapper' | 'base' | 'backdrop' | 'header' | 'body' | 'footer' | 'closeButton', string>>",
329
+ description: "Allows to set custom class names for the drawer slots.",
330
+ default: "-"
331
+ }\n- apps/docs/content/docs/components/dropdown.mdx (modified, 10 changes)\n Patch: @@ -480,13 +480,13 @@ you to customize each item individually.
332
+ },
333
+ {
334
+ attribute: "classNames",
335
+ - type: "Record<base|list|emptyContent, string>",
336
+ + type: "Partial<Record<'base'|'list'|'emptyContent', string>>",
337
+ description: "Allows to set custom class names for the dropdown menu slots.",
338
+ default: "-"
339
+ },
340
+ {
341
+ attribute: "itemClasses",
342
+ - type: "Record<base|wrapper|title|description|shortcut|selectedIcon, string>",
343
+ + type: "Partial<Record<'base'|'wrapper'|'title'|'description'|'shortcut'|'selectedIcon', string>>",
344
+ description: "Allows to set custom class names for the dropdown item slots.",
345
+ default: "-"
346
+ }
347
+ @@ -560,13 +560,13 @@ you to customize each item individually.
348
+ },
349
+ {
350
+ attribute: "classNames",
351
+ - type: "Record<base|heading|group|divider, string>",
352
+ + type: "Record<'base'|'heading'|'group'|'divider', string>>",
353
+ description: "Allows to set custom class names for the dropdown section slots.",
354
+ default: "-"
355
+ },
356
+ {
357
+ attribute: "itemClasses",
358
+ - type: "Record<base|wrapper|title|description|shortcut|selectedIcon, string>",
359
+ + type: "Record<'base'|'wrapper'|'title'|'description'|'shortcut'|'selectedIcon', string>>",
360
+ description: "Allows to set custom class names for the dropdown item slots.",
361
+ default: "-"
362
+ }
363
+ @@ -705,7 +705,7 @@ you to customize each item individually.
364
+ },
365
+ {
366
+ attribute: "classNames",
367
+ - type: "Record<base|wrapper|title|description|shortcut|selectedIcon, string>",
368
+ + type: "Record<'base'|'wrapper'|'title'|'description'|'shortcut'|'selectedIcon', string>>",
369
+ description: "Allows to set custom class names for the dropdown item slots.",
370
+ default: "-"
371
+ }\n- apps/docs/content/docs/components/image.mdx (modified, 2 changes)\n Patch: @@ -185,7 +185,7 @@ you can use it with NextUI `Image` component as well.
372
+ },
373
+ {
374
+ attribute: "classNames",
375
+ - type: 'Record<"img" | "wrapper" | "zoomedWrapper" | "blurredImg", string>',
376
+ + type: 'Partial<Record<"img" | "wrapper" | "zoomedWrapper" | "blurredImg", string>>',
377
+ description: "Allows to set custom class names for the image slots.",
378
+ default: "-"
379
+ }\n- apps/docs/content/docs/components/input-otp.mdx (modified, 2 changes)\n Patch: @@ -299,7 +299,7 @@ You can customize the styles of the `InputOtp` component using the `classNames`
380
+ },
381
+ {
382
+ attribute: "classNames",
383
+ - type: "Record<'base' | 'inputWrapper' | 'input' | 'segmentWrapper' | 'segment' | 'caret' | 'passwordChar' | 'helperWrapper' | 'description' | 'errorMessage', string>",
384
+ + type: "Partial<Record<'base' | 'inputWrapper' | 'input' | 'segmentWrapper' | 'segment' | 'caret' | 'passwordChar' | 'helperWrapper' | 'description' | 'errorMessage', string>>",
385
+ description: "Allows to set custom class names for the Input slots.",
386
+ default: "-"
387
+ },\n- apps/docs/content/docs/components/input.mdx (modified, 2 changes)\n Patch: @@ -342,7 +342,7 @@ In case you need to customize the input even further, you can use the `useInput`
388
+ },
389
+ {
390
+ attribute: "classNames",
391
+ - type: "Record<'base' | 'label' | 'inputWrapper' | 'innerWrapper' | 'mainWrapper' | 'input' | 'clearButton' | 'helperWrapper' | 'description' | 'errorMessage', string>",
392
+ + type: "Partial<Record<'base' | 'label' | 'inputWrapper' | 'innerWrapper' | 'mainWrapper' | 'input' | 'clearButton' | 'helperWrapper' | 'description' | 'errorMessage', string>>",
393
+ description: "Allows to set custom class names for the Input slots.",
394
+ default: "-"
395
+ }\n- apps/docs/content/docs/components/kbd.mdx (modified, 2 changes)\n Patch: @@ -81,7 +81,7 @@ Keyboard key is a component to display which key or combination of keys performs
396
+ },
397
+ {
398
+ attribute: "classNames",
399
+ - type: 'Record<"base" | "abbr" | "content", string>',
400
+ + type: 'Partial<Record<"base" | "abbr" | "content", string>>',
401
+ description: "Allows to set custom class names for the keyboard key slots.",
402
+ default: "-"
403
+ }\n- apps/docs/content/docs/components/listbox.mdx (modified, 10 changes)\n Patch: @@ -377,13 +377,13 @@ You can customize the `Listbox` items style by using the `itemClasses` prop and
404
+ },
405
+ {
406
+ attribute: "classNames",
407
+ - type: "Record<\"base\" | \"list\" | \"emptyContent\", string>",
408
+ + type: "Partial<Record<\"base\" | \"list\" | \"emptyContent\", string>>",
409
+ description: "Allows to set custom class names for the listbox slots.",
410
+ default: "-"
411
+ },
412
+ {
413
+ attribute: "itemClasses",
414
+ - type: "Record<\"base\" | \"wrapper\" | \"title\" | \"description\" | \"selectedIcon\", string>",
415
+ + type: "Partial<Record<\"base\" | \"wrapper\" | \"title\" | \"description\" | \"selectedIcon\", string>>",
416
+ description: "Allows to set custom class names for the listbox item slots.",
417
+ default: "-"
418
+ }
419
+ @@ -451,13 +451,13 @@ You can customize the `Listbox` items style by using the `itemClasses` prop and
420
+ },
421
+ {
422
+ attribute: "classNames",
423
+ - type: "Record<\"base\" | \"heading\" | \"group\" | \"divider\", string>",
424
+ + type: "Partial<Record<\"base\" | \"heading\" | \"group\" | \"divider\", string>>",
425
+ description: "Allows to set custom class names for the listbox section slots.",
426
+ default: "-"
427
+ },
428
+ {
429
+ attribute: "itemClasses",
430
+ - type: "Record<\"base\" | \"wrapper\" | \"title\" | \"description\" | \"shortcut\" | \"selectedIcon\", string>",
431
+ + type: "Partial<Record<\"base\" | \"wrapper\" | \"title\" | \"description\" | \"shortcut\" | \"selectedIcon\", string>>",
432
+ description: "Allows to set custom class names for the listbox item slots.",
433
+ default: "-"
434
+ }
435
+ @@ -596,7 +596,7 @@ You can customize the `Listbox` items style by using the `itemClasses` prop and
436
+ },
437
+ {
438
+ attribute: "classNames",
439
+ - type: "Record<\"base\" | \"wrapper\" | \"title\" | \"description\" | \"shortcut\" | \"selectedIcon\", string>",
440
+ + type: "Partial<Record<\"base\" | \"wrapper\" | \"title\" | \"description\" | \"shortcut\" | \"selectedIcon\", string>>",
441
+ description: "Allows to set custom class names for the listbox item slots.",
442
+ default: "-"
443
+ }\n- apps/docs/content/docs/components/modal.mdx (modified, 2 changes)\n Patch: @@ -299,7 +299,7 @@ You can customize the `Modal` component by passing custom Tailwind CSS classes t
444
+ },
445
+ {
446
+ attribute: "classNames",
447
+ - type: "Record<'wrapper' | 'base' | 'backdrop' | 'header' | 'body' | 'footer' | 'closeButton', string>",
448
+ + type: "Partial<Record<'wrapper' | 'base' | 'backdrop' | 'header' | 'body' | 'footer' | 'closeButton', string>>",
449
+ description: "Allows to set custom class names for the modal slots.",
450
+ default: "-"
451
+ }\n- apps/docs/content/docs/components/navbar.mdx (modified, 2 changes)\n Patch: @@ -342,7 +342,7 @@ When the `NavbarItem` is active, it will have a `data-active` attribute. You can
452
+ },
453
+ {
454
+ attribute: "classNames",
455
+ - type: "Record<'base' | 'wrapper' | 'brand' | 'content' | 'item' | 'toggle' | 'toggleIcon' | 'menu' | 'menuItem', string>",
456
+ + type: "Partial<Record<'base' | 'wrapper' | 'brand' | 'content' | 'item' | 'toggle' | 'toggleIcon' | 'menu' | 'menuItem', string>>",
457
+ description: "Allows to set custom class names for the navbar slots.",
458
+ default: "-"
459
+ }\n- apps/docs/content/docs/components/pagination.mdx (modified, 2 changes)\n Patch: @@ -294,7 +294,7 @@ your own implementation.
460
+ },
461
+ {
462
+ attribute: "classNames",
463
+ - type: "Record<'base' | 'wrapper' | 'prev' | 'next' | 'item' | 'cursor' | 'forwardIcon' | 'ellipsis' | 'chevronNext', string>",
464
+ + type: "Partial<Record<'base' | 'wrapper' | 'prev' | 'next' | 'item' | 'cursor' | 'forwardIcon' | 'ellipsis' | 'chevronNext', string>>",
465
+ description: "Allows to set custom class names for the pagination slots.",
466
+ default: "-"
467
+ }\n- apps/docs/content/docs/components/popover.mdx (modified, 2 changes)\n Patch: @@ -296,7 +296,7 @@ You can customize the `Popover` component by passing custom Tailwind CSS classes
468
+ },
469
+ {
470
+ attribute: "classNames",
471
+ - type: "Record<'base' | 'trigger' | 'backdrop' | 'content', string>",
472
+ + type: "Partial<Record<'base' | 'trigger' | 'backdrop' | 'content', string>>",
473
+ description: "Allows to set custom class names for the popover slots.",
474
+ default: "-"
475
+ }\n- apps/docs/content/docs/components/progress.mdx (modified, 2 changes)\n Patch: @@ -210,7 +210,7 @@ You can customize the `Progress` component by passing custom Tailwind CSS classe
476
+ },
477
+ {
478
+ attribute: "classNames",
479
+ - type: "Record<'base' | 'labelWrapper' | 'label' | 'track' | 'value' | 'indicator', string>",
480
+ + type: "Partial<Record<'base' | 'labelWrapper' | 'label' | 'track' | 'value' | 'indicator', string>>",
481
+ description: "Allows to set custom class names for the progress slots.",
482
+ default: "-"
483
+ }\n- apps/docs/content/docs/components/radio-group.mdx (modified, 4 changes)\n Patch: @@ -259,7 +259,7 @@ In case you need to customize the radio group even further, you can use the `use
484
+ },
485
+ {
486
+ attribute: "classNames",
487
+ - type: "Record<\"base\" | \"wrapper\" | \"label\", string>",
488
+ + type: "Partial<Record<\"base\" | \"wrapper\" | \"label\", string>>",
489
+ description: "Allows to set custom class names for the radio group slots.",
490
+ default: "-"
491
+ }
492
+ @@ -351,7 +351,7 @@ In case you need to customize the radio group even further, you can use the `use
493
+ },
494
+ {
495
+ attribute: "classNames",
496
+ - type: "Record<\"base\" | \"wrapper\" | \"labelWrapper\" | \"label\" | \"control\" | \"description\", string>",
497
+ + type: "Partial<Record<\"base\" | \"wrapper\" | \"labelWrapper\" | \"label\" | \"control\" | \"description\", string>>",
498
+ description: "Allows to set custom class names for the radio slots.",
499
+ default: "-"
500
+ }\n- apps/docs/content/docs/components/select.mdx (modified, 2 changes)\n Patch: @@ -623,7 +623,7 @@ the popover and listbox components.
501
+ },
502
+ {
503
+ attribute: "classNames",
504
+ - type: "Record<\"base\"| \"label\"| \"trigger\"| \"mainWrapper\" | \"innerWrapper\"| \"selectorIcon\" | \"value\" | \"listboxWrapper\"| \"listbox\" | \"popoverContent\" | \"helperWrapper\" | \"description\" | \"errorMessage\", string>",
505
+ + type: "Partial<Record<\"base\"| \"label\"| \"trigger\"| \"mainWrapper\" | \"innerWrapper\"| \"selectorIcon\" | \"value\" | \"listboxWrapper\"| \"listbox\" | \"popoverContent\" | \"helperWrapper\" | \"description\" | \"errorMessage\", string>>",
506
+ description: "Allows to set custom class names for the Select slots.",
507
+ default: "-"
508
+ }\n- apps/docs/content/docs/components/skeleton.mdx (modified, 2 changes)\n Patch: @@ -96,7 +96,7 @@ You can use the `isLoaded` prop to stop the skeleton animation and show the chil
509
+ },
510
+ {
511
+ attribute: "classNames",
512
+ - type: "Record<\"base\" | \"content\", string>",
513
+ + type: "Partial<Record<\"base\" | \"content\", string>>",
514
+ description: "Allows to set custom class names for the skeleton slots.",
515
+ default: "-"
516
+ }\n- apps/docs/content/docs/components/snippet.mdx (modified, 2 changes)\n Patch: @@ -192,7 +192,7 @@ You can customize the copy and copied icons by using the `copyIcon` and `checkIc
517
+ },
518
+ {
519
+ attribute: "classNames",
520
+ - type: "Record<'base' | 'content' | 'pre' | 'symbol' | 'copyButton' | 'checkIcon', string>",
521
+ + type: "Partial<Record<'base' | 'content' | 'pre' | 'symbol' | 'copyButton' | 'checkIcon', string>>",
522
+ description: "Allows to set custom class names for the snippet slots.",
523
+ default: "-"
524
+ }\n- apps/docs/content/docs/components/spinner.mdx (modified, 2 changes)\n Patch: @@ -102,7 +102,7 @@ Spinner express an unspecified wait time or display the length of a process.
525
+ },
526
+ {
527
+ attribute: "classNames",
528
+ - type: "Record<\"base\"|\"wrapper\"|\"circle1\"|\"circle2\"|\"label\", string>",
529
+ + type: "Partial<Record<\"base\"|\"wrapper\"|\"circle1\"|\"circle2\"|\"label\", string>>",
530
+ description: "Allows to set custom class names for the spinner slots.",
531
+ default: "-"
532
+ }\n- apps/docs/content/docs/components/switch.mdx (modified, 2 changes)\n Patch: @@ -223,7 +223,7 @@ In case you need to customize the switch even further, you can use the `useSwitc
533
+ },
534
+ {
535
+ attribute: "classNames",
536
+ - type: "Record<\"base\"| \"wrapper\"| \"thumb\"| \"label\" | \"startContent\" | \"endContent\" | \"thumbIcon\" , string>",
537
+ + type: "Partial<Record<\"base\"| \"wrapper\"| \"thumb\"| \"label\" | \"startContent\" | \"endContent\" | \"thumbIcon\" , string>>",
538
+ description: "Allows to set custom class names for the switch slots.",
539
+ default: "-"
540
+ }\n- apps/docs/content/docs/components/table.mdx (modified, 2 changes)\n Patch: @@ -597,7 +597,7 @@ You can customize the `Table` component by passing custom Tailwind CSS classes t
541
+ },
542
+ {
543
+ attribute: "classNames",
544
+ - type: "Record<'base' | 'table' | 'thead' | 'tbody' | 'tfoot' | 'emptyWrapper' | 'loadingWrapper' | 'wrapper' | 'tr' | 'th' | 'td' | 'sortIcon', string>",
545
+ + type: "Partial<Record<'base' | 'table' | 'thead' | 'tbody' | 'tfoot' | 'emptyWrapper' | 'loadingWrapper' | 'wrapper' | 'tr' | 'th' | 'td' | 'sortIcon', string>>",
546
+ description: "Allows to set custom class names for the dropdown item slots.",
547
+ default: "-"
548
+ },\n
processed_docs/pr_data_0_doc_44.txt ADDED
@@ -0,0 +1,734 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4207
2
+ Title: fix: collection based components ref
3
+ Base Branch: canary
4
+ Head Branch: fix/collection-based-components-ref-types
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4207
7
+ State: MERGED
8
+ Created At: 2024-12-01T21:55:00Z
9
+ Merged At: 2024-12-01T22:01:43Z
10
+ Participants: jrgarciadev, wingkwong
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+
26
+
27
+ New Features
28
+
29
+ Enhanced handling of refs in various components including Autocomplete, DatePicker, Calendar, and more, improving compatibility with React's ref forwarding.
30
+ Introduced new type definitions for props across multiple components to enhance type safety and clarity.
31
+
32
+
33
+
34
+ Bug Fixes
35
+
36
+ Resolved issues related to ref handling in components, ensuring compliance with expected function signatures.
37
+
38
+
39
+
40
+ Documentation
41
+
42
+ Updated component exports for better clarity and streamlined usage.
43
+
44
+
45
+
46
+ Chores
47
+
48
+ Cleaned up import statements and removed unused imports across several components.
49
+
50
+ Commits:
51
+ - fix: collection based components ref\n
52
+
53
+ Labels:
54
+
55
+
56
+ Comments:
57
+ - changeset-bot: ### πŸ¦‹ Changeset detected
58
+
59
+ Latest commit: 3679734789dd4b172e57dab3ee32f673d2f21c69
60
+
61
+ **The changes in this PR will be included in the next version bump.**
62
+
63
+ <details><summary>This PR includes changesets to release 10 packages</summary>
64
+
65
+ | Name | Type |
66
+ | ------------------------ | ----- |
67
+ | @nextui-org/autocomplete | Patch |
68
+ | @nextui-org/date-picker | Patch |
69
+ | @nextui-org/date-input | Patch |
70
+ | @nextui-org/calendar | Patch |
71
+ | @nextui-org/dropdown | Patch |
72
+ | @nextui-org/listbox | Patch |
73
+ | @nextui-org/select | Patch |
74
+ | @nextui-org/menu | Patch |
75
+ | @nextui-org/tabs | Patch |
76
+ | @nextui-org/react | Patch |
77
+
78
+ </details>
79
+
80
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
81
+
82
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/fix/collection-based-components-ref-types?filename=.changeset/five-dots-protect.md&value=---%0A%22%40nextui-org%2Fautocomplete%22%3A%20patch%0A%22%40nextui-org%2Fcalendar%22%3A%20patch%0A%22%40nextui-org%2Fdate-input%22%3A%20patch%0A%22%40nextui-org%2Fdate-picker%22%3A%20patch%0A%22%40nextui-org%2Fdropdown%22%3A%20patch%0A%22%40nextui-org%2Flistbox%22%3A%20patch%0A%22%40nextui-org%2Fmenu%22%3A%20patch%0A%22%40nextui-org%2Fselect%22%3A%20patch%0A%22%40nextui-org%2Ftabs%22%3A%20patch%0A---%0A%0Afix%3A%20collection%20based%20components%20ref%0A)
83
+
84
+ \n- vercel: [vc]: #Ym2tcJoLp7q3O4YZh6LyhQTErymBu1tFaeJK++sxlm8=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi8ydjdpSjF2amNUYTZCR2hVektFYmhGRkpDVDh6IiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtY29sbGVjdGlvbi1iYXNlZC1jb21wby1mNTQzOGQtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtY29sbGVjdGlvbi1iYXNlZC1jb21wby1mNTQzOGQtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi9CdHBnWlNobndESzJVOTZKNzc2ang1OTJaWHdaIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZpeC1jb2xsZWN0aW9uLWJhc2VkLTMxYjE0MS1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LWNvbGxlY3Rpb24tYmFzZWQtMzFiMTQxLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
85
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
86
+
87
+ | Name | Status | Preview | Comments | Updated (UTC) |
88
+ | :--- | :----- | :------ | :------- | :------ |
89
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/2v7iJ1vjcTa6BGhUzKEbhFFJCT8z)) | [Visit Preview](https://nextui-docs-v2-git-fix-collection-based-compo-f5438d-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-collection-based-compo-f5438d-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 1, 2024 10:00pm |
90
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/BtpgZShnwDK2U96J776jx592ZXwZ)) | [Visit Preview](https://nextui-storybook-v2-git-fix-collection-based-31b141-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-collection-based-31b141-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 1, 2024 10:00pm |
91
+
92
+
93
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
94
+ <!-- walkthrough_start -->
95
+
96
+ ## Walkthrough
97
+ This pull request introduces multiple patches to the components of the `@nextui-org` library, specifically focusing on `autocomplete`, `date-picker`, `date-input`, `calendar`, `dropdown`, `listbox`, `select`, `menu`, and `tabs`. The primary objective is to rectify issues related to the handling of refs in `forwardRef` render functions within Next.js. The changes involve refactoring component definitions to correctly utilize the ref parameter, enhancing type safety, and streamlining the export process for these components.
98
+
99
+ ## Changes
100
+
101
+ | File Path | Change Summary |
102
+ |------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
103
+ | `.changeset/dirty-tigers-thank.md` | Introduced patches for various components to address ref handling in `forwardRef` render functions. |
104
+ | `packages/components/autocomplete/src/autocomplete.tsx` | Refactored `Autocomplete` to use `forwardRef`, updated props type to exclude `ref`, and simplified export. |
105
+ | `packages/components/calendar/src/calendar.tsx` | Refactored `Calendar` to use `forwardRef`, updated props type, and simplified export. |
106
+ | `packages/components/calendar/src/range-calendar.tsx` | Refactored `RangeCalendar` to use `forwardRef`, updated props type, and simplified export. |
107
+ | `packages/components/date-input/src/date-input.tsx` | Refactored `DateInput` to use `forwardRef`, updated props type, and simplified export. |
108
+ | `packages/components/date-input/src/time-input.tsx` | Refactored `TimeInput` to use `forwardRef`, updated props type, and simplified export. |
109
+ | `packages/components/date-picker/src/date-picker.tsx` | Refactored `DatePicker` to use `forwardRef`, updated props type, and simplified export. |
110
+ | `packages/components/date-picker/src/date-range-picker-field.tsx` | Refactored `DateRangePickerField` to use `forwardRef`, updated props type, and simplified export. |
111
+ | `packages/components/date-picker/src/date-range-picker.tsx` | Refactored `DateRangePicker` to use `forwardRef`, updated props type, and simplified export. |
112
+ | `packages/components/dropdown/src/dropdown-menu.tsx` | Refactored `DropdownMenu` to use `forwardRef`, updated props type, and simplified export. |
113
+ | `packages/components/listbox/src/listbox.tsx` | Refactored `Listbox` to use `forwardRef`, updated props type, and simplified export. |
114
+ | `packages/components/listbox/src/virtualized-listbox.tsx` | Converted `VirtualizedListbox` to a constant function, removed `forwardRef`, and simplified export. |
115
+ | `packages/components/menu/src/menu.tsx` | Refactored `Menu` to use `forwardRef`, updated props type, and simplified export. |
116
+ | `packages/components/select/src/select.tsx` | Refactored `Select` to use `forwardRef`, updated props type, and simplified export. |
117
+ | `packages/components/tabs/src/tabs.tsx` | Refactored `Tabs` to use `forwardRef`, updated props type, and simplified export. |
118
+
119
+ ## Possibly related PRs
120
+ - **#2041**: Changes in the main PR regarding ref handling may relate to improvements in RTL support for the select component.
121
+ - **#2987**: Introduction of the `validationBehavior` property in the Autocomplete component may connect with updates in the main PR.
122
+ - **#3119**: Changes regarding ref handling may relate to fixes in the Listbox component.
123
+ - **#3240**: Updates regarding ref handling may connect with improvements in the Listbox and Menu components.
124
+ - **#3302**: Addition of month and year pickers in DateRangePicker and RangeCalendar may relate to changes in the main PR.
125
+ - **#3362**: TypeScript error fixes in the main PR may connect with overall improvements in component functionality.
126
+ - **#3467**: Refactor of overlay components may relate to changes in Dropdown and Listbox components.
127
+ - **#3522**: Changes regarding ref handling may connect with updates in the dropdown component.
128
+ - **#3598**: Fixes in the Select component regarding the `onChange` event may relate to changes in the main PR.
129
+ - **#4206**: Addition of virtualization in the Listbox component may relate to changes in the main PR.
130
+
131
+ ## Suggested labels
132
+ `πŸ‘€ Status: In Review`, `πŸ“‹ Scope : Docs`
133
+
134
+ ## Suggested reviewers
135
+ - wingkwong
136
+
137
+ <!-- walkthrough_end -->
138
+
139
+
140
+ <!-- internal state start -->
141
+
142
+
143
+ <!-- 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 -->
144
+
145
+ <!-- internal state end -->
146
+ <!-- tips_start -->
147
+
148
+ ---
149
+
150
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
151
+
152
+ <details>
153
+ <summary>❀️ Share</summary>
154
+
155
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
156
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
157
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
158
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
159
+
160
+ </details>
161
+
162
+ <details>
163
+ <summary>πŸͺ§ Tips</summary>
164
+
165
+ ### Chat
166
+
167
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
168
+
169
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
170
+ - `I pushed a fix in commit <commit_id>, please review it.`
171
+ - `Generate unit testing code for this file.`
172
+ - `Open a follow-up GitHub issue for this discussion.`
173
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
174
+ - `@coderabbitai generate unit testing code for this file.`
175
+ - `@coderabbitai modularize this function.`
176
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
177
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
178
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
179
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
180
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
181
+
182
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
183
+
184
+ ### CodeRabbit Commands (Invoked using PR comments)
185
+
186
+ - `@coderabbitai pause` to pause the reviews on a PR.
187
+ - `@coderabbitai resume` to resume the paused reviews.
188
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
189
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
190
+ - `@coderabbitai summary` to regenerate the summary of the PR.
191
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
192
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
193
+ - `@coderabbitai help` to get help.
194
+
195
+ ### Other keywords and placeholders
196
+
197
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
198
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
199
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
200
+
201
+ ### Documentation and Community
202
+
203
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
204
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
205
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
206
+
207
+ </details>
208
+
209
+ <!-- tips_end -->\n
210
+
211
+ Files Changed:
212
+ - .changeset/dirty-tigers-thank.md (added, 13 changes)\n Patch: @@ -0,0 +1,13 @@
213
+ +---
214
+ +"@nextui-org/autocomplete": patch
215
+ +"@nextui-org/date-picker": patch
216
+ +"@nextui-org/date-input": patch
217
+ +"@nextui-org/calendar": patch
218
+ +"@nextui-org/dropdown": patch
219
+ +"@nextui-org/listbox": patch
220
+ +"@nextui-org/select": patch
221
+ +"@nextui-org/menu": patch
222
+ +"@nextui-org/tabs": patch
223
+ +---
224
+ +
225
+ +Fix the "forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?" on next.js by changing the way we manage collection base components refs\n- packages/components/autocomplete/src/autocomplete.tsx (modified, 20 changes)\n Patch: @@ -5,14 +5,19 @@ import {ChevronDownIcon, CloseIcon} from "@nextui-org/shared-icons";
226
+ import {Listbox} from "@nextui-org/listbox";
227
+ import {Button} from "@nextui-org/button";
228
+ import {Input} from "@nextui-org/input";
229
+ -import {ForwardedRef, ReactElement, Ref} from "react";
230
+ +import {ForwardedRef, ReactElement} from "react";
231
+ import {AnimatePresence} from "framer-motion";
232
+
233
+ import {UseAutocompleteProps, useAutocomplete} from "./use-autocomplete";
234
+
235
+ interface Props<T> extends UseAutocompleteProps<T> {}
236
+
237
+ -function Autocomplete<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLInputElement>) {
238
+ +export type AutocompleteProps<T extends object = object> = Props<T>;
239
+ +
240
+ +const Autocomplete = forwardRef(function Autocomplete<T extends object>(
241
+ + props: AutocompleteProps<T>,
242
+ + ref: ForwardedRef<HTMLInputElement>,
243
+ +) {
244
+ const {
245
+ Component,
246
+ isOpen,
247
+ @@ -57,13 +62,6 @@ function Autocomplete<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLI
248
+ {disableAnimation ? popoverContent : <AnimatePresence>{popoverContent}</AnimatePresence>}
249
+ </Component>
250
+ );
251
+ -}
252
+ -
253
+ -export type AutocompleteProps<T extends object = object> = Props<T> & {ref?: Ref<HTMLElement>};
254
+ -
255
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
256
+ -export default forwardRef(Autocomplete) as <T extends object>(
257
+ - props: AutocompleteProps<T>,
258
+ -) => ReactElement;
259
+ +}) as <T extends object>(props: AutocompleteProps<T>) => ReactElement;
260
+
261
+ -Autocomplete.displayName = "NextUI.Autocomplete";
262
+ +export default Autocomplete;\n- packages/components/calendar/src/calendar.tsx (modified, 20 changes)\n Patch: @@ -1,5 +1,5 @@
263
+ import type {DateValue} from "@internationalized/date";
264
+ -import type {ForwardedRef, ReactElement, Ref} from "react";
265
+ +import type {ForwardedRef, ReactElement} from "react";
266
+
267
+ import {forwardRef} from "@nextui-org/system";
268
+
269
+ @@ -9,21 +9,19 @@ import {CalendarBase} from "./calendar-base";
270
+
271
+ interface Props<T extends DateValue> extends Omit<UseCalendarProps<T>, "isHeaderWrapperExpanded"> {}
272
+
273
+ -function Calendar<T extends DateValue>(props: Props<T>, ref: ForwardedRef<HTMLDivElement>) {
274
+ +export type CalendarProps<T extends DateValue = DateValue> = Props<T>;
275
+ +
276
+ +const Calendar = forwardRef(function Calendar<T extends DateValue>(
277
+ + props: CalendarProps<T>,
278
+ + ref: ForwardedRef<HTMLDivElement>,
279
+ +) {
280
+ const {context, getBaseCalendarProps} = useCalendar<T>({...props, ref});
281
+
282
+ return (
283
+ <CalendarProvider value={context}>
284
+ <CalendarBase {...getBaseCalendarProps()} />
285
+ </CalendarProvider>
286
+ );
287
+ -}
288
+ -
289
+ -Calendar.displayName = "NextUI.Calendar";
290
+ +}) as <T extends DateValue>(props: CalendarProps<T>) => ReactElement;
291
+
292
+ -export type CalendarProps<T extends DateValue = DateValue> = Props<T> & {ref?: Ref<HTMLElement>};
293
+ -
294
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
295
+ -export default forwardRef(Calendar) as <T extends DateValue>(
296
+ - props: CalendarProps<T>,
297
+ -) => ReactElement;
298
+ +export default Calendar;\n- packages/components/calendar/src/range-calendar.tsx (modified, 22 changes)\n Patch: @@ -1,5 +1,5 @@
299
+ import type {DateValue} from "@internationalized/date";
300
+ -import type {ForwardedRef, ReactElement, Ref} from "react";
301
+ +import type {ForwardedRef, ReactElement} from "react";
302
+
303
+ import {forwardRef} from "@nextui-org/system";
304
+
305
+ @@ -13,23 +13,19 @@ interface Props<T extends DateValue>
306
+ "isHeaderExpanded" | "onHeaderExpandedChange" | "isHeaderWrapperExpanded"
307
+ > {}
308
+
309
+ -function RangeCalendar<T extends DateValue>(props: Props<T>, ref: ForwardedRef<HTMLDivElement>) {
310
+ +export type RangeCalendarProps<T extends DateValue = DateValue> = Props<T>;
311
+ +
312
+ +const RangeCalendar = forwardRef(function RangeCalendar<T extends DateValue>(
313
+ + props: RangeCalendarProps<T>,
314
+ + ref: ForwardedRef<HTMLDivElement>,
315
+ +) {
316
+ const {context, getBaseCalendarProps} = useRangeCalendar<T>({...props, ref});
317
+
318
+ return (
319
+ <CalendarProvider value={context}>
320
+ <CalendarBase {...getBaseCalendarProps()} />
321
+ </CalendarProvider>
322
+ );
323
+ -}
324
+ -
325
+ -RangeCalendar.displayName = "NextUI.RangeCalendar";
326
+ +}) as <T extends DateValue>(props: RangeCalendarProps<T>) => ReactElement;
327
+
328
+ -export type RangeCalendarProps<T extends DateValue = DateValue> = Props<T> & {
329
+ - ref?: Ref<HTMLElement>;
330
+ -};
331
+ -
332
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
333
+ -export default forwardRef(RangeCalendar) as <T extends DateValue>(
334
+ - props: RangeCalendarProps<T>,
335
+ -) => ReactElement;
336
+ +export default RangeCalendar;\n- packages/components/date-input/src/date-input.tsx (modified, 25 changes)\n Patch: @@ -1,5 +1,5 @@
337
+ import type {DateValue} from "@internationalized/date";
338
+ -import type {ForwardedRef, ReactElement, Ref} from "react";
339
+ +import type {ForwardedRef, ReactElement} from "react";
340
+
341
+ import {forwardRef} from "@nextui-org/system";
342
+
343
+ @@ -9,12 +9,14 @@ import {DateInputField} from "./date-input-field";
344
+
345
+ export interface Props<T extends DateValue> extends UseDateInputProps<T> {}
346
+
347
+ -function DateInput<T extends DateValue>(props: Props<T>, ref: ForwardedRef<HTMLDivElement>) {
348
+ +export type DateInputProps<T extends DateValue = DateValue> = Props<T>;
349
+ +
350
+ +const DateInput = forwardRef(function DateInput<T extends DateValue>(
351
+ + props: DateInputProps<T>,
352
+ + ref: ForwardedRef<HTMLDivElement>,
353
+ +) {
354
+ const {state, slots, classNames, getBaseGroupProps, getInputProps, getFieldProps} =
355
+ - useDateInput<T>({
356
+ - ...props,
357
+ - ref,
358
+ - });
359
+ + useDateInput<T>({...props, ref});
360
+
361
+ return (
362
+ <DateInputGroup {...getBaseGroupProps()}>
363
+ @@ -27,13 +29,6 @@ function DateInput<T extends DateValue>(props: Props<T>, ref: ForwardedRef<HTMLD
364
+ />
365
+ </DateInputGroup>
366
+ );
367
+ -}
368
+ -
369
+ -DateInput.displayName = "NextUI.DateInput";
370
+ +}) as <T extends DateValue>(props: DateInputProps<T>) => ReactElement;
371
+
372
+ -export type DateInputProps<T extends DateValue = DateValue> = Props<T> & {ref?: Ref<HTMLElement>};
373
+ -
374
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
375
+ -export default forwardRef(DateInput) as <T extends DateValue>(
376
+ - props: DateInputProps<T>,
377
+ -) => ReactElement;
378
+ +export default DateInput;\n- packages/components/date-input/src/time-input.tsx (modified, 20 changes)\n Patch: @@ -1,5 +1,5 @@
379
+ import type {TimeValue} from "@react-types/datepicker";
380
+ -import type {ForwardedRef, ReactElement, Ref} from "react";
381
+ +import type {ForwardedRef, ReactElement} from "react";
382
+
383
+ import {forwardRef} from "@nextui-org/system";
384
+
385
+ @@ -9,7 +9,12 @@ import {DateInputGroup} from "./date-input-group";
386
+
387
+ export interface Props<T extends TimeValue> extends UseTimeInputProps<T> {}
388
+
389
+ -function TimeInput<T extends TimeValue>(props: Props<T>, ref: ForwardedRef<HTMLDivElement>) {
390
+ +export type TimeInputProps<T extends TimeValue = TimeValue> = Props<T>;
391
+ +
392
+ +const TimeInput = forwardRef(function TimeInput<T extends TimeValue>(
393
+ + props: TimeInputProps<T>,
394
+ + ref: ForwardedRef<HTMLDivElement>,
395
+ +) {
396
+ const {state, slots, classNames, getBaseGroupProps, getInputProps, getFieldProps} =
397
+ useTimeInput<T>({
398
+ ...props,
399
+ @@ -27,13 +32,6 @@ function TimeInput<T extends TimeValue>(props: Props<T>, ref: ForwardedRef<HTMLD
400
+ />
401
+ </DateInputGroup>
402
+ );
403
+ -}
404
+ -
405
+ -TimeInput.displayName = "NextUI.TimeInput";
406
+ +}) as <T extends TimeValue>(props: TimeInputProps<T>) => ReactElement;
407
+
408
+ -export type TimeInputProps<T extends TimeValue = TimeValue> = Props<T> & {ref?: Ref<HTMLElement>};
409
+ -
410
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
411
+ -export default forwardRef(TimeInput) as <T extends TimeValue>(
412
+ - props: TimeInputProps<T>,
413
+ -) => ReactElement;
414
+ +export default TimeInput;\n- packages/components/date-picker/src/date-picker.tsx (modified, 20 changes)\n Patch: @@ -1,6 +1,6 @@
415
+ import type {DateValue} from "@internationalized/date";
416
+
417
+ -import {ForwardedRef, ReactElement, Ref, useMemo} from "react";
418
+ +import {ForwardedRef, ReactElement, useMemo} from "react";
419
+ import {cloneElement, isValidElement} from "react";
420
+ import {forwardRef} from "@nextui-org/system";
421
+ import {Button} from "@nextui-org/button";
422
+ @@ -20,7 +20,12 @@ export interface Props<T extends DateValue> extends UseDatePickerProps<T> {
423
+ selectorButtonPlacement?: "start" | "end";
424
+ }
425
+
426
+ -function DatePicker<T extends DateValue>(props: Props<T>, ref: ForwardedRef<HTMLDivElement>) {
427
+ +export type DatePickerProps<T extends DateValue = DateValue> = Props<T>;
428
+ +
429
+ +const DatePicker = forwardRef(function DatePicker<T extends DateValue>(
430
+ + props: DatePickerProps<T>,
431
+ + ref: ForwardedRef<HTMLInputElement>,
432
+ +) {
433
+ const {selectorButtonPlacement = "end", ...otherProps} = props;
434
+
435
+ const {
436
+ @@ -98,13 +103,6 @@ function DatePicker<T extends DateValue>(props: Props<T>, ref: ForwardedRef<HTML
437
+ {disableAnimation ? popoverContent : <AnimatePresence>{popoverContent}</AnimatePresence>}
438
+ </>
439
+ );
440
+ -}
441
+ +}) as <T extends DateValue>(props: DatePickerProps<T>) => ReactElement;
442
+
443
+ -DatePicker.displayName = "NextUI.DatePicker";
444
+ -
445
+ -export type DatePickerProps<T extends DateValue = DateValue> = Props<T> & {ref?: Ref<HTMLElement>};
446
+ -
447
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
448
+ -export default forwardRef(DatePicker) as <T extends DateValue>(
449
+ - props: DatePickerProps<T>,
450
+ -) => ReactElement;
451
+ +export default DatePicker;\n- packages/components/date-picker/src/date-range-picker-field.tsx (modified, 21 changes)\n Patch: @@ -7,7 +7,7 @@ import {createCalendar} from "@internationalized/date";
452
+ import {forwardRef, useRef} from "react";
453
+ import {DateValue} from "@react-types/datepicker";
454
+ import {useDateField as useAriaDateField} from "@react-aria/datepicker";
455
+ -import {ForwardedRef, ReactElement, Ref} from "react";
456
+ +import {ForwardedRef, ReactElement} from "react";
457
+ import {useDateFieldState} from "@react-stately/datepicker";
458
+ import {DateInputSegment} from "@nextui-org/date-input";
459
+ import {filterDOMProps, useDOMRef} from "@nextui-org/react-utils";
460
+ @@ -29,8 +29,10 @@ export interface Props<T extends DateValue>
461
+ classNames?: SlotsToClasses<DateInputSlots>;
462
+ }
463
+
464
+ -function DateRangePickerField<T extends DateValue>(
465
+ - props: Props<T>,
466
+ +export type DateRangePickerFieldProps<T extends DateValue = DateValue> = Props<T>;
467
+ +
468
+ +const DateRangePickerField = forwardRef(function DateRangePickerField<T extends DateValue>(
469
+ + props: DateRangePickerFieldProps<T>,
470
+ ref: ForwardedRef<HTMLDivElement>,
471
+ ) {
472
+ const {as, slots, createCalendar: createCalendarProp, classNames, ...otherProps} = props;
473
+ @@ -76,15 +78,6 @@ function DateRangePickerField<T extends DateValue>(
474
+ <input {...inputProps} ref={inputRef} />
475
+ </Component>
476
+ );
477
+ -}
478
+ +}) as <T extends DateValue>(props: DateRangePickerFieldProps<T>) => ReactElement;
479
+
480
+ -DateRangePickerField.displayName = "NextUI.DateRangePickerField";
481
+ -
482
+ -export type DateRangePickerFieldProps<T extends DateValue = DateValue> = Props<T> & {
483
+ - ref?: Ref<HTMLElement>;
484
+ -};
485
+ -
486
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
487
+ -export default forwardRef(DateRangePickerField) as <T extends DateValue>(
488
+ - props: DateRangePickerFieldProps<T>,
489
+ -) => ReactElement;
490
+ +export default DateRangePickerField;\n- packages/components/date-picker/src/date-range-picker.tsx (modified, 22 changes)\n Patch: @@ -1,6 +1,6 @@
491
+ import type {DateValue} from "@internationalized/date";
492
+
493
+ -import {ForwardedRef, ReactElement, Ref, useMemo} from "react";
494
+ +import {ForwardedRef, ReactElement, useMemo} from "react";
495
+ import {cloneElement, isValidElement} from "react";
496
+ import {forwardRef} from "@nextui-org/system";
497
+ import {Button} from "@nextui-org/button";
498
+ @@ -21,7 +21,12 @@ export interface Props<T extends DateValue> extends UseDateRangePickerProps<T> {
499
+ selectorButtonPlacement?: "start" | "end";
500
+ }
501
+
502
+ -function DateRangePicker<T extends DateValue>(props: Props<T>, ref: ForwardedRef<HTMLDivElement>) {
503
+ +export type DateRangePickerProps<T extends DateValue = DateValue> = Props<T>;
504
+ +
505
+ +const DateRangePicker = forwardRef(function DateRangePicker<T extends DateValue>(
506
+ + props: DateRangePickerProps<T>,
507
+ + ref: ForwardedRef<HTMLDivElement>,
508
+ +) {
509
+ const {selectorButtonPlacement = "end", ...otherProps} = props;
510
+
511
+ const {
512
+ @@ -115,15 +120,6 @@ function DateRangePicker<T extends DateValue>(props: Props<T>, ref: ForwardedRef
513
+ {disableAnimation ? popoverContent : <AnimatePresence>{popoverContent}</AnimatePresence>}
514
+ </>
515
+ );
516
+ -}
517
+ +}) as <T extends DateValue>(props: DateRangePickerProps<T>) => ReactElement;
518
+
519
+ -DateRangePicker.displayName = "NextUI.DateRangePicker";
520
+ -
521
+ -export type DateRangePickerProps<T extends DateValue = DateValue> = Props<T> & {
522
+ - ref?: Ref<HTMLElement>;
523
+ -};
524
+ -
525
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
526
+ -export default forwardRef(DateRangePicker) as <T extends DateValue>(
527
+ - props: DateRangePickerProps<T>,
528
+ -) => ReactElement;
529
+ +export default DateRangePicker;\n- packages/components/dropdown/src/dropdown-menu.tsx (modified, 20 changes)\n Patch: @@ -2,13 +2,18 @@ import {PopoverContent} from "@nextui-org/popover";
530
+ import {FocusScope} from "@react-aria/focus";
531
+ import {forwardRef} from "@nextui-org/system";
532
+ import {Menu, MenuProps} from "@nextui-org/menu";
533
+ -import {ForwardedRef, ReactElement, Ref} from "react";
534
+ +import {ForwardedRef, ReactElement} from "react";
535
+
536
+ import {useDropdownContext} from "./dropdown-context";
537
+
538
+ interface Props<T extends object = object> extends Omit<MenuProps<T>, "menuProps"> {}
539
+
540
+ -function DropdownMenu<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLUListElement>) {
541
+ +export type DropdownMenuProps<T extends object = object> = Props<T>;
542
+ +
543
+ +const DropdownMenu = forwardRef(function DropdownMenu<T extends object>(
544
+ + props: DropdownMenuProps<T>,
545
+ + ref: ForwardedRef<HTMLUListElement>,
546
+ +) {
547
+ const {getMenuProps} = useDropdownContext();
548
+
549
+ return (
550
+ @@ -18,13 +23,6 @@ function DropdownMenu<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLU
551
+ </FocusScope>
552
+ </PopoverContent>
553
+ );
554
+ -}
555
+ -
556
+ -export type DropdownMenuProps<T extends object = object> = Props<T> & {ref?: Ref<HTMLElement>};
557
+ -
558
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
559
+ -export default forwardRef(DropdownMenu) as <T extends object>(
560
+ - props: DropdownMenuProps<T>,
561
+ -) => ReactElement;
562
+ +}) as <T extends object>(props: DropdownMenuProps<T>) => ReactElement;
563
+
564
+ -DropdownMenu.displayName = "NextUI.DropdownMenu";
565
+ +export default DropdownMenu;\n- packages/components/listbox/src/listbox.tsx (modified, 18 changes)\n Patch: @@ -1,4 +1,4 @@
566
+ -import {ForwardedRef, ReactElement, Ref} from "react";
567
+ +import {ForwardedRef, ReactElement} from "react";
568
+ import {forwardRef} from "@nextui-org/system";
569
+ import {mergeProps} from "@react-aria/utils";
570
+
571
+ @@ -17,7 +17,12 @@ interface Props<T> extends UseListboxProps<T> {
572
+ virtualization?: VirtualizationProps;
573
+ }
574
+
575
+ -function Listbox<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLUListElement>) {
576
+ +export type ListboxProps<T extends object = object> = Props<T>;
577
+ +
578
+ +const Listbox = forwardRef(function Listbox<T extends object>(
579
+ + props: ListboxProps<T>,
580
+ + ref: ForwardedRef<HTMLUListElement>,
581
+ +) {
582
+ const {isVirtualized, ...restProps} = props;
583
+
584
+ const useListboxProps = useListbox<T>({...restProps, ref});
585
+ @@ -91,11 +96,6 @@ function Listbox<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLUListE
586
+ {bottomContent}
587
+ </div>
588
+ );
589
+ -}
590
+ -
591
+ -Listbox.displayName = "NextUI.Listbox";
592
+ -
593
+ -export type ListboxProps<T extends object = object> = Props<T> & {ref?: Ref<HTMLElement>};
594
+ +}) as <T extends object>(props: ListboxProps<T>) => ReactElement;
595
+
596
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
597
+ -export default forwardRef(Listbox) as <T extends object>(props: ListboxProps<T>) => ReactElement;
598
+ +export default Listbox;\n- packages/components/listbox/src/virtualized-listbox.tsx (modified, 12 changes)\n Patch: @@ -1,5 +1,4 @@
599
+ -import {ReactElement, useRef} from "react";
600
+ -import {forwardRef} from "@nextui-org/system";
601
+ +import {useRef} from "react";
602
+ import {mergeProps} from "@react-aria/utils";
603
+ import {useVirtualizer} from "@tanstack/react-virtual";
604
+ import {isEmpty} from "@nextui-org/shared-utils";
605
+ @@ -14,7 +13,7 @@ interface Props extends UseListboxReturn {
606
+ virtualization?: VirtualizationProps;
607
+ }
608
+
609
+ -function VirtualizedListbox(props: Props) {
610
+ +const VirtualizedListbox = (props: Props) => {
611
+ const {
612
+ Component,
613
+ state,
614
+ @@ -151,9 +150,6 @@ function VirtualizedListbox(props: Props) {
615
+ {bottomContent}
616
+ </div>
617
+ );
618
+ -}
619
+ -
620
+ -VirtualizedListbox.displayName = "NextUI.VirtualizedListbox";
621
+ +};
622
+
623
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
624
+ -export default forwardRef(VirtualizedListbox) as (props: Props) => ReactElement;
625
+ +export default VirtualizedListbox;\n- packages/components/menu/src/menu.tsx (modified, 18 changes)\n Patch: @@ -1,5 +1,5 @@
626
+ import {forwardRef} from "@nextui-org/system";
627
+ -import {ForwardedRef, ReactElement, Ref} from "react";
628
+ +import {ForwardedRef, ReactElement} from "react";
629
+ import {mergeClasses} from "@nextui-org/theme";
630
+
631
+ import {UseMenuProps, useMenu} from "./use-menu";
632
+ @@ -8,7 +8,12 @@ import MenuItem from "./menu-item";
633
+
634
+ interface Props<T> extends UseMenuProps<T> {}
635
+
636
+ -function Menu<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLUListElement>) {
637
+ +export type MenuProps<T extends object = object> = Props<T>;
638
+ +
639
+ +const Menu = forwardRef(function Menu<T extends object>(
640
+ + props: MenuProps<T>,
641
+ + ref: ForwardedRef<HTMLUListElement>,
642
+ +) {
643
+ const {
644
+ Component,
645
+ state,
646
+ @@ -72,11 +77,6 @@ function Menu<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLUListElem
647
+ {bottomContent}
648
+ </div>
649
+ );
650
+ -}
651
+ -
652
+ -export type MenuProps<T extends object = object> = Props<T> & {ref?: Ref<HTMLElement>};
653
+ -
654
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
655
+ -export default forwardRef(Menu) as <T extends object>(props: MenuProps<T>) => ReactElement;
656
+ +}) as <T extends object>(props: MenuProps<T>) => ReactElement;
657
+
658
+ -Menu.displayName = "NextUI.Menu";
659
+ +export default Menu;\n- packages/components/select/src/select.tsx (modified, 21 changes)\n Patch: @@ -1,10 +1,13 @@
660
+ +import type {ForwardedRef, ReactElement} from "react";
661
+ +
662
+ import {Listbox} from "@nextui-org/listbox";
663
+ import {FreeSoloPopover} from "@nextui-org/popover";
664
+ import {ChevronDownIcon} from "@nextui-org/shared-icons";
665
+ import {Spinner} from "@nextui-org/spinner";
666
+ +import {useMemo} from "react";
667
+ import {forwardRef} from "@nextui-org/system";
668
+ import {ScrollShadow} from "@nextui-org/scroll-shadow";
669
+ -import {cloneElement, ForwardedRef, ReactElement, Ref, useMemo} from "react";
670
+ +import {cloneElement} from "react";
671
+ import {VisuallyHidden} from "@react-aria/visually-hidden";
672
+ import {AnimatePresence} from "framer-motion";
673
+
674
+ @@ -13,7 +16,12 @@ import {UseSelectProps, useSelect} from "./use-select";
675
+
676
+ interface Props<T> extends UseSelectProps<T> {}
677
+
678
+ -function Select<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLSelectElement>) {
679
+ +export type SelectProps<T extends object = object> = Props<T>;
680
+ +
681
+ +const Select = forwardRef(function Select<T extends object>(
682
+ + props: SelectProps<T>,
683
+ + ref: ForwardedRef<HTMLSelectElement>,
684
+ +) {
685
+ const {
686
+ Component,
687
+ state,
688
+ @@ -139,11 +147,6 @@ function Select<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLSelectE
689
+ {disableAnimation ? popoverContent : <AnimatePresence>{popoverContent}</AnimatePresence>}
690
+ </div>
691
+ );
692
+ -}
693
+ -
694
+ -export type SelectProps<T extends object = object> = Props<T> & {ref?: Ref<HTMLElement>};
695
+ -
696
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
697
+ -export default forwardRef(Select) as <T extends object>(props: SelectProps<T>) => ReactElement;
698
+ +}) as <T extends object>(props: SelectProps<T>) => ReactElement;
699
+
700
+ -Select.displayName = "NextUI.Select";
701
+ +export default Select;\n- packages/components/tabs/src/tabs.tsx (modified, 18 changes)\n Patch: @@ -1,4 +1,4 @@
702
+ -import {ForwardedRef, ReactElement, Ref, useId} from "react";
703
+ +import {ForwardedRef, ReactElement, useId} from "react";
704
+ import {LayoutGroup} from "framer-motion";
705
+ import {forwardRef} from "@nextui-org/system";
706
+
707
+ @@ -8,7 +8,12 @@ import TabPanel from "./tab-panel";
708
+
709
+ interface Props<T> extends UseTabsProps<T> {}
710
+
711
+ -function Tabs<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLDivElement>) {
712
+ +export type TabsProps<T extends object = object> = Props<T>;
713
+ +
714
+ +const Tabs = forwardRef(function Tabs<T extends object>(
715
+ + props: TabsProps<T>,
716
+ + ref: ForwardedRef<HTMLDivElement>,
717
+ +) {
718
+ const {
719
+ Component,
720
+ values,
721
+ @@ -69,11 +74,6 @@ function Tabs<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLDivElemen
722
+ }
723
+
724
+ return renderTabs;
725
+ -}
726
+ -
727
+ -export type TabsProps<T extends object = object> = Props<T> & {ref?: Ref<HTMLElement>};
728
+ -
729
+ -// forwardRef doesn't support generic parameters, so cast the result to the correct type
730
+ -export default forwardRef(Tabs) as <T extends object>(props: TabsProps<T>) => ReactElement;
731
+ +}) as <T extends object>(props: TabsProps<T>) => ReactElement;
732
+
733
+ -Tabs.displayName = "NextUI.Tabs";
734
+ +export default Tabs;\n
processed_docs/pr_data_0_doc_45.txt ADDED
@@ -0,0 +1,738 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4206
2
+ Title: feat(listbox): virtualization
3
+ Base Branch: canary
4
+ Head Branch: feat/eng-1632-virtualization-for-listbox
5
+ Author: vinroger
6
+ URL: https://github.com/nextui-org/nextui/pull/4206
7
+ State: MERGED
8
+ Created At: 2024-12-01T16:52:44Z
9
+ Merged At: 2024-12-01T20:19:22Z
10
+ Participants: vinroger, jrgarciadev, wingkwong, winchesHe
11
+
12
+ Description:
13
+ Closes #3047
14
+ Closes #3189
15
+ πŸ“ Description
16
+ This PR adds virtualization support for the Listbox component, enabling efficient handling of large datasets by rendering only visible items. The updates focus on improving performance and enhancing the usability of dropdowns with extensive data.
17
+ ⛳️ Current behavior (updates)
18
+ The current Listbox component renders all items in the DOM, leading to potential performance issues when handling large datasets.
19
+ πŸš€ New behavior
20
+
21
+ Virtualization Support:
22
+
23
+ Efficient rendering of only visible items in the viewport with the isVirtualized property.
24
+ Configuration options through the virtualization prop, including:
25
+
26
+ maxListboxHeight: Set maximum listbox height.
27
+ itemHeight: Define fixed height for each listbox item.
28
+
29
+
30
+
31
+
32
+ Examples:
33
+
34
+ Virtualized dropdowns with 1,000 and 10,000 items.
35
+ Custom configurations for item height and listbox height.
36
+
37
+
38
+
39
+ πŸ’£ Is this a breaking change (Yes/No):
40
+ No
41
+ πŸ“ Additional Information
42
+ The virtualization implementation is based on the @tanstack/react-virtual library. This update also includes new documentation examples and stories to guide developers in using the enhanced Listbox component.
43
+
44
+ Summary by CodeRabbit
45
+ Release Notes
46
+
47
+
48
+ New Features
49
+
50
+ Introduced virtualization support for the Listbox and Menu components, enhancing performance when rendering large datasets.
51
+ Added new properties for the Listbox component: isVirtualized and virtualization for improved rendering control.
52
+ New React components for handling large datasets in the Listbox, capable of displaying up to 10,000 items efficiently.
53
+
54
+
55
+
56
+ Documentation
57
+
58
+ Updated documentation to include a new section on virtualization for the Listbox component, along with examples for handling large datasets.
59
+
60
+
61
+
62
+ Bug Fixes
63
+
64
+ Improved type safety and encapsulation in various components to prevent unintended usage of internal types.
65
+
66
+
67
+
68
+ Chores
69
+
70
+ Updated routes in documentation to reflect recent changes and enhancements.
71
+
72
+ Commits:
73
+ - fix: should not export list item internal variables type\n- feat: changeset\n- fix: type error\n- fix: code block type error\n- feat: virtualization feature, docs for listbox\n- chore: update routes.json\n- fix: fix code-demo for typecheck\n- Merge branch 'fix/intertype-should-not-expoort' into feat/eng-1632-virtualization-for-listbox\n- chore: rollback for files\n- Merge branch 'canary' of github.com:nextui-org/nextui into feat/eng-1632-virtualization-for-listbox\n- chore: props omitted in the component itself\n- fix: menu item types\n- fix: tupecheck\n
74
+
75
+ Labels:
76
+
77
+
78
+ Comments:
79
+ - linear: <p><a href="https://linear.app/nextui-inc/issue/ENG-1632/virtualization-for-listbox">ENG-1632 Virtualization for Listbox</a></p>\n- changeset-bot: ### πŸ¦‹ Changeset detected
80
+
81
+ Latest commit: 30b62e262dad8652bc06bcba62de30b24aa7c221
82
+
83
+ **The changes in this PR will be included in the next version bump.**
84
+
85
+ <details><summary>This PR includes changesets to release 17 packages</summary>
86
+
87
+ | Name | Type |
88
+ | ------------------------ | ----- |
89
+ | @nextui-org/dropdown | Patch |
90
+ | @nextui-org/listbox | Patch |
91
+ | @nextui-org/popover | Patch |
92
+ | @nextui-org/modal | Patch |
93
+ | @nextui-org/menu | Patch |
94
+ | @nextui-org/theme | Patch |
95
+ | @nextui-org/react | Patch |
96
+ | @nextui-org/autocomplete | Patch |
97
+ | @nextui-org/select | Patch |
98
+ | @nextui-org/date-picker | Patch |
99
+ | @nextui-org/drawer | Patch |
100
+ | @nextui-org/checkbox | Patch |
101
+ | @nextui-org/date-input | Patch |
102
+ | @nextui-org/form | Patch |
103
+ | @nextui-org/input | Patch |
104
+ | @nextui-org/radio | Patch |
105
+ | @nextui-org/table | Patch |
106
+
107
+ </details>
108
+
109
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
110
+
111
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/feat/eng-1632-virtualization-for-listbox?filename=.changeset/angry-rice-promise.md&value=---%0A%22%40nextui-org%2Fdocs%22%3A%20patch%0A%22%40nextui-org%2Fdropdown%22%3A%20patch%0A%22%40nextui-org%2Flistbox%22%3A%20patch%0A%22%40nextui-org%2Fmenu%22%3A%20patch%0A%22%40nextui-org%2Fpopover%22%3A%20patch%0A---%0A%0Afeat(listbox)%3A%20virtualization%0A)
112
+
113
+ \n- vercel: [vc]: #6se7yUjSPZJox8XBZ49UQ86SvQm669VXUp0sVGBJU2o=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi82d0FHQzFOTVBvSzlpbUN6UkdVbWlVekxNYTU1IiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1mZWF0LWVuZy0xNjMyLXZpcnR1YWxpemF0aS05MTBjMmQtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1mZWF0LWVuZy0xNjMyLXZpcnR1YWxpemF0aS05MTBjMmQtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi8yWGhYQ3d2TFlkQnVOU3BmbmkxWERaV0RoY3RzIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZlYXQtZW5nLTE2MzItdmlydHVhbC0wZDdlMTAtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZlYXQtZW5nLTE2MzItdmlydHVhbC0wZDdlMTAtbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19XX0=
114
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
115
+
116
+ | Name | Status | Preview | Comments | Updated (UTC) |
117
+ | :--- | :----- | :------ | :------- | :------ |
118
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/6wAGC1NMPoK9imCzRGUmiUzLMa55)) | [Visit Preview](https://nextui-docs-v2-git-feat-eng-1632-virtualizati-910c2d-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-feat-eng-1632-virtualizati-910c2d-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 1, 2024 8:19pm |
119
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/2XhXCwvLYdBuNSpfni1XDZWDhcts)) | [Visit Preview](https://nextui-storybook-v2-git-feat-eng-1632-virtual-0d7e10-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-feat-eng-1632-virtual-0d7e10-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 1, 2024 8:19pm |
120
+
121
+
122
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
123
+ <!-- walkthrough_start -->
124
+
125
+ ## Walkthrough
126
+ The pull request introduces enhancements to the Listbox component and related functionalities, focusing on virtualization support for improved performance when handling large datasets. New properties and components are added to facilitate this feature, including the integration of new React components and updates to the documentation. Additionally, type definitions are refined to enhance type safety and clarity across various components.
127
+
128
+ ## Changes
129
+
130
+ | File | Change Summary |
131
+ |-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
132
+ | `apps/docs/content/components/listbox/index.ts` | Added new imports `virtualization` and `virtualizationTenThousand` to `listboxContent`. |
133
+ | `apps/docs/content/components/listbox/virtualization-ten-thousand.raw.jsx` | Introduced a new component `App` for a virtualized listbox displaying 1000 items; added `generateItems` function. |
134
+ | `apps/docs/content/components/listbox/virtualization-ten-thousand.ts` | Created a new file exporting the `App` component from the raw JSX file. |
135
+ | `apps/docs/content/components/listbox/virtualization.raw.jsx` | Added a new component `App` for a virtualized listbox with 1000 items. |
136
+ | `apps/docs/content/components/listbox/virtualization.ts` | Created a new file exporting the `App` component from the raw JSX file. |
137
+ | `apps/docs/content/docs/components/listbox.mdx` | Updated documentation to include new virtualization features and properties. |
138
+ | `packages/components/listbox/stories/listbox.stories.tsx` | Added `LargeDatasetSchema` interface and `generateLargeDataset` function; created templates for large datasets. |
139
+ | `apps/docs/config/routes.json` | Updated routes for documentation, marking several as `updated` and adding new posts. |
140
+ | `.changeset/ninety-mails-yell.md` | Adjusted internal variable types for encapsulation. |
141
+ | `apps/docs/components/docs/components/code-demo/react-live-demo.tsx` | Updated `ReactLiveDemoProps` to use `SandpackFiles` for file handling. |
142
+ | `packages/components/listbox/src/use-listbox-item.ts` | Enhanced type definitions by adding `MenuItemVariantProps`. |
143
+ | `packages/components/menu/src/menu.tsx` | Modified `MenuProps` to include all properties from `Props<T>`. |
144
+ | `packages/components/menu/src/use-menu-item.ts` | Improved type handling in `mapPropsVariants` function. |
145
+ | `packages/components/listbox/src/base/listbox-item-base.tsx` | Updated `ListboxItemBaseProps` to omit specific properties. |
146
+ | `packages/components/listbox/src/listbox-item.tsx` | Modified `ListboxItemProps` to omit certain properties from `UseListboxItemProps`. |
147
+ | `packages/components/menu/src/base/menu-item-base.tsx` | Altered `MenuItemBaseProps` to omit specific properties. |
148
+ | `packages/components/menu/src/menu-item.tsx` | Updated `MenuItemProps` to exclude certain properties from `UseMenuItemProps`. |
149
+
150
+ ## Assessment against linked issues
151
+
152
+ | Objective | Addressed | Explanation |
153
+ |-----------------------------------------------------------------------------------------------|-----------|-------------------------------------------|
154
+ | Implement virtualization for large datasets in Listbox component (#3189) | βœ… | |
155
+ | Optimize Select and Autocomplete components for large options (#3047) | ❌ | Changes focused primarily on Listbox. |
156
+
157
+ ## Possibly related PRs
158
+ - **#3119**: Addresses an issue with the `Listbox` component, which is directly connected to the changes made in the main PR that involves modifications to the `listboxContent` object and its properties.
159
+ - **#3762**: This PR fixes an issue with the Dropdown component, which is related to the overall functionality of dropdown-like components, including the Listbox, as they share similar interaction patterns and behaviors.
160
+ - **#4198**: This PR focuses on ensuring that `forwardRef` render functions correctly utilize the `ref` parameter, which is relevant to the Listbox and other components modified in the main PR, enhancing their integration and functionality.
161
+
162
+ ## Suggested labels
163
+ `πŸ‘€ Status: In Review`, `πŸ“‹ Scope : Docs`
164
+
165
+ ## Suggested reviewers
166
+ - wingkwong
167
+
168
+ <!-- walkthrough_end -->
169
+ <!-- This is an auto-generated comment: rate limited by coderabbit.ai -->
170
+
171
+ > [!WARNING]
172
+ > ## Rate limit exceeded
173
+ >
174
+ > @jrgarciadev has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait **16 minutes and 31 seconds** before requesting another review.
175
+ >
176
+ > <details>
177
+ > <summary>βŒ› How to resolve this issue?</summary>
178
+ >
179
+ > After the wait time has elapsed, a review can be triggered using the `@coderabbitai review` command as a PR comment. Alternatively, push new commits to this PR.
180
+ >
181
+ > We recommend that you space out your commits to avoid hitting the rate limit.
182
+ >
183
+ > </details>
184
+ >
185
+ >
186
+ > <details>
187
+ > <summary>🚦 How do rate limits work?</summary>
188
+ >
189
+ > CodeRabbit enforces hourly rate limits for each developer per organization.
190
+ >
191
+ > Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.
192
+ >
193
+ > Please see our [FAQ](https://docs.coderabbit.ai/faq) for further information.
194
+ >
195
+ > </details>
196
+ >
197
+ > <details>
198
+ > <summary>πŸ“₯ Commits</summary>
199
+ >
200
+ > Reviewing files that changed from the base of the PR and between 5e8281bdb29f38c93918e1e95564f8403debf349 and 30b62e262dad8652bc06bcba62de30b24aa7c221.
201
+ >
202
+ > </details>
203
+
204
+ <!-- end of auto-generated comment: rate limited by coderabbit.ai -->
205
+
206
+
207
+
208
+
209
+ <!-- internal state start -->
210
+
211
+
212
+ <!-- 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 -->
213
+
214
+ <!-- internal state end -->
215
+ <!-- tips_start -->
216
+
217
+ ---
218
+
219
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
220
+
221
+ <details>
222
+ <summary>❀️ Share</summary>
223
+
224
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
225
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
226
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
227
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
228
+
229
+ </details>
230
+
231
+ <details>
232
+ <summary>πŸͺ§ Tips</summary>
233
+
234
+ ### Chat
235
+
236
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
237
+
238
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
239
+ - `I pushed a fix in commit <commit_id>, please review it.`
240
+ - `Generate unit testing code for this file.`
241
+ - `Open a follow-up GitHub issue for this discussion.`
242
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
243
+ - `@coderabbitai generate unit testing code for this file.`
244
+ - `@coderabbitai modularize this function.`
245
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
246
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
247
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
248
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
249
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
250
+
251
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
252
+
253
+ ### CodeRabbit Commands (Invoked using PR comments)
254
+
255
+ - `@coderabbitai pause` to pause the reviews on a PR.
256
+ - `@coderabbitai resume` to resume the paused reviews.
257
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
258
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
259
+ - `@coderabbitai summary` to regenerate the summary of the PR.
260
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
261
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
262
+ - `@coderabbitai help` to get help.
263
+
264
+ ### Other keywords and placeholders
265
+
266
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
267
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
268
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
269
+
270
+ ### Documentation and Community
271
+
272
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
273
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
274
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
275
+
276
+ </details>
277
+
278
+ <!-- tips_end -->\n- jrgarciadev: Thank you! @vinroger \n
279
+
280
+ Files Changed:
281
+ - .changeset/dull-coats-crash.md (added, 9 changes)\n Patch: @@ -0,0 +1,9 @@
282
+ +---
283
+ +"@nextui-org/dropdown": patch
284
+ +"@nextui-org/listbox": patch
285
+ +"@nextui-org/popover": patch
286
+ +"@nextui-org/modal": patch
287
+ +"@nextui-org/menu": patch
288
+ +---
289
+ +
290
+ +Fix typecheck\n- .changeset/ninety-mails-yell.md (added, 6 changes)\n Patch: @@ -0,0 +1,6 @@
291
+ +---
292
+ +"@nextui-org/menu": patch
293
+ +"@nextui-org/theme": patch
294
+ +---
295
+ +
296
+ +Fix should not export list item internal variables type\n- .changeset/ten-experts-happen.md (added, 7 changes)\n Patch: @@ -0,0 +1,7 @@
297
+ +---
298
+ +"@nextui-org/listbox": patch
299
+ +"@nextui-org/menu": patch
300
+ +"@nextui-org/theme": patch
301
+ +---
302
+ +
303
+ +Virtualization support added to Listbox and Menu\n- apps/docs/components/docs/components/code-demo/react-live-demo.tsx (modified, 5 changes)\n Patch: @@ -5,14 +5,15 @@ import * as Components from "@nextui-org/react";
304
+ import * as intlDateUtils from "@internationalized/date";
305
+ import * as reactAriaI18n from "@react-aria/i18n";
306
+ import * as reactHookForm from "react-hook-form";
307
+ +import {SandpackFiles} from "@codesandbox/sandpack-react/types";
308
+
309
+ import {BgGridContainer} from "@/components/bg-grid-container";
310
+ import {GradientBox, GradientBoxProps} from "@/components/gradient-box";
311
+ import {CopyButton} from "@/components/copy-button";
312
+
313
+ export interface ReactLiveDemoProps {
314
+ code: string;
315
+ - files: string[];
316
+ + files: SandpackFiles;
317
+ noInline?: boolean;
318
+ height?: string | number;
319
+ isCentered?: boolean;
320
+ @@ -47,7 +48,7 @@ export const ReactLiveDemo: React.FC<ReactLiveDemoProps> = ({
321
+ <div className="absolute top-[-28px] right-[-8px]">
322
+ <CopyButton
323
+ className="opacity-0 group-hover/code-demo:opacity-100 transition-opacity text-zinc-400"
324
+ - value={files?.[DEFAULT_FILE]}
325
+ + value={files?.[DEFAULT_FILE] as string}
326
+ />
327
+ </div>
328
+ )}\n- apps/docs/config/routes.json (modified, 3 changes)\n Patch: @@ -302,7 +302,8 @@
329
+ "key": "listbox",
330
+ "title": "Listbox",
331
+ "keywords": "listbox, selection, option list, multiple choice",
332
+ - "path": "/docs/components/listbox.mdx"
333
+ + "path": "/docs/components/listbox.mdx",
334
+ + "updated": true
335
+ },
336
+ {
337
+ "key": "modal",\n- apps/docs/content/components/listbox/index.ts (modified, 4 changes)\n Patch: @@ -9,6 +9,8 @@ import description from "./description";
338
+ import sections from "./sections";
339
+ import customStyles from "./custom-styles";
340
+ import topContent from "./top-content";
341
+ +import virtualization from "./virtualization";
342
+ +import virtualizationTenThousand from "./virtualization-ten-thousand";
343
+
344
+ export const listboxContent = {
345
+ usage,
346
+ @@ -22,4 +24,6 @@ export const listboxContent = {
347
+ sections,
348
+ customStyles,
349
+ topContent,
350
+ + virtualization,
351
+ + virtualizationTenThousand,
352
+ };\n- apps/docs/content/components/listbox/virtualization-ten-thousand.raw.jsx (added, 57 changes)\n Patch: @@ -0,0 +1,57 @@
353
+ +import {Listbox, ListboxItem} from "@nextui-org/react";
354
+ +
355
+ +const generateItems = (n) => {
356
+ + const items = [
357
+ + "Cat",
358
+ + "Dog",
359
+ + "Elephant",
360
+ + "Lion",
361
+ + "Tiger",
362
+ + "Giraffe",
363
+ + "Dolphin",
364
+ + "Penguin",
365
+ + "Zebra",
366
+ + "Shark",
367
+ + "Whale",
368
+ + "Otter",
369
+ + "Crocodile",
370
+ + ];
371
+ +
372
+ + const dataset = [];
373
+ +
374
+ + for (let i = 0; i < n; i++) {
375
+ + const item = items[i % items.length];
376
+ +
377
+ + dataset.push({
378
+ + label: `${item}${i}`,
379
+ + value: `${item.toLowerCase()}${i}`,
380
+ + description: "Sample description",
381
+ + });
382
+ + }
383
+ +
384
+ + return dataset;
385
+ +};
386
+ +
387
+ +export default function App() {
388
+ + const items = generateItems(1000);
389
+ +
390
+ + return (
391
+ + <div className="flex w-full flex-wrap md:flex-nowrap gap-4">
392
+ + <Listbox
393
+ + isVirtualized
394
+ + label={"Select from 10000 items"}
395
+ + placeholder="Select..."
396
+ + virtualization={{
397
+ + maxListboxHeight: 400,
398
+ + itemHeight: 40,
399
+ + }}
400
+ + >
401
+ + {items.map((item, index) => (
402
+ + <ListboxItem key={index} value={item.value}>
403
+ + {item.label}
404
+ + </ListboxItem>
405
+ + ))}
406
+ + </Listbox>
407
+ + </div>
408
+ + );
409
+ +}\n- apps/docs/content/components/listbox/virtualization-ten-thousand.ts (added, 9 changes)\n Patch: @@ -0,0 +1,9 @@
410
+ +import App from "./virtualization-ten-thousand.raw.jsx?raw";
411
+ +
412
+ +const react = {
413
+ + "/App.jsx": App,
414
+ +};
415
+ +
416
+ +export default {
417
+ + ...react,
418
+ +};\n- apps/docs/content/components/listbox/virtualization.raw.jsx (added, 56 changes)\n Patch: @@ -0,0 +1,56 @@
419
+ +import {Listbox, ListboxItem} from "@nextui-org/react";
420
+ +const generateItems = (n) => {
421
+ + const items = [
422
+ + "Cat",
423
+ + "Dog",
424
+ + "Elephant",
425
+ + "Lion",
426
+ + "Tiger",
427
+ + "Giraffe",
428
+ + "Dolphin",
429
+ + "Penguin",
430
+ + "Zebra",
431
+ + "Shark",
432
+ + "Whale",
433
+ + "Otter",
434
+ + "Crocodile",
435
+ + ];
436
+ +
437
+ + const dataset = [];
438
+ +
439
+ + for (let i = 0; i < n; i++) {
440
+ + const item = items[i % items.length];
441
+ +
442
+ + dataset.push({
443
+ + label: `${item}${i}`,
444
+ + value: `${item.toLowerCase()}${i}`,
445
+ + description: "Sample description",
446
+ + });
447
+ + }
448
+ +
449
+ + return dataset;
450
+ +};
451
+ +
452
+ +export default function App() {
453
+ + const items = generateItems(1000);
454
+ +
455
+ + return (
456
+ + <div className="flex w-full flex-wrap md:flex-nowrap gap-4">
457
+ + <Listbox
458
+ + isVirtualized
459
+ + label={"Select from 1000 items"}
460
+ + placeholder="Select..."
461
+ + virtualization={{
462
+ + maxListboxHeight: 400,
463
+ + itemHeight: 40,
464
+ + }}
465
+ + >
466
+ + {items.map((item, index) => (
467
+ + <ListboxItem key={index} value={item.value}>
468
+ + {item.label}
469
+ + </ListboxItem>
470
+ + ))}
471
+ + </Listbox>
472
+ + </div>
473
+ + );
474
+ +}\n- apps/docs/content/components/listbox/virtualization.ts (added, 9 changes)\n Patch: @@ -0,0 +1,9 @@
475
+ +import App from "./virtualization.raw.jsx?raw";
476
+ +
477
+ +const react = {
478
+ + "/App.jsx": App,
479
+ +};
480
+ +
481
+ +export default {
482
+ + ...react,
483
+ +};\n- apps/docs/content/docs/components/listbox.mdx (modified, 28 changes)\n Patch: @@ -151,6 +151,22 @@ function App() {
484
+ }
485
+ ```
486
+
487
+ +### Virtualization
488
+ +
489
+ +Select supports virtualization, which allows efficient rendering of large lists by only rendering items that are visible in the viewport. You can enable virtualization by setting the `isVirtualized` prop to `true`.
490
+ +
491
+ +<CodeDemo
492
+ + title="Virtualization"
493
+ + files={listboxContent.virtualization}
494
+ +/>
495
+ +
496
+ +> **Note**: The virtualization strategy is based on the [@tanstack/react-virtual](https://tanstack.com/virtual/latest) package, which provides efficient rendering of large lists by only rendering items that are visible in the viewport.
497
+ +#### Ten Thousand Items
498
+ +
499
+ +Here's an example of using virtualization with 10,000 items.
500
+ +
501
+ +<CodeDemo title="Ten Thousand Items" files={listboxContent.virtualizationTenThousand} />
502
+ +
503
+ ## Slots
504
+
505
+ Listbox has 3 components with slots the base one `Listbox`, `ListboxItem` and `ListboxSection` components.
506
+ @@ -328,6 +344,18 @@ You can customize the `Listbox` items style by using the `itemClasses` prop and
507
+ type: "boolean",
508
+ description: "Whether keyboard navigation is circular.",
509
+ default: "false"
510
+ + },
511
+ + {
512
+ + attribute: "isVirtualized",
513
+ + type: "boolean",
514
+ + description: "Whether to enable virtualization.",
515
+ + default: "false"
516
+ + },
517
+ + {
518
+ + attribute: "virtualization",
519
+ + type: "Record<\"maxListboxHeight\" & \"itemHeight\", number>",
520
+ + description: "Configuration for virtualization, optimizing rendering for large datasets. Required if isVirtualized is set to true.",
521
+ + default: "-",
522
+ },
523
+ {
524
+ attribute: "hideEmptyContent",\n- packages/components/dropdown/src/dropdown-trigger.tsx (modified, 2 changes)\n Patch: @@ -4,6 +4,8 @@ import {useDropdownContext} from "./dropdown-context";
525
+
526
+ export interface DropdownTriggerProps {
527
+ children?: React.ReactNode;
528
+ + className?: string;
529
+ + [key: string]: any;
530
+ }
531
+
532
+ /**\n- packages/components/listbox/src/base/listbox-item-base.tsx (modified, 2 changes)\n Patch: @@ -90,7 +90,7 @@ interface Props<T extends object = {}> extends Omit<ItemProps<"li", T>, "childre
533
+ }
534
+
535
+ export type ListboxItemBaseProps<T extends object = {}> = Props<T> &
536
+ - ListboxItemVariantProps &
537
+ + Omit<ListboxItemVariantProps, "hasDescriptionTextChild" | "hasTitleTextChild"> &
538
+ Omit<AriaOptionProps, "key"> &
539
+ FocusableProps &
540
+ PressEvents;\n- packages/components/listbox/src/listbox-item.tsx (modified, 3 changes)\n Patch: @@ -3,7 +3,8 @@ import {useMemo, ReactNode} from "react";
541
+ import {UseListboxItemProps, useListboxItem} from "./use-listbox-item";
542
+ import {ListboxSelectedIcon} from "./listbox-selected-icon";
543
+
544
+ -export interface ListboxItemProps<T extends object = object> extends UseListboxItemProps<T> {}
545
+ +export interface ListboxItemProps<T extends object = object>
546
+ + extends Omit<UseListboxItemProps<T>, "hasDescriptionTextChild" | "hasTitleTextChild"> {}
547
+
548
+ /**
549
+ * @internal\n- packages/components/listbox/src/use-listbox-item.ts (modified, 4 changes)\n Patch: @@ -1,4 +1,5 @@
550
+ import type {ListboxItemBaseProps} from "./base/listbox-item-base";
551
+ +import type {MenuItemVariantProps} from "@nextui-org/theme";
552
+
553
+ import {useMemo, useRef, useCallback, Fragment} from "react";
554
+ import {listboxItem} from "@nextui-org/theme";
555
+ @@ -24,7 +25,8 @@ interface Props<T extends object> extends ListboxItemBaseProps<T> {
556
+ }
557
+
558
+ export type UseListboxItemProps<T extends object> = Props<T> &
559
+ - Omit<HTMLNextUIProps<"li">, keyof Props<T>>;
560
+ + Omit<HTMLNextUIProps<"li">, keyof Props<T>> &
561
+ + MenuItemVariantProps;
562
+
563
+ export function useListboxItem<T extends object>(originalProps: UseListboxItemProps<T>) {
564
+ const globalContext = useProviderContext();\n- packages/components/listbox/stories/listbox.stories.tsx (modified, 105 changes)\n Patch: @@ -679,6 +679,59 @@ const CustomWithClassNamesTemplate = ({color, variant, disableAnimation, ...args
565
+ );
566
+ };
567
+
568
+ +interface LargeDatasetSchema {
569
+ + label: string;
570
+ + value: string;
571
+ + description: string;
572
+ +}
573
+ +
574
+ +function generateLargeDataset(n: number): LargeDatasetSchema[] {
575
+ + const dataset: LargeDatasetSchema[] = [];
576
+ + const items = [
577
+ + "Cat",
578
+ + "Dog",
579
+ + "Elephant",
580
+ + "Lion",
581
+ + "Tiger",
582
+ + "Giraffe",
583
+ + "Dolphin",
584
+ + "Penguin",
585
+ + "Zebra",
586
+ + "Shark",
587
+ + "Whale",
588
+ + "Otter",
589
+ + "Crocodile",
590
+ + ];
591
+ +
592
+ + for (let i = 0; i < n; i++) {
593
+ + const item = items[i % items.length];
594
+ +
595
+ + dataset.push({
596
+ + label: `${item}${i}`,
597
+ + value: `${item.toLowerCase()}${i}`,
598
+ + description: "Sample description",
599
+ + });
600
+ + }
601
+ +
602
+ + return dataset;
603
+ +}
604
+ +
605
+ +const LargeDatasetTemplate = (args: ListboxProps & {numItems: number}) => {
606
+ + const largeDataset = generateLargeDataset(args.numItems);
607
+ +
608
+ + return (
609
+ + <div className="flex w-full max-w-full py-20 px-20">
610
+ + <Listbox label={`Select from ${args.numItems} items`} {...args}>
611
+ + {largeDataset.map((item, index) => (
612
+ + <ListboxItem key={index} value={item.value}>
613
+ + {item.label}
614
+ + </ListboxItem>
615
+ + ))}
616
+ + </Listbox>
617
+ + </div>
618
+ + );
619
+ +};
620
+ +
621
+ export const Default = {
622
+ render: Template,
623
+ args: {
624
+ @@ -782,3 +835,55 @@ export const CustomWithClassNames = {
625
+ ...defaultProps,
626
+ },
627
+ };
628
+ +
629
+ +export const OneThousandList = {
630
+ + render: LargeDatasetTemplate,
631
+ + args: {
632
+ + ...defaultProps,
633
+ + numItems: 1000,
634
+ + isVirtualized: true,
635
+ + virtualization: {
636
+ + maxListboxHeight: 400,
637
+ + itemHeight: 20,
638
+ + },
639
+ + },
640
+ +};
641
+ +
642
+ +export const TenThousandList = {
643
+ + render: LargeDatasetTemplate,
644
+ + args: {
645
+ + ...defaultProps,
646
+ + numItems: 10000,
647
+ + isVirtualized: true,
648
+ + virtualization: {
649
+ + maxListboxHeight: 400,
650
+ + itemHeight: 20,
651
+ + },
652
+ + },
653
+ +};
654
+ +
655
+ +export const CustomMaxListboxHeight = {
656
+ + render: LargeDatasetTemplate,
657
+ + args: {
658
+ + ...defaultProps,
659
+ + numItems: 1000,
660
+ + isVirtualized: true,
661
+ + virtualization: {
662
+ + maxListboxHeight: 600,
663
+ + itemHeight: 20,
664
+ + },
665
+ + },
666
+ +};
667
+ +
668
+ +export const CustomItemHeight = {
669
+ + render: LargeDatasetTemplate,
670
+ + args: {
671
+ + ...defaultProps,
672
+ + numItems: 1000,
673
+ + isVirtualized: true,
674
+ + virtualization: {
675
+ + itemHeight: 40,
676
+ + maxListboxHeight: 600,
677
+ + },
678
+ + },
679
+ +};\n- packages/components/menu/src/base/menu-item-base.tsx (modified, 2 changes)\n Patch: @@ -89,7 +89,7 @@ interface Props<T extends object = {}> extends Omit<ItemProps<"li", T>, "childre
680
+ }
681
+
682
+ export type MenuItemBaseProps<T extends object = {}> = Props<T> &
683
+ - MenuItemVariantProps &
684
+ + Omit<MenuItemVariantProps, "hasDescriptionTextChild" | "hasTitleTextChild"> &
685
+ AriaMenuItemProps &
686
+ FocusableProps &
687
+ PressEvents;\n- packages/components/menu/src/menu-item.tsx (modified, 3 changes)\n Patch: @@ -3,7 +3,8 @@ import {useMemo, ReactNode} from "react";
688
+ import {UseMenuItemProps, useMenuItem} from "./use-menu-item";
689
+ import {MenuSelectedIcon} from "./menu-selected-icon";
690
+
691
+ -export interface MenuItemProps<T extends object = object> extends UseMenuItemProps<T> {}
692
+ +export interface MenuItemProps<T extends object = object>
693
+ + extends Omit<UseMenuItemProps<T>, "hasDescriptionTextChild" | "hasTitleTextChild"> {}
694
+
695
+ /**
696
+ * @internal\n- packages/components/menu/src/menu.tsx (modified, 5 changes)\n Patch: @@ -74,10 +74,7 @@ function Menu<T extends object>(props: Props<T>, ref: ForwardedRef<HTMLUListElem
697
+ );
698
+ }
699
+
700
+ -export type MenuProps<T extends object = object> = Omit<
701
+ - Props<T>,
702
+ - "hasChildItems" | "hasTitleTextChild" | "hasDescriptionTextChild"
703
+ -> & {ref?: Ref<HTMLElement>};
704
+ +export type MenuProps<T extends object = object> = Props<T> & {ref?: Ref<HTMLElement>};
705
+
706
+ // forwardRef doesn't support generic parameters, so cast the result to the correct type
707
+ export default forwardRef(Menu) as <T extends object>(props: MenuProps<T>) => ReactElement;\n- packages/components/menu/src/use-menu-item.ts (modified, 4 changes)\n Patch: @@ -1,4 +1,5 @@
708
+ import type {MenuItemBaseProps} from "./base/menu-item-base";
709
+ +import type {MenuItemVariantProps} from "@nextui-org/theme";
710
+ import type {Node} from "@react-types/shared";
711
+
712
+ import {useMemo, useRef, useCallback, Fragment} from "react";
713
+ @@ -24,7 +25,8 @@ interface Props<T extends object> extends MenuItemBaseProps<T> {
714
+ }
715
+
716
+ export type UseMenuItemProps<T extends object> = Props<T> &
717
+ - Omit<HTMLNextUIProps<"li">, keyof Props<T>>;
718
+ + Omit<HTMLNextUIProps<"li">, keyof Props<T>> &
719
+ + MenuItemVariantProps;
720
+
721
+ export function useMenuItem<T extends object>(originalProps: UseMenuItemProps<T>) {
722
+ const globalContext = useProviderContext();\n- packages/components/popover/src/popover-trigger.tsx (modified, 2 changes)\n Patch: @@ -8,6 +8,8 @@ import {usePopoverContext} from "./popover-context";
723
+
724
+ export interface PopoverTriggerProps {
725
+ children?: React.ReactNode;
726
+ + className?: string;
727
+ + [key: string]: any;
728
+ }
729
+
730
+ /**\n- pnpm-lock.yaml (modified, 2 changes)\n Patch: @@ -22124,7 +22124,7 @@ snapshots:
731
+ doctrine: 2.1.0
732
+ eslint: 7.32.0
733
+ eslint-import-resolver-node: 0.3.9
734
735
736
+ hasown: 2.0.2
737
+ is-core-module: 2.15.1
738
+ is-glob: 4.0.3\n
processed_docs/pr_data_0_doc_46.txt ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4205
2
+ Title: Update release.yaml
3
+ Base Branch: canary
4
+ Head Branch: jrgarciadev-patch-1
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4205
7
+ State: MERGED
8
+ Created At: 2024-12-01T14:37:43Z
9
+ Merged At: 2024-12-01T14:37:51Z
10
+ Participants: jrgarciadev
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+
26
+ Chores
27
+
28
+ Updated the GitHub Actions workflow configuration for the release process to enhance stability and clarity.
29
+
30
+ Commits:
31
+ - Update release.yaml\n
32
+
33
+ Labels:
34
+
35
+
36
+ Comments:
37
+ - vercel: [vc]: #i8jEzBf+NDghCNYMnTYQp5i8zEXLqrqNOL5LQ2wzTFo=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi9HWFExSjhuR1ZQVjFVRlM0eEV5a2Jyd0RWTHlGIiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1qcmdhcmNpYWRldi1wYXRjaC0xLW5leHR1aS1vcmcudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJuZXh0dWktZG9jcy12Mi1naXQtanJnYXJjaWFkZXYtcGF0Y2gtMS1uZXh0dWktb3JnLnZlcmNlbC5hcHAifX0seyJuYW1lIjoibmV4dHVpLXN0b3J5Ym9vay12MiIsInJvb3REaXJlY3RvcnkiOiJwYWNrYWdlcy9zdG9yeWJvb2siLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktc3Rvcnlib29rLXYyL0FkV2JZQ2k4N3lVVndQclJDcHo3eDhINFpaRUEiLCJwcmV2aWV3VXJsIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtanJnYXJjaWFkZXYtcGF0Y2gtMS1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtanJnYXJjaWFkZXYtcGF0Y2gtMS1uZXh0dWktb3JnLnZlcmNlbC5hcHAifX1dfQ==
38
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
39
+
40
+ | Name | Status | Preview | Comments | Updated (UTC) |
41
+ | :--- | :----- | :------ | :------- | :------ |
42
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/GXQ1J8nGVPV1UFS4xEykbrwDVLyF)) | [Visit Preview](https://nextui-docs-v2-git-jrgarciadev-patch-1-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-jrgarciadev-patch-1-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 1, 2024 2:43pm |
43
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/AdWbYCi87yUVwPrRCpz7x8H4ZZEA)) | [Visit Preview](https://nextui-storybook-v2-git-jrgarciadev-patch-1-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-jrgarciadev-patch-1-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 1, 2024 2:43pm |
44
+
45
+
46
+ \n- changeset-bot: ### ⚠️ No Changeset found
47
+
48
+ Latest commit: cfcad65c6f8512a24ca5dca0b5dd56600d71e341
49
+
50
+ Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**
51
+
52
+ <details><summary>This PR includes no changesets</summary>
53
+
54
+ When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
55
+
56
+ </details>
57
+
58
+ [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
59
+
60
+ [Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/nextui-org/nextui/new/jrgarciadev-patch-1?filename=.changeset/few-zoos-share.md&value=---%0A%0A---%0A%0AUpdate%20release.yaml%0A)
61
+
62
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
63
+ <!-- This is an auto-generated comment: failure by coderabbit.ai -->
64
+
65
+ > [!CAUTION]
66
+ > ## Review failed
67
+ >
68
+ > The pull request is closed.
69
+
70
+ <!-- end of auto-generated comment: failure by coderabbit.ai -->
71
+ <!-- walkthrough_start -->
72
+
73
+ ## Walkthrough
74
+ The changes in the `.github/workflows/release.yaml` file involve updates to the GitHub Actions workflow for the release process. The `runs-on` attribute for the `release` job has been changed from `ubuntu-latest-m` to `ubuntu-latest`, reflecting a transition to a more stable runner version. Additionally, the `GITHUB_TOKEN` environment variable has been explicitly listed in the `Create canary release` step, enhancing clarity without altering functionality.
75
+
76
+ ## Changes
77
+
78
+ | File Path | Change Summary |
79
+ |------------------------------------|--------------------------------------------------------|
80
+ | .github/workflows/release.yaml | Updated `runs-on` from `ubuntu-latest-m` to `ubuntu-latest`; explicitly listed `GITHUB_TOKEN` in environment variables. |
81
+
82
+ ## Possibly related PRs
83
+ - **#4184**: This PR modifies the GitHub Actions workflow configuration, similar to the changes made in the main PR regarding the `.github/workflows/release.yaml` file. Both PRs focus on refining workflow processes related to releases.
84
+
85
+ ## Suggested reviewers
86
+ - wingkwong
87
+
88
+ <!-- walkthrough_end -->
89
+
90
+ <!-- internal state start -->
91
+
92
+
93
+ <!-- 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 -->
94
+
95
+ <!-- internal state end -->
96
+
97
+ ---
98
+
99
+ <details>
100
+ <summary>πŸ“œ Recent review details</summary>
101
+
102
+ **Configuration used: .coderabbit.yaml**
103
+ **Review profile: CHILL**
104
+
105
+ <details>
106
+ <summary>πŸ“₯ Commits</summary>
107
+
108
+ Reviewing files that changed from the base of the PR and between 2608f83beb23677de3c30b98942ef6695078e09f and cfcad65c6f8512a24ca5dca0b5dd56600d71e341.
109
+
110
+ </details>
111
+
112
+ <details>
113
+ <summary>πŸ“’ Files selected for processing (1)</summary>
114
+
115
+ * `.github/workflows/release.yaml` (2 hunks)
116
+
117
+ </details>
118
+
119
+ </details>
120
+ <!-- tips_start -->
121
+
122
+ ---
123
+
124
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
125
+
126
+ <details>
127
+ <summary>❀️ Share</summary>
128
+
129
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
130
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
131
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
132
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
133
+
134
+ </details>
135
+
136
+ <details>
137
+ <summary>πŸͺ§ Tips</summary>
138
+
139
+ ### Chat
140
+
141
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
142
+
143
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
144
+ - `I pushed a fix in commit <commit_id>, please review it.`
145
+ - `Generate unit testing code for this file.`
146
+ - `Open a follow-up GitHub issue for this discussion.`
147
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
148
+ - `@coderabbitai generate unit testing code for this file.`
149
+ - `@coderabbitai modularize this function.`
150
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
151
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
152
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
153
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
154
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
155
+
156
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
157
+
158
+ ### CodeRabbit Commands (Invoked using PR comments)
159
+
160
+ - `@coderabbitai pause` to pause the reviews on a PR.
161
+ - `@coderabbitai resume` to resume the paused reviews.
162
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
163
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
164
+ - `@coderabbitai summary` to regenerate the summary of the PR.
165
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
166
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
167
+ - `@coderabbitai help` to get help.
168
+
169
+ ### Other keywords and placeholders
170
+
171
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
172
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
173
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
174
+
175
+ ### Documentation and Community
176
+
177
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
178
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
179
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
180
+
181
+ </details>
182
+
183
+ <!-- tips_end -->\n
184
+
185
+ Files Changed:
186
+ - .github/workflows/release.yaml (modified, 4 changes)\n Patch: @@ -14,7 +14,7 @@ concurrency:
187
+ jobs:
188
+ release:
189
+ name: Release
190
+ - runs-on: ubuntu-latest-m
191
+ + runs-on: ubuntu-latest
192
+ timeout-minutes: 30
193
+ steps:
194
+ - name: Checkout branch
195
+ @@ -51,4 +51,4 @@ jobs:
196
+ pnpm release:canary
197
+ env:
198
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
199
+ - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
200
+
201
+ + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n
processed_docs/pr_data_0_doc_47.txt ADDED
@@ -0,0 +1,264 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pull Request Number: 4204
2
+ Title: Fix/react core pkg
3
+ Base Branch: canary
4
+ Head Branch: fix/react-core-pkg
5
+ Author: jrgarciadev
6
+ URL: https://github.com/nextui-org/nextui/pull/4204
7
+ State: MERGED
8
+ Created At: 2024-12-01T12:36:08Z
9
+ Merged At: 2024-12-01T12:39:02Z
10
+ Participants: jrgarciadev
11
+
12
+ Description:
13
+ Closes #
14
+ πŸ“ Description
15
+
16
+ ⛳️ Current behavior (updates)
17
+
18
+ πŸš€ New behavior
19
+
20
+ πŸ’£ Is this a breaking change (Yes/No):
21
+
22
+ πŸ“ Additional Information
23
+
24
+ Summary by CodeRabbit
25
+
26
+
27
+ New Features
28
+
29
+ Introduced a new prebuild script to enhance the build process for the @nextui-org/react package.
30
+ Added functionality to restore the original file from a backup after the build process.
31
+
32
+
33
+
34
+ Bug Fixes
35
+
36
+ Resolved an issue with redundant 'use client' directives in the package.
37
+
38
+
39
+
40
+ Documentation
41
+
42
+ Updated version of the @nextui-org/react package to 2.5.0.
43
+
44
+ Commits:
45
+ - fix: double use client tag import in react core package\n- fix: double use client\n- chore: restore postbuild script\n
46
+
47
+ Labels:
48
+
49
+
50
+ Comments:
51
+ - changeset-bot: ### πŸ¦‹ Changeset detected
52
+
53
+ Latest commit: d4e371845ca4f671fbaa3d15295a7d3d1508b723
54
+
55
+ **The changes in this PR will be included in the next version bump.**
56
+
57
+ <details><summary>This PR includes changesets to release 1 package</summary>
58
+
59
+ | Name | Type |
60
+ | ----------------- | ----- |
61
+ | @nextui-org/react | Patch |
62
+
63
+ </details>
64
+
65
+ Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
66
+
67
+ [Click here if you're a maintainer who wants to add another changeset to this PR](https://github.com/nextui-org/nextui/new/fix/react-core-pkg?filename=.changeset/olive-beans-allow.md&value=---%0A%22%40nextui-org%2Freact%22%3A%20patch%0A---%0A%0AFix%2Freact%20core%20pkg%0A)
68
+
69
+ \n- vercel: [vc]: #JAQnwuY9TCwfrenANk9E7cUgWNL/EZR4lgDJ9AXDjGw=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJuZXh0dWktZG9jcy12MiIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbmV4dHVpLW9yZy9uZXh0dWktZG9jcy12Mi81U3lqdlE2YlZRZ2VFWU5vNUdqcXVDY240Vmp2IiwicHJldmlld1VybCI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtcmVhY3QtY29yZS1wa2ctbmV4dHVpLW9yZy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im5leHR1aS1kb2NzLXYyLWdpdC1maXgtcmVhY3QtY29yZS1wa2ctbmV4dHVpLW9yZy52ZXJjZWwuYXBwIn19LHsibmFtZSI6Im5leHR1aS1zdG9yeWJvb2stdjIiLCJyb290RGlyZWN0b3J5IjoicGFja2FnZXMvc3Rvcnlib29rIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL25leHR1aS1vcmcvbmV4dHVpLXN0b3J5Ym9vay12Mi9BSmpIN2JidGNyS0JUWWNBeGhHZlFhcUtTRkZMIiwicHJldmlld1VybCI6Im5leHR1aS1zdG9yeWJvb2stdjItZ2l0LWZpeC1yZWFjdC1jb3JlLXBrZy1uZXh0dWktb3JnLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibmV4dHVpLXN0b3J5Ym9vay12Mi1naXQtZml4LXJlYWN0LWNvcmUtcGtnLW5leHR1aS1vcmcudmVyY2VsLmFwcCJ9fV19
70
+ **The latest updates on your projects**. Learn more about [Vercel for Git β†—οΈŽ](https://vercel.link/github-learn-more)
71
+
72
+ | Name | Status | Preview | Comments | Updated (UTC) |
73
+ | :--- | :----- | :------ | :------- | :------ |
74
+ | **nextui-docs-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-docs-v2/5SyjvQ6bVQgeEYNo5GjquCcn4Vjv)) | [Visit Preview](https://nextui-docs-v2-git-fix-react-core-pkg-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-docs-v2-git-fix-react-core-pkg-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 1, 2024 0:44am |
75
+ | **nextui-storybook-v2** | βœ… Ready ([Inspect](https://vercel.com/nextui-org/nextui-storybook-v2/AJjH7bbtcrKBTYcAxhGfQaqKSFFL)) | [Visit Preview](https://nextui-storybook-v2-git-fix-react-core-pkg-nextui-org.vercel.app) | πŸ’¬ [**Add feedback**](https://vercel.live/open-feedback/nextui-storybook-v2-git-fix-react-core-pkg-nextui-org.vercel.app?via=pr-comment-feedback-link) | Dec 1, 2024 0:44am |
76
+
77
+
78
+ \n- coderabbitai: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
79
+ <!-- This is an auto-generated comment: failure by coderabbit.ai -->
80
+
81
+ > [!CAUTION]
82
+ > ## Review failed
83
+ >
84
+ > The pull request is closed.
85
+
86
+ <!-- end of auto-generated comment: failure by coderabbit.ai -->
87
+ <!-- walkthrough_start -->
88
+
89
+ ## Walkthrough
90
+ This pull request introduces a patch for the `@nextui-org/react` package, addressing an issue with redundant 'use client' directives. Additionally, it updates the `package.json` to include a new `prebuild` script and maintains the existing `postbuild` script. The `postbuild.js` script is enhanced to include functionality for restoring a file from a backup, improving its operational capabilities.
91
+
92
+ ## Changes
93
+
94
+ | File Path | Change Summary |
95
+ |-------------------------------------------------|-----------------------------------------------------------------------------------------------------------|
96
+ | .changeset/soft-gorillas-push.md | Added a patch addressing double 'use client' directive in the `@nextui-org/react` package. |
97
+ | packages/core/react/package.json | Updated version to `2.5.0`, added `prebuild` script, retained `postbuild` script without changes. |
98
+ | packages/core/react/src/scripts/postbuild.js | Added constants for file paths and implemented backup restoration logic in the `main` function. |
99
+
100
+ ## Possibly related PRs
101
+ - **#3512**: Patch updates to various components in the `@nextui-org` package, related to overall maintenance and compatibility.
102
+ - **#3569**: Addresses a deprecation warning in the `@nextui-org/link` package, indicating ongoing improvements in the NextUI ecosystem.
103
+ - **#3691**: Adjustments to modal positioning in response to keyboard visibility, enhancing user experience in the NextUI framework.
104
+ - **#4030**: Updates a link in the documentation for the NextUI project, maintaining the integrity and usability of the package.
105
+ - **#4124**: Upgrades Storybook to version 8, relevant to the overall development environment for NextUI.
106
+
107
+ ## Suggested labels
108
+ `πŸ“‹ Scope : Docs`
109
+
110
+ ## Suggested reviewers
111
+ - wingkwong
112
+
113
+ <!-- walkthrough_end -->
114
+
115
+
116
+
117
+ <!-- internal state start -->
118
+
119
+
120
+ <!-- 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 -->
121
+
122
+ <!-- internal state end -->
123
+
124
+ ---
125
+
126
+ <details>
127
+ <summary>πŸ“œ Recent review details</summary>
128
+
129
+ **Configuration used: .coderabbit.yaml**
130
+ **Review profile: CHILL**
131
+
132
+ <details>
133
+ <summary>πŸ“₯ Commits</summary>
134
+
135
+ Reviewing files that changed from the base of the PR and between e189b9e683c494f9df9f191777e9497868bfcbdb and d4e371845ca4f671fbaa3d15295a7d3d1508b723.
136
+
137
+ </details>
138
+
139
+ <details>
140
+ <summary>πŸ“’ Files selected for processing (1)</summary>
141
+
142
+ * `packages/core/react/src/scripts/postbuild.js` (2 hunks)
143
+
144
+ </details>
145
+
146
+ </details>
147
+ <!-- tips_start -->
148
+
149
+ ---
150
+
151
+ Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
152
+
153
+ <details>
154
+ <summary>❀️ Share</summary>
155
+
156
+ - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
157
+ - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
158
+ - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
159
+ - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
160
+
161
+ </details>
162
+
163
+ <details>
164
+ <summary>πŸͺ§ Tips</summary>
165
+
166
+ ### Chat
167
+
168
+ There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai):
169
+
170
+ - Review comments: Directly reply to a review comment made by CodeRabbit. Example:
171
+ - `I pushed a fix in commit <commit_id>, please review it.`
172
+ - `Generate unit testing code for this file.`
173
+ - `Open a follow-up GitHub issue for this discussion.`
174
+ - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
175
+ - `@coderabbitai generate unit testing code for this file.`
176
+ - `@coderabbitai modularize this function.`
177
+ - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
178
+ - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
179
+ - `@coderabbitai read src/utils.ts and generate unit testing code.`
180
+ - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
181
+ - `@coderabbitai help me debug CodeRabbit configuration file.`
182
+
183
+ Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
184
+
185
+ ### CodeRabbit Commands (Invoked using PR comments)
186
+
187
+ - `@coderabbitai pause` to pause the reviews on a PR.
188
+ - `@coderabbitai resume` to resume the paused reviews.
189
+ - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
190
+ - `@coderabbitai full review` to do a full review from scratch and review all the files again.
191
+ - `@coderabbitai summary` to regenerate the summary of the PR.
192
+ - `@coderabbitai resolve` resolve all the CodeRabbit review comments.
193
+ - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
194
+ - `@coderabbitai help` to get help.
195
+
196
+ ### Other keywords and placeholders
197
+
198
+ - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
199
+ - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
200
+ - Add `@coderabbitai` anywhere in the PR title to generate the title automatically.
201
+
202
+ ### Documentation and Community
203
+
204
+ - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
205
+ - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
206
+ - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
207
+
208
+ </details>
209
+
210
+ <!-- tips_end -->\n
211
+
212
+ Files Changed:
213
+ - .changeset/soft-gorillas-push.md (added, 5 changes)\n Patch: @@ -0,0 +1,5 @@
214
+ +---
215
+ +"@nextui-org/react": patch
216
+ +---
217
+ +
218
+ +Fix double 'use client'\n- packages/core/react/package.json (modified, 3 changes)\n Patch: @@ -31,12 +31,13 @@
219
+ },
220
+ "scripts": {
221
+ "build": "tsup --dts",
222
+ - "postbuild": "node src/scripts/postbuild.js",
223
+ "dev": "pnpm build:fast --watch",
224
+ "clean": "rimraf dist .turbo",
225
+ "typecheck": "tsc --noEmit",
226
+ "build:fast": "tsup",
227
+ "prepack": "clean-package",
228
+ + "postbuild": "node src/scripts/postbuild.js",
229
+ + "prebuild": "node src/scripts/prebuild.js",
230
+ "postpack": "clean-package restore"
231
+ },
232
+ "dependencies": {\n- packages/core/react/src/scripts/postbuild.js (modified, 19 changes)\n Patch: @@ -18,6 +18,9 @@ const docsComponentsDir = path.resolve(rootDir, 'apps/docs/content/docs/componen
233
+ const themeDir = path.resolve(packagesDir, 'core/theme'); // Theme directory path
234
+
235
+ const baseDocs = 'https://nextui.org/docs/components';
236
+ +const filePath = './src/index.ts'; // Updated file path
237
+ +const backupFilePath = filePath + '.backup.ts'; // Backup file
238
+ +
239
+
240
+ const EXCLUDE_LIST = ['.DS_Store'];
241
+
242
+ @@ -70,6 +73,22 @@ function generateComponents() {
243
+ function main() {
244
+ // Generate the components meta data
245
+ try {
246
+ + // Restore the original file from the backup
247
+ + fs.copyFile(backupFilePath, filePath, (err) => {
248
+ + if (err) {
249
+ + return console.log(err);
250
+ + }
251
+ + console.log('The original file has been restored.');
252
+ +
253
+ + // Delete the backup file
254
+ + fs.unlink(backupFilePath, (err) => {
255
+ + if (err) {
256
+ + return console.log(err);
257
+ + }
258
+ + console.log('The backup file has been deleted.');
259
+ + });
260
+ + });
261
+ +
262
+ generateComponents()
263
+ } catch (error) {
264
+ console.error(chalk.red(`Generate the components Error: ${error}`))\n