added prettier to repo

This commit is contained in:
Jordan Violet
2022-11-27 23:31:36 -05:00
parent e001042deb
commit 86e3bc602b
85 changed files with 1418 additions and 968 deletions

View File

@@ -2,9 +2,8 @@
name: Feature Request
about: Suggest an idea for this project.
title: "[Feature] Your Feature Request Here"
labels: ''
assignees: ''
labels: ""
assignees: ""
---
**Is your feature request related to a problem? Please describe.**

92
.github/bot.yml vendored
View File

@@ -41,52 +41,52 @@ labelPRBasedOnFilePath:
##### Reviewer #########################################################################################################
addReviewerBasedOnLabel:
labels:
Docs:
- james-haytko-sp
IdentityNow:
- colin-mckibben-sp
IdentityIQ:
- colin-mckibben-sp
Event Trigger Docs:
- colin-mckibben-sp
SaaS Connectivity Docs:
- philip-ellis-sp
Transform Docs:
- tyler-mairose-sp
Rules Docs:
- tyler-mairose-sp
SaaS Configuration Docs:
- colin-mckibben-sp
Introduction Doc:
- jordan-violet-sp
- colin-mckibben-sp
- tyler-mairose-sp
- james-haytko-sp
- philip-ellis-sp
Pages:
- philip-ellis-sp
Components:
- philip-ellis-sp
CSS:
- philip-ellis-sp
Swizzled Components:
- philip-ellis-sp
- jordan-violet-sp
Sidebar:
- philip-ellis-sp
Docusaurus Config:
- philip-ellis-sp
Footer:
- jordan-violet-sp
- philip-ellis-sp
Navbar:
- jordan-violet-sp
- colin-mckibben-sp
- tyler-mairose-sp
- james-haytko-sp
- philip-ellis-sp
Plugins:
- philip-ellis-sp
Docs:
- james-haytko-sp
IdentityNow:
- colin-mckibben-sp
IdentityIQ:
- colin-mckibben-sp
Event Trigger Docs:
- colin-mckibben-sp
SaaS Connectivity Docs:
- philip-ellis-sp
Transform Docs:
- tyler-mairose-sp
Rules Docs:
- tyler-mairose-sp
SaaS Configuration Docs:
- colin-mckibben-sp
Introduction Doc:
- jordan-violet-sp
- colin-mckibben-sp
- tyler-mairose-sp
- james-haytko-sp
- philip-ellis-sp
Pages:
- philip-ellis-sp
Components:
- philip-ellis-sp
CSS:
- philip-ellis-sp
Swizzled Components:
- philip-ellis-sp
- jordan-violet-sp
Sidebar:
- philip-ellis-sp
Docusaurus Config:
- philip-ellis-sp
Footer:
- jordan-violet-sp
- philip-ellis-sp
Navbar:
- jordan-violet-sp
- colin-mckibben-sp
- tyler-mairose-sp
- james-haytko-sp
- philip-ellis-sp
Plugins:
- philip-ellis-sp
##### Greetings ########################################################################################################
# Comment to be posted to welcome users when they open their first PR
firstPRWelcomeComment: >

View File

@@ -5,8 +5,7 @@ name: Deploy to Firebase Hosting on PR
"on": pull_request
jobs:
build_and_preview:
if:
"${{ github.event.pull_request.head.repo.full_name == github.repository }}"
if: "${{ github.event.pull_request.head.repo.full_name == github.repository }}"
runs-on: ubuntu-latest
env:
NODE_ENV: "development"
@@ -16,6 +15,5 @@ jobs:
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: "${{ secrets.GITHUB_TOKEN }}"
firebaseServiceAccount:
"${{ secrets.FIREBASE_SERVICE_ACCOUNT_DEVELOPER_COMMUNITY_SITE }}"
firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_DEVELOPER_COMMUNITY_SITE }}"
projectId: developer-community-site

21
.prettierignore Normal file
View File

@@ -0,0 +1,21 @@
# Default
node_modules
build
coverage
.pcakage-lock.json
*.min.*
# Auto-generated Docs
/products/arm/api
/products/idn/api/v3
/products/idn/api/beta
/products/iiq/api
# Logs
*.log*
# Docusaurus
.docusaurus
# API Specs
/static/api-specs

1
.prettierrc.json Normal file
View File

@@ -0,0 +1 @@
{}

View File

@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
- The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
@@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within

View File

@@ -34,7 +34,7 @@ covers the project.
# Reporting Issues
We use GitHub issues to track bugs publicly. If you see an issue with the site, please [report it here](https://github.com/sailpoint-oss/developer.sailpoint.com/issues/new?assignees=&labels=&template=bug-report.md&title=%5BBug%5D+Your+Bug+Report+Here);
We use GitHub issues to track bugs publicly. If you see an issue with the site, please [report it here](https://github.com/sailpoint-oss/developer.sailpoint.com/issues/new?assignees=&labels=&template=bug-report.md&title=%5BBug%5D+Your+Bug+Report+Here);
Our maintainers _love_ thorough bug reports. **Great bug reports** tend to have:

View File

@@ -4,15 +4,11 @@
![Latest Releases][release-shield] ![Contributor Shield][contributor-shield]
[![Deploy to Production](https://github.com/sailpoint-oss/developer.sailpoint.com/actions/workflows/build-and-deploy-prod-gh-pages.yml/badge.svg)](https://github.com/sailpoint-oss/developer.sailpoint.com/actions/workflows/build-and-deploy-prod-gh-pages.yml)
[discourse-shield]:
https://img.shields.io/discourse/topics?label=Discuss%20This%20Tool&server=https%3A%2F%2Fdeveloper.sailpoint.com%2Fdiscuss
[discourse-shield]: https://img.shields.io/discourse/topics?label=Discuss%20This%20Tool&server=https%3A%2F%2Fdeveloper.sailpoint.com%2Fdiscuss
[discourse-url]: https://developer.sailpoint.com/discuss/
[issues-shield]:
https://img.shields.io/github/issues/sailpoint-oss/developer.sailpoint.com?label=Issues
[release-shield]:
https://img.shields.io/github/v/release/sailpoint-oss/developer.sailpoint.com?label=Current%20Release
[contributor-shield]:
https://img.shields.io/github/contributors/sailpoint-oss/developer.sailpoint.com?label=Contributors
[issues-shield]: https://img.shields.io/github/issues/sailpoint-oss/developer.sailpoint.com?label=Issues
[release-shield]: https://img.shields.io/github/v/release/sailpoint-oss/developer.sailpoint.com?label=Current%20Release
[contributor-shield]: https://img.shields.io/github/contributors/sailpoint-oss/developer.sailpoint.com?label=Contributors
<!-- PROJECT LOGO -->
<br />

View File

@@ -26,8 +26,6 @@
"tags": ["IDN Documentation"]
},
{
"url": "https://developer.sailpoint.com/idn/api/getting-started",
"selectors_key": "api_v3",
@@ -49,8 +47,6 @@
"tags": ["IDN API Documenation"]
},
{
"url": "https://developer.sailpoint.com/idn/api/v3",
"selectors_key": "api_v3",
@@ -68,14 +64,12 @@
}
],
"js_render": false,
"sitemap_urls": [
"https://developer.sailpoint.com/sitemap.xml"
],
"sitemap_urls": ["https://developer.sailpoint.com/sitemap.xml"],
"sitemap_alternate_links": true,
"stop_urls": [],
"selectors": {
"default" : {
"lvl0" : {
"default": {
"lvl0": {
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
"type": "xpath",
"global": true,
@@ -96,7 +90,7 @@
"text": "article p, article li, article td:last-child"
},
"api_v3": {
"lvl0" : {
"lvl0": {
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
"type": "xpath",
"global": true,
@@ -116,7 +110,7 @@
"text": "article p, article li, article td:last-child"
},
"api_iiq": {
"lvl0" : {
"lvl0": {
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
"type": "xpath",
"global": true,
@@ -135,8 +129,6 @@
"lvl6": "article h6",
"text": "article p, article li, article td:last-child"
}
},
"strip_chars": " .,;:#",
"custom_settings": {
@@ -158,8 +150,6 @@
"type"
]
},
"conversation_id": [
"1090805758"
],
"conversation_id": ["1090805758"],
"nb_hits": 8687
}

View File

@@ -26,8 +26,6 @@
"tags": ["IDN Documentation"]
},
{
"url": "https://developer.sailpoint.com/idn/api/getting-started",
"selectors_key": "api_v3",
@@ -49,8 +47,6 @@
"tags": ["IDN API Documenation"]
},
{
"url": "https://developer.sailpoint.com/idn/api/v3",
"selectors_key": "api_v3",
@@ -68,14 +64,12 @@
}
],
"js_render": false,
"sitemap_urls": [
"https://developer.sailpoint.com/sitemap.xml"
],
"sitemap_urls": ["https://developer.sailpoint.com/sitemap.xml"],
"sitemap_alternate_links": true,
"stop_urls": [],
"selectors": {
"default" : {
"lvl0" : {
"default": {
"lvl0": {
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
"type": "xpath",
"global": true,
@@ -96,7 +90,7 @@
"text": "article p, article li, article td:last-child"
},
"api_v3": {
"lvl0" : {
"lvl0": {
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
"type": "xpath",
"global": true,
@@ -116,7 +110,7 @@
"text": "article p, article li, article td:last-child"
},
"api_iiq": {
"lvl0" : {
"lvl0": {
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
"type": "xpath",
"global": true,
@@ -135,8 +129,6 @@
"lvl6": "article h6",
"text": "article p, article li, article td:last-child"
}
},
"strip_chars": " .,;:#",
"custom_settings": {
@@ -158,8 +150,6 @@
"type"
]
},
"conversation_id": [
"1090805758"
],
"conversation_id": ["1090805758"],
"nb_hits": 8687
}

View File

@@ -1,3 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
presets: [require.resolve("@docusaurus/core/lib/babel/preset")],
};

View File

@@ -1,12 +0,0 @@
---
slug: first-blog-post
title: First Blog Post
authors:
name: Gao Wei
title: Docusaurus Core Team
url: https://github.com/wgao19
image_url: https://github.com/wgao19.png
tags: [hola, docusaurus]
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

View File

@@ -1,44 +0,0 @@
---
slug: long-blog-post
title: Long Blog Post
authors: endi
tags: [hello, docusaurus]
---
This is the summary of a very long blog post,
Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.
<!--truncate-->
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

View File

@@ -1,20 +0,0 @@
---
slug: mdx-blog-post
title: MDX Blog Post
authors: [slorber]
tags: [docusaurus]
---
Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).
:::tip
Use the power of React to create interactive blog posts.
```js
<button onClick={() => alert('button clicked!')}>Click me!</button>
```
<button onClick={() => alert('button clicked!')}>Click me!</button>
:::

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

View File

@@ -1,25 +0,0 @@
---
slug: welcome
title: Welcome
authors: [slorber, yangshun]
tags: [facebook, hello, docusaurus]
---
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
Simply add Markdown files (or folders) to the `blog` directory.
Regular blog authors can be added to `authors.yml`.
The blog post date can be extracted from filenames, such as:
- `2019-05-30-welcome.md`
- `2019-05-30-welcome/index.md`
A blog post folder can be convenient to co-locate blog post images:
![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)
The blog supports tags as well!
**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.

View File

@@ -1,17 +0,0 @@
endi:
name: Endilie Yacop Sucipto
title: Maintainer of Docusaurus
url: https://github.com/endiliey
image_url: https://github.com/endiliey.png
yangshun:
name: Yangshun Tay
title: Front End Engineer @ Facebook
url: https://github.com/yangshun
image_url: https://github.com/yangshun.png
slorber:
name: Sébastien Lorber
title: Docusaurus maintainer
url: https://sebastienlorber.com
image_url: https://github.com/slorber.png

View File

@@ -1,10 +1,6 @@
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
}
}

302
package-lock.json generated
View File

@@ -22,7 +22,10 @@
"@docusaurus/core": "^2.2.0",
"@docusaurus/module-type-aliases": "^2.2.0",
"@docusaurus/plugin-google-gtag": "^2.2.0",
"@docusaurus/preset-classic": "^2.2.0"
"@docusaurus/preset-classic": "^2.2.0",
"husky": "^8.0.2",
"prettier": "2.8.0",
"pretty-quick": "^3.1.3"
},
"engines": {
"node": ">=16.14"
@@ -3253,6 +3256,12 @@
"version": "3.0.1",
"license": "MIT"
},
"node_modules/@types/minimatch": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
"dev": true
},
"node_modules/@types/ms": {
"version": "0.7.31",
"license": "MIT"
@@ -3690,6 +3699,15 @@
"version": "2.0.1",
"license": "Python-2.0"
},
"node_modules/array-differ": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
"integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/array-flatten": {
"version": "2.1.2",
"license": "MIT"
@@ -3701,6 +3719,15 @@
"node": ">=8"
}
},
"node_modules/arrify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/asap": {
"version": "2.0.6",
"license": "MIT"
@@ -7615,6 +7642,21 @@
"node": ">=10.17.0"
}
},
"node_modules/husky": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/husky/-/husky-8.0.2.tgz",
"integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==",
"dev": true,
"bin": {
"husky": "lib/bin.js"
},
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/sponsors/typicode"
}
},
"node_modules/iconv-lite": {
"version": "0.6.3",
"license": "MIT",
@@ -9141,6 +9183,44 @@
"multicast-dns": "cli.js"
}
},
"node_modules/multimatch": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz",
"integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==",
"dev": true,
"dependencies": {
"@types/minimatch": "^3.0.3",
"array-differ": "^3.0.0",
"array-union": "^2.1.0",
"arrify": "^2.0.1",
"minimatch": "^3.0.4"
},
"engines": {
"node": ">=8"
}
},
"node_modules/multimatch/node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"node_modules/multimatch/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
"engines": {
"node": "*"
}
},
"node_modules/mustache": {
"version": "4.2.0",
"license": "MIT",
@@ -10399,6 +10479,21 @@
"node": ">=4"
}
},
"node_modules/prettier": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz",
"integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
},
"engines": {
"node": ">=10.13.0"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/pretty-error": {
"version": "4.0.0",
"license": "MIT",
@@ -10407,6 +10502,89 @@
"renderkid": "^3.0.0"
}
},
"node_modules/pretty-quick": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz",
"integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==",
"dev": true,
"dependencies": {
"chalk": "^3.0.0",
"execa": "^4.0.0",
"find-up": "^4.1.0",
"ignore": "^5.1.4",
"mri": "^1.1.5",
"multimatch": "^4.0.0"
},
"bin": {
"pretty-quick": "bin/pretty-quick.js"
},
"engines": {
"node": ">=10.13"
},
"peerDependencies": {
"prettier": ">=2.0.0"
}
},
"node_modules/pretty-quick/node_modules/chalk": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/pretty-quick/node_modules/execa": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
"integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
"dev": true,
"dependencies": {
"cross-spawn": "^7.0.0",
"get-stream": "^5.0.0",
"human-signals": "^1.1.1",
"is-stream": "^2.0.0",
"merge-stream": "^2.0.0",
"npm-run-path": "^4.0.0",
"onetime": "^5.1.0",
"signal-exit": "^3.0.2",
"strip-final-newline": "^2.0.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
"node_modules/pretty-quick/node_modules/get-stream": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dev": true,
"dependencies": {
"pump": "^3.0.0"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/pretty-quick/node_modules/human-signals": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
"dev": true,
"engines": {
"node": ">=8.12.0"
}
},
"node_modules/pretty-time": {
"version": "1.1.0",
"license": "MIT",
@@ -16809,6 +16987,12 @@
"@types/mime": {
"version": "3.0.1"
},
"@types/minimatch": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
"dev": true
},
"@types/ms": {
"version": "0.7.31"
},
@@ -17135,12 +17319,24 @@
"argparse": {
"version": "2.0.1"
},
"array-differ": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
"integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
"dev": true
},
"array-flatten": {
"version": "2.1.2"
},
"array-union": {
"version": "2.1.0"
},
"arrify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
"dev": true
},
"asap": {
"version": "2.0.6"
},
@@ -19574,6 +19770,12 @@
"human-signals": {
"version": "2.1.0"
},
"husky": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/husky/-/husky-8.0.2.tgz",
"integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==",
"dev": true
},
"iconv-lite": {
"version": "0.6.3",
"requires": {
@@ -20371,6 +20573,40 @@
"thunky": "^1.0.2"
}
},
"multimatch": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz",
"integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==",
"dev": true,
"requires": {
"@types/minimatch": "^3.0.3",
"array-differ": "^3.0.0",
"array-union": "^2.1.0",
"arrify": "^2.0.1",
"minimatch": "^3.0.4"
},
"dependencies": {
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
}
}
},
"mustache": {
"version": "4.2.0"
},
@@ -21058,6 +21294,12 @@
"prepend-http": {
"version": "2.0.0"
},
"prettier": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz",
"integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==",
"dev": true
},
"pretty-error": {
"version": "4.0.0",
"requires": {
@@ -21065,6 +21307,64 @@
"renderkid": "^3.0.0"
}
},
"pretty-quick": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz",
"integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==",
"dev": true,
"requires": {
"chalk": "^3.0.0",
"execa": "^4.0.0",
"find-up": "^4.1.0",
"ignore": "^5.1.4",
"mri": "^1.1.5",
"multimatch": "^4.0.0"
},
"dependencies": {
"chalk": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"execa": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
"integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
"dev": true,
"requires": {
"cross-spawn": "^7.0.0",
"get-stream": "^5.0.0",
"human-signals": "^1.1.1",
"is-stream": "^2.0.0",
"merge-stream": "^2.0.0",
"npm-run-path": "^4.0.0",
"onetime": "^5.1.0",
"signal-exit": "^3.0.2",
"strip-final-newline": "^2.0.0"
}
},
"get-stream": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dev": true,
"requires": {
"pump": "^3.0.0"
}
},
"human-signals": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
"dev": true
}
}
},
"pretty-time": {
"version": "1.1.0"
},

View File

@@ -38,7 +38,10 @@
"@docusaurus/core": "^2.2.0",
"@docusaurus/module-type-aliases": "^2.2.0",
"@docusaurus/plugin-google-gtag": "^2.2.0",
"@docusaurus/preset-classic": "^2.2.0"
"@docusaurus/preset-classic": "^2.2.0",
"husky": "^8.0.2",
"prettier": "2.8.0",
"pretty-quick": "^3.1.3"
},
"browserslist": {
"production": [
@@ -54,5 +57,10 @@
},
"engines": {
"node": ">=16.14"
},
"husky": {
"hooks": {
"pre-commit": "pretty-quick --staged"
}
}
}

View File

@@ -1,3 +1,3 @@
{
"collapsible": false
"collapsible": false
}

View File

@@ -117,7 +117,7 @@ subscribing service responds with the following object:
"id": "",
"name": "",
"type": ""
}
}
```
## Additional Information and Links

View File

@@ -6,8 +6,7 @@ sidebar_label: Account Aggregation Completed
sidebar_class_name: accountAggregationCompleted
keywords:
["event", "trigger", "account", "aggregation", "completed", "available"]
description:
Fires after an account aggregation completed, terminated, or failed.
description: Fires after an account aggregation completed, terminated, or failed.
slug: /docs/event-triggers/triggers/account-aggregation-completed
tags: ["Event Triggers", "Available Event Triggers", "Fire and Forget"]
---

View File

@@ -43,11 +43,11 @@ matching your filter criteria.
## Constructing a Filter
Event trigger filters are constructed using a **Jayway** JSONpath expression. See the following tables for a list of operators that can be used in a trigger filter.
Event trigger filters are constructed using a **Jayway** JSONpath expression. See the following tables for a list of operators that can be used in a trigger filter.
:::info Update
SailPont's Workflow tool uses **Goessner** JSONpath when selecting variables to use in actions and operators. Please read the [Goessner](https://goessner.net/articles/JsonPath/) documentation to learn more about the supported operators.
SailPont's Workflow tool uses **Goessner** JSONpath when selecting variables to use in actions and operators. Please read the [Goessner](https://goessner.net/articles/JsonPath/) documentation to learn more about the supported operators.
Although variable selection in Workflows users Goessner, the trigger filter field in Workflows still follows the Jayway operators listed below.
@@ -101,7 +101,7 @@ expression you want before testing it on a trigger.
Start by opening a [JSONpath editor](https://jsonpath.herokuapp.com/) in your
browser. Make sure that the correct implementation is selected if there is more
than one option. In the case of event trigger filters, you will want to select the **Jayway** option. You can then paste in an example trigger input and start
than one option. In the case of event trigger filters, you will want to select the **Jayway** option. You can then paste in an example trigger input and start
crafting your JSONpath expression.
![JSONPath editor](./img/jsonpath-editor.png)

View File

@@ -31,16 +31,16 @@ You would typically use this rule when you are creating an account to generate a
| Argument | Type | Purpose |
| ----------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
| application | java.lang.Object | Attribute value of the identity attribute before the rule runs. |
| field | sailpoint.object.Field | Field object used to get information about the attribute being generated. |
| field | sailpoint.object.Field | Field object used to get information about the attribute being generated. |
## Output
| Argument | Type | Purpose |
| -------- | ---------------- | ---------------------------------------- |
| Argument | Type | Purpose |
| -------- | ---------------- | ----------------------------------------- |
| value | java.lang.Object | Value returned for the account attribute. |
## Template

View File

@@ -34,15 +34,15 @@ You would typically use this rule when you are creating an account to generate a
| Argument | Type | Purpose |
| -------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
| field | sailpoint.object.Field | Field object used to get information about the attribute being generated. |
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
| field | sailpoint.object.Field | Field object used to get information about the attribute being generated. |
## Output
| Argument | Type | Purpose |
| -------- | ---------------- | ---------------------------------------- |
| Argument | Type | Purpose |
| -------- | ---------------- | ----------------------------------------- |
| value | java.lang.Object | Value returned for the account attribute. |
## Template

View File

@@ -31,8 +31,8 @@ creation profile (provisioning policy) instead.
| Argument | Type | Purpose |
| ----------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
| plan | sailpoint.object.ProvisioningPlan | Reference to identity object representing the identity being calculated. |
| application | java.lang.Object | Attribute value for the identity attribute before the rule runs. |
| plan | sailpoint.object.ProvisioningPlan | Reference to identity object representing the identity being calculated. |
| application | java.lang.Object | Attribute value for the identity attribute before the rule runs. |
> Note: Logs are not supported for BeforeProvisioning rules.

View File

@@ -30,14 +30,14 @@ This rule associates or correlates an account to an identity, based on complex l
| Argument | Type | Purpose |
| -------- | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
| account | sailpoint.object.ResourceObject | Read-only representation of account data that has been aggregated. Use this as a basis to determine correlation linkages with a specific identity. |
| account | sailpoint.object.ResourceObject | Read-only representation of account data that has been aggregated. Use this as a basis to determine correlation linkages with a specific identity. |
## Output
| Argument | Type | Purpose |
| --------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Argument | Type | Purpose |
| --------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| returnMap | java.util.Map | Map object containing a reference to the identity attributes to correlate to. These should contain both `identityAttributeName` and `identityAttributeValue` as keys. |
## Template

View File

@@ -28,13 +28,13 @@ This rule performs transforms.
| Argument | Type | Purpose |
| -------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
## Output
| Argument | Type | Purpose |
| -------- | ---------------- | ------------------------------------------------------------ |
| Argument | Type | Purpose |
| -------- | ---------------- | ------------------------------------------------------------- |
| value | java.lang.Object | Value returned for the account attribute, typically a string. |
## Template

View File

@@ -33,15 +33,15 @@ This rule is also known as a "complex" rule on the identity profile.
| Argument | Type | Purpose |
| -------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
| oldValue | java.lang.Object | Attribute value for the identity attribute before the rule runs. |
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
| oldValue | java.lang.Object | Attribute value for the identity attribute before the rule runs. |
## Output
| Argument | Type | Purpose |
| -------------- | ---------------- | ----------------------------------------- |
| Argument | Type | Purpose |
| -------------- | ---------------- | ------------------------------------------ |
| attributeValue | java.lang.Object | Value returned for the identity attribute. |
## Template

View File

@@ -5,8 +5,7 @@ pagination_label: Manager Correlation Rule
sidebar_label: Manager Correlation Rule
sidebar_class_name: managerCorrelationRule
keywords: ["cloud", "rules", "manager correlation"]
description:
This rule calculates a manager relationship between identities.
description: This rule calculates a manager relationship between identities.
slug: /docs/rules/cloud-rules/manager-correlation-rule
tags: ["Rules"]
---
@@ -29,15 +28,15 @@ This rule calculates a manager relationship between identities.
| Argument | Type | Purpose |
| --------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
| link | sailpoint.object.Link | Read-only representation of account data that has been aggregated. Use this as a basis to determine manager linkages to a specific manager identity. |
| managerAttributeValue | java.lang.Object | Attribute value stored in the manager attribute. |
| link | sailpoint.object.Link | Read-only representation of account data that has been aggregated. Use this as a basis to determine manager linkages to a specific manager identity. |
| managerAttributeValue | java.lang.Object | Attribute value stored in the manager attribute. |
## Output
| Argument | Type | Purpose |
| --------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Argument | Type | Purpose |
| --------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| returnMap | java.util.Map | Map object containing a reference to the identity attributes to identify the manager's identity. These should contain both `identityAttributeName` and `identityAttributeValue` as keys. |
## Template

View File

@@ -5,8 +5,7 @@ pagination_label: Before and After Operations
sidebar_label: Before and After Rule Operations
sidebar_class_name: beforeAndAfterRuleOperations
keywords: ["cloud", "rules"]
description:
This rule executes PowerShell commands on the IQService component
description: This rule executes PowerShell commands on the IQService component
after a source account has an operation performed on it.
slug: /docs/rules/connector-rules/before-and-after-rule-operations
tags: ["Rules"]
@@ -41,10 +40,10 @@ The following operations can be performed on a source:
## Input
| Argument | Type | Purpose |
| ----------- | -------------------------------------- | ------------------------------------------------------------------------- |
| Application | System.Collections.Hashtable | Map of the application configuration. |
| Request | SailPoint.Utils.objects.AccountRequest | Reference to the account request provisioning instructions. |
| Argument | Type | Purpose |
| ----------- | -------------------------------------- | -------------------------------------------------------------------------- |
| Application | System.Collections.Hashtable | Map of the application configuration. |
| Request | SailPoint.Utils.objects.AccountRequest | Reference to the account request provisioning instructions. |
| Result | SailPoint.Utils.objects.ServiceResult | Reference to the provisioning result that can be manipulated if necessary. |
## Architecture Best Practices

View File

@@ -5,8 +5,7 @@ pagination_label: BuildMap Rule
sidebar_label: BuildMap Rule
sidebar_class_name: buildMapRule
keywords: ["cloud", "rules"]
description:
This rule manipulates raw input data provided by the
description: This rule manipulates raw input data provided by the
rows and columns in a file and builds a map from the incoming data.
slug: /docs/rules/connector-rules/buildmap-rule
tags: ["Rules"]
@@ -30,12 +29,12 @@ This rule manipulates raw input data provided by the rows and columns in a file
## Input
| Argument | Type | Purpose |
| ----------- | ---------------------------- | ---------------------------------------------------------------------------------------------- |
| col | java.util.List | Ordered list of the column names from the files header records or specified columns list. |
| Argument | Type | Purpose |
| ----------- | ---------------------------- | ------------------------------------------------------------------------------------------- |
| col | java.util.List | Ordered list of the column names from the files header records or specified columns list. |
| record | java.util.List | Ordered list of the values for the current record, parsed based on the specified delimiter. |
| application | System.Collections.Hashtable | Map of the application configuration. |
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
| application | System.Collections.Hashtable | Map of the application configuration. |
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
## Template

View File

@@ -29,21 +29,21 @@ For more details, see [Configuration Process](#configuration-process).
## Supported Connector Rules
| Rule Name | Rule Type | Source Type(s) | Purpose |
| --------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Rule Name | Rule Type | Source Type(s) | Purpose |
| -------------------------------------------------------- | --------------------------------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Before Creation Rule](./before_after_operation_rule.md) | [ConnectorBeforeCreate](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component before a source account is created. |
| [Before Modify Rule](./before_after_operation_rule.md) | [ConnectorBeforeModify](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component before a source account is modified. |
| [Before Delete Rule](./before_after_operation_rule.md) | [ConnectorBeforeDelete](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component before a source account is deleted. |
| [After Creation Rule](./before_after_operation_rule.md) | [ConnectorAfterCreate](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component after a source account is created. |
| [After Modify Rule](./before_after_operation_rule.md) | [ConnectorAfterModify](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component after a source account is modified. |
| [After Delete Rule](./before_after_operation_rule.md) | [ConnectorAfterDelete](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component after a source account is deleted. |
| Build Map Rule | BuildMap | Delimited File | Calculates and transforms data from a parsed file during the aggregation process. _Note: This is only available for the Delimited File source type, not Generic source types._ |
| JDBC Build Map Rule | JDBCBuildMap | JDBC | Calculates and transforms data from a database query result during the aggregation process. It can also perform additional calls back to the database. _Note: This rule is available for the JDBC Generic source, as well as other sources that derive from the JDBC connector (e.g., Oracle EBS, PeopleSoft, etc.)_ |
| JDBC Provision Rule | JDBCProvision | JDBC | Executes database queries to perform provisioning of account and access for all account operations. |
| SAP Build Map Rule | SAPBuildMap | SAP HR, SAP | Calculates and transforms data from SAP during the aggregation process. It can also perform additional calls back to the SAP system using SAP BAPI calls. |
| SAP HR Provisioning Modify Rule | SapHrOperationProvisioning | SAP HR | Performs SAP HR modification operations during provisioning. Often used for attribute sync to custom SAP HR attributes. |
| Web Services Before Operation Rule | WebServiceBeforeOperationRule | Web Services | Executes before the next web-services HTTP(S) operation. Often used to calculate values. |
| Web Services After Operation Rule | WebServiceAfterOperationRule | Web Services | Executes after a web-services HTTP(S) operation. Often used to parse complex data. |
| Build Map Rule | BuildMap | Delimited File | Calculates and transforms data from a parsed file during the aggregation process. _Note: This is only available for the Delimited File source type, not Generic source types._ |
| JDBC Build Map Rule | JDBCBuildMap | JDBC | Calculates and transforms data from a database query result during the aggregation process. It can also perform additional calls back to the database. _Note: This rule is available for the JDBC Generic source, as well as other sources that derive from the JDBC connector (e.g., Oracle EBS, PeopleSoft, etc.)_ |
| JDBC Provision Rule | JDBCProvision | JDBC | Executes database queries to perform provisioning of account and access for all account operations. |
| SAP Build Map Rule | SAPBuildMap | SAP HR, SAP | Calculates and transforms data from SAP during the aggregation process. It can also perform additional calls back to the SAP system using SAP BAPI calls. |
| SAP HR Provisioning Modify Rule | SapHrOperationProvisioning | SAP HR | Performs SAP HR modification operations during provisioning. Often used for attribute sync to custom SAP HR attributes. |
| Web Services Before Operation Rule | WebServiceBeforeOperationRule | Web Services | Executes before the next web-services HTTP(S) operation. Often used to calculate values. |
| Web Services After Operation Rule | WebServiceAfterOperationRule | Web Services | Executes after a web-services HTTP(S) operation. Often used to parse complex data. |
## Configuration Process

View File

@@ -5,8 +5,7 @@ pagination_label: JDBC BuildMap Rule
sidebar_label: JDBC BuildMap Rule
sidebar_class_name: jdbcBuildMapRule
keywords: ["cloud", "rules"]
description:
This rule manipulates raw input data provided by the
description: This rule manipulates raw input data provided by the
rows and columns in a file and builds a map from the incoming data.
slug: /docs/rules/connector-rules/jdbc-buildmap-rule
tags: ["Rules"]
@@ -28,18 +27,18 @@ This rule manipulates raw input data provided by the rows and columns in a file
## Input
| Argument | Type | Purpose |
| ----------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------- |
| result | java.sql.ResultSet | Current ResultSet from the JDBC Connector. |
| Argument | Type | Purpose |
| ----------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------- |
| result | java.sql.ResultSet | Current ResultSet from the JDBC Connector. |
| connection | java.sql.Connection | Reference to the current SQL connection. |
| state | java.util.Map | Map that can be used to store and share data between executions of this rule during a single aggregation run. |
| application | sailpoint.object.Application | Attribute value of the identity attribute before the rule runs. |
| application | sailpoint.object.Application | Attribute value of the identity attribute before the rule runs. |
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
## Output
| Argument | Type | Purpose |
| -------- | ------------ | --------------------------------------------------------------------- |
| Argument | Type | Purpose |
| -------- | ------------ | ---------------------------------------------------------------------- |
| map | java.utl.Map | Map of names/values representing a row of data from the JDBC resource. |
## Template

View File

@@ -5,8 +5,7 @@ pagination_label: JDBC Provision Rule
sidebar_label: JDBC Provision Rule
sidebar_class_name: jdbcProvisionRule
keywords: ["cloud", "rules", "jdbc"]
description:
This rule performs provisioning actions from a provisioning
description: This rule performs provisioning actions from a provisioning
plan provided by a supplied JDBC connection. These actions typically issue SQL commands, such
as insert, update, select, and delete.
slug: /docs/rules/connector-rules/jdbc-provisioning-rule
@@ -30,17 +29,17 @@ These actions typically issue SQL commands, such as insert, update, select, and
## Input
| Argument | Type | Purpose |
| ----------- | --------------------------------- | ------------------------------------------------------------------------- |
| Argument | Type | Purpose |
| ----------- | --------------------------------- | ------------------------------------------------------------------------ |
| connection | java.sql.Connection | Reference to the current SQL connection. |
| plan | sailpoint.object.ProvisioningPlan | Provisioning plan containing the provisioning request(s). |
| application | sailpoint.object.Application | Attribute value for the identity attribute before the rule runs. |
| plan | sailpoint.object.ProvisioningPlan | Provisioning plan containing the provisioning request(s). |
| application | sailpoint.object.Application | Attribute value for the identity attribute before the rule runs. |
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
## Output
| Argument | Type | Purpose |
| -------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| Argument | Type | Purpose |
| -------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------- |
| result | sailpoint.object.ProvisioningResult | ProvisioningResult object containing the provisioning request's status (success, failure, retry, etc.). |
## Template

View File

@@ -5,8 +5,7 @@ pagination_label: SAP BuildMap Rule
sidebar_label: SAP BuildMap Rule
sidebar_class_name: sapBuildMapRule
keywords: ["cloud", "rules", "sap"]
description:
This rule gathers additional attributes from SAP systems to
description: This rule gathers additional attributes from SAP systems to
build accounts. This rule is implemented using SAP's Java Connector (JCo)
framework provided by a supplied SAP connection.
slug: /docs/rules/connector-rules/sap-buildmap-rule
@@ -30,14 +29,14 @@ This rule is implemented using SAP's Java Connector (JCo) framework provided by
## Input
| Argument | Type | Purpose |
| ----------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Argument | Type | Purpose |
| ----------- | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| object | sailpoint.object.Attributes | Reference to a SailPoint attributes object (basically a map object with some added convenience methods) that holds the attributes that have been built up by the default connector implementation. The rule should modify this object to change, add, or remove attributes from the map. |
| connector | sailpoint.connector.SAPInternalConnector | Reference to the current SAP connector. |
| state | java.util.Map | Map that can be used to store and share data between executions of this rule during a single aggregation run. |
| application | sailpoint.object.Application | Attribute value for the identity attribute before the rule runs. |
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
| destination | com.sap.conn.jco.JCoDestination | Connected and ready-to-use SAP destination object that can be used to call BAPI function modules and call to SAP tables. |
| state | java.util.Map | Map that can be used to store and share data between executions of this rule during a single aggregation run. |
| application | sailpoint.object.Application | Attribute value for the identity attribute before the rule runs. |
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
| destination | com.sap.conn.jco.JCoDestination | Connected and ready-to-use SAP destination object that can be used to call BAPI function modules and call to SAP tables. |
## Template

View File

@@ -5,8 +5,7 @@ pagination_label: SAP HR Provisioning Modify Rule
sidebar_label: SAP HR Provisioning Modify Rule
sidebar_class_name: sapHRProvisioningModifyRule
keywords: ["cloud", "rules", "sap"]
description:
This rule performs SAP HR modification operations during
description: This rule performs SAP HR modification operations during
provisioning. This rule is typically used for attribute sync to custom SAP HR
attributes.
slug: /docs/rules/connector-rules/sap-provisioning-modify-rule
@@ -30,19 +29,19 @@ This rule is typically used for attribute sync to custom SAP HR attributes.
## Input
| Argument | Type | Purpose |
| ----------- | ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| application | sailpoint.object.Application | Reference to the application object. |
| schema | sailpoint.object.Schema | Reference to the application schema. |
| Argument | Type | Purpose |
| ----------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| application | sailpoint.object.Application | Reference to the application object. |
| schema | sailpoint.object.Schema | Reference to the application schema. |
| destination | com.sap.conn.jco.JCoDestination | Connected and ready-to-use SAP destination object that can be used to call BAPI function modules and call to SAP tables. |
| plan | sailpoint.object.ProvisioningPlan | Provisioning plan containing the provisioning request(s). |
| request | sailpoint.object.ProvisioningPlan.AbstractRequest | AccountRequest being processed. It is always null for this global rule. It is only set for SapHrOperationProvisioning. |
| connector | sailpoint.connector.SAPHRConnector | Application connector being used for the operation. |
| plan | sailpoint.object.ProvisioningPlan | Provisioning plan containing the provisioning request(s). |
| request | sailpoint.object.ProvisioningPlan.AbstractRequest | AccountRequest being processed. It is always null for this global rule. It is only set for SapHrOperationProvisioning. |
| connector | sailpoint.connector.SAPHRConnector | Application connector being used for the operation. |
## Output
| Argument | Type | Purpose |
| -------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| Argument | Type | Purpose |
| -------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------- |
| result | sailpoint.object.ProvisioningResult | ProvisioningResult object containing the provisioning request's status (success, failure, retry, etc.). |
## Template

View File

@@ -5,8 +5,7 @@ pagination_label: Web Services After Operation Rule
sidebar_label: Web Services After Operation Rule
sidebar_class_name: webServicesAfterOperationRule
keywords: ["cloud", "rules", "webservices"]
description:
This rule calculates attributes after a web-service operation call.
description: This rule calculates attributes after a web-service operation call.
slug: /docs/rules/connector-rules/webservices-after-provisioning-rule
tags: ["Rules"]
---
@@ -27,18 +26,18 @@ This rule calculates attributes after a web-service operation call.
## Input
| Argument | Type | Purpose |
| ----------------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| application | sailpoint.object.Application | Application whose data file is being processed. |
| Argument | Type | Purpose |
| ----------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| application | sailpoint.object.Application | Application whose data file is being processed. |
| processedResponseObject | List<Map<String, Object>> | List of map (account/group). The map contains a key, the identityAttribute of the application schema, and a value, all the account/group attributes (schema) passed by the connector after parsing the respective API response. |
| requestEndPoint | sailpoint.connector.webservices.EndPoint | Current request information. It contains the header, body, context url, method type, response attribute map, successful response code. |
| restClient | sailpoint.connector.webservices.WebServicesClient | WebServicesClient (HttpClient) object that enables the user to call the Web Services API target system. |
| rawResponseObject | String | String object that holds the raw response returned from the target system, which can be in JSON or XML form. |
| requestEndPoint | sailpoint.connector.webservices.EndPoint | Current request information. It contains the header, body, context url, method type, response attribute map, successful response code. |
| restClient | sailpoint.connector.webservices.WebServicesClient | WebServicesClient (HttpClient) object that enables the user to call the Web Services API target system. |
| rawResponseObject | String | String object that holds the raw response returned from the target system, which can be in JSON or XML form. |
## Output
| Argument | Type | Purpose |
| ------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Argument | Type | Purpose |
| ------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| updatedAccountOrGroupList | java.util.Map | `Map` object returned from the After Operation Rule. It may contain any or all of the following: an updated list of account / group resource objects, identified by key `data`/ attribute values to be updated into application by the connector state map identified by key `connectorStateMap`. Each resource (account/group) object is of type `Map`, which contains the **key-value** pair. The **key** represents the schema attribute name, and the **value** represents the account/group attribute value. |
## Template

View File

@@ -5,8 +5,7 @@ pagination_label: Web Services Before Operation Rule
sidebar_label: Web Services Before Operation Rule
sidebar_class_name: webServicesBeforeOperationRule
keywords: ["cloud", "rules", "webservices"]
description:
This rule calculates attributes before a web-service operation call.
description: This rule calculates attributes before a web-service operation call.
slug: /docs/rules/connector-rules/webservices-before-provisioning-rule
tags: ["Rules"]
---
@@ -27,18 +26,18 @@ This rule calculates attributes before a web-service operation call.
## Input
| Argument | Type | Purpose |
| ---------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| application | sailpoint.object.Application | Application whose data file is being processed. |
| Argument | Type | Purpose |
| ---------------- | ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| application | sailpoint.object.Application | Application whose data file is being processed. |
| provisioningPlan | sailpoint.object.ProvisioningPlan | Provisioning plan used to update the payload of the http request. The provisioning plan has an account request that defines the operation to be performed on the account. An account request can contain multiple attributes requests. Each attribute request represents an operation on a single account attribute. This argument enables the user to update the body/payload or URL attributes of an endpoint object using the provisioningPlan information. |
| requestEndPoint | sailpoint.connector.webservices.EndPoint | Current request information. It contains the header, body, context url, method type, response attribute map, and successful response code. |
| restClient | sailpoint.connector.webservices.WebServicesClient | WebServicesClient (HttpClient) object that enables the user to call the Web Services API target system. |
| oldResponseMap | java.util.Map | Response object returned from earlier endpoint configuration of the same operation type, like Account Aggregation, Get Object, etc. |
| requestEndPoint | sailpoint.connector.webservices.EndPoint | Current request information. It contains the header, body, context url, method type, response attribute map, and successful response code. |
| restClient | sailpoint.connector.webservices.WebServicesClient | WebServicesClient (HttpClient) object that enables the user to call the Web Services API target system. |
| oldResponseMap | java.util.Map | Response object returned from earlier endpoint configuration of the same operation type, like Account Aggregation, Get Object, etc. |
## Output
| Argument | Type | Purpose |
| -------------- | ------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Argument | Type | Purpose |
| -------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| EndPoint / Map | sailpoint.connector.webservices.EndPoint / sailpoint.connector.webservices.Map | The rule allows the user to return the endpoint object (requestEndPoint) or a map. The map can hold **updatedEndPoint** and **connectorStateMap** keys where the value expected are **Endpoint** (requestEndPoint) and **connectorStateMap** object respectively. The **connectorStateMap** object is a map that contains a key and a value for the attribute that must be updated in the application by the rule. |
```xml

View File

@@ -6,8 +6,7 @@ sidebar_label: Common CLI Commands
sidebar_position: 3
sidebar_class_name: commonCliCommands
keywords: ["connectivity", "connectors", "commands", "cli"]
description:
These are the CLI commands most commonly used when building SaaS Connectors.
description: These are the CLI commands most commonly used when building SaaS Connectors.
slug: /docs/saas-connectivity/common-cli-commands
tags: ["Connectivity"]
---

View File

@@ -6,8 +6,7 @@ sidebar_label: Debugging
sidebar_position: 2
sidebar_class_name: debugging
keywords: ["connectivity", "connectors", "debugging"]
description:
An easy way to debug locally is to use console.log() to print debug
description: An easy way to debug locally is to use console.log() to print debug
information to your console.
slug: /docs/saas-connectivity/in-depth/debugging
tags: ["Connectivity"]

View File

@@ -5,8 +5,7 @@ pagination_label: Date Math
sidebar_label: Date Math
sidebar_class_name: dateMath
keywords: ["transforms", "operations", "date", "math"]
description:
Add, subtract, and round components of a timestamp's incoming value.
description: Add, subtract, and round components of a timestamp's incoming value.
slug: /docs/transforms/operations/date-math
tags: ["Transforms", "Transform Operations"]
---

View File

@@ -71,6 +71,7 @@ transform involves a `table` entry of key-value pairs:
configured with the UI.
## Examples
This transform tries to map a telephone area code to a city in Texas. If there is no area code in the four provided values, the transform will return the default value of "Unknown Area."
**Transform Request Body**:

View File

@@ -5,8 +5,7 @@ pagination_label: Name Normalizer
sidebar_label: Name Normalizer
sidebar_class_name: nameNormalizer
keywords: ["transforms", "operations", "name normalizer"]
description:
Clean or standardize the spelling of strings coming in from source systems.
description: Clean or standardize the spelling of strings coming in from source systems.
slug: /docs/transforms/operations/name-normalizer
tags: ["Transforms", "Transform Operations"]
---

View File

@@ -5,8 +5,7 @@ pagination_label: Rule
sidebar_label: Rule
sidebar_class_name: rule
keywords: ["transforms", "operations", "rule"]
description:
Reuse rule logic that has already been written for a previous use case.
description: Reuse rule logic that has already been written for a previous use case.
slug: /docs/transforms/operations/rule
tags: ["Transforms", "Transform Operations"]
---

View File

@@ -5,8 +5,7 @@ pagination_label: Trim
sidebar_label: Trim
sidebar_class_name: trim
keywords: ["transforms", "operations", "trim"]
description:
Trim whitespaces from both the beginning and ending of input strings.
description: Trim whitespaces from both the beginning and ending of input strings.
slug: /docs/transforms/operations/trim
tags: ["Transforms", "Transform Operations"]
---

View File

@@ -5,8 +5,7 @@ pagination_label: Username Generator
sidebar_label: Username Generator
sidebar_class_name: usernameGenerator
keywords: ["transforms", "operations", "username", "generator"]
description:
Derive a unique value for an attribute in an account create profile.
description: Derive a unique value for an attribute in an account create profile.
slug: /docs/transforms/operations/username-generator
tags: ["Transforms", "Transform Operations"]
---

View File

@@ -1,10 +1,7 @@
import React from "react";
import clsx from "clsx";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import Link from "@docusaurus/Link";
export default function FAQ() {
return (
<div>
</div>
);
return <div></div>;
}

View File

@@ -1,116 +1,114 @@
.mainCard {
margin: 10px 100px;
display: grid;
grid-gap: 20px;
grid-template-columns: 900px auto;
align-content: center;
margin: 10px 100px;
display: grid;
grid-gap: 20px;
grid-template-columns: 900px auto;
align-content: center;
}
.center {
margin: 50px auto;
max-width: 1000px;
}
margin: 50px auto;
max-width: 1000px;
}
.signUpSection {
margin: 30px auto;
margin: 30px auto;
}
@media only screen and (max-width: 1324px) {
.signUpSection {
display: none;
}
.signUpSection {
display: none;
}
}
.headerSection {
display: grid;
grid-gap: 0px;
grid-template-columns: 517px 330px;
display: grid;
grid-gap: 0px;
grid-template-columns: 517px 330px;
}
.shipyardText {
margin-top: 70px;
font-size: 100px;
color: var(--dev-text-color-cobalt);
font-family: input-mono;
margin-top: 70px;
font-size: 100px;
color: var(--dev-text-color-cobalt);
font-family: input-mono;
}
.yearText {
color: var(--dev-text-color-cobalt);
font-size: 100px;
font-family: input-mono;
font-weight: bold;
color: var(--dev-text-color-cobalt);
font-size: 100px;
font-family: input-mono;
font-weight: bold;
}
.yearTextBorder {
margin-top: 70px;
width: 330px;
height: 149px;
/* UI Properties */
border: 4px solid var(--dev-text-color-cobalt);
border-radius: 45px;
opacity: 1;
line-height: 149px;
text-align: center;
margin-top: 70px;
width: 330px;
height: 149px;
/* UI Properties */
border: 4px solid var(--dev-text-color-cobalt);
border-radius: 45px;
opacity: 1;
line-height: 149px;
text-align: center;
}
.comingSoonText {
color: var(--dev-text-color-cobalt);
font-size: 22px;
font-family: input-mono;
letter-spacing: 5.5px;
margin-top: -17px;
color: var(--dev-text-color-cobalt);
font-size: 22px;
font-family: input-mono;
letter-spacing: 5.5px;
margin-top: -17px;
}
.descriptionText {
margin-top: 20px;
color: var(--ifm-color-primary);
font-size: 36px;
font-family: input-mono;
margin-top: 20px;
color: var(--ifm-color-primary);
font-size: 36px;
font-family: input-mono;
}
.extensible {
font-size: 48px;
font-weight: bold;
font-size: 48px;
font-weight: bold;
}
.sailpoint {
font-weight: 600;
font-weight: 600;
}
@media only screen and (max-width: 980px) {
.mainCard {
display: none;
}
.mainCard {
display: none;
}
}
.button {
text-decoration: none;
text-align: center;
margin: 10px auto;
font-size: 20px;
font-weight: bold;
line-height: 100%;
color: #df61ca;
font-family: input-mono;
/* Layout Properties */
margin-top: 20px;
width: 360px;
height: 52px;
line-height: 42px;
/* UI Properties */
background: transparent 0% 0% no-repeat padding-box;
opacity: 1;
text-decoration: none;
text-align: center;
margin: 10px auto;
font-size: 20px;
font-weight: bold;
line-height: 100%;
color: #df61ca;
font-family: input-mono;
/* Layout Properties */
margin-top: 20px;
width: 360px;
height: 52px;
line-height: 42px;
/* UI Properties */
background: transparent 0% 0% no-repeat padding-box;
opacity: 1;
box-shadow: 0px 20px 60px #00000015;
border: 2px solid #df61ca;
border-radius: 5px;
}
box-shadow: 0px 20px 60px #00000015;
border: 2px solid #df61ca;
border-radius: 5px;
}
.button:hover {
cursor: pointer;
top: -2px;
box-shadow: 0 4px 5px rgba(0,0,0,0.2);
background-color: #c552ae10;
color: #cc27b0;
}
.button:hover {
cursor: pointer;
top: -2px;
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.2);
background-color: #c552ae10;
color: #cc27b0;
}

View File

@@ -1,17 +1,16 @@
import React from "react";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import useBaseUrl from '@docusaurus/useBaseUrl';
import ThemedImage from '@theme/ThemedImage';
export default function SpeakerCard({link, name, image}) {
import Link from "@docusaurus/Link";
import useBaseUrl from "@docusaurus/useBaseUrl";
import ThemedImage from "@theme/ThemedImage";
export default function SpeakerCard({ link, name, image }) {
return (
<Link to={link}>
<div className={styles.card}>
<div className={styles.cardFaceContainer}>
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
</div>
<div className={styles.cardText}>{name}</div>
<div className={styles.cardFaceContainer}>
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
</div>
<div className={styles.cardText}>{name}</div>
</div>
</Link>
);

View File

@@ -1,6 +1,6 @@
/* Getting Started Card */
.card {
position:relative;
position: relative;
margin-top: 20px;
height: 200px;
/* UI Properties */
@@ -9,9 +9,8 @@
opacity: 1;
}
.cardText {
position:absolute;
position: absolute;
margin: 22px auto;
text-align: center;
font-size: 16px;
@@ -23,7 +22,7 @@
}
.titleText {
position:absolute;
position: absolute;
margin: 22px auto;
text-align: center;
font-size: 10px;
@@ -35,12 +34,9 @@
color: var(--dev-text-color-normal);
}
.cardFaceContainer {
width: 100%;
margin: 40px auto;
}
.cardFace {
@@ -49,6 +45,4 @@
margin: auto;
height: 100px;
width: 100px;
}

View File

@@ -1,26 +1,53 @@
import React from "react";
import clsx from "clsx";
import ConferenceTitle from '../Title'
import ConferenceTitle from "../Title";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import Link from "@docusaurus/Link";
import SpeakerCard from "../SpeakerCard";
export default function ConferenceSpeakers() {
return (
<div className={styles.main}>
<ConferenceTitle
description={"Take a sneak peek at our upcoming lineup of expert guests"}
title={"Speakers"}
image={"/conf/calendar-star.png"}>
</ConferenceTitle>
description={
"Take a sneak peek at our upcoming lineup of expert guests"
}
title={"Speakers"}
image={"/conf/calendar-star.png"}
></ConferenceTitle>
<div className={styles.center}>
<div className={styles.gridContainer}>
<SpeakerCard link={"https://developer.sailpoint.com/discuss/u/colin_mckibben/summary"} name={"Colin McKibben"} title={"DEVELOPER ADVOCATE"} image={"/homepage/colin-mckibben.png"}></SpeakerCard>
<SpeakerCard link={"https://developer.sailpoint.com/discuss/u/tyler_mairose/summary"} name={"Tyler Mairose"} title={"DEVELOPER ADVOCATE"} image={"/homepage/tyler-mairose.png"}></SpeakerCard>
<SpeakerCard link={"https://developer.sailpoint.com/discuss/u/philip-ellis/summary"} name={"Philip Ellis"} title={"DEVELOPER ADVOCATE"} image={"/homepage/phil-ellis.png"}></SpeakerCard>
<SpeakerCard link={"https://developer.sailpoint.com/discuss/u/jthaytko/summary"} name={"James Haytko"} title={"TECHNICAL WRITER"} image={"/homepage/james-haytko.png"}></SpeakerCard>
<SpeakerCard
link={
"https://developer.sailpoint.com/discuss/u/colin_mckibben/summary"
}
name={"Colin McKibben"}
title={"DEVELOPER ADVOCATE"}
image={"/homepage/colin-mckibben.png"}
></SpeakerCard>
<SpeakerCard
link={
"https://developer.sailpoint.com/discuss/u/tyler_mairose/summary"
}
name={"Tyler Mairose"}
title={"DEVELOPER ADVOCATE"}
image={"/homepage/tyler-mairose.png"}
></SpeakerCard>
<SpeakerCard
link={
"https://developer.sailpoint.com/discuss/u/philip-ellis/summary"
}
name={"Philip Ellis"}
title={"DEVELOPER ADVOCATE"}
image={"/homepage/phil-ellis.png"}
></SpeakerCard>
<SpeakerCard
link={"https://developer.sailpoint.com/discuss/u/jthaytko/summary"}
name={"James Haytko"}
title={"TECHNICAL WRITER"}
image={"/homepage/james-haytko.png"}
></SpeakerCard>
</div>
</div>
</div>
);
}

View File

@@ -1,21 +1,21 @@
.gridContainer {
display: grid;
place-content: center;
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
grid-gap: 40px;
margin-left: 40px;
margin-right: 40px;
background: var(--dev-card-background);
box-shadow: var(--dev-card-shadow);
border: 1px solid var(--dev-card-background);
border-radius: 40px;
}
display: grid;
place-content: center;
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
grid-gap: 40px;
margin-left: 40px;
margin-right: 40px;
background: var(--dev-card-background);
box-shadow: var(--dev-card-shadow);
border: 1px solid var(--dev-card-background);
border-radius: 40px;
}
.center {
margin: 50px auto;
max-width: 1000px;
}
.center {
margin: 50px auto;
max-width: 1000px;
}
.main {
margin-top: 100px;
}
.main {
margin-top: 100px;
}

View File

@@ -1,10 +1,7 @@
import React from "react";
import clsx from "clsx";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import Link from "@docusaurus/Link";
export default function ConferenceSponsors() {
return (
<div>
</div>
);
return <div></div>;
}

View File

@@ -1,6 +1,6 @@
import React from "react";
import ConferenceTitle from '../Title'
import ThemeCard from '../ThemeCard'
import ConferenceTitle from "../Title";
import ThemeCard from "../ThemeCard";
import styles from "./styles.module.css";
export default function ConferenceTheme() {
return (
@@ -8,21 +8,38 @@ export default function ConferenceTheme() {
<ConferenceTitle
description={"What can you expect at the upcoming conference?"}
title={"What to Expect"}
image={"/conf/calendar-star-thin.svg"}>
</ConferenceTitle>
image={"/conf/calendar-star-thin.svg"}
></ConferenceTitle>
<div className={styles.center}>
<div className={styles.gridContainer}>
<ThemeCard title={"A deep dive into the extensibility offerings of SailPoint platforms"} image={"/conf/deep-dive.png"}></ThemeCard>
<ThemeCard title={"Hear from identity experts developing real world solutions"} image={"/conf/expert-advice.png"}></ThemeCard>
<ThemeCard
title={
"A deep dive into the extensibility offerings of SailPoint platforms"
}
image={"/conf/deep-dive.png"}
></ThemeCard>
<ThemeCard
title={"Hear from identity experts developing real world solutions"}
image={"/conf/expert-advice.png"}
></ThemeCard>
</div>
</div>
<div className={styles.center}>
<div className={styles.gridContainer}>
<ThemeCard title={"Shipyard is a hands-on conference, you will build something in almost every session"} image={"/conf/workshops.png"}></ThemeCard>
<ThemeCard title={"Shipyard will be all-virtual, open to everyone, and <b>at no cost<b>"} image={"/conf/virtual.png"}></ThemeCard>
<ThemeCard
title={
"Shipyard is a hands-on conference, you will build something in almost every session"
}
image={"/conf/workshops.png"}
></ThemeCard>
<ThemeCard
title={
"Shipyard will be all-virtual, open to everyone, and <b>at no cost<b>"
}
image={"/conf/virtual.png"}
></ThemeCard>
</div>
</div>
</div>
);
);
}

View File

@@ -1,18 +1,18 @@
.gridContainer {
display: grid;
place-content: center;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
grid-gap: 40px;
margin-left: 40px;
margin-right: 40px;
text-align: center;
}
display: grid;
place-content: center;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
grid-gap: 40px;
margin-left: 40px;
margin-right: 40px;
text-align: center;
}
.center {
margin: 20px auto;
max-width: 1000px;
}
.center {
margin: 20px auto;
max-width: 1000px;
}
.main {
margin-bottom: 100px;
}
.main {
margin-bottom: 100px;
}

View File

@@ -1,18 +1,21 @@
import React from "react";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import useBaseUrl from '@docusaurus/useBaseUrl';
import ThemedImage from '@theme/ThemedImage';
import Link from "@docusaurus/Link";
import useBaseUrl from "@docusaurus/useBaseUrl";
import ThemedImage from "@theme/ThemedImage";
import { addDarkToFileName } from "../../../util/util";
export default function ThemeCard({title, name, image}) {
export default function ThemeCard({ title, name, image }) {
return (
<div className={styles.card}>
<div className={styles.cardFaceContainer}>
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
</div>
<div className={styles.cardText}>{name}</div>
<div className={styles.titleText} dangerouslySetInnerHTML={{ __html: title }} ></div>
<div className={styles.cardFaceContainer}>
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
</div>
<div className={styles.cardText}>{name}</div>
<div
className={styles.titleText}
dangerouslySetInnerHTML={{ __html: title }}
></div>
</div>
);
}

View File

@@ -1,6 +1,6 @@
/* Getting Started Card */
.card {
position:relative;
position: relative;
margin-top: 20px;
height: 493px;
min-width: 330px;
@@ -12,9 +12,8 @@
opacity: 1;
}
.cardText {
position:absolute;
position: absolute;
margin: 22px auto;
text-align: center;
font-size: 24px;
@@ -22,12 +21,12 @@
width: 100%;
top: 36px;
left: 0;
color: #CC27B0;
color: #cc27b0;
font-family: input-mono;
}
.titleText {
position:absolute;
position: absolute;
margin: 22px auto;
padding: 0px calc(15%);
text-align: center;
@@ -41,8 +40,6 @@
font-family: input-mono;
}
.cardFaceContainer {
width: 100%;
margin: 70px auto;
@@ -57,4 +54,3 @@
height: 264px;
width: 264px;
}

View File

@@ -1,14 +1,20 @@
import React from "react";
import styles from "./styles.module.css";
import useBaseUrl from '@docusaurus/useBaseUrl';
import ThemedImage from '@theme/ThemedImage';
import useBaseUrl from "@docusaurus/useBaseUrl";
import ThemedImage from "@theme/ThemedImage";
import { addDarkToFileName } from "../../../util/util";
export default function ConferenceTitle({image, title, description}) {
export default function ConferenceTitle({ image, title, description }) {
return (
<div className={styles.gettingStartedText}>
<ThemedImage className={styles.gettingStartedCardIcon} sources={{light: useBaseUrl(image), dark: useBaseUrl(image),}}></ThemedImage>
<ThemedImage
className={styles.gettingStartedCardIcon}
sources={{ light: useBaseUrl(image), dark: useBaseUrl(image) }}
></ThemedImage>
<div className={styles.gettingStartedOne}>{title}</div>
<div className={styles.gettingStartedThree} dangerouslySetInnerHTML={{ __html: description }} ></div>
<div
className={styles.gettingStartedThree}
dangerouslySetInnerHTML={{ __html: description }}
></div>
</div>
);
}

View File

@@ -1,34 +1,33 @@
.gettingStartedText {
text-align: center;
color: var(--dev-text-color-cobalt);
margin: 160px auto 20px auto;
width: calc(100% - 100px);
max-width: 600px;
font-family: input-mono;
}
text-align: center;
color: var(--dev-text-color-cobalt);
margin: 160px auto 20px auto;
width: calc(100% - 100px);
max-width: 600px;
font-family: input-mono;
}
.gettingStartedOne {
color: var(--dev-text-color-cobalt);
font-size: 30px;
font-weight: bold;
line-height: 100%;
font-family: input-mono;;
}
.gettingStartedOne {
color: var(--dev-text-color-cobalt);
font-size: 30px;
font-weight: bold;
line-height: 100%;
font-family: input-mono;
}
.gettingStartedThree {
margin-top: 20px;
font-size: 16px;
}
.gettingStartedThree {
margin-top: 20px;
font-size: 16px;
}
.bold {
font-weight: bold;
}
.bold {
font-weight: bold;
}
.gettingStartedCardIcon {
margin-bottom: 20px;
width: 60px;
height: 60px;
filter: invert(62%) sepia(93%) saturate(289%) hue-rotate(156deg) brightness(93%) contrast(96%);
}
.gettingStartedCardIcon {
margin-bottom: 20px;
width: 60px;
height: 60px;
filter: invert(62%) sepia(93%) saturate(289%) hue-rotate(156deg)
brightness(93%) contrast(96%);
}

View File

@@ -1,151 +1,149 @@
.mainCard {
display: grid;
grid-gap: 20px;
grid-template-columns: 760px auto;
align-content: center;
margin-bottom: 80px;
font-family: input-mono;
display: grid;
grid-gap: 20px;
grid-template-columns: 760px auto;
align-content: center;
margin-bottom: 80px;
font-family: input-mono;
}
.background {
width: 760px;
height: 600px;
width: 760px;
height: 600px;
}
.comingSoon {
padding-left: 20px;
color: var(--ifm-color-primary);
padding-left: 20px;
color: var(--ifm-color-primary);
}
.learnDeployText {
position: absolute;
left: 467px;
height: 196px;
top: 425px;
position: absolute;
left: 467px;
height: 196px;
top: 425px;
}
@media only screen and (max-width: 1324px) {
.mainCard {
grid-template-columns: auto;
}
.background {
width: 100%;
height: 265px;
}
.learnDeployText {
height: 187px;
right: 50px;
left: auto;
top: 99px;
}
.mainCard {
grid-template-columns: auto;
}
.background {
width: 100%;
height: 265px;
}
.learnDeployText {
height: 187px;
right: 50px;
left: auto;
top: 99px;
}
}
@media only screen and (min-width: 980px) {
.mainCard {
display: none;
}
.mainCard {
display: none;
}
}
.signUpSection {
min-width: 368px;
width: 368px;
margin: 30px auto;
min-width: 368px;
width: 368px;
margin: 30px auto;
}
.imageContainer {
text-align: center;
text-align: center;
}
.sailpointImageContainer {
padding-left: 32px;
padding-left: 32px;
}
.shipyardLogo {
margin-top: 10px;
width: 368px;
height: 75px;
top: 50%;
left: 50%;
margin-top: 10px;
width: 368px;
height: 75px;
top: 50%;
left: 50%;
}
.sailpointImage {
margin-top: 70px;
width: 177px;
height: 38px;
text-align: center;
margin-top: 70px;
width: 177px;
height: 38px;
text-align: center;
}
.welcomeContainer {
text-align: center;
margin-top: 60px;
font-size: 30px;
color: var(--ifm-color-primary);
font-weight: bold;
font-family: input-mono;
text-align: center;
margin-top: 60px;
font-size: 30px;
color: var(--ifm-color-primary);
font-weight: bold;
font-family: input-mono;
}
.welcomeText {
width: 368px;
margin-top: 60px;
font-size: 16px;
font-weight: 600;
color: var(--ifm-color-primary);
width: 368px;
margin-top: 60px;
font-size: 16px;
font-weight: 600;
color: var(--ifm-color-primary);
}
.emailText {
letter-spacing: 3.2px;
margin-top: 10px;
color: var(--ifm-color-primary);
font-family: input-mono;;
font-weight: bold;
font-size: 18px;
letter-spacing: 3.2px;
margin-top: 10px;
color: var(--ifm-color-primary);
font-family: input-mono;
font-weight: bold;
font-size: 18px;
}
.emailInput {
margin-top: 8px;
box-shadow: inset 0px 3px 6px #00000029;
border: 1px solid #DFE3E7;
border-radius: 4px;
height: 52px;
width: 360px;
font-size: 20px;
padding-left: 15px;
margin-top: 8px;
box-shadow: inset 0px 3px 6px #00000029;
border: 1px solid #dfe3e7;
border-radius: 4px;
height: 52px;
width: 360px;
font-size: 20px;
padding-left: 15px;
}
.button {
text-decoration: none;
text-align: center;
margin: 10px auto;
font-size: 20px;
font-weight: bold;
line-height: 100%;
color: #df61ca;
font-family: input-mono;
/* Layout Properties */
margin-top: 20px;
width: 360px;
height: 52px;
line-height: 52px;
/* UI Properties */
background: transparent 0% 0% no-repeat padding-box;
opacity: 1;
text-decoration: none;
text-align: center;
margin: 10px auto;
font-size: 20px;
font-weight: bold;
line-height: 100%;
color: #df61ca;
font-family: input-mono;
/* Layout Properties */
margin-top: 20px;
width: 360px;
height: 52px;
line-height: 52px;
/* UI Properties */
background: transparent 0% 0% no-repeat padding-box;
opacity: 1;
box-shadow: 0px 20px 60px #00000015;
border: 2px solid #df61ca;
border-radius: 5px;
}
box-shadow: 0px 20px 60px #00000015;
border: 2px solid #df61ca;
border-radius: 5px;
}
.button:hover {
cursor: pointer;
top: -2px;
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.2);
background-color: #c552ae10;
color: #cc27b0;
}
.button:hover {
cursor: pointer;
top: -2px;
box-shadow: 0 4px 5px rgba(0,0,0,0.2);
background-color: #c552ae10;
color: #cc27b0;
}
.link {
color: #df61ca;
}
.button:hover {
color: #df61ca;
cursor: pointer;
}
.link {
color: #df61ca;
}
.button:hover {
color: #df61ca;
cursor: pointer;
}

View File

@@ -1,24 +1,64 @@
import React from "react";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import useBaseUrl from '@docusaurus/useBaseUrl';
import ThemedImage from '@theme/ThemedImage';
import Link from "@docusaurus/Link";
import useBaseUrl from "@docusaurus/useBaseUrl";
import ThemedImage from "@theme/ThemedImage";
import { addDarkToFileName } from "../../../util/util";
export default function DiscussCard({link, title, tags, views, liked, solution}) {
let solved = <img className={styles.cardDiscuss} src={useBaseUrl("/homepage/edit.png")}></img>
let linkText = <div className={styles.linkText}>Join the Discussion</div>
export default function DiscussCard({
link,
title,
tags,
views,
liked,
solution,
}) {
let solved = (
<img
className={styles.cardDiscuss}
src={useBaseUrl("/homepage/edit.png")}
></img>
);
let linkText = <div className={styles.linkText}>Join the Discussion</div>;
if (solution) {
solved = <ThemedImage className={styles.cardSolved} sources={{light: useBaseUrl("/homepage/solved.png"), dark: useBaseUrl(addDarkToFileName("/homepage/solved.png")),}}></ThemedImage>
linkText = <div className={styles.linkSolvedText}>View the Solution</div>
solved = (
<ThemedImage
className={styles.cardSolved}
sources={{
light: useBaseUrl("/homepage/solved.png"),
dark: useBaseUrl(addDarkToFileName("/homepage/solved.png")),
}}
></ThemedImage>
);
linkText = <div className={styles.linkSolvedText}>View the Solution</div>;
}
return (
<Link to={link}>
<div className={styles.card}>
<ThemedImage className={styles.cardIcon} sources={{light: useBaseUrl("/homepage/quotes.png"), dark: useBaseUrl(addDarkToFileName("/homepage/quotes.png")),}}></ThemedImage>
<ThemedImage className={styles.cardArrow} sources={{light: useBaseUrl('/homepage/arrow-right.png'), dark: useBaseUrl('/homepage/arrow-right-dark.png'),}}></ThemedImage>
<ThemedImage className={styles.cardEye} sources={{light: useBaseUrl("/homepage/eyeball.png"), dark: useBaseUrl(addDarkToFileName("/homepage/eyeball.png")),}}></ThemedImage>
<img className={styles.cardLiked} src={useBaseUrl("/homepage/liked.png")}></img>
<ThemedImage
className={styles.cardIcon}
sources={{
light: useBaseUrl("/homepage/quotes.png"),
dark: useBaseUrl(addDarkToFileName("/homepage/quotes.png")),
}}
></ThemedImage>
<ThemedImage
className={styles.cardArrow}
sources={{
light: useBaseUrl("/homepage/arrow-right.png"),
dark: useBaseUrl("/homepage/arrow-right-dark.png"),
}}
></ThemedImage>
<ThemedImage
className={styles.cardEye}
sources={{
light: useBaseUrl("/homepage/eyeball.png"),
dark: useBaseUrl(addDarkToFileName("/homepage/eyeball.png")),
}}
></ThemedImage>
<img
className={styles.cardLiked}
src={useBaseUrl("/homepage/liked.png")}
></img>
{solved}
<div className={styles.cardText}>{title}</div>
<div className={styles.cardViews}>{views}</div>
@@ -28,14 +68,11 @@ export default function DiscussCard({link, title, tags, views, liked, solution})
<div className={styles.tags}>
{tags?.map((tag, index) => {
if (index > 2) {
return ('')
return "";
}
return (
<div className={styles.tag}>{tag}</div>
)
return <div className={styles.tag}>{tag}</div>;
})}
</div>
</div>
</Link>
);

View File

@@ -1,6 +1,6 @@
/* Getting Started Card */
.card {
position:relative;
position: relative;
margin-top: 20px;
height: 300px;
/* UI Properties */
@@ -14,11 +14,11 @@
.card:hover {
cursor: pointer;
top: -2px;
box-shadow: var(--dev-card-selected)
box-shadow: var(--dev-card-selected);
}
.cardText {
position:absolute;
position: absolute;
margin: 22px;
font-size: 16px;
font-weight: 500;
@@ -28,7 +28,7 @@
}
.linkText {
position:absolute;
position: absolute;
margin: 15px 45px 15px 25px;
font-size: 18px;
font-weight: 700;
@@ -38,7 +38,7 @@
}
.linkSolvedText {
position:absolute;
position: absolute;
margin: 15px 45px;
font-size: 18px;
font-weight: 700;
@@ -48,7 +48,7 @@
}
.cardIcon {
position:absolute;
position: absolute;
margin: 20px;
top: 20px;
left: 0;
@@ -56,25 +56,23 @@
}
.cardArrow {
position:absolute;
position: absolute;
margin: 20px;
bottom: 20px;
right: 0;
width: 20px;
}
.cardViews {
position:absolute;
position: absolute;
margin: 15px;
right: 0px;
top: 0;
width: 30px;
}
.cardLikes {
position:absolute;
position: absolute;
margin: 15px;
right: 45px;
top: 0;
@@ -82,7 +80,7 @@
}
.cardSolved {
position:absolute;
position: absolute;
margin: 0px;
right: 132px;
top: 18px;
@@ -91,16 +89,15 @@
.cardDiscuss {
display: none;
position:absolute;
position: absolute;
margin: 0px;
left: 12px;
bottom: 57px;
width: 28px;
}
.cardEye {
position:absolute;
position: absolute;
margin: 20px;
right: 25px;
top: 0;
@@ -108,7 +105,7 @@
}
.cardLiked {
position:absolute;
position: absolute;
margin: 16px;
right: 75px;
top: 0;
@@ -122,14 +119,14 @@
}
.tags {
position:absolute;
position: absolute;
margin: 20px;
width: 230px;
bottom: 50px;
left: 0;
display: grid;
grid-template-columns: max-content max-content max-content;
grid-template-columns: max-content max-content max-content;
grid-gap: 10px;
}
@@ -138,5 +135,5 @@
}
.iiq {
color: #60b359
color: #60b359;
}

View File

@@ -1,26 +1,41 @@
import React from "react";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import useBaseUrl from '@docusaurus/useBaseUrl';
import Link from "@docusaurus/Link";
import useBaseUrl from "@docusaurus/useBaseUrl";
import { addDarkToFileName } from "../../../util/util";
import ThemedImage from '@theme/ThemedImage';
export default function HomepageBasics({link, title, image, description, buttonText}) {
let linkHtml = <div></div>
import ThemedImage from "@theme/ThemedImage";
export default function HomepageBasics({
link,
title,
image,
description,
buttonText,
}) {
let linkHtml = <div></div>;
if (buttonText) {
linkHtml =
linkHtml = (
<div className={styles.button}>
<Link className={styles.link} to={link}>
{buttonText}
</Link>
</div>
);
}
return (
<div className={styles.gettingStartedText}>
<ThemedImage className={styles.gettingStartedCardIcon} sources={{light: useBaseUrl(image), dark: useBaseUrl(addDarkToFileName(image)),}}></ThemedImage>
<div className={styles.gettingStartedOne}>{title}</div>
<div className={styles.gettingStartedThree} dangerouslySetInnerHTML={{ __html: description }} ></div>
{linkHtml}
</div>
<div className={styles.gettingStartedText}>
<ThemedImage
className={styles.gettingStartedCardIcon}
sources={{
light: useBaseUrl(image),
dark: useBaseUrl(addDarkToFileName(image)),
}}
></ThemedImage>
<div className={styles.gettingStartedOne}>{title}</div>
<div
className={styles.gettingStartedThree}
dangerouslySetInnerHTML={{ __html: description }}
></div>
{linkHtml}
</div>
);
}

View File

@@ -1,11 +1,9 @@
.gettingStartedText {
text-align: center;
margin: 150px auto 50px auto;
width: calc(100% - 100px);
max-width: 600px;
}
.gettingStartedOne {
@@ -21,7 +19,6 @@
font-weight: 500;
}
.bold {
font-weight: bold;
}
@@ -35,13 +32,12 @@
.button:hover {
cursor: pointer;
top: -2px;
box-shadow: 0 4px 5px rgba(0,0,0,0.2);
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.2);
background-color: #c552ae10;
color: #cc27b0;
}
.button {
text-decoration: none;
text-align: center;
margin: 10px auto;
@@ -49,7 +45,6 @@
font-weight: bold;
line-height: 100%;
/* Layout Properties */
width: 259px;
height: 61px;

View File

@@ -1,18 +1,30 @@
import React from "react";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import useBaseUrl from '@docusaurus/useBaseUrl';
import ThemedImage from '@theme/ThemedImage';
import Link from "@docusaurus/Link";
import useBaseUrl from "@docusaurus/useBaseUrl";
import ThemedImage from "@theme/ThemedImage";
import { addDarkToFileName } from "../../../util/util";
export default function HomepageCard({link, title, image, product}) {
const productStyles = product==='idn' ? styles.idn : styles.iiq
export default function HomepageCard({ link, title, image, product }) {
const productStyles = product === "idn" ? styles.idn : styles.iiq;
return (
<Link to={link}>
<div className={styles.card}>
<ThemedImage className={styles.cardIcon} sources={{light: useBaseUrl(image), dark: useBaseUrl(addDarkToFileName(image)),}}></ThemedImage>
<ThemedImage className={styles.cardArrow} sources={{light: useBaseUrl('/homepage/arrow-right.png'), dark: useBaseUrl('/homepage/arrow-right-dark.png'),}}></ThemedImage>
<ThemedImage
className={styles.cardIcon}
sources={{
light: useBaseUrl(image),
dark: useBaseUrl(addDarkToFileName(image)),
}}
></ThemedImage>
<ThemedImage
className={styles.cardArrow}
sources={{
light: useBaseUrl("/homepage/arrow-right.png"),
dark: useBaseUrl("/homepage/arrow-right-dark.png"),
}}
></ThemedImage>
<div className={styles.cardText}>{title}</div>
<div className={`${styles.product} ${productStyles}`}>{product}</div>
</div>

View File

@@ -1,6 +1,6 @@
/* Getting Started Card */
.card {
position:relative;
position: relative;
margin-top: 20px;
height: 200px;
/* UI Properties */
@@ -9,17 +9,16 @@
border: 1px solid var(--dev-card-background);
border-radius: 40px;
opacity: 1;
}
.card:hover {
cursor: pointer;
top: -2px;
box-shadow: var(--dev-card-selected)
box-shadow: var(--dev-card-selected);
}
.cardText {
position:absolute;
position: absolute;
margin: 20px;
font-size: 16px;
font-weight: 500;
@@ -29,7 +28,7 @@
}
.cardIcon {
position:absolute;
position: absolute;
margin: 20px;
top: 0;
left: 0;
@@ -37,7 +36,7 @@
}
.cardArrow {
position:absolute;
position: absolute;
margin: 20px;
bottom: 25px;
right: 0;
@@ -45,14 +44,13 @@
}
.product {
position:absolute;
position: absolute;
margin: 20px;
font-size: 12px;
font-weight: 500;
width: 120px;
bottom: 50px;
left: 0;
}
.idn {
@@ -60,5 +58,5 @@
}
.iiq {
color: #60b359
color: #60b359;
}

View File

@@ -4,23 +4,19 @@ import DiscussCard from "../DiscussCard";
import { getTopPosts } from "../../../services/DiscourseService";
export default function HomepageDiscuss() {
const [ans, setAns] = React.useState();
const getPosts = async () => {
const data = await getTopPosts()
const data = await getTopPosts();
const resultset = [
getPostList(data, 0),
getPostList(data, 1),
getPostList(data, 2),
getPostList(data, findSolutionPost(data.topic_list.topics))
]
getPostList(data, findSolutionPost(data.topic_list.topics)),
];
setAns(resultset);
};
React.useEffect(() => {
getPosts();
}, []);
@@ -29,29 +25,59 @@ export default function HomepageDiscuss() {
return (
<div className={styles.center}>
<div className={styles.gridContainer}>
<DiscussCard solution={ans[0].solution} liked={ans[0].liked} tags={ans[0].tags} link={ans[0].link} title={ans[0].title} views={ans[0].views}></DiscussCard>
<DiscussCard solution={ans[1].solution} liked={ans[1].liked} tags={ans[1].tags} link={ans[1].link} title={ans[1].title} views={ans[1].views}></DiscussCard>
<DiscussCard solution={ans[2].solution} liked={ans[2].liked} tags={ans[2].tags} link={ans[2].link} title={ans[2].title} views={ans[2].views}></DiscussCard>
<DiscussCard solution={ans[3].solution} liked={ans[3].liked} tags={ans[3].tags} link={ans[3].link} title={ans[3].title} views={ans[3].views}></DiscussCard>
<DiscussCard
solution={ans[0].solution}
liked={ans[0].liked}
tags={ans[0].tags}
link={ans[0].link}
title={ans[0].title}
views={ans[0].views}
></DiscussCard>
<DiscussCard
solution={ans[1].solution}
liked={ans[1].liked}
tags={ans[1].tags}
link={ans[1].link}
title={ans[1].title}
views={ans[1].views}
></DiscussCard>
<DiscussCard
solution={ans[2].solution}
liked={ans[2].liked}
tags={ans[2].tags}
link={ans[2].link}
title={ans[2].title}
views={ans[2].views}
></DiscussCard>
<DiscussCard
solution={ans[3].solution}
liked={ans[3].liked}
tags={ans[3].tags}
link={ans[3].link}
title={ans[3].title}
views={ans[3].views}
></DiscussCard>
</div>
</div>
);
} else {
return (
<div></div>
)
return <div></div>;
}
}
function getPostList(posts, index) {
return {
'tags': posts.topic_list.topics[index].tags,
'link': 'https://developer.sailpoint.com/discuss/t/' + posts.topic_list.topics[index].slug + '/' + posts.topic_list.topics[index].id,
'title': posts.topic_list.topics[index].title,
'views': posts.topic_list.topics[index].views,
'liked': posts.topic_list.topics[index].like_count,
'solution': posts.topic_list.topics[index].has_accepted_answer
}
tags: posts.topic_list.topics[index].tags,
link:
"https://developer.sailpoint.com/discuss/t/" +
posts.topic_list.topics[index].slug +
"/" +
posts.topic_list.topics[index].id,
title: posts.topic_list.topics[index].title,
views: posts.topic_list.topics[index].views,
liked: posts.topic_list.topics[index].like_count,
solution: posts.topic_list.topics[index].has_accepted_answer,
};
}
function findSolutionPost(posts) {
@@ -60,7 +86,7 @@ function findSolutionPost(posts) {
if (post.has_accepted_answer && index > 2) {
return index;
}
index ++;
index++;
}
return index;
}

View File

@@ -1,9 +1,8 @@
/* Getting Started Card container */
.gridContainer {
display: grid;
place-content: center;
grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
grid-gap: 40px;
margin-left: 40px;
margin-right: 40px;

View File

@@ -1,7 +1,7 @@
import React from "react";
import clsx from "clsx";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import Link from "@docusaurus/Link";
import HomepageCard from "../HomepageCard";
export default function HomepageGettingStarted() {
return (
@@ -9,17 +9,42 @@ export default function HomepageGettingStarted() {
<div className={styles.mainCard}>
<div className={styles.contentContainer}>
<div className={styles.gettingStartedText}>
<div className={styles.gettingStartedOne}>SailPoint Developer Community</div>
<div className={styles.gettingStartedTwo}>Don't know where to get started?</div>
<div className={styles.gettingStartedThree}>Jump into our <span className={styles.bold}>Get Started Guides</span> for more information.</div>
<div className={styles.gettingStartedOne}>
SailPoint Developer Community
</div>
<div className={styles.gettingStartedTwo}>
Don't know where to get started?
</div>
<div className={styles.gettingStartedThree}>
Jump into our{" "}
<span className={styles.bold}>Get Started Guides</span> for more
information.
</div>
</div>
<div className={styles.gridContainer}>
<HomepageCard link={"/idn/docs"} title={"Get Started with IdentityNow"} image={"/homepage/cloud.png"}></HomepageCard>
<HomepageCard link={"https://documentation.sailpoint.com/identityiq/help/iiqlandingpage.html"} title={"Get Started with IdentityIQ"} image={"/homepage/cloud.png"}></HomepageCard>
<HomepageCard
link={"/idn/docs"}
title={"Get Started with IdentityNow"}
image={"/homepage/cloud.png"}
></HomepageCard>
<HomepageCard
link={
"https://documentation.sailpoint.com/identityiq/help/iiqlandingpage.html"
}
title={"Get Started with IdentityIQ"}
image={"/homepage/cloud.png"}
></HomepageCard>
</div>
</div>
<div className={styles.carousel}>
<iframe className={styles.video} src="https://www.youtube.com/embed/N-JG8xjpKaI" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen></iframe>
<iframe
className={styles.video}
src="https://www.youtube.com/embed/N-JG8xjpKaI"
title="YouTube video player"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
</div>
</div>
</div>

View File

@@ -5,8 +5,6 @@
justify-content: center;
}
.gettingStartedText {
margin-top: 50px;
margin-left: 50px;
@@ -32,12 +30,10 @@
font-weight: 500;
}
.bold {
font-weight: bold;
}
/* Getting Started Card container */
.gridContainer {
display: grid;
@@ -59,8 +55,6 @@
margin-right: 50px;
}
@media only screen and (max-width: 1178px) {
.carousel {
margin-top: 0px;
@@ -77,7 +71,7 @@
}
.mainCard {
grid-template-columns: repeat(auto-fit, minmax(520px, 1fr));
/* UI Properties */
/* UI Properties */
background: var(--main-hero-card-background);
box-shadow: var(--dev-card-shadow);
border: 1px solid var(--dev-card-background);

View File

@@ -1,16 +1,46 @@
import React from "react";
import clsx from "clsx";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import Link from "@docusaurus/Link";
import TeamCard from "../TeamCard";
export default function HomepageTeam() {
return (
<div className={styles.center}>
<div className={styles.gridContainer}>
<TeamCard link={"https://developer.sailpoint.com/discuss/u/colin_mckibben/summary"} name={"Colin McKibben"} title={"DEVELOPER ADVOCATE"} expertise={"API, WORKFLOWS, EVENT TRIGGERS"} image={"/homepage/colin-mckibben.png"}></TeamCard>
<TeamCard link={"https://developer.sailpoint.com/discuss/u/tyler_mairose/summary"} name={"Tyler Mairose"} title={"DEVELOPER ADVOCATE"} expertise={"RULES, TRANSFORMS"} image={"/homepage/tyler-mairose.png"}></TeamCard>
<TeamCard link={"https://developer.sailpoint.com/discuss/u/philip-ellis/summary"} name={"Philip Ellis"} title={"DEVELOPER ADVOCATE"} expertise={"DEVELOPER TOOLS, SAAS CONNECTIVITY"} image={"/homepage/phil-ellis.png"}></TeamCard>
<TeamCard link={"https://developer.sailpoint.com/discuss/u/jthaytko/summary"} name={"James Haytko"} title={"TECHNICAL WRITER"} expertise={"DEVELOPER DOCUMENTATION"} image={"/homepage/james-haytko.png"}></TeamCard>
<TeamCard
link={
"https://developer.sailpoint.com/discuss/u/colin_mckibben/summary"
}
name={"Colin McKibben"}
title={"DEVELOPER ADVOCATE"}
expertise={"API, WORKFLOWS, EVENT TRIGGERS"}
image={"/homepage/colin-mckibben.png"}
></TeamCard>
<TeamCard
link={
"https://developer.sailpoint.com/discuss/u/tyler_mairose/summary"
}
name={"Tyler Mairose"}
title={"DEVELOPER ADVOCATE"}
expertise={"RULES, TRANSFORMS"}
image={"/homepage/tyler-mairose.png"}
></TeamCard>
<TeamCard
link={
"https://developer.sailpoint.com/discuss/u/philip-ellis/summary"
}
name={"Philip Ellis"}
title={"DEVELOPER ADVOCATE"}
expertise={"DEVELOPER TOOLS, SAAS CONNECTIVITY"}
image={"/homepage/phil-ellis.png"}
></TeamCard>
<TeamCard
link={"https://developer.sailpoint.com/discuss/u/jthaytko/summary"}
name={"James Haytko"}
title={"TECHNICAL WRITER"}
expertise={"DEVELOPER DOCUMENTATION"}
image={"/homepage/james-haytko.png"}
></TeamCard>
</div>
</div>
);

View File

@@ -1,9 +1,8 @@
/* Getting Started Card container */
.gridContainer {
display: grid;
place-content: center;
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
grid-gap: 40px;
margin-left: 40px;
margin-right: 40px;

View File

@@ -1,16 +1,38 @@
import React from "react";
import clsx from "clsx";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import Link from "@docusaurus/Link";
import HomepageCard from "../HomepageCard";
export default function HomepageTrainingGuides() {
return (
<div className={styles.center}>
<div className={styles.gridContainer}>
<HomepageCard product={"idn"} link={"/idn/api/getting-started"} title={"Make Your First API Call"} image={"/homepage/cloud.png"}></HomepageCard>
<HomepageCard product={"idn"} link={"/idn/docs/transforms/guides/your-first-transform"} title={"Build a Transform"} image={"/homepage/cloud.png"}></HomepageCard>
<HomepageCard product={"idn"} link={"/idn/docs/saas-connectivity"} title={"Build a SaaS Connector"} image={"/homepage/cloud.png"}></HomepageCard>
<HomepageCard product={"iiq"} link={"https://documentation.sailpoint.com/identityiq/help/plugins/identityiq_plugins.html"} title={"Build an IIQ Plugin"} image={"/homepage/cloud.png"}></HomepageCard>
<HomepageCard
product={"idn"}
link={"/idn/api/getting-started"}
title={"Make Your First API Call"}
image={"/homepage/cloud.png"}
></HomepageCard>
<HomepageCard
product={"idn"}
link={"/idn/docs/transforms/guides/your-first-transform"}
title={"Build a Transform"}
image={"/homepage/cloud.png"}
></HomepageCard>
<HomepageCard
product={"idn"}
link={"/idn/docs/saas-connectivity"}
title={"Build a SaaS Connector"}
image={"/homepage/cloud.png"}
></HomepageCard>
<HomepageCard
product={"iiq"}
link={
"https://documentation.sailpoint.com/identityiq/help/plugins/identityiq_plugins.html"
}
title={"Build an IIQ Plugin"}
image={"/homepage/cloud.png"}
></HomepageCard>
</div>
</div>
);

View File

@@ -1,4 +1,3 @@
/* Getting Started Card container */
.gridContainer {
display: grid;

View File

@@ -1,20 +1,25 @@
import React from "react";
import styles from "./styles.module.css";
import Link from '@docusaurus/Link';
import useBaseUrl from '@docusaurus/useBaseUrl';
import ThemedImage from '@theme/ThemedImage';
export default function TeamCard({link, title, name, expertise, image}) {
import Link from "@docusaurus/Link";
import useBaseUrl from "@docusaurus/useBaseUrl";
import ThemedImage from "@theme/ThemedImage";
export default function TeamCard({ link, title, name, expertise, image }) {
return (
<Link to={link}>
<div className={styles.card}>
<div className={styles.cardFaceContainer}>
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
</div>
<ThemedImage className={styles.cardArrow} sources={{light: useBaseUrl('/homepage/arrow-right.png'), dark: useBaseUrl('/homepage/arrow-right-dark.png'),}}></ThemedImage>
<div className={styles.cardText}>{name}</div>
<div className={styles.titleText}>{title}</div>
<div className={styles.expertiseText}>{expertise}</div>
<div className={styles.cardFaceContainer}>
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
</div>
<ThemedImage
className={styles.cardArrow}
sources={{
light: useBaseUrl("/homepage/arrow-right.png"),
dark: useBaseUrl("/homepage/arrow-right-dark.png"),
}}
></ThemedImage>
<div className={styles.cardText}>{name}</div>
<div className={styles.titleText}>{title}</div>
<div className={styles.expertiseText}>{expertise}</div>
</div>
</Link>
);

View File

@@ -1,6 +1,6 @@
/* Getting Started Card */
.card {
position:relative;
position: relative;
margin-top: 20px;
height: 300px;
/* UI Properties */
@@ -14,12 +14,11 @@
.card:hover {
cursor: pointer;
top: -2px;
box-shadow: var(--dev-card-selected)
box-shadow: var(--dev-card-selected);
}
.cardText {
position:absolute;
position: absolute;
margin: 22px auto;
text-align: center;
font-size: 16px;
@@ -31,7 +30,7 @@
}
.titleText {
position:absolute;
position: absolute;
margin: 22px auto;
text-align: center;
font-size: 10px;
@@ -44,7 +43,7 @@
}
.expertiseText {
position:absolute;
position: absolute;
margin: 22px auto;
text-align: center;
font-size: 10px;
@@ -54,11 +53,11 @@
top: 160px;
left: 0;
color: var(--ifm-color-primary);
padding: 30px
padding: 30px;
}
.cardArrow {
position:absolute;
position: absolute;
margin: 20px;
bottom: 5px;
right: 0;
@@ -77,4 +76,3 @@
height: 80px;
width: 80px;
}

View File

@@ -6,105 +6,212 @@
/* You can override the default Infima variables here. */
@import url("https://p.typekit.net/p.css?s=1&k=hbq4agn&ht=tk&f=30490.30491.30492.30493.30494.30495.30496.30497.30498.30499.30500.30501.30502.30503&a=87767056&app=typekit&e=css");
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3") format("woff2"),url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3") format("woff"),url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:100;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3")
format("woff2"),
url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3")
format("woff"),
url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3")
format("opentype");
font-display: auto;
font-style: italic;
font-weight: 100;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3") format("woff2"),url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3") format("woff"),url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:100;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3")
format("woff2"),
url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3")
format("woff"),
url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3")
format("opentype");
font-display: auto;
font-style: normal;
font-weight: 100;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3") format("woff2"),url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3") format("woff"),url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:200;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3")
format("woff2"),
url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3")
format("woff"),
url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3")
format("opentype");
font-display: auto;
font-style: italic;
font-weight: 200;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3") format("woff2"),url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3") format("woff"),url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:200;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3")
format("woff2"),
url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3")
format("woff"),
url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3")
format("opentype");
font-display: auto;
font-style: normal;
font-weight: 200;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("woff2"),url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("woff"),url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:300;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3")
format("woff2"),
url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3")
format("woff"),
url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3")
format("opentype");
font-display: auto;
font-style: italic;
font-weight: 300;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff2"),url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff"),url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:300;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3")
format("woff2"),
url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3")
format("woff"),
url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3")
format("opentype");
font-display: auto;
font-style: normal;
font-weight: 300;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3")
format("woff2"),
url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3")
format("woff"),
url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3")
format("opentype");
font-display: auto;
font-style: italic;
font-weight: 400;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3")
format("woff2"),
url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3")
format("woff"),
url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3")
format("opentype");
font-display: auto;
font-style: normal;
font-weight: 400;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("woff2"),url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("woff"),url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:500;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3")
format("woff2"),
url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3")
format("woff"),
url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3")
format("opentype");
font-display: auto;
font-style: italic;
font-weight: 500;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff2"),url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff"),url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:500;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3")
format("woff2"),
url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3")
format("woff"),
url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3")
format("opentype");
font-display: auto;
font-style: normal;
font-weight: 500;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:700;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3")
format("woff2"),
url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3")
format("woff"),
url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3")
format("opentype");
font-display: auto;
font-style: italic;
font-weight: 700;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3")
format("woff2"),
url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3")
format("woff"),
url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3")
format("opentype");
font-display: auto;
font-style: normal;
font-weight: 700;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("woff2"),url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("woff"),url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:800;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3")
format("woff2"),
url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3")
format("woff"),
url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3")
format("opentype");
font-display: auto;
font-style: normal;
font-weight: 800;
font-stretch: normal;
}
@font-face {
font-family:"input-mono";
src:url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("woff2"),url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("woff"),url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
font-family: "input-mono";
src: url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3")
format("woff2"),
url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3")
format("woff"),
url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3")
format("opentype");
font-display: auto;
font-style: italic;
font-weight: 800;
font-stretch: normal;
}
@font-face {
font-family: 'Poppins';
src: url('../../static/fonts/poppins/Poppins-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
font-display: swap;
font-family: "Poppins";
src: url("../../static/fonts/poppins/Poppins-Regular.ttf") format("truetype");
font-weight: normal;
font-style: normal;
font-display: swap;
}
:root {
color: #415364;
--ifm-color-primary: #0033a1;
@@ -120,24 +227,22 @@ font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
--dev-boarder-color-theme: black;
--dev-text-color-normal: #415364;
--dev-secondary-text:#415364;
--dev-secondary-text: #415364;
/*card css*/
--dev-card-background: #ffffff;
--dev-card-shadow: 0px 20px 60px #00000015;
--dev-card-selected: 0 4px 5px rgba(0,0,0,0.2);
--dev-card-shadow: 0px 20px 60px #00000015;
--dev-card-selected: 0 4px 5px rgba(0, 0, 0, 0.2);
--ifm-github-logo: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");
--ifm-medium-logo: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 1770 1000"><circle cx="500" cy="500" r="500"/><ellipse ry="475" rx="250" cy="501" cx="1296"/><ellipse cx="1682" cy="502" rx="88" ry="424"/></svg>');
--dev-sailpoint-small-logo: url("../../static/img/SailPoint-Logo-RGB-Color.png");
--ifm-font-family-base: 'Poppins';
--ifm-font-family-base: "Poppins";
}
/* For readability concerns, you should choose a lighter palette in dark mode. */
[data-theme='dark'] {
[data-theme="dark"] {
color: #ffffff;
--ifm-color-primary: #7ecfee;
--ifm-color-primary-dark: #5ec3ea;
@@ -154,9 +259,9 @@ font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
/*card css*/
--dev-card-background: #2a2b2d;
--dev-card-shadow: 0 4px 5px rgba(0,0,0,0.2);
--dev-card-shadow: 0 4px 5px rgba(0, 0, 0, 0.2);
--dev-card-selected: 0 5px 5px rgba(107, 107, 107, 0.2);
--dev-secondary-text:#dae1e9;
--dev-secondary-text: #dae1e9;
/*main hero card*/
--main-hero-card-background: #202122;
@@ -177,9 +282,6 @@ font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
}
}
.navbar__title {
color: var(--dev-text-color-cobalt);
margin-top: 9px;
@@ -187,14 +289,13 @@ font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
font-weight: 400;
}
/* Sidebar Method labels */
.api-method>.menu__link {
.api-method > .menu__link {
align-items: center;
justify-content: start;
}
.api-method>.menu__link::before {
.api-method > .menu__link::before {
width: 50px;
height: 20px;
font-size: 12px;
@@ -210,27 +311,27 @@ font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
color: white;
}
.get>.menu__link::before {
.get > .menu__link::before {
content: "get";
background-color: var(--ifm-color-primary);
}
.put>.menu__link::before {
.put > .menu__link::before {
content: "put";
background-color: var(--openapi-code-blue);
}
.post>.menu__link::before {
.post > .menu__link::before {
content: "post";
background-color: var(--openapi-code-green);
}
.delete>.menu__link::before {
.delete > .menu__link::before {
content: "del";
background-color: var(--openapi-code-red);
}
.patch>.menu__link::before {
.patch > .menu__link::before {
content: "patch";
background-color: var(--openapi-code-orange);
}
@@ -267,9 +368,9 @@ html[data-theme="dark"] .header-github-link:before {
filter: invert();
}
.navbar__section{
.navbar__section {
font-weight: bolder;
cursor:inherit;
cursor: inherit;
background-color: transparent !important;
border-radius: 0;
border-bottom: 1px solid var(--ifm-color-emphasis-400);

View File

@@ -1,8 +1,10 @@
export async function getTopPosts() {
try {
const response = await fetch('https://developer.sailpoint.com/discuss/top.json');
return await response.json();
} catch (error) {
return [];
}
try {
const response = await fetch(
"https://developer.sailpoint.com/discuss/top.json"
);
return await response.json();
} catch (error) {
return [];
}
}

View File

@@ -1,4 +1,4 @@
export function addDarkToFileName(filename) {
const parts = filename.split(".");
return parts[0] + '-dark.' + parts[1]
const parts = filename.split(".");
return parts[0] + "-dark." + parts[1];
}