Skip to content

Commit c539c05

Browse files
authored
Merge pull request #243 from qualcomm/dev
swagger-enum-update
2 parents e28430f + dda6d33 commit c539c05

22 files changed

Lines changed: 434 additions & 125 deletions

File tree

eslint.config.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {defineConfig} from "eslint/config"
2+
import {join} from "node:path"
23
import tseslint from "typescript-eslint"
34

45
import quiEslintAngular from "@qualcomm-ui/eslint-config-angular"
@@ -233,5 +234,14 @@ export default defineConfig(
233234
{
234235
extends: [quiEslintMdx.configs.recommended],
235236
files: ["{packages,scripts}/**/*.{md,mdx}", "*.md"],
237+
ignores: ["**/CHANGELOG.md", "**/__tests__/**"],
238+
languageOptions: {
239+
parserOptions: {
240+
remarkConfigPath: join(
241+
import.meta.dirname,
242+
"node_modules/@qualcomm-ui/eslint-config-mdx/.remarkrc",
243+
),
244+
},
245+
},
236246
},
237247
)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"plugins": [
3+
"remark-frontmatter",
4+
"remark-lint-fenced-code-flag",
5+
"remark-lint-final-newline",
6+
"remark-lint-heading-increment",
7+
"remark-lint-list-item-content-indent",
8+
["remark-lint-list-item-indent", "one"],
9+
["remark-lint-maximum-heading-length", { "size": 80 }],
10+
"remark-lint-no-consecutive-blank-lines",
11+
"remark-lint-no-duplicate-headings-in-section",
12+
["remark-lint-no-heading-punctuation", ",.:;"],
13+
["remark-lint-unordered-list-marker-style", "-"]
14+
],
15+
"settings": {
16+
"bullet": "-",
17+
"rule": "-"
18+
}
19+
}

packages/configs/eslint-config-mdx/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# @qualcomm-ui/eslint-config-mdx Changelog
22

3+
## 2.0.0
4+
5+
Apr 21st, 2026
6+
7+
### BREAKING CHANGES
8+
9+
- [mdx-remark]: enable mdx/remark lint plugins ([abd4e31](https://github.com/qualcomm/qualcomm-ui/commit/abd4e31))
10+
311
## 1.1.1
412

513
Apr 19th, 2026

packages/configs/eslint-config-mdx/package.json

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@qualcomm-ui/eslint-config-mdx",
3-
"version": "1.1.1",
3+
"version": "2.0.0",
44
"description": "QUI ESLint config for consistent MDX code",
55
"author": "Ryan Bower",
66
"license": "BSD-3-Clause-Clear",
@@ -13,31 +13,54 @@
1313
"files": [
1414
"index.d.ts",
1515
"index.js",
16-
"recommended.js"
16+
"recommended.js",
17+
".remarkrc"
1718
],
18-
"main": "index.js",
19-
"module": "index.js",
20-
"types": "index.d.ts",
19+
"exports": {
20+
".": {
21+
"types": "./index.d.ts",
22+
"import": "./index.js",
23+
"default": "./index.js"
24+
},
25+
"./remarkrc": {
26+
"types": "./remarkrc.d.ts",
27+
"import": "./remarkrc.js",
28+
"default": "./remarkrc.js"
29+
}
30+
},
2131
"scripts": {
2232
"prepublishOnly": "qui-cli pre-publish",
2333
"postpublish": "qui-cli post-publish"
2434
},
35+
"dependencies": {
36+
"remark-frontmatter": "^5.0.0",
37+
"remark-lint-fenced-code-flag": "^4.2.0",
38+
"remark-lint-final-newline": "^3.0.1",
39+
"remark-lint-heading-increment": "^4.0.1",
40+
"remark-lint-list-item-content-indent": "^4.0.1",
41+
"remark-lint-list-item-indent": "^4.0.1",
42+
"remark-lint-maximum-heading-length": "^4.1.1",
43+
"remark-lint-no-consecutive-blank-lines": "^5.0.1",
44+
"remark-lint-no-duplicate-headings-in-section": "^4.0.1",
45+
"remark-lint-no-heading-punctuation": "^4.0.1",
46+
"remark-lint-unordered-list-marker-style": "^4.0.1"
47+
},
2548
"devDependencies": {
2649
"@eslint/core": "^1.0.0",
2750
"@qualcomm-ui/cli": "catalog:",
28-
"eslint-mdx": "^3.4.1",
29-
"eslint-plugin-mdx": "^3.4.1",
30-
"eslint-plugin-prettier": "^5.5.5",
31-
"eslint-plugin-react": "^7.37.5"
51+
"eslint-mdx": "^3.7.0",
52+
"eslint-plugin-mdx": "^3.7.0",
53+
"eslint-plugin-react": "^7.37.5",
54+
"unified": "^11.0.5"
3255
},
3356
"peerDependencies": {
3457
"eslint": ">=9.37.0",
35-
"eslint-mdx": ">=3.4.1",
36-
"eslint-plugin-mdx": ">=3.4.1",
37-
"eslint-plugin-prettier": ">=5.5.5",
58+
"eslint-mdx": ">=3.7.0",
59+
"eslint-plugin-mdx": ">=3.7.0",
3860
"eslint-plugin-react": ">=7.37.5",
39-
"typescript": ">=5.0.0",
40-
"typescript-eslint": ">=8.31.1"
61+
"typescript": ">=5.9.3",
62+
"typescript-eslint": ">=8.31.1",
63+
"unified": ">=11"
4164
},
4265
"keywords": [
4366
"eslint",

packages/configs/eslint-config-mdx/recommended.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,17 @@
33

44
import {defineConfig} from "eslint/config"
55
import * as mdx from "eslint-plugin-mdx"
6-
import prettierPlugin from "eslint-plugin-prettier"
76
import reactPlugin from "eslint-plugin-react"
87

98
export default defineConfig({
109
...mdx.flat,
1110
plugins: {
1211
...mdx.flat.plugins,
13-
prettier: prettierPlugin,
1412
react: reactPlugin,
1513
},
1614
rules: {
1715
...mdx.flat.rules,
16+
"mdx/remark": "error",
1817
"no-unused-expressions": "off",
19-
"prettier/prettier": "error",
2018
},
2119
})

packages/docs/angular-docs/src/routes/components+/password-input+/_password-input.mdx

Lines changed: 11 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -169,77 +169,59 @@ The [disabled](./#disabled), [invalid](./#invalid), and [required](./#required)
169169

170170
The `<q-password-input>` component extends the [q-password-input-root](./#q-password-input-root) directive with the following properties:
171171

172-
<TypeDocProps
173-
name="PasswordInputComponent"
174-
omitFrom="PasswordInputRootDirective"
175-
/>
172+
<TypeDocProps name="PasswordInputComponent" omitFrom="PasswordInputRootDirective" />
176173

177174
## Composite API
178175

179176
### q-password-input-root
180177

181178
<TypeDocProps name="PasswordInputRootDirective" />
182179

183-
<TypeDocAngularAttributes
184-
name={["PasswordInputRootBindings", "QdsInputRootBindings"]}
185-
/>
180+
<TypeDocAngularAttributes name={["PasswordInputRootBindings", "QdsInputRootBindings"]} />
186181

187182
### q-password-input-input-group
188183

189184
<TypeDocProps name="PasswordInputInputGroupDirective" />
190185

191-
<TypeDocAngularAttributes
192-
name={["PasswordInputInputGroupBindings", "QdsInputGroupBindings"]}
193-
/>
186+
<TypeDocAngularAttributes name={["PasswordInputInputGroupBindings", "QdsInputGroupBindings"]} />
194187

195188
### q-password-input-label
196189

197190
<TypeDocProps name="PasswordInputLabelDirective" />
198191

199-
<TypeDocAngularAttributes
200-
name={["PasswordInputLabelBindings", "QdsInputLabelBindings"]}
201-
/>
192+
<TypeDocAngularAttributes name={["PasswordInputLabelBindings", "QdsInputLabelBindings"]} />
202193

203194
### q-password-input-hint
204195

205196
<TypeDocProps name="PasswordInputHintDirective" />
206197

207-
<TypeDocAngularAttributes
208-
name={["PasswordInputHintBindings", "QdsInputHintBindings"]}
209-
/>
198+
<TypeDocAngularAttributes name={["PasswordInputHintBindings", "QdsInputHintBindings"]} />
210199

211200
### q-password-input-clear-trigger
212201

213202
<TypeDocProps name="PasswordInputClearTriggerDirective" />
214203

215-
<TypeDocAngularAttributes
216-
name={["PasswordInputClearTriggerBindings", "QdsInputClearTriggerBindings"]}
217-
/>
204+
<TypeDocAngularAttributes name={["PasswordInputClearTriggerBindings", "QdsInputClearTriggerBindings"]} />
218205

219206
### q-password-input-input
220207

221208
<TypeDocProps name="PasswordInputInputDirective" />
222209

223-
<TypeDocAngularAttributes
224-
name={["PasswordInputInputBindings", "QdsInputInputBindings"]}
225-
/>
210+
<TypeDocAngularAttributes name={["PasswordInputInputBindings", "QdsInputInputBindings"]} />
226211

227212
### q-password-input-error-text
228213

229214
<TypeDocProps name="PasswordInputErrorTextDirective" />
230215

231-
<TypeDocAngularAttributes
232-
name={["PasswordInputErrorTextBindings", "QdsInputErrorTextBindings"]}
233-
/>
216+
<TypeDocAngularAttributes name={["PasswordInputErrorTextBindings", "QdsInputErrorTextBindings"]} />
234217

235218
### q-password-input-error-indicator
236219

237220
<TypeDocProps name="PasswordInputErrorIndicatorDirective" />
238221

239222
<TypeDocAngularAttributes
240223
name={[
241-
"PasswordInputErrorIndicatorBindings",
242-
"QdsInputErrorIndicatorBindings",
243-
]}
224+
"PasswordInputErrorIndicatorBindings",
225+
"QdsInputErrorIndicatorBindings",
226+
]}
244227
/>
245-
```

packages/docs/angular-docs/src/routes/theming+/colors+/_colors.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,37 @@ import {themeColors} from "@qualcomm-ui/tailwind-plugin/theme"
99

1010
Note that the classes on this page are only available if you've installed and configured the [@qualcomm-ui/tailwind-plugin](/integrations/tailwind) package.
1111

12-
### Text
12+
## Text
1313

1414
Text colors are used for typography throughout your application. They automatically adapt when switching between light and dark modes to maintain proper contrast ratios.
1515

1616
<ColorTable data={themeColors.text} />
1717

18-
### Icon
18+
## Icon
1919

2020
Icon colors ensure proper visual hierarchy and accessibility for icons. Like text colors, they automatically adjust for light and dark modes.
2121

2222
<ColorTable data={themeColors.icon} />
2323

24-
### Background
24+
## Background
2525

2626
Background colors include brand, neutral, and support colors. They are commonly used as colors for your app's surfaces, cards, and UI elements.
2727

2828
<ColorTable data={themeColors.background} />
2929

30-
### Surface
30+
## Surface
3131

3232
Surface colors are used for primary application surfaces like pages, modals, and overlays.
3333

3434
<ColorTable data={themeColors.surface} />
3535

36-
### Border
36+
## Border
3737

3838
Border colors bring clarity to layouts by grouping and dividing content. They are used to divide text or components such as table rows, action button groups, and components within a panel.
3939

4040
<ColorTable data={themeColors.border} />
4141

42-
### Category
42+
## Category
4343

4444
Category colors provide a palette for data visualization and content categorization. Each category has three variants: subtle, medium, and strong.
4545

packages/docs/angular-table-docs/src/routes/feature-guides+/row-expansion.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ By default, expanded rows are paginated with the rest of the table and may span
249249

250250
::: spoiler Show visualization
251251

252-
```
252+
```txt
253253
paginateExpandedRows: true paginateExpandedRows: false
254254
┌─────────────────┐ ┌─────────────────┐
255255
│ Page 1 (size:5) │ │ Page 1 (size:5) │

packages/docs/qui-docs/src/routes/guide+/typedoc.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ If you're specifying entryPoints in the typedoc config, you will also need to ac
166166

167167
Types from external modules aren't compiled by default. To include external types, you'll need to do two things:
168168

169-
##### 1. Modify your tsconfig to include the path to the external module's compiled types.
169+
##### 1. Modify your tsconfig to include the module's compiled types
170170

171171
```json
172172
// tsconfig.typedoc.json
@@ -178,7 +178,7 @@ Types from external modules aren't compiled by default. To include external type
178178
}
179179
```
180180

181-
##### 2. Enable external module parsing in the typedoc configuration:
181+
##### 2. Enable external module parsing in the typedoc configuration
182182

183183
```ts
184184
// qui-typedoc.config.ts

packages/docs/react-docs/src/routes/patterns+/project-structure.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ A layer is a top-level directory and the first level of application decompositio
3232

3333
These layers help organize the codebase and promote modular, maintainable, and scalable architecture.
3434

35-
##### Risk of Change
35+
#### Risk of Change
3636

3737
- **Higher layers**: Changes here impact the entire system. They require thorough testing and validation.
3838
- **Lower layers**: Changes can ripple upward. Modifying a lower layer may affect multiple higher layers. Therefore, altering lower layers involves more risk.
@@ -43,12 +43,12 @@ In summary, **higher layers** bear more responsibility and knowledge, while **lo
4343

4444
**Slices** represent a way to organize code within a **layer**. They group together files that implement specific functionality related to the business logic.
4545

46-
##### Purpose and Scope
46+
#### Purpose and Scope
4747

4848
- **Functionality**: Slices focus on a particular aspect of the application's functionality. For example, you might have slices for user authentication, data processing, or reporting.
4949
- **Project Context**: The impact of slices depends on the specific project. Some projects may have many slices, while others might have only a few.
5050

51-
##### Implementation
51+
#### Implementation
5252

5353
- **Folder Structure**: Slices are typically organized as folders or directories. Each slice contains related files, such as controllers, models, and views.
5454
- **Module Isolation**: By grouping related files together, slices promote modularity and maintainability. Changes within a slice should have no impact on other slices in the same layer.
@@ -63,7 +63,7 @@ In summary, **higher layers** bear more responsibility and knowledge, while **lo
6363
- `ui/` – ui components, responsible for displaying data.
6464
- `index.ts` – barrel file. This is the public entrypoint for the slice. Any code within the slice that is intended to be used by higher layers must be exported here.
6565

66-
##### Characteristics
66+
#### Characteristics
6767

6868
- **Independent Units**: Each segment is responsible for a distinct part of the module's technical implementation.
6969
- **Focused Scope**: Segments handle specific tasks, such as data processing (model), data display (ui), or communication with external services (api).
@@ -100,7 +100,7 @@ Example: City and Product are entities, whereas SearchByCity and BuyProduct are
100100
101101
Let's consider a few examples:
102102

103-
##### 1. Social Network Application
103+
#### 1. Social Network Application
104104

105105
In a social network application, the features could be `SendComment`, `LikePost`, and `JoinGroup`. The `SendComment` feature might involve operations like creating a new comment, updating a comment, or deleting a comment. Similarly, the `LikePost` feature might involve operations like liking a post, unliking a post, etc.
106106

@@ -122,7 +122,7 @@ Each slice in this layer contains some or all of the following:
122122

123123
Let's consider a few examples:
124124

125-
##### 1. Social Network Application
125+
#### 1. Social Network Application
126126

127127
In a social network application, the entities could be `User`, `Post`, and `Group`. The `User` entity might contain functionality like creating a new user, updating user information, or deleting a user. Similarly, the `Post` entity might include functionality related to creating, updating, or deleting a post.
128128

0 commit comments

Comments
 (0)