From dab5e201da8acaacbdba7213e6035bcaa64abd3a Mon Sep 17 00:00:00 2001
From: Anne-Greeth van Herwijnen
Date: Tue, 29 Jul 2025 15:22:41 +0200
Subject: [PATCH 1/2] WIP first start to make an app
---
.npmrc | 1 +
app/app-styles/app.css | 59 +-
app/app-styles/chrome.css | 515 ----------
app/app-styles/fonts.css | 27 -
app/app-styles/mdbook.css | 1007 --------------------
app/app-styles/variables.css | 254 -----
app/components/rfc-card.gjs | 25 +
app/router.js | 14 +
app/routes/create-rfc.js | 3 +
app/routes/rfcs-help.js | 3 +
app/routes/rfcs-input.js | 3 +
app/routes/role-core-team.js | 3 +
app/routes/stages.js | 3 +
app/routes/stages/accepted.js | 8 +
app/routes/stages/closed.js | 3 +
app/routes/stages/discontinued.js | 3 +
app/routes/stages/exploring.js | 3 +
app/routes/stages/proposed.js | 3 +
app/routes/stages/ready-for-release.js | 3 +
app/routes/stages/recommended.js | 3 +
app/routes/stages/released.js | 3 +
app/templates/application.gjs | 79 +-
app/templates/create-rfc.gjs | 134 +++
app/templates/index.gjs | 9 +-
app/templates/rfcs-help.gjs | 6 +
app/templates/rfcs-input.gjs | 6 +
app/templates/role-core-team.gjs | 46 +
app/templates/stages/accepted.gjs | 12 +
app/templates/stages/closed.gjs | 6 +
app/templates/stages/discontinued.gjs | 7 +
app/templates/stages/exploring.gjs | 6 +
app/templates/stages/index.gjs | 225 +++++
app/templates/stages/proposed.gjs | 6 +
app/templates/stages/ready-for-release.gjs | 6 +
app/templates/stages/recommended.gjs | 6 +
app/templates/stages/released.gjs | 6 +
package.json | 1 +
pnpm-lock.yaml | 981 ++++++++++++++++++-
38 files changed, 1606 insertions(+), 1882 deletions(-)
create mode 100644 .npmrc
delete mode 100644 app/app-styles/chrome.css
delete mode 100644 app/app-styles/fonts.css
delete mode 100644 app/app-styles/mdbook.css
delete mode 100644 app/app-styles/variables.css
create mode 100644 app/components/rfc-card.gjs
create mode 100644 app/routes/create-rfc.js
create mode 100644 app/routes/rfcs-help.js
create mode 100644 app/routes/rfcs-input.js
create mode 100644 app/routes/role-core-team.js
create mode 100644 app/routes/stages.js
create mode 100644 app/routes/stages/accepted.js
create mode 100644 app/routes/stages/closed.js
create mode 100644 app/routes/stages/discontinued.js
create mode 100644 app/routes/stages/exploring.js
create mode 100644 app/routes/stages/proposed.js
create mode 100644 app/routes/stages/ready-for-release.js
create mode 100644 app/routes/stages/recommended.js
create mode 100644 app/routes/stages/released.js
create mode 100644 app/templates/create-rfc.gjs
create mode 100644 app/templates/rfcs-help.gjs
create mode 100644 app/templates/rfcs-input.gjs
create mode 100644 app/templates/role-core-team.gjs
create mode 100644 app/templates/stages/accepted.gjs
create mode 100644 app/templates/stages/closed.gjs
create mode 100644 app/templates/stages/discontinued.gjs
create mode 100644 app/templates/stages/exploring.gjs
create mode 100644 app/templates/stages/index.gjs
create mode 100644 app/templates/stages/proposed.gjs
create mode 100644 app/templates/stages/ready-for-release.gjs
create mode 100644 app/templates/stages/recommended.gjs
create mode 100644 app/templates/stages/released.gjs
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..d16b414
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+use-node-version=22.17.1
diff --git a/app/app-styles/app.css b/app/app-styles/app.css
index 1406c46..e41bf9a 100644
--- a/app/app-styles/app.css
+++ b/app/app-styles/app.css
@@ -1,51 +1,18 @@
-/* stylelint-disable import-notation, property-no-vendor-prefix, selector-class-pattern */
-@import 'mdbook.css';
-@import 'fonts.css';
-@import 'variables.css';
-@import 'chrome.css';
-
-button.reset {
- border: none;
- margin: 0;
- padding: 0;
- width: auto;
- overflow: visible;
- background: transparent;
- color: inherit;
- font: inherit;
- line-height: normal;
- -webkit-font-smoothing: inherit;
- -moz-osx-font-smoothing: inherit;
- -webkit-appearance: none;
-}
-
-.margin-auto {
- margin: auto;
-}
-
-.p1 {
- padding: 0.5em;
-}
-
-.p2 {
- padding: 1em;
-}
-
-.stage-title {
- margin-top: 0.5rem;
- margin-bottom: 0;
-}
-
-ul.chapter {
- margin-top: 0;
+.rfc-grid {
+ display: flex;
+ flex-flow: row wrap;
+ gap: var(--spacing-2);
}
-.rfc-data-table ul {
- padding-left: 1em;
+.rfc-card {
+ background-color: white;
+ border-radius: var(--radius);
+ width: 25%;
+ padding: var(--spacing-2);
}
-.svg-inline--fa {
- display: inline-block;
- height: 1em;
- vertical-align: -0.125em;
+.rfc-card img {
+ width: 100px;
+ height: 100px;
+ border-radius: 50px;
}
diff --git a/app/app-styles/chrome.css b/app/app-styles/chrome.css
deleted file mode 100644
index 0469cd8..0000000
--- a/app/app-styles/chrome.css
+++ /dev/null
@@ -1,515 +0,0 @@
-/* stylelint-disable alpha-value-notation, at-rule-empty-line-before, color-function-alias-notation, color-function-notation, declaration-block-no-redundant-longhand-properties, declaration-empty-line-before, import-notation, length-zero-no-unit, media-feature-range-notation, no-descending-specificity, property-no-vendor-prefix, rule-empty-line-before, selector-not-notation, shorthand-property-no-redundant-values, value-no-vendor-prefix */
-
-/* CSS for UI elements (a.k.a. chrome) */
-
-@import 'variables.css';
-
-::-webkit-scrollbar {
- background: var(--bg);
-}
-::-webkit-scrollbar-thumb {
- background: var(--scrollbar);
-}
-html {
- scrollbar-color: var(--scrollbar) var(--bg);
-}
-#searchresults a,
-.content a:link,
-a:visited,
-a > .hljs {
- color: var(--links);
-}
-
-/* Menu Bar */
-
-#menu-bar,
-#menu-bar-hover-placeholder {
- z-index: 101;
- margin: auto calc(0px - var(--page-padding));
-}
-#menu-bar {
- position: relative;
- display: flex;
- flex-wrap: wrap;
- background-color: var(--bg);
- border-bottom-color: var(--bg);
- border-bottom-width: 1px;
- border-bottom-style: solid;
-}
-#menu-bar.sticky,
-.js #menu-bar-hover-placeholder:hover + #menu-bar,
-.js #menu-bar:hover,
-.js.sidebar-visible #menu-bar {
- position: -webkit-sticky;
- position: sticky;
- top: 0 !important;
-}
-#menu-bar-hover-placeholder {
- position: sticky;
- position: -webkit-sticky;
- top: 0;
- height: var(--menu-bar-height);
-}
-#menu-bar.bordered {
- border-bottom-color: var(--table-border-color);
-}
-#menu-bar i,
-#menu-bar .icon-button {
- position: relative;
- padding: 0 8px;
- z-index: 10;
- line-height: var(--menu-bar-height);
- cursor: pointer;
- transition: color 0.5s;
-}
-@media only screen and (max-width: 420px) {
- #menu-bar i,
- #menu-bar .icon-button {
- padding: 0 5px;
- }
-}
-
-.icon-button {
- border: none;
- background: none;
- padding: 0;
- color: inherit;
-}
-.icon-button i {
- margin: 0;
-}
-
-.right-buttons {
- margin: 0 15px;
-}
-.right-buttons a {
- text-decoration: none;
-}
-
-.left-buttons {
- display: flex;
- margin: 0 5px;
-}
-.no-js .left-buttons {
- display: none;
-}
-
-.menu-title {
- display: inline-block;
- font-weight: 200;
- font-size: 2.4rem;
- line-height: var(--menu-bar-height);
- text-align: center;
- margin: 0;
- flex: 1;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-.js .menu-title {
- cursor: pointer;
-}
-
-.menu-bar,
-.menu-bar:visited,
-.nav-chapters,
-.nav-chapters:visited,
-.mobile-nav-chapters,
-.mobile-nav-chapters:visited,
-.menu-bar .icon-button,
-.menu-bar a i {
- color: var(--icons);
-}
-
-.menu-bar i:hover,
-.menu-bar .icon-button:hover,
-.nav-chapters:hover,
-.mobile-nav-chapters i:hover {
- color: var(--icons-hover);
-}
-
-/* Nav Icons */
-
-.nav-chapters {
- font-size: 2.5em;
- text-align: center;
- text-decoration: none;
-
- position: fixed;
- top: 0;
- bottom: 0;
- margin: 0;
- max-width: 150px;
- min-width: 90px;
-
- display: flex;
- justify-content: center;
- align-content: center;
- flex-direction: column;
-
- transition:
- color 0.5s,
- background-color 0.5s;
-}
-
-.nav-chapters:hover {
- text-decoration: none;
- background-color: var(--theme-hover);
- transition:
- background-color 0.15s,
- color 0.15s;
-}
-
-.nav-wrapper {
- margin-top: 50px;
- display: none;
-}
-
-.mobile-nav-chapters {
- font-size: 2.5em;
- text-align: center;
- text-decoration: none;
- width: 90px;
- border-radius: 5px;
- background-color: var(--sidebar-bg);
-}
-
-.previous {
- float: left;
-}
-
-.next {
- float: right;
- right: var(--page-padding);
-}
-
-@media only screen and (max-width: 1080px) {
- .nav-wide-wrapper {
- display: none;
- }
- .nav-wrapper {
- display: block;
- }
-}
-
-@media only screen and (max-width: 1380px) {
- .sidebar-visible .nav-wide-wrapper {
- display: none;
- }
- .sidebar-visible .nav-wrapper {
- display: block;
- }
-}
-
-/* Inline code */
-
-:not(pre) > .hljs {
- display: inline;
- padding: 0.1em 0.3em;
- border-radius: 3px;
-}
-
-:not(pre):not(a) > .hljs {
- color: var(--inline-code-color);
- overflow-x: initial;
-}
-
-a:hover > .hljs {
- text-decoration: underline;
-}
-
-pre {
- position: relative;
-}
-pre > .buttons {
- position: absolute;
- z-index: 100;
- right: 5px;
- top: 5px;
-
- color: var(--sidebar-fg);
- cursor: pointer;
-}
-pre > .buttons :hover {
- color: var(--sidebar-active);
-}
-pre > .buttons i {
- margin-left: 8px;
-}
-pre > .buttons button {
- color: inherit;
- background: transparent;
- border: none;
- cursor: inherit;
-}
-pre > .result {
- margin-top: 10px;
-}
-
-/* Search */
-
-#searchresults a {
- text-decoration: none;
-}
-
-mark {
- border-radius: 2px;
- padding: 0 3px 1px 3px;
- margin: 0 -3px -1px -3px;
- background-color: var(--search-mark-bg);
- transition: background-color 300ms linear;
- cursor: pointer;
-}
-
-mark.fade-out {
- background-color: rgba(0, 0, 0, 0) !important;
- cursor: auto;
-}
-
-.searchbar-outer {
- margin-left: auto;
- margin-right: auto;
- max-width: var(--content-max-width);
-}
-
-#searchbar {
- width: 100%;
- margin: 5px auto 0px auto;
- padding: 10px 16px;
- transition: box-shadow 300ms ease-in-out;
- border: 1px solid var(--searchbar-border-color);
- border-radius: 3px;
- background-color: var(--searchbar-bg);
- color: var(--searchbar-fg);
-}
-#searchbar:focus,
-#searchbar.active {
- box-shadow: 0 0 3px var(--searchbar-shadow-color);
-}
-
-.searchresults-header {
- font-weight: bold;
- font-size: 1em;
- padding: 18px 0 0 5px;
- color: var(--searchresults-header-fg);
-}
-
-.searchresults-outer {
- margin-left: auto;
- margin-right: auto;
- max-width: var(--content-max-width);
- border-bottom: 1px dashed var(--searchresults-border-color);
-}
-
-ul#searchresults {
- list-style: none;
- padding-left: 20px;
-}
-ul#searchresults li {
- margin: 10px 0px;
- padding: 2px;
- border-radius: 2px;
-}
-ul#searchresults li.focus {
- background-color: var(--searchresults-li-bg);
-}
-ul#searchresults span.teaser {
- display: block;
- clear: both;
- margin: 5px 0 0 20px;
- font-size: 0.8em;
-}
-ul#searchresults span.teaser em {
- font-weight: bold;
- font-style: normal;
-}
-
-/* Sidebar */
-
-.sidebar {
- position: fixed;
- left: 0;
- top: 0;
- bottom: 0;
- width: var(--sidebar-width);
- font-size: 0.875em;
- box-sizing: border-box;
- -webkit-overflow-scrolling: touch;
- overscroll-behavior-y: contain;
- background-color: var(--sidebar-bg);
- color: var(--sidebar-fg);
-}
-.sidebar-resizing {
- -moz-user-select: none;
- -webkit-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-.js:not(.sidebar-resizing) .sidebar {
- transition: transform 0.3s; /* Animation: slide away */
-}
-.sidebar code {
- line-height: 2em;
-}
-.sidebar .sidebar-scrollbox {
- overflow-y: auto;
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- padding: 10px 10px;
-}
-.sidebar .sidebar-resize-handle {
- position: absolute;
- cursor: col-resize;
- width: 0;
- right: 0;
- top: 0;
- bottom: 0;
-}
-.js .sidebar .sidebar-resize-handle {
- cursor: col-resize;
- width: 5px;
-}
-.sidebar-hidden .sidebar {
- transform: translateX(calc(0px - var(--sidebar-width)));
-}
-.sidebar::-webkit-scrollbar {
- background: var(--sidebar-bg);
-}
-.sidebar::-webkit-scrollbar-thumb {
- background: var(--scrollbar);
-}
-
-.sidebar-visible .page-wrapper {
- transform: translateX(var(--sidebar-width));
-}
-@media only screen and (min-width: 620px) {
- .sidebar-visible .page-wrapper {
- transform: none;
- margin-left: var(--sidebar-width);
- }
-}
-
-.chapter {
- list-style: none outside none;
- padding-left: 0;
- line-height: 2.2em;
-}
-
-.chapter ol {
- width: 100%;
-}
-
-.chapter li {
- display: flex;
- color: var(--sidebar-non-existant);
-}
-.chapter li a {
- display: block;
- padding: 0;
- text-decoration: none;
- color: var(--sidebar-fg);
-}
-
-.chapter li a:hover {
- color: var(--sidebar-active);
-}
-
-.chapter li a.active {
- color: var(--sidebar-active);
-}
-
-.chapter li > a.toggle {
- cursor: pointer;
- display: block;
- margin-left: auto;
- padding: 0 10px;
- user-select: none;
- opacity: 0.68;
-}
-
-.chapter li > a.toggle div {
- transition: transform 0.5s;
-}
-
-/* collapse the section */
-.chapter li:not(.expanded) + li > ol {
- display: none;
-}
-
-.chapter li.chapter-item {
- line-height: 1.5em;
- margin-top: 0.6em;
-}
-
-.chapter li.expanded > a.toggle div {
- transform: rotate(90deg);
-}
-
-.spacer {
- width: 100%;
- height: 3px;
- margin: 5px 0px;
-}
-.chapter .spacer {
- background-color: var(--sidebar-spacer);
-}
-
-@media (-moz-touch-enabled: 1), (pointer: coarse) {
- .chapter li a {
- padding: 5px 0;
- }
- .spacer {
- margin: 10px 0;
- }
-}
-
-.section {
- list-style: none outside none;
- padding-left: 20px;
- line-height: 1.9em;
-}
-
-/* Theme Menu Popup */
-
-.theme-popup {
- position: absolute;
- left: 10px;
- top: var(--menu-bar-height);
- z-index: 1000;
- border-radius: 4px;
- font-size: 0.7em;
- color: var(--fg);
- background: var(--theme-popup-bg);
- border: 1px solid var(--theme-popup-border);
- margin: 0;
- padding: 0;
- list-style: none;
- display: none;
-}
-.theme-popup .default {
- color: var(--icons);
-}
-.theme-popup .theme {
- width: 100%;
- border: 0;
- margin: 0;
- padding: 2px 10px;
- line-height: 25px;
- white-space: nowrap;
- text-align: left;
- cursor: pointer;
- color: inherit;
- background: inherit;
- font-size: inherit;
-}
-.theme-popup .theme:hover {
- background-color: var(--theme-hover);
-}
-.theme-popup .theme:hover:first-child,
-.theme-popup .theme:hover:last-child {
- border-top-left-radius: inherit;
- border-top-right-radius: inherit;
-}
diff --git a/app/app-styles/fonts.css b/app/app-styles/fonts.css
deleted file mode 100644
index de3aba3..0000000
--- a/app/app-styles/fonts.css
+++ /dev/null
@@ -1,27 +0,0 @@
-/* stylelint-disable comment-empty-line-before */
-/* open-sans-regular - latin */
-@font-face {
- font-family: 'Open Sans';
- font-style: normal;
- font-weight: 400;
- font-display: swap;
- src:
- local('Open Sans Regular'),
- local('OpenSans-Regular'),
- url('/fonts/open-sans-v16-latin-regular.woff2') format('woff2'),
- /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('/fonts/open-sans-v16-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
-}
-/* open-sans-700 - latin */
-@font-face {
- font-family: 'Open Sans';
- font-style: normal;
- font-weight: 700;
- font-display: swap;
- src:
- local('Open Sans Bold'),
- local('OpenSans-Bold'),
- url('/fonts/open-sans-v16-latin-700.woff2') format('woff2'),
- /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('/fonts/open-sans-v16-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
-}
diff --git a/app/app-styles/mdbook.css b/app/app-styles/mdbook.css
deleted file mode 100644
index bf67370..0000000
--- a/app/app-styles/mdbook.css
+++ /dev/null
@@ -1,1007 +0,0 @@
-/* stylelint-disable at-rule-empty-line-before, comment-empty-line-before, comment-whitespace-inside, declaration-block-no-redundant-longhand-properties, declaration-empty-line-before, declaration-property-value-no-unknown, font-family-no-duplicate-names, length-zero-no-unit, media-feature-range-notation, no-descending-specificity, property-no-unknown, property-no-vendor-prefix, rule-empty-line-before, shorthand-property-no-redundant-values, value-no-vendor-prefix */
-html,
-body {
- font-family: 'Open Sans', sans-serif;
- color: #333;
-}
-body {
- margin: 0;
- font-size: 1rem;
-}
-code {
- font-family:
- 'Source Code Pro', Consolas, 'Ubuntu Mono', Menlo, 'DejaVu Sans Mono',
- monospace, monospace;
- font-size: 0.875em;
-}
-.left {
- float: left;
-}
-.right {
- float: right;
-}
-.hidden {
- display: none;
-}
-.play-button.hidden {
- display: none;
-}
-h2,
-h3 {
- margin-top: 2.5em;
-}
-h4,
-h5 {
- margin-top: 2em;
-}
-.header + .header h3,
-.header + .header h4,
-.header + .header h5 {
- margin-top: 1em;
-}
-table {
- margin: 0 auto;
- border-collapse: collapse;
-}
-table td {
- padding: 3px 20px;
- border: 1px solid;
-}
-table thead td {
- font-weight: 700;
-}
-.sidebar {
- position: fixed;
- left: 0;
- top: 0;
- bottom: 0;
- width: 300px;
- overflow-y: auto;
- padding: 10px 10px;
- font-size: 0.875em;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-overflow-scrolling: touch;
- -webkit-transition: left 0.5s;
- -moz-transition: left 0.5s;
- -o-transition: left 0.5s;
- -ms-transition: left 0.5s;
- transition: left 0.5s;
-}
-@media only screen and (max-width: 1060px) {
- .sidebar {
- left: -300px;
- }
-}
-.sidebar code {
- line-height: 2em;
-}
-.sidebar-hidden .sidebar {
- left: -300px;
-}
-.sidebar-visible .sidebar {
- left: 0;
-}
-.chapter {
- list-style: none outside none;
- padding-left: 0;
- line-height: 2.2em;
-}
-.chapter li a {
- padding: 5px 0;
- text-decoration: none;
-}
-.chapter li a:hover {
- text-decoration: none;
-}
-.chapter .spacer {
- width: 100%;
- height: 3px;
- margin: 10px 0px;
-}
-.section {
- list-style: none outside none;
- padding-left: 20px;
- line-height: 1.9em;
-}
-.section li {
- -o-text-overflow: ellipsis;
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
-}
-.page-wrapper {
- padding-left: 300px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- min-height: 100%;
- -webkit-transition: padding-left 0.5s;
- -moz-transition: padding-left 0.5s;
- -o-transition: padding-left 0.5s;
- -ms-transition: padding-left 0.5s;
- transition: padding-left 0.5s;
-}
-@media only screen and (max-width: 1060px) {
- .page-wrapper {
- padding-left: 0;
- }
-}
-.sidebar-hidden .page-wrapper {
- padding-left: 0;
-}
-.sidebar-visible .page-wrapper {
- padding-left: 300px;
-}
-.page {
- outline: 0;
- padding: 0 15px;
-}
-.content {
- margin-left: auto;
- margin-right: auto;
- max-width: 750px;
- padding-bottom: 50px;
-}
-.content a {
- text-decoration: none;
-}
-.content a:hover {
- text-decoration: underline;
-}
-.content img {
- max-width: 100%;
-}
-.menu-bar {
- position: relative;
- height: 50px;
-}
-.menu-bar i {
- position: relative;
- margin: 0 10px;
- z-index: 10;
- line-height: 50px;
- -webkit-transition: color 0.5s;
- -moz-transition: color 0.5s;
- -o-transition: color 0.5s;
- -ms-transition: color 0.5s;
- transition: color 0.5s;
-}
-.menu-bar i:hover {
- cursor: pointer;
-}
-.menu-bar .left-buttons {
- float: left;
-}
-.menu-bar .right-buttons {
- float: right;
-}
-.menu-title {
- display: inline-block;
- font-weight: 200;
- font-size: 20px;
- line-height: 50px;
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- text-align: center;
- margin: 0;
- opacity: 0;
- -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
- filter: alpha(opacity=0);
- -webkit-transition: opacity 0.5s ease-in-out;
- -moz-transition: opacity 0.5s ease-in-out;
- -o-transition: opacity 0.5s ease-in-out;
- -ms-transition: opacity 0.5s ease-in-out;
- transition: opacity 0.5s ease-in-out;
-}
-.menu-bar:hover .menu-title {
- opacity: 1;
- -ms-filter: none;
- filter: none;
-}
-.nav-chapters {
- font-size: 2.5em;
- text-align: center;
- text-decoration: none;
- position: fixed;
- top: 50px /* Height of menu-bar */;
- bottom: 0;
- margin: 0;
- max-width: 150px;
- min-width: 90px;
- display: -webkit-box;
- display: -moz-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: box;
- display: flex;
- -webkit-box-pack: center;
- -moz-box-pack: center;
- -o-box-pack: center;
- -ms-flex-pack: center;
- -webkit-justify-content: center;
- justify-content: center;
- -ms-flex-line-pack: center;
- -webkit-align-content: center;
- align-content: center;
- -webkit-box-orient: vertical;
- -moz-box-orient: vertical;
- -o-box-orient: vertical;
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-transition: color 0.5s;
- -moz-transition: color 0.5s;
- -o-transition: color 0.5s;
- -ms-transition: color 0.5s;
- transition: color 0.5s;
-}
-.mobile-nav-chapters {
- display: none;
-}
-.nav-chapters:hover {
- text-decoration: none;
-}
-.previous {
- left: 315px;
- -webkit-transition: left 0.5s;
- -moz-transition: left 0.5s;
- -o-transition: left 0.5s;
- -ms-transition: left 0.5s;
- transition: left 0.5s;
-}
-@media only screen and (max-width: 1060px) {
- .previous {
- left: 15px;
- }
-}
-.next {
- right: 15px;
-}
-.sidebar-hidden .previous {
- left: 15px;
-}
-.sidebar-visible .previous {
- left: 315px;
-}
-.theme-popup {
- position: relative;
- left: 10px;
- z-index: 1000;
- border-radius: 4px;
- font-size: 0.7em;
-}
-.theme-popup .theme {
- margin: 0;
- padding: 2px 10px;
- line-height: 25px;
- white-space: nowrap;
- cursor: pointer;
-}
-.theme-popup .theme:hover:first-child,
-.theme-popup .theme:hover:last-child {
- border-top-left-radius: inherit;
- border-top-right-radius: inherit;
-}
-@media only screen and (max-width: 1250px) {
- .nav-chapters {
- display: none;
- }
- .mobile-nav-chapters {
- font-size: 2.5em;
- text-align: center;
- text-decoration: none;
- max-width: 150px;
- min-width: 90px;
- -webkit-box-pack: center;
- -moz-box-pack: center;
- -o-box-pack: center;
- -ms-flex-pack: center;
- -webkit-justify-content: center;
- justify-content: center;
- -ms-flex-line-pack: center;
- -webkit-align-content: center;
- align-content: center;
- position: relative;
- display: inline-block;
- margin-bottom: 50px;
- border-radius: 5px;
- }
- .next {
- float: right;
- }
- .previous {
- float: left;
- }
-}
-.light {
- color: #333;
- background-color: #fff;
- /* Inline code */
-}
-.light .content .header:link,
-.light .content .header:visited {
- color: #333;
- pointer: cursor;
-}
-.light .content .header:link:hover,
-.light .content .header:visited:hover {
- text-decoration: none;
-}
-.light.sidebar {
- background-color: #fafafa;
- color: #364149;
-}
-.light .chapter li {
- color: #aaa;
-}
-.light .chapter li a {
- color: #364149;
-}
-.light .chapter li .active,
-.light .chapter li a:hover {
- /* Animate color change */
- color: #008cff;
-}
-.light .chapter .spacer {
- background-color: #f4f4f4;
-}
-.light .menu-bar,
-.light .menu-bar:visited,
-.light .nav-chapters,
-.light .nav-chapters:visited,
-.light .mobile-nav-chapters,
-.light .mobile-nav-chapters:visited,
-.light .menu-bar a i {
- color: #ccc;
-}
-.light .menu-bar i:hover,
-.light .nav-chapters:hover,
-.light .mobile-nav-chapters i:hover {
- color: #333;
-}
-.light .mobile-nav-chapters i:hover {
- color: #364149;
-}
-.light .mobile-nav-chapters {
- background-color: #fafafa;
-}
-.light .content a:link,
-.light a:visited,
-.light a > .hljs {
- color: #4183c4;
-}
-.light .theme-popup {
- color: #333;
- background: #fafafa;
- border: 1px solid #ccc;
-}
-.light .theme-popup .theme:hover {
- background-color: #e6e6e6;
-}
-.light .theme-popup .default {
- color: #ccc;
-}
-.light blockquote {
- margin: 20px 0;
- padding: 0 20px;
- color: #333;
- background-color: #f2f7f9;
- border-top: 0.1em solid #e1edf1;
- border-bottom: 0.1em solid #e1edf1;
-}
-.light table td {
- border-color: #f2f2f2;
-}
-.light table tbody tr:nth-child(2n) {
- background: #f7f7f7;
-}
-.light table thead {
- background: #ccc;
-}
-.light table thead td {
- border: none;
-}
-.light table thead tr {
- border: 1px #ccc solid;
-}
-.light :not(pre) > .hljs {
- display: inline-block;
- vertical-align: middle;
- padding: 0.1em 0.3em;
- border-radius: 3px;
- color: #6e6b5e;
-}
-.light a:hover > .hljs {
- text-decoration: underline;
-}
-.light pre {
- position: relative;
-}
-.light pre > .buttons {
- position: absolute;
- z-index: 100;
- right: 5px;
- top: 5px;
- color: #364149;
- cursor: pointer;
-}
-.light pre > .buttons :hover {
- color: #008cff;
-}
-.light pre > .buttons i {
- margin-left: 8px;
-}
-.light pre > .result {
- margin-top: 10px;
-}
-.coal {
- color: #98a3ad;
- background-color: #141617;
- /* Inline code */
-}
-.coal .content .header:link,
-.coal .content .header:visited {
- color: #98a3ad;
- pointer: cursor;
-}
-.coal .content .header:link:hover,
-.coal .content .header:visited:hover {
- text-decoration: none;
-}
-.coal .sidebar {
- background-color: #292c2f;
- color: #a1adb8;
-}
-.coal .chapter li {
- color: #505254;
-}
-.coal .chapter li a {
- color: #a1adb8;
-}
-.coal .chapter li .active,
-.coal .chapter li a:hover {
- /* Animate color change */
- color: #3473ad;
-}
-.coal .chapter .spacer {
- background-color: #393939;
-}
-.coal .menu-bar,
-.coal .menu-bar:visited,
-.coal .nav-chapters,
-.coal .nav-chapters:visited,
-.coal .mobile-nav-chapters,
-.coal .mobile-nav-chapters:visited,
-.coal .menu-bar a i {
- color: #43484d;
-}
-.coal .menu-bar i:hover,
-.coal .nav-chapters:hover,
-.coal .mobile-nav-chapters i:hover {
- color: #b3c0cc;
-}
-.coal .mobile-nav-chapters i:hover {
- color: #a1adb8;
-}
-.coal .mobile-nav-chapters {
- background-color: #292c2f;
-}
-.coal .content a:link,
-.coal a:visited,
-.coal a > .hljs {
- color: #2b79a2;
-}
-.coal .theme-popup {
- color: #98a3ad;
- background: #141617;
- border: 1px solid #43484d;
-}
-.coal .theme-popup .theme:hover {
- background-color: #1f2124;
-}
-.coal .theme-popup .default {
- color: #43484d;
-}
-.coal blockquote {
- margin: 20px 0;
- padding: 0 20px;
- color: #98a3ad;
- background-color: #242637;
- border-top: 0.1em solid #2c2f44;
- border-bottom: 0.1em solid #2c2f44;
-}
-.coal table td {
- border-color: #1f2223;
-}
-.coal table tbody tr:nth-child(2n) {
- background: #1b1d1e;
-}
-.coal table thead {
- background: #3f4649;
-}
-.coal table thead td {
- border: none;
-}
-.coal table thead tr {
- border: 1px #3f4649 solid;
-}
-.coal :not(pre) > .hljs {
- display: inline-block;
- vertical-align: middle;
- padding: 0.1em 0.3em;
- border-radius: 3px;
- color: #c5c8c6;
-}
-.coal a:hover > .hljs {
- text-decoration: underline;
-}
-.coal pre {
- position: relative;
-}
-.coal pre > .buttons {
- position: absolute;
- z-index: 100;
- right: 5px;
- top: 5px;
- color: #a1adb8;
- cursor: pointer;
-}
-.coal pre > .buttons :hover {
- color: #3473ad;
-}
-.coal pre > .buttons i {
- margin-left: 8px;
-}
-.coal pre > .result {
- margin-top: 10px;
-}
-.navy {
- color: #bcbdd0;
- background-color: #161923;
- /* Inline code */
-}
-.navy .content .header:link,
-.navy .content .header:visited {
- color: #bcbdd0;
- pointer: cursor;
-}
-.navy .content .header:link:hover,
-.navy .content .header:visited:hover {
- text-decoration: none;
-}
-.navy .sidebar {
- background-color: #282d3f;
- color: #c8c9db;
-}
-.navy .chapter li {
- color: #505274;
-}
-.navy .chapter li a {
- color: #c8c9db;
-}
-.navy .chapter li .active,
-.navy .chapter li a:hover {
- /* Animate color change */
- color: #2b79a2;
-}
-.navy .chapter .spacer {
- background-color: #2d334f;
-}
-.navy .menu-bar,
-.navy .menu-bar:visited,
-.navy .nav-chapters,
-.navy .nav-chapters:visited,
-.navy .mobile-nav-chapters,
-.navy .mobile-nav-chapters:visited,
-.navy .menu-bar a i {
- color: #737480;
-}
-.navy .menu-bar i:hover,
-.navy .nav-chapters:hover,
-.navy .mobile-nav-chapters i:hover {
- color: #b7b9cc;
-}
-.navy .mobile-nav-chapters i:hover {
- color: #c8c9db;
-}
-.navy .mobile-nav-chapters {
- background-color: #282d3f;
-}
-.navy .content a:link,
-.navy a:visited,
-.navy a > .hljs {
- color: #2b79a2;
-}
-.navy .theme-popup {
- color: #bcbdd0;
- background: #161923;
- border: 1px solid #737480;
-}
-.navy .theme-popup .theme:hover {
- background-color: #282e40;
-}
-.navy .theme-popup .default {
- color: #737480;
-}
-.navy blockquote {
- margin: 20px 0;
- padding: 0 20px;
- color: #bcbdd0;
- background-color: #262933;
- border-top: 0.1em solid #2f333f;
- border-bottom: 0.1em solid #2f333f;
-}
-.navy table td {
- border-color: #1f2331;
-}
-.navy table tbody tr:nth-child(2n) {
- background: #1b1f2b;
-}
-.navy table thead {
- background: #39415b;
-}
-.navy table thead td {
- border: none;
-}
-.navy table thead tr {
- border: 1px #39415b solid;
-}
-.navy :not(pre) > .hljs {
- display: inline-block;
- vertical-align: middle;
- padding: 0.1em 0.3em;
- border-radius: 3px;
- color: #c5c8c6;
-}
-.navy a:hover > .hljs {
- text-decoration: underline;
-}
-.navy pre {
- position: relative;
-}
-.navy pre > .buttons {
- position: absolute;
- z-index: 100;
- right: 5px;
- top: 5px;
- color: #c8c9db;
- cursor: pointer;
-}
-.navy pre > .buttons :hover {
- color: #2b79a2;
-}
-.navy pre > .buttons i {
- margin-left: 8px;
-}
-.navy pre > .result {
- margin-top: 10px;
-}
-.rust {
- color: #262625;
- background-color: #e1e1db;
- /* Inline code */
-}
-.rust .content .header:link,
-.rust .content .header:visited {
- color: #262625;
- pointer: cursor;
-}
-.rust .content .header:link:hover,
-.rust .content .header:visited:hover {
- text-decoration: none;
-}
-.rust .sidebar {
- background-color: #3b2e2a;
- color: #c8c9db;
-}
-.rust .chapter li {
- color: #505254;
-}
-.rust .chapter li a {
- color: #c8c9db;
-}
-.rust .chapter li .active,
-.rust .chapter li a:hover {
- /* Animate color change */
- color: #e69f67;
-}
-.rust .chapter .spacer {
- background-color: #45373a;
-}
-.rust .menu-bar,
-.rust .menu-bar:visited,
-.rust .nav-chapters,
-.rust .nav-chapters:visited,
-.rust .mobile-nav-chapters,
-.rust .mobile-nav-chapters:visited,
-.rust .menu-bar a i {
- color: #737480;
-}
-.rust .menu-bar i:hover,
-.rust .nav-chapters:hover,
-.rust .mobile-nav-chapters i:hover {
- color: #262625;
-}
-.rust .mobile-nav-chapters i:hover {
- color: #c8c9db;
-}
-.rust .mobile-nav-chapters {
- background-color: #3b2e2a;
-}
-.rust .content a:link,
-.rust a:visited,
-.rust a > .hljs {
- color: #2b79a2;
-}
-.rust .theme-popup {
- color: #262625;
- background: #e1e1db;
- border: 1px solid #b38f6b;
-}
-.rust .theme-popup .theme:hover {
- background-color: #99908a;
-}
-.rust .theme-popup .default {
- color: #737480;
-}
-.rust blockquote {
- margin: 20px 0;
- padding: 0 20px;
- color: #262625;
- background-color: #c1c1bb;
- border-top: 0.1em solid #b8b8b1;
- border-bottom: 0.1em solid #b8b8b1;
-}
-.rust table td {
- border-color: #d7d7cf;
-}
-.rust table tbody tr:nth-child(2n) {
- background: #dbdbd4;
-}
-.rust table thead {
- background: #b3a497;
-}
-.rust table thead td {
- border: none;
-}
-.rust table thead tr {
- border: 1px #b3a497 solid;
-}
-.rust :not(pre) > .hljs {
- display: inline-block;
- vertical-align: middle;
- padding: 0.1em 0.3em;
- border-radius: 3px;
- color: #6e6b5e;
-}
-.rust a:hover > .hljs {
- text-decoration: underline;
-}
-.rust pre {
- position: relative;
-}
-.rust pre > .buttons {
- position: absolute;
- z-index: 100;
- right: 5px;
- top: 5px;
- color: #c8c9db;
- cursor: pointer;
-}
-.rust pre > .buttons :hover {
- color: #e69f67;
-}
-.rust pre > .buttons i {
- margin-left: 8px;
-}
-.rust pre > .result {
- margin-top: 10px;
-}
-.ayu {
- color: #c5c5c5;
- background-color: #0f1419;
- /* Inline code */
-}
-.ayu .content .header:link,
-.ayu .content .header:visited {
- color: #c5c5c5;
- pointer: cursor;
-}
-.ayu .content .header:link:hover,
-.ayu .content .header:visited:hover {
- text-decoration: none;
-}
-.ayu .sidebar {
- background-color: #14191f;
- color: #c8c9db;
-}
-.ayu .chapter li {
- color: #5c6773;
-}
-.ayu .chapter li a {
- color: #c8c9db;
-}
-.ayu .chapter li .active,
-.ayu .chapter li a:hover {
- /* Animate color change */
- color: #ffb454;
-}
-.ayu .chapter .spacer {
- background-color: #2d334f;
-}
-.ayu .menu-bar,
-.ayu .menu-bar:visited,
-.ayu .nav-chapters,
-.ayu .nav-chapters:visited,
-.ayu .mobile-nav-chapters,
-.ayu .mobile-nav-chapters:visited,
-.ayu .menu-bar a i {
- color: #737480;
-}
-.ayu .menu-bar i:hover,
-.ayu .nav-chapters:hover,
-.ayu .mobile-nav-chapters i:hover {
- color: #b7b9cc;
-}
-.ayu .mobile-nav-chapters i:hover {
- color: #c8c9db;
-}
-.ayu .mobile-nav-chapters {
- background-color: #14191f;
-}
-.ayu .content a:link,
-.ayu a:visited,
-.ayu a > .hljs {
- color: #0096cf;
-}
-.ayu .theme-popup {
- color: #c5c5c5;
- background: #14191f;
- border: 1px solid #5c6773;
-}
-.ayu .theme-popup .theme:hover {
- background-color: #191f26;
-}
-.ayu .theme-popup .default {
- color: #737480;
-}
-.ayu blockquote {
- margin: 20px 0;
- padding: 0 20px;
- color: #c5c5c5;
- background-color: #262933;
- border-top: 0.1em solid #2f333f;
- border-bottom: 0.1em solid #2f333f;
-}
-.ayu table td {
- border-color: #182028;
-}
-.ayu table tbody tr:nth-child(2n) {
- background: #141b22;
-}
-.ayu table thead {
- background: #324354;
-}
-.ayu table thead td {
- border: none;
-}
-.ayu table thead tr {
- border: 1px #324354 solid;
-}
-.ayu :not(pre) > .hljs {
- display: inline-block;
- vertical-align: middle;
- padding: 0.1em 0.3em;
- border-radius: 3px;
- color: #ffb454;
-}
-.ayu a:hover > .hljs {
- text-decoration: underline;
-}
-.ayu pre {
- position: relative;
-}
-.ayu pre > .buttons {
- position: absolute;
- z-index: 100;
- right: 5px;
- top: 5px;
- color: #c8c9db;
- cursor: pointer;
-}
-.ayu pre > .buttons :hover {
- color: #ffb454;
-}
-.ayu pre > .buttons i {
- margin-left: 8px;
-}
-.ayu pre > .result {
- margin-top: 10px;
-}
-@media only print {
- #sidebar,
- #menu-bar,
- .nav-chapters,
- .mobile-nav-chapters {
- display: none;
- }
- #page-wrapper {
- left: 0;
- overflow-y: initial;
- }
- #page-wrapper.page-wrapper {
- padding-left: 0px;
- }
- #content {
- max-width: none;
- margin: 0;
- padding: 0;
- }
- .page {
- overflow-y: initial;
- }
- code {
- background-color: #666;
- border-radius: 5px;
- /* Force background to be printed in Chrome */
- -webkit-print-color-adjust: exact;
- }
- pre > .buttons {
- z-index: 2;
- }
- a,
- a:visited,
- a:active,
- a:hover {
- color: #4183c4;
- text-decoration: none;
- }
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- page-break-inside: avoid;
- page-break-after: avoid;
- /*break-after: avoid*/
- }
- pre,
- code {
- page-break-inside: avoid;
- white-space: pre-wrap /* CSS 3 */;
- white-space: -moz-pre-wrap /* Mozilla, since 1999 */;
- white-space: -pre-wrap /* Opera 4-6 */;
- white-space: -o-pre-wrap /* Opera 7 */;
- word-wrap: break-word /* Internet Explorer 5.5+ */;
- }
-}
-.tooltiptext {
- position: absolute;
- visibility: hidden;
- color: #fff;
- background-color: #333;
- -webkit-transform: translateX(-50%);
- -moz-transform: translateX(-50%);
- -o-transform: translateX(-50%);
- -ms-transform: translateX(-50%);
- transform: translateX(
- -50%
- ); /* Center by moving tooltip 50% of its width left */
- left: -8px; /* Half of the width of the icon */
- top: -35px;
- font-size: 0.8em;
- text-align: center;
- border-radius: 6px;
- padding: 5px 8px;
- margin: 5px;
- z-index: 1000;
-}
-.tooltipped .tooltiptext {
- visibility: visible;
-}
diff --git a/app/app-styles/variables.css b/app/app-styles/variables.css
deleted file mode 100644
index 3b6b2d3..0000000
--- a/app/app-styles/variables.css
+++ /dev/null
@@ -1,254 +0,0 @@
-/* stylelint-disable color-function-notation, color-hex-length, custom-property-empty-line-before, hue-degree-notation */
-
-/* Globals */
-
-:root {
- --sidebar-width: 300px;
- --page-padding: 15px;
- --content-max-width: 750px;
- --menu-bar-height: 50px;
-}
-
-/* Themes */
-
-.ayu {
- --bg: hsl(210, 25%, 8%);
- --fg: #c5c5c5;
-
- --sidebar-bg: #14191f;
- --sidebar-fg: #c8c9db;
- --sidebar-non-existant: #5c6773;
- --sidebar-active: #ffb454;
- --sidebar-spacer: #2d334f;
-
- --scrollbar: var(--sidebar-fg);
-
- --icons: #737480;
- --icons-hover: #b7b9cc;
-
- --links: #0096cf;
-
- --inline-code-color: #ffb454;
-
- --theme-popup-bg: #14191f;
- --theme-popup-border: #5c6773;
- --theme-hover: #191f26;
-
- --quote-bg: hsl(226, 15%, 17%);
- --quote-border: hsl(226, 15%, 22%);
-
- --table-border-color: hsl(210, 25%, 13%);
- --table-header-bg: hsl(210, 25%, 28%);
- --table-alternate-bg: hsl(210, 25%, 11%);
-
- --searchbar-border-color: #848484;
- --searchbar-bg: #424242;
- --searchbar-fg: #fff;
- --searchbar-shadow-color: #d4c89f;
- --searchresults-header-fg: #666;
- --searchresults-border-color: #888;
- --searchresults-li-bg: #252932;
- --search-mark-bg: #e3b171;
-}
-
-.coal {
- --bg: hsl(200, 7%, 8%);
- --fg: #98a3ad;
-
- --sidebar-bg: #292c2f;
- --sidebar-fg: #a1adb8;
- --sidebar-non-existant: #505254;
- --sidebar-active: #3473ad;
- --sidebar-spacer: #393939;
-
- --scrollbar: var(--sidebar-fg);
-
- --icons: #43484d;
- --icons-hover: #b3c0cc;
-
- --links: #2b79a2;
-
- --inline-code-color: #c5c8c6;
-
- --theme-popup-bg: #141617;
- --theme-popup-border: #43484d;
- --theme-hover: #1f2124;
-
- --quote-bg: hsl(234, 21%, 18%);
- --quote-border: hsl(234, 21%, 23%);
-
- --table-border-color: hsl(200, 7%, 13%);
- --table-header-bg: hsl(200, 7%, 28%);
- --table-alternate-bg: hsl(200, 7%, 11%);
-
- --searchbar-border-color: #aaa;
- --searchbar-bg: #b7b7b7;
- --searchbar-fg: #000;
- --searchbar-shadow-color: #aaa;
- --searchresults-header-fg: #666;
- --searchresults-border-color: #98a3ad;
- --searchresults-li-bg: #2b2b2f;
- --search-mark-bg: #355c7d;
-}
-
-.light {
- --bg: hsl(0, 0%, 100%);
- --fg: hsl(0, 0%, 0%);
-
- --sidebar-bg: #fafafa;
- --sidebar-fg: hsl(0, 0%, 0%);
- --sidebar-non-existant: #aaaaaa;
- --sidebar-active: #1f1fff;
- --sidebar-spacer: #f4f4f4;
-
- --scrollbar: #8f8f8f;
-
- --icons: #747474;
- --icons-hover: #000000;
-
- --links: #20609f;
-
- --inline-code-color: #301900;
-
- --theme-popup-bg: #fafafa;
- --theme-popup-border: #cccccc;
- --theme-hover: #e6e6e6;
-
- --quote-bg: hsl(197, 37%, 96%);
- --quote-border: hsl(197, 37%, 91%);
-
- --table-border-color: hsl(0, 0%, 95%);
- --table-header-bg: hsl(0, 0%, 80%);
- --table-alternate-bg: hsl(0, 0%, 97%);
-
- --searchbar-border-color: #aaa;
- --searchbar-bg: #fafafa;
- --searchbar-fg: #000;
- --searchbar-shadow-color: #aaa;
- --searchresults-header-fg: #666;
- --searchresults-border-color: #888;
- --searchresults-li-bg: #e4f2fe;
- --search-mark-bg: #a2cff5;
-}
-
-.navy {
- --bg: hsl(226, 23%, 11%);
- --fg: #bcbdd0;
-
- --sidebar-bg: #282d3f;
- --sidebar-fg: #c8c9db;
- --sidebar-non-existant: #505274;
- --sidebar-active: #2b79a2;
- --sidebar-spacer: #2d334f;
-
- --scrollbar: var(--sidebar-fg);
-
- --icons: #737480;
- --icons-hover: #b7b9cc;
-
- --links: #2b79a2;
-
- --inline-code-color: #c5c8c6;
-
- --theme-popup-bg: #161923;
- --theme-popup-border: #737480;
- --theme-hover: #282e40;
-
- --quote-bg: hsl(226, 15%, 17%);
- --quote-border: hsl(226, 15%, 22%);
-
- --table-border-color: hsl(226, 23%, 16%);
- --table-header-bg: hsl(226, 23%, 31%);
- --table-alternate-bg: hsl(226, 23%, 14%);
-
- --searchbar-border-color: #aaa;
- --searchbar-bg: #aeaec6;
- --searchbar-fg: #000;
- --searchbar-shadow-color: #aaa;
- --searchresults-header-fg: #5f5f71;
- --searchresults-border-color: #5c5c68;
- --searchresults-li-bg: #242430;
- --search-mark-bg: #a2cff5;
-}
-
-.rust {
- --bg: hsl(60, 9%, 87%);
- --fg: #262625;
-
- --sidebar-bg: #3b2e2a;
- --sidebar-fg: #c8c9db;
- --sidebar-non-existant: #505254;
- --sidebar-active: #e69f67;
- --sidebar-spacer: #45373a;
-
- --scrollbar: var(--sidebar-fg);
-
- --icons: #737480;
- --icons-hover: #262625;
-
- --links: #2b79a2;
-
- --inline-code-color: #6e6b5e;
-
- --theme-popup-bg: #e1e1db;
- --theme-popup-border: #b38f6b;
- --theme-hover: #99908a;
-
- --quote-bg: hsl(60, 5%, 75%);
- --quote-border: hsl(60, 5%, 70%);
-
- --table-border-color: hsl(60, 9%, 82%);
- --table-header-bg: #b3a497;
- --table-alternate-bg: hsl(60, 9%, 84%);
-
- --searchbar-border-color: #aaa;
- --searchbar-bg: #fafafa;
- --searchbar-fg: #000;
- --searchbar-shadow-color: #aaa;
- --searchresults-header-fg: #666;
- --searchresults-border-color: #888;
- --searchresults-li-bg: #dec2a2;
- --search-mark-bg: #e69f67;
-}
-
-@media (prefers-color-scheme: dark) {
- .light.no-js {
- --bg: hsl(200, 7%, 8%);
- --fg: #98a3ad;
-
- --sidebar-bg: #292c2f;
- --sidebar-fg: #a1adb8;
- --sidebar-non-existant: #505254;
- --sidebar-active: #3473ad;
- --sidebar-spacer: #393939;
-
- --scrollbar: var(--sidebar-fg);
-
- --icons: #43484d;
- --icons-hover: #b3c0cc;
-
- --links: #2b79a2;
-
- --inline-code-color: #c5c8c6;
-
- --theme-popup-bg: #141617;
- --theme-popup-border: #43484d;
- --theme-hover: #1f2124;
-
- --quote-bg: hsl(234, 21%, 18%);
- --quote-border: hsl(234, 21%, 23%);
-
- --table-border-color: hsl(200, 7%, 13%);
- --table-header-bg: hsl(200, 7%, 28%);
- --table-alternate-bg: hsl(200, 7%, 11%);
-
- --searchbar-border-color: #aaa;
- --searchbar-bg: #b7b7b7;
- --searchbar-fg: #000;
- --searchbar-shadow-color: #aaa;
- --searchresults-header-fg: #666;
- --searchresults-border-color: #98a3ad;
- --searchresults-li-bg: #2b2b2f;
- --search-mark-bg: #355c7d;
- }
-}
diff --git a/app/components/rfc-card.gjs b/app/components/rfc-card.gjs
new file mode 100644
index 0000000..a58b01f
--- /dev/null
+++ b/app/components/rfc-card.gjs
@@ -0,0 +1,25 @@
+import Component from '@glimmer/component';
+
+export default class RfcCard extends Component {
+
+
+
{{this.getTitle}}
+
Identifiers provides infrastructure for handling identity within ember-data to satisfy requirements around improved caching, serializability, replication, and handling of remote data.
+ This concept would parallel a similar structure proposed for json-api resource identifier lid property drafted for version 1.2 of the json-api spec.
+ In doing so we provide a framework for future RFCs and/or addons to address many common feature requests.
+
+
+
+
+
+
+
+get getURL() {
+ return `id/${this.args.title}`;
+ }
+
+ get getTitle() {
+ const [number, ...title] = this.args.title.split('-');
+ return `#${Number(number)} ${title.join(' ')}`
+ }
+}
diff --git a/app/router.js b/app/router.js
index 0e35511..adaaa0e 100644
--- a/app/router.js
+++ b/app/router.js
@@ -8,4 +8,18 @@ export default class Router extends EmberRouter {
Router.map(function () {
this.route('rfc', { path: 'id/:id' });
+ this.route('stages', function() {
+ this.route('proposed');
+ this.route('exploring');
+ this.route('accepted');
+ this.route('released');
+ this.route('recommended');
+ this.route('discontinued');
+ this.route('closed');
+ this.route('ready-for-release');
+ });
+ this.route('create-rfc');
+ this.route('role-core-team');
+ this.route('rfcs-input');
+ this.route('rfcs-help');
});
diff --git a/app/routes/create-rfc.js b/app/routes/create-rfc.js
new file mode 100644
index 0000000..da4bb87
--- /dev/null
+++ b/app/routes/create-rfc.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class CreateRfcRoute extends Route {}
diff --git a/app/routes/rfcs-help.js b/app/routes/rfcs-help.js
new file mode 100644
index 0000000..925091b
--- /dev/null
+++ b/app/routes/rfcs-help.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class RfcsHelpRoute extends Route {}
diff --git a/app/routes/rfcs-input.js b/app/routes/rfcs-input.js
new file mode 100644
index 0000000..135c3d1
--- /dev/null
+++ b/app/routes/rfcs-input.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class RfcsInputRoute extends Route {}
diff --git a/app/routes/role-core-team.js b/app/routes/role-core-team.js
new file mode 100644
index 0000000..a1d10e1
--- /dev/null
+++ b/app/routes/role-core-team.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class RoleCoreTeamRoute extends Route {}
diff --git a/app/routes/stages.js b/app/routes/stages.js
new file mode 100644
index 0000000..4c1deac
--- /dev/null
+++ b/app/routes/stages.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class StagesRoute extends Route {}
diff --git a/app/routes/stages/accepted.js b/app/routes/stages/accepted.js
new file mode 100644
index 0000000..d517d26
--- /dev/null
+++ b/app/routes/stages/accepted.js
@@ -0,0 +1,8 @@
+import Route from '@ember/routing/route';
+import toc from 'rfcs-app-toc-builder:toc.json';
+
+export default class StagesAcceptedRoute extends Route {
+async model() {
+ return toc.stageLinks["accepted"];
+ }
+}
diff --git a/app/routes/stages/closed.js b/app/routes/stages/closed.js
new file mode 100644
index 0000000..7f3cb5e
--- /dev/null
+++ b/app/routes/stages/closed.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class StagesClosedRoute extends Route {}
diff --git a/app/routes/stages/discontinued.js b/app/routes/stages/discontinued.js
new file mode 100644
index 0000000..99e3fa6
--- /dev/null
+++ b/app/routes/stages/discontinued.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class StagesDiscontinuedRoute extends Route {}
diff --git a/app/routes/stages/exploring.js b/app/routes/stages/exploring.js
new file mode 100644
index 0000000..9025d59
--- /dev/null
+++ b/app/routes/stages/exploring.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class StagesExploringRoute extends Route {}
diff --git a/app/routes/stages/proposed.js b/app/routes/stages/proposed.js
new file mode 100644
index 0000000..d066c2e
--- /dev/null
+++ b/app/routes/stages/proposed.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class StagesProposedRoute extends Route {}
diff --git a/app/routes/stages/ready-for-release.js b/app/routes/stages/ready-for-release.js
new file mode 100644
index 0000000..424de3a
--- /dev/null
+++ b/app/routes/stages/ready-for-release.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class StagesReadyForReleaseRoute extends Route {}
diff --git a/app/routes/stages/recommended.js b/app/routes/stages/recommended.js
new file mode 100644
index 0000000..c81b976
--- /dev/null
+++ b/app/routes/stages/recommended.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class StagesRecommendedRoute extends Route {}
diff --git a/app/routes/stages/released.js b/app/routes/stages/released.js
new file mode 100644
index 0000000..f100bf7
--- /dev/null
+++ b/app/routes/stages/released.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class StagesReleasedRoute extends Route {}
diff --git a/app/templates/application.gjs b/app/templates/application.gjs
index 3b61d80..31bbf9a 100644
--- a/app/templates/application.gjs
+++ b/app/templates/application.gjs
@@ -1,21 +1,72 @@
import { pageTitle } from 'ember-page-title';
import { LinkTo } from '@ember/routing';
-import GroupedToc from 'rfcs-app/components/grouped-toc';
-
+import EsHeader from 'ember-styleguide/components/es-header';
+import EsSidebar from 'ember-styleguide/components/es-sidebar';
{{pageTitle "Ember.js RFCs"}}
+
+
diff --git a/app/templates/create-rfc.gjs b/app/templates/create-rfc.gjs
new file mode 100644
index 0000000..6014955
--- /dev/null
+++ b/app/templates/create-rfc.gjs
@@ -0,0 +1,134 @@
+import { pageTitle } from 'ember-page-title';
+import { LinkTo } from '@ember/routing';
+
+ {{pageTitle "Creating an RFC"}}
+ Creating an RFC
+ You need to follow this process if you intend to make "substantial" changes
+ to Ember, Ember Data, Ember CLI, their documentation, or any other projects
+ under the purview of the Ember core teams. What constitutes a "substantial"
+ change is evolving based on community norms, but may include the following:
+
+
+ A new feature that creates new API surface area, and would require a
+ feature flag if introduced.
+
+ The removal of features that already shipped as part of the release
+ channel.
+
+ The introduction of new idiomatic usage or conventions, even if they do
+ not include code changes to Ember itself.
+
+ Some changes do not require an RFC:
+
+ Rephrasing, reorganizing or refactoring
+ Addition or removal of warnings
+
+ Additions that strictly improve objective, numerical quality criteria
+ (speedup, better browser support)
+
+ Additions only likely to be noticed by other implementors-of-Ember,
+ invisible to users-of-Ember.
+
+ If you submit a pull request to implement a new feature without going
+ through the RFC process, it may be closed with a polite request to submit an
+ RFC first.
+
+ It's often helpful to get feedback on your concept before diving into the
+ level of API design detail required for an RFC. You may open an issue on
+ this repo to start a high-level discussion, with the goal of eventually
+ formulating an RFC pull request with the specific implementation design. We
+ also highly recommend sharing drafts of RFCs in #dev-rfc on the Ember
+ Discord for early feedback.
+
+ For more on the RFC process and stages, check out the
+ RFC stages guide
+ How to create a new RFC
+
+ Fork the RFC repo http://github.com/emberjs/rfcs
+
+ Copy the appropriate template. For most RFCs, this is 0000-template.md,
+ for deprecation RFCs it is deprecation-template.md. Copy the template file
+ to text/0000-my-feature.md, where 'my-feature' is descriptive.
+ Don't assign an RFC number yet.
+
+ Fill in the RFC. Put care into the details: RFCs that do not present
+ convincing motivation, demonstrate understanding of the impact of the
+ design, or are disingenuous about the drawbacks or alternatives tend to be
+ poorly-received.
+
+ Fill in the relevant core teams. Use the table below to map from projects
+ to teams.
+
+ Submit a pull request. As a pull request the RFC will receive design
+ feedback from the larger community, and the author should be prepared to
+ revise it in response. The RFC is now in the Proposed stage.
+
+ Find a champion on the relevant core team. The champion is responsible for
+ shepherding the RFC through the RFC process and representing it in core
+ team meetings.
+
+ Update the pull request to add the number of the PR to the filename and
+ add a link to the PR in the header of the RFC.
+
+ Build consensus and integrate feedback. RFCs that have broad support are
+ much more likely to make progress than those that don't receive any
+ comments.
+
+ From here, the RFC moves to the Exploring stage or Closed in the process
+ explained in Stages.
+
+
+
+
+
+ Core Team
+ Project/Topics
+ Github Team
+
+
+
+
+ Ember.js
+ Ember.js
+ @emberjs/Framework
+
+
+ Ember Data
+ Ember Data
+ @emberjs/ember-data-core
+
+
+ Ember CLI
+ Ember CLI
+ @emberjs/cli
+
+
+ Learning
+ Documentation, Website, learning experiences
+ @emberjs/learning-core
+
+
+ TypeScript
+ TypeScript integration and design
+ @emberjs/typescript-core
+
+
+ Steering
+ Governance
+ @emberjs/steering
+
+
+
+ RFC champion
+ For every RFC, you'll need to find a champion from the relevant core team.
+ This person is responsible for representing the RFC in team meetings and
+ guiding it through the various stages. Their responsibilities include
+ helping the team reach consensus, ensuring the RFC adheres to the process,
+ and supporting planning and implementation. A champion can step down before
+ the RFC is accepted and may also designate a replacement at any time.
The best way to find a champion is by engaging in the #dev-rfc channel on the
+ Ember Discord, which is dedicated to RFC discussions. Sharing early drafts
+ there is highly encouraged as it's a great way to receive initial feedback
+ and connect with potential champions. You can also request a champion by
+ opening an issue or noting it directly in the RFC.
+
diff --git a/app/templates/index.gjs b/app/templates/index.gjs
index 3391276..bbfbd18 100644
--- a/app/templates/index.gjs
+++ b/app/templates/index.gjs
@@ -1,9 +1,6 @@
-import MarkdownToHtml from 'ember-cli-showdown/components/markdown-to-html';
-
-
-
-
-
+
+
Welcome to the Ember.js RFCs app
+
This is the place to find what is currently cooking within Ember.js. Check out the documentation on our RFC process and what RFCs need your input!
diff --git a/app/templates/rfcs-help.gjs b/app/templates/rfcs-help.gjs
new file mode 100644
index 0000000..983d198
--- /dev/null
+++ b/app/templates/rfcs-help.gjs
@@ -0,0 +1,6 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "RfcsHelp"}}
+ {{outlet}}
+
diff --git a/app/templates/rfcs-input.gjs b/app/templates/rfcs-input.gjs
new file mode 100644
index 0000000..80c20ea
--- /dev/null
+++ b/app/templates/rfcs-input.gjs
@@ -0,0 +1,6 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "RfcsInput"}}
+ {{outlet}}
+
diff --git a/app/templates/role-core-team.gjs b/app/templates/role-core-team.gjs
new file mode 100644
index 0000000..ed06499
--- /dev/null
+++ b/app/templates/role-core-team.gjs
@@ -0,0 +1,46 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "Role of Core Team"}}
+ The Role of Core Team Members
+
+
+ Each Ember core team plays a vital part in reviewing and guiding RFCs. If
+ your RFC touches on a specific area—like Ember Data, Learning, or
+ Framework, the relevant team is responsible for reviewing your proposal. Make
+ sure you've listed the correct teams in the
+ “Relevant Team(s)”
+ section of your RFC front matter. This helps ensure it reaches the right
+ people.
+
+
+
+ During the review process, core team members provide feedback, suggest
+ improvements, and help shape the proposal. This is the time for in-depth
+ discussion—teams may challenge, endorse, or refine your ideas to make sure
+ they align with Ember's direction and standards.
+
+
+
+ When an RFC is ready to move into the
+ Ready for Release
+ stage, the relevant core teams review the proposal one final time
+ before it moves forward.
+
+
+ About Champions
+
+ Every RFC needs a champion from one of the core teams. This person
+ represents your RFC in team meetings and helps it progress through the
+ stages. Their role includes:
+
+
+ Helping the team reach consensus to move the RFC forward.
+ Ensuring your RFC follows the proper process.
+ Supporting planning and implementation once the RFC is accepted.
+
+
+ A champion can step down before the RFC is accepted and may also find
+ someone else to take over at any time.
+
+
diff --git a/app/templates/stages/accepted.gjs b/app/templates/stages/accepted.gjs
new file mode 100644
index 0000000..6f446c7
--- /dev/null
+++ b/app/templates/stages/accepted.gjs
@@ -0,0 +1,12 @@
+import { pageTitle } from 'ember-page-title';
+import RfcCard from '../../components/rfc-card';
+
+ {{pageTitle "Accepted"}}
+ Accepted
+ The Accepted stage is a phase where we need to start builing the implementation of the RFCs. See the list of accepted RFCs below.
+
+ {{#each @model as | rfc | }}
+
+ {{/each}}
+
+
diff --git a/app/templates/stages/closed.gjs b/app/templates/stages/closed.gjs
new file mode 100644
index 0000000..e587b81
--- /dev/null
+++ b/app/templates/stages/closed.gjs
@@ -0,0 +1,6 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "Closed"}}
+ Don't know what's up definition of RFR
+
diff --git a/app/templates/stages/discontinued.gjs b/app/templates/stages/discontinued.gjs
new file mode 100644
index 0000000..9f30f65
--- /dev/null
+++ b/app/templates/stages/discontinued.gjs
@@ -0,0 +1,7 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "Discontinued"}}
+ Don't know what's up definition of RFR
+
+
diff --git a/app/templates/stages/exploring.gjs b/app/templates/stages/exploring.gjs
new file mode 100644
index 0000000..a4ce3bb
--- /dev/null
+++ b/app/templates/stages/exploring.gjs
@@ -0,0 +1,6 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "Exploring"}}
+ Don't know what's up definition of RFR
+
diff --git a/app/templates/stages/index.gjs b/app/templates/stages/index.gjs
new file mode 100644
index 0000000..c0a17fd
--- /dev/null
+++ b/app/templates/stages/index.gjs
@@ -0,0 +1,225 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "Stages"}}
+
+
+
RFC stages
+
The RFC ("request for comments") process is how Ember designs and
+ achieves consensus on "substantial" proposed changes. The process is
+ intended to provide a consistent and controlled path for new features
+ and changes to enter the framework. RFCs can be created by
+ any member
+ of the community.
+
When an RFC is created and implemented it goes through six stages,
+ proposed, exploring, accepted, ready-for-release, released and
+ recommended. There are two statuses for when RFCs don't move forward,
+ discontinued and closed.
+
+
For certain stage advancements, a final comment period (FCP) is required. This is a period lasting 7 days. The beginning of this period will be signaled with a comment and tag on the RFC's pull request. Furthermore, a message will be posted in #news-and-announcements on Ember Discord to attract the community's attention.
+
An RFC can be modified based upon feedback from the core teams and community during the final comment period. Significant modifications may trigger a new final comment period. At the end of a successful FCP, the RFC moves into the next stage. An RFC may be closed or discontinued by the core teams after public discussion has settled and comments have been made summarizing the rationale for closing. The RFC will enter a "final comment period to close" lasting 7 days. At the end of the "FCP to close" period, the PR will be closed. An RFC author may withdraw their own RFC by closing it themselves.
+
+
+
+ Stage
+ Description
+ Requires FCP to enter?
+
+
+
+
+ 0 - Proposed
+ A proposal for a change to Ember or its processes that is
+ offered for community and team evaluation.
+ no
+
+
+ 1 - Exploring
+ An RFC deemed worth pursuing but in need of refinement.
+ no
+
+
+ 2 - Accepted
+ A fully specified RFC. Waiting for or in the process of
+ implementation.
+ yes
+
+
+ 3 - Ready for Release
+ The implementation of the RFC is complete, including learning
+ materials.
+ yes
+
+
+ 4 - Released
+ The work is published. If it is codebase-related work, it is in
+ a stable version of the relevant package(s).
+ no
+
+
+ 5 - Recommended
+ The feature/resource is recommended for general use.
+ yes
+
+
+
+
+
+
Proposed
+
Proposed RFCs are opened as pull requests to the RFC repository.
+ Anybody may create an RFC. The format should follow the templates in the
+ RFC repository.
+
An RFC's number is the number of it's original proposal PR.
+
From "Proposed" an RFC may move to Exploring, or Closed stages. To move
+ to Closed an FCP is required as in the existing process. A "Proposed"
+ RFC may be moved to "Exploring" by consensus of the relevant team(s)
+ without an FCP. See Exploring.
+
Exploring
+
+
An Exploring RFC is one the Ember team believes should be pursued, but
+ the RFC may still need some more work, discussion, answers to open
+ questions, and/or a champion before it can move to the next stage.
+
+
An RFC is moved into Exploring with consensus of the relevant teams.
+ The relevant team expects to spend time helping to refine the proposal.
+ The RFC remains a PR and will have an Exploring label applied.
+
+
An Exploring RFC that is successfully completed can move to Accepted
+ with an FCP is required as in the existing process. It may also be moved
+ to Closed with an FCP.
+
Accepted
+
+
An RFC that has been "accepted" has complete prose and has successfully
+ passed through an "FCP to Accept" period in which the community has
+ weighed in and consensus has been achieved on the direction. The
+ relevant teams believe that the proposal is well-specified and ready for
+ implementation. The RFC has a champion within one of the relevant teams.
+
+
If there are unanswered questions, we have outlined them and expect
+ that they will be answered before Ready for Release.
+
+
When an RFC is merged and moved to "Accepted", a new PR will be opened
+ to move it to Ready for Release. This PR should be used to track the
+ implementation progress and gain consensus to move to the next stage.
+
Ready for Release
+
+
The implementation is complete according to plan outlined in the RFC,
+ and is in harmony with any changes in Ember that have occurred since the
+ RFC was first written. This includes any necessary learning materials.
+ At this stage, features or deprecations may be available for use behind
+ a feature flag, or with an optional package, etc. The team reviews the
+ work to determine when it can be included in a stable release. For
+ codebase changes, there are no open questions that are anticipated to
+ require breaking changes; the Ember team is ready to commit to the
+ stability of any interfaces exposed by the current implementation of the
+ feature. Today, this would be the "go/no-go" decision by a particular
+ team.
+
+
This stage should include a list of criteria for determining when the
+ proposal can be considered Recommended after being Released.
+
+
A PR is opened on the repo (see Accepted) to move an accepted RFC into
+ this stage. An FCP is required to move into this stage.
+
+
Each Ember core team will be requested as a reviewer on the PR to move
+ into this stage. A representative of each team adds a review. If a team
+ does not respond to the request, and after the conclusion of the FCP, it
+ is assumed that the release may proceed.
+
Released
+
The work is published. If it is codebase-related work, it is in a
+ stable version of the relevant package(s). If there are any critical
+ deviations from the original RFC, they are briefly noted at the top of
+ the RFC.
+
If the work for an RFC is spread across multiple releases of Ember or
+ other packages, the RFC is considered to be in the Released stage when
+ all features are available in stable releases and those packages and
+ versions are noted in the RFC frontmatter.
+
+
Ember's RFC process can be used for process and work plans that are not
+ about code. Some examples include Roadmap RFCs, changes to the RFC
+ process itself, and changes to learning resources. When such an RFC is a
+ candidate for Released, the work should be shipped as described, and the
+ result should presented to the team with the intent of gathering
+ feedback about whether anything is missing. If there is agreement that
+ the work is complete, the RFC may be marked "Released" and a date is
+ provided instead of a version.
+
+
An RFC is moved into "Released" when the above is verified by consensus
+ of the relevant team(s) via a PR to update the stage.
+
Recommended
+
+
The "Recommended" stage is the final milestone for an RFC. It provides
+ a signal to the wider community to indicate that a feature has been put
+ through its ecosystem paces and is ready to use.
+
+
The "Recommended" stage is most important for suites of features that
+ are designed as a number of separate RFCs. It allows the Ember
+ maintainers to stabilize individual features once they are technically
+ feature complete, an important goal for maintaining technical velocity.
+
+
To reach the "Recommended" stage, the following should be true:
+
+ If appropriate, the feature is integrated into the tutorial and the
+ guides prose. API documentation is polished and updates are carried
+ through to other areas of API docs that may not directly pertain to
+ the feature.
+
+ If the proposal replaces an existing feature, the addon ecosystem has
+ largely updated to work with both old and new features.
+ If the proposal updates or replaces an existing feature,
+ high-quality codemods are available
+ If needed, Ember debugging tools as well as popular IDE support have
+ been updated to support the feature.
+
+ If the feature is part of a suite of features that were designed to
+ work together for best ergonomics, the other features are also ready
+ to be "Recommended".
+ Any criteria for "Recommended" for this proposal that were
+ established in the Ready For Release stage have been met.
+
+
+
An RFC is moved into "Recommended" via PR to update the stage. An FCP
+ is required to enter this stage. Multiple RFCs may be moved as a batch
+ into "Recommended" with the same PR.
+
Discontinued
+
A previously Accepted RFC may be discontinued at any point. The RFC may
+ be superseded, out-of-date, or no longer consistent with the direction
+ of Ember.
+
Closed
+
A Proposed or Exploring RFC may be closed after an FCP period. This is
+ the same as the existing process. A closed RFC is discontinued.
+
+
+
+
diff --git a/app/templates/stages/proposed.gjs b/app/templates/stages/proposed.gjs
new file mode 100644
index 0000000..d3d689f
--- /dev/null
+++ b/app/templates/stages/proposed.gjs
@@ -0,0 +1,6 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "Proposed"}}
+ Don't know what's up definition of RFR
+
diff --git a/app/templates/stages/ready-for-release.gjs b/app/templates/stages/ready-for-release.gjs
new file mode 100644
index 0000000..0cc4a46
--- /dev/null
+++ b/app/templates/stages/ready-for-release.gjs
@@ -0,0 +1,6 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "Ready for Release"}}
+ Don't know what's up definition of RFR
+
diff --git a/app/templates/stages/recommended.gjs b/app/templates/stages/recommended.gjs
new file mode 100644
index 0000000..b83b5e7
--- /dev/null
+++ b/app/templates/stages/recommended.gjs
@@ -0,0 +1,6 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "Recommended"}}
+ Don't know what's up definition of RFR
+
diff --git a/app/templates/stages/released.gjs b/app/templates/stages/released.gjs
new file mode 100644
index 0000000..24df58e
--- /dev/null
+++ b/app/templates/stages/released.gjs
@@ -0,0 +1,6 @@
+import { pageTitle } from 'ember-page-title';
+
+
+ {{pageTitle "Released"}}
+ Don't know what's up definition of RFR
+
diff --git a/package.json b/package.json
index 3678183..5fac61a 100644
--- a/package.json
+++ b/package.json
@@ -69,6 +69,7 @@
"ember-resolver": "^13.1.1",
"ember-showdown-shiki": "^1.2.1",
"ember-source": "~6.5.0-beta.1",
+ "ember-styleguide": "^11.1.0",
"ember-template-imports": "^4.3.0",
"ember-template-lint": "^7.7.0",
"ember-welcome-page": "^7.0.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c146673..ad76181 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -116,6 +116,9 @@ importers:
ember-source:
specifier: ~6.5.0-beta.1
version: 6.5.0-beta.2(@glimmer/component@2.0.0)(rsvp@4.8.5)
+ ember-styleguide:
+ specifier: ^11.1.0
+ version: 11.1.0(ember-source@6.5.0-beta.2(@glimmer/component@2.0.0)(rsvp@4.8.5))(webpack@4.47.0)
ember-template-imports:
specifier: ^4.3.0
version: 4.3.0
@@ -408,6 +411,20 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6':
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-optional-chaining@7.21.0':
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-proposal-private-methods@7.18.6':
resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
engines: {node: '>=6.9.0'}
@@ -451,6 +468,16 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3':
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-syntax-private-property-in-object@7.14.5':
resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
engines: {node: '>=6.9.0'}
@@ -757,6 +784,16 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-typescript@7.5.5':
+ resolution: {integrity: sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.8.7':
+ resolution: {integrity: sha512-7O0UsPQVNKqpHeHLpfvOG4uXmlw+MOxYvUv6Otc9uH5SYMIxvF6eBdjkWvC3f9G+VXe0RsNExyAQBeTRug/wqQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-transform-unicode-escapes@7.25.9':
resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==}
engines: {node: '>=6.9.0'}
@@ -836,6 +873,10 @@ packages:
resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==}
engines: {node: '>=18'}
+ '@csstools/convert-colors@1.4.0':
+ resolution: {integrity: sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==}
+ engines: {node: '>=4.0.0'}
+
'@csstools/css-calc@2.1.4':
resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
engines: {node: '>=18'}
@@ -929,6 +970,16 @@ packages:
resolution: {integrity: sha512-a1OQ+w9vDvMXd9BNA9r779yr8MAPguGaMGbIeTMPWACeWBdD6bACBB5iKE3gNyrJAYKMq2wab6BKmRFS3Qw3hw==}
engines: {node: 10.* || 12.* || >= 14}
+ '@ember/render-modifiers@2.1.0':
+ resolution: {integrity: sha512-LruhfoDv2itpk0fA0IC76Sxjcnq/7BC6txpQo40hOko8Dn6OxwQfxkPIbZGV0Cz7df+iX+VJrcYzNIvlc3w2EQ==}
+ engines: {node: 12.* || 14.* || >= 16}
+ peerDependencies:
+ '@glint/template': ^1.0.2
+ ember-source: ^3.8 || ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ '@glint/template':
+ optional: true
+
'@ember/string@4.0.1':
resolution: {integrity: sha512-VWeng8BSWrIsdPfffOQt/bKwNKJL7+37gPFh/6iZZ9bke+S83kKqkS30poo4bTGfRcMnvAE0ie7txom+iDu81Q==}
@@ -1190,6 +1241,10 @@ packages:
resolution: {integrity: sha512-SrWiaKM3AND2FQ732wtjAKol7XhCnRqit3tJShG4X0mT27Jb3zuhTI2dkfYVVMTJ23pjT/+0y+s/uGaBSirnBg==}
engines: {node: '>= 18.0.0'}
+ '@glimmer/component@1.1.2':
+ resolution: {integrity: sha512-XyAsEEa4kWOPy+gIdMjJ8XlzA3qrGH55ZDv6nA16ibalCR17k74BI0CztxuRds+Rm6CtbUVgheCVlcCULuqD7A==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
'@glimmer/component@2.0.0':
resolution: {integrity: sha512-eATSzBOUm0MZ9+YfJx7Y5p3gbwnaeMzLSSsCDn1ihDtUOIm5YYEV0ee0G7tXt/uKxowt8tXYn/EMbI9OlRF0CA==}
engines: {node: '>= 18'}
@@ -1203,6 +1258,9 @@ packages:
'@glimmer/destroyable@0.94.8':
resolution: {integrity: sha512-IWNz34Q5IYnh20M/3xVv9jIdCATQyaO+8sdUSyUqiz1bAblW5vTXUNXn3uFzGF+CnP6ZSgPxHN/c1sNMAh+lAA==}
+ '@glimmer/di@0.1.11':
+ resolution: {integrity: sha512-moRwafNDwHTnTHzyyZC9D+mUSvYrs1Ak0tRPjjmCghdoHHIvMshVbEnwKb/1WmW5CUlKc2eL9rlAV32n3GiItg==}
+
'@glimmer/encoder@0.92.3':
resolution: {integrity: sha512-DJ8DB33LxODjzCWRrxozHUaRqVyZj4p8jDLG42aCNmWo3smxrsjshcaVUwDmib24DW+dzR7kMc39ObMqT5zK0w==}
@@ -1272,12 +1330,21 @@ packages:
'@glimmer/syntax@0.94.9':
resolution: {integrity: sha512-OBw8DqMzKO4LX4kJBhwfTUqtpbd7O9amQXNTfb1aS7pufio5Vu5Qi6mRTfdFj6RyJ//aSI/l0kxWt6beYW0Apg==}
+ '@glimmer/tracking@1.1.2':
+ resolution: {integrity: sha512-cyV32zsHh+CnftuRX84ALZpd2rpbDrhLhJnTXn9W//QpqdRZ5rdMsxSY9fOsj0CKEc706tmEU299oNnDc0d7tA==}
+
+ '@glimmer/util@0.44.0':
+ resolution: {integrity: sha512-duAsm30uVK9jSysElCbLyU6QQYO2X9iLDLBIBUcCqck9qN1o3tK2qWiHbGK5d6g8E2AJ4H88UrfElkyaJlGrwg==}
+
'@glimmer/util@0.92.3':
resolution: {integrity: sha512-K1oH93gGU36slycxJ9CcFpUTsdOc4XQ6RuZFu5oRsxFYtEF5PSu7ik11h58fyeoaWOr1ebfkyAMawbeI2AJ5GA==}
'@glimmer/util@0.94.8':
resolution: {integrity: sha512-HfCKeZ74clF9BsPDBOqK/yRNa/ke6niXFPM6zRn9OVYw+ZAidLs7V8He/xljUHlLRL322kaZZY8XxRW7ALEwyg==}
+ '@glimmer/validator@0.44.0':
+ resolution: {integrity: sha512-i01plR0EgFVz69GDrEuFgq1NheIjZcyTy3c7q+w7d096ddPVeVcRzU3LKaqCfovvLJ+6lJx40j45ecycASUUyw==}
+
'@glimmer/validator@0.92.3':
resolution: {integrity: sha512-HKrMYeW0YhiksSeKYqX2chUR/rz82j12DcY7p2dORQlTV3qlAfiE5zRTJH1KRA1X3ZMf7DI2/GOzkXwYp0o+3Q==}
@@ -2134,6 +2201,11 @@ packages:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'}
+ ansi-to-html@0.6.15:
+ resolution: {integrity: sha512-28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ==}
+ engines: {node: '>=8.0.0'}
+ hasBin: true
+
ansicolors@0.2.1:
resolution: {integrity: sha512-tOIuy1/SK/dr94ZA0ckDohKXNeBNqZ4us6PjMVLs5h1w2GBB6uPtOknp2+VF4F/zcy9LI70W+Z+pE2Soajky1w==}
@@ -2261,6 +2333,10 @@ packages:
engines: {node: '>= 4.5.0'}
hasBin: true
+ autoprefixer@9.8.8:
+ resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==}
+ hasBin: true
+
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -2299,6 +2375,12 @@ packages:
babel-messages@6.23.0:
resolution: {integrity: sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==}
+ babel-plugin-debug-macros@0.2.0:
+ resolution: {integrity: sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-beta.42
+
babel-plugin-debug-macros@0.3.4:
resolution: {integrity: sha512-wfel/vb3pXfwIDZUrkoDrn5FHmlWI96PCJ3UCDv2a86poJ3EQrnArNW5KfHSVJ9IOgxHbo748cQt7sDU+0KCEw==}
engines: {node: '>=6'}
@@ -2563,6 +2645,18 @@ packages:
resolution: {integrity: sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==}
engines: {node: 10.* || >= 12.*}
+ broccoli-postcss-single@5.0.2:
+ resolution: {integrity: sha512-r4eWtz/5uihtHwOszViWwV6weJr9VryvaqtVo1DOh4gL+TbTyU+NX+Y+t9TqUw99OtuivMz4uHLLH7zZECbZmw==}
+ engines: {node: '>= 10'}
+
+ broccoli-postcss@5.1.0:
+ resolution: {integrity: sha512-f5cHP5g7EFidu9w88WOLTtbk4dd/W7amK0nek08FkmUII2h4W/Je4EV26HtMEm9nb1hKI301wwuEQ5AQRsVYog==}
+ engines: {node: '>= 10'}
+
+ broccoli-postcss@6.1.0:
+ resolution: {integrity: sha512-I8+DHq5xcCBHU0PpCtDMayAmSUVx07CqAquUpdlNUHckXeD//cUFf4aFQllnZBhF8Z86YLhuA+j7qvCYYgBXRg==}
+ engines: {node: '>= 10'}
+
broccoli-slow-trees@3.1.0:
resolution: {integrity: sha512-FRI7mRTk2wjIDrdNJd6znS7Kmmne4VkAkl8Ix1R/VoePFMD0g0tEl671xswzFqaRjpT9Qu+CC4hdXDLDJBuzMw==}
@@ -3218,20 +3312,43 @@ packages:
resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
engines: {node: '>=8'}
+ css-blank-pseudo@0.1.4:
+ resolution: {integrity: sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
css-functions-list@3.2.3:
resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==}
engines: {node: '>=12 || >=16'}
+ css-has-pseudo@0.10.0:
+ resolution: {integrity: sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
css-loader@5.2.7:
resolution: {integrity: sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==}
engines: {node: '>= 10.13.0'}
peerDependencies:
webpack: ^4.27.0 || ^5.0.0
+ css-prefers-color-scheme@3.1.1:
+ resolution: {integrity: sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
css-tree@3.1.0:
resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ cssdb@4.4.0:
+ resolution: {integrity: sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==}
+
+ cssesc@2.0.0:
+ resolution: {integrity: sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
@@ -3501,6 +3618,10 @@ packages:
ember-cli-path-utils@1.0.0:
resolution: {integrity: sha512-Qq0vvquzf4cFHoDZavzkOy3Izc893r/5spspWgyzLCPTaG78fM3HsrjZm7UWEltbXUqwHHYrqZd/R0jS08NqSA==}
+ ember-cli-postcss@8.2.0:
+ resolution: {integrity: sha512-S2HQqmNtcezmLSt/OPZKCXg+aRV7yFoZp+tn1HCLSbR/eU95xl7MWxTjbj/wOIGMfhggy/hBT2+STDh8mGuVpw==}
+ engines: {node: '>= 14'}
+
ember-cli-preprocess-registry@5.0.1:
resolution: {integrity: sha512-Jb2zbE5Kfe56Nf4IpdaQ10zZ72p/RyLdgE5j5/lKG3I94QHlq+7AkAd18nPpb5OUeRUT13yQTAYpU+MbjpKTtg==}
engines: {node: 16.* || >= 18}
@@ -3517,6 +3638,22 @@ packages:
ember-cli-typescript-blueprint-polyfill@0.1.0:
resolution: {integrity: sha512-g0weUTOnHmPGqVZzkQTl3Nbk9fzEdFkEXydCs5mT1qBjXh8eQ6VlmjjGD5/998UXKuA0pLSCVVMbSp/linLzGA==}
+ ember-cli-typescript@3.0.0:
+ resolution: {integrity: sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==}
+ engines: {node: 8.* || >= 10.*}
+
+ ember-cli-typescript@3.1.4:
+ resolution: {integrity: sha512-HJ73kL45OGRmIkPhBNFt31I1SGUvdZND+LCH21+qpq3pPlFpJG8GORyXpP+2ze8PbnITNLzwe5AwUrpyuRswdQ==}
+ engines: {node: 8.* || >= 10.*}
+
+ ember-cli-version-checker@2.2.0:
+ resolution: {integrity: sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==}
+ engines: {node: '>= 4'}
+
+ ember-cli-version-checker@3.1.3:
+ resolution: {integrity: sha512-PZNSvpzwWgv68hcXxyjREpj3WWb81A7rtYNQq1lLEgrWIchF8ApKJjWP3NBpHjaatwILkZAV8klair5WFlXAKg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
ember-cli-version-checker@4.1.1:
resolution: {integrity: sha512-bzEWsTMXUGEJfxcAGWPe6kI7oHEGD3jaxUWDYPTqzqGhNkgPwXTBgoWs9zG1RaSMaOPFnloWuxRcoHi4TrYS3Q==}
engines: {node: 8.* || 10.* || >= 12.*}
@@ -3530,6 +3667,18 @@ packages:
engines: {node: '>= 18'}
hasBin: true
+ ember-compatibility-helpers@1.2.7:
+ resolution: {integrity: sha512-BtkjulweiXo9c3yVWrtexw2dTmBrvavD/xixNC6TKOBdrixUwU+6nuOO9dufDWsMxoid7MvtmDpzc9+mE8PdaA==}
+ engines: {node: 10.* || >= 12.*}
+
+ ember-concurrency@2.3.7:
+ resolution: {integrity: sha512-sz6sTIXN/CuLb5wdpauFa+rWXuvXXSnSHS4kuNzU5GSMDX1pLBWSuovoUk61FUe6CYRqBmT1/UushObwBGickQ==}
+ engines: {node: 10.* || 12.* || 14.* || >= 16}
+
+ ember-destroyable-polyfill@2.0.3:
+ resolution: {integrity: sha512-TovtNqCumzyAiW0/OisSkkVK93xnVF4NRU6+FN0ubpfwEOpRrmM2RqDwXI6YAChCgSHON1cz0DfQStpA1Gjuuw==}
+ engines: {node: 10.* || >= 12}
+
ember-eslint-parser@0.5.9:
resolution: {integrity: sha512-IW4/3cEiFp49M2LiKyzi7VcT1egogOe8UxQ9eUKTooenC7Q4qNhzTD6rOZ8j51m8iJC+8hCzjbNCa3K4CN0Hhg==}
engines: {node: '>=16.0.0'}
@@ -3549,9 +3698,17 @@ packages:
peerDependencies:
ember-source: '>= 5'
+ ember-modifier-manager-polyfill@1.2.0:
+ resolution: {integrity: sha512-bnaKF1LLKMkBNeDoetvIJ4vhwRPKIIumWr6dbVuW6W6p4QV8ZiO+GdF8J7mxDNlog9CeL9Z/7wam4YS86G8BYA==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
ember-modifier@4.2.2:
resolution: {integrity: sha512-pPYBAGyczX0hedGWQFQOEiL9s45KS9efKxJxUQkMLjQyh+1Uef1mcmAGsdw2KmvNupITkE/nXxmVO1kZ9tt3ag==}
+ ember-named-blocks-polyfill@0.2.5:
+ resolution: {integrity: sha512-OVMxzkfqJrEvmiky7gFzmuTaImCGm7DOudHWTdMBPO7E+dQSunrcRsJMgO9ZZ56suqBIz/yXbEURrmGS+avHxA==}
+ engines: {node: 10.* || >= 12}
+
ember-page-title@9.0.2:
resolution: {integrity: sha512-ACklH6hemNB6tDAiwGo4e0tFIqVrAkTNqRmlLtLABlh+GynH7xkWm9q4fyc4Ysg9R1jP8OrsKcxWRittshRatA==}
engines: {node: 16.* || >= 18}
@@ -3590,6 +3747,10 @@ packages:
peerDependencies:
'@glimmer/component': '>= 1.1.2'
+ ember-styleguide@11.1.0:
+ resolution: {integrity: sha512-Uq4gNYwhdHEjODqEfdnG4On2LWISdGAchbgiOuOHpa5ubf6F66pHy+W7kEOhY7MIwo71xg8FEL3vxKQ0uj9P5w==}
+ engines: {node: 18.* || >= 20}
+
ember-template-imports@4.3.0:
resolution: {integrity: sha512-jZ5D6KLKU8up/AynZltmKh4lkXBPgTGSPgomprI/55XvIVqn42UNUpEz7ra/mO3QiGODDZOUesbggPe49i38sQ==}
engines: {node: 16.* || >= 18}
@@ -3599,10 +3760,18 @@ packages:
engines: {node: ^18.18.0 || >= 20.9.0}
hasBin: true
+ ember-test-waiters@2.1.3:
+ resolution: {integrity: sha512-xDjvq8/1C3b9z3NGpez7aslbq5gsLrxsdjD3apyziHkImh/PTeXZr2bxo/YAUgOwGOtpZ1So0fIsppiSN0u1Ng==}
+ engines: {node: 10.* || >= 12.*}
+
ember-tracked-storage-polyfill@1.0.0:
resolution: {integrity: sha512-eL7lZat68E6P/D7b9UoTB5bB5Oh/0aju0Z7PCMi3aTwhaydRaxloE7TGrTRYU+NdJuyNVZXeGyxFxn2frvd3TA==}
engines: {node: 12.* || >= 14}
+ ember-truth-helpers@3.1.1:
+ resolution: {integrity: sha512-FHwJAx77aA5q27EhdaaiBFuy9No+8yaWNT5A7zs0sIFCmf14GbcLn69vJEp6mW7vkITezizGAWhw7gL0Wbk7DA==}
+ engines: {node: 10.* || >= 12}
+
ember-welcome-page@7.0.2:
resolution: {integrity: sha512-TyaKxFIRXhODW5BTbqD/by0Gu8Z9B9AA1ki3Bzzm6fOj2b30Qlprtt+XUG52kS0zVNmxYj/WWoT0TsKiU61VOw==}
engines: {node: 14.* || 16.* || >= 18}
@@ -3650,6 +3819,9 @@ packages:
ensure-posix-path@1.1.1:
resolution: {integrity: sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==}
+ entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
@@ -3873,6 +4045,14 @@ packages:
resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
engines: {node: '>=6'}
+ execa@2.1.0:
+ resolution: {integrity: sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==}
+ engines: {node: ^8.12.0 || >=9.7.0}
+
+ execa@3.4.0:
+ resolution: {integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==}
+ engines: {node: ^8.12.0 || >=9.7.0}
+
execa@4.1.0:
resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
engines: {node: '>=10'}
@@ -4088,6 +4268,10 @@ packages:
flatted@3.3.3:
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+ flatten@1.0.3:
+ resolution: {integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==}
+ deprecated: flatten is deprecated in favor of utility frameworks such as lodash.
+
flush-write-stream@1.1.1:
resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==}
@@ -4575,6 +4759,12 @@ packages:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
+ include-path-searcher@0.1.0:
+ resolution: {integrity: sha512-KlpXnsZOrBGo4PPKqPFi3Ft6dcRyh8fTaqgzqDRi8jKAsngJEWWOxeFIWC8EfZtXKaZqlsNf9XRwcQ49DVgl/g==}
+
+ indexes-of@1.0.1:
+ resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==}
+
individual@3.0.0:
resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==}
@@ -5095,6 +5285,10 @@ packages:
lodash.flatten@3.0.2:
resolution: {integrity: sha512-jCXLoNcqQRbnT/KWZq2fIREHWeczrzpTR0vsycm96l/pu5hGeAntVBG0t7GuM/2wFqmnZs3d1eGptnAH2E8+xQ==}
+ lodash.get@4.4.2:
+ resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
+ deprecated: This package is deprecated. Use the optional chaining (?.) operator instead.
+
lodash.isarguments@3.1.0:
resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==}
@@ -5255,6 +5449,9 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
+ merge@2.1.1:
+ resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==}
+
methods@1.1.2:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'}
@@ -5501,9 +5698,16 @@ packages:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
normalize-registry-url@2.0.0:
resolution: {integrity: sha512-3e9FwDyRAhbxXw4slm4Tjv40u78yPwMc/WZkACpqNQOs5sM7wic853AeTLkMFEVhivZkclGYlse8iYsklz0Yvg==}
+ normalize.css@8.0.1:
+ resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==}
+
npm-bundled@2.0.1:
resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==}
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
@@ -5525,6 +5729,10 @@ packages:
resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
engines: {node: '>=4'}
+ npm-run-path@3.1.0:
+ resolution: {integrity: sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==}
+ engines: {node: '>=8'}
+
npm-run-path@4.0.1:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
@@ -5534,6 +5742,9 @@ packages:
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
deprecated: This package is no longer supported.
+ num2fraction@1.2.2:
+ resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==}
+
nwsapi@2.2.16:
resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==}
@@ -5642,6 +5853,10 @@ packages:
resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
engines: {node: '>=4'}
+ p-finally@2.0.1:
+ resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==}
+ engines: {node: '>=8'}
+
p-is-promise@2.1.0:
resolution: {integrity: sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==}
engines: {node: '>=6'}
@@ -5813,6 +6028,9 @@ packages:
resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==}
engines: {node: '>=0.12'}
+ picocolors@0.2.1:
+ resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==}
+
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -5824,6 +6042,10 @@ packages:
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
engines: {node: '>=12'}
+ pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
pify@4.0.1:
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
engines: {node: '>=6'}
@@ -5859,6 +6081,91 @@ packages:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
+ postcss-attribute-case-insensitive@4.0.2:
+ resolution: {integrity: sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==}
+
+ postcss-color-functional-notation@2.0.1:
+ resolution: {integrity: sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-color-gray@5.0.0:
+ resolution: {integrity: sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-color-hex-alpha@5.0.3:
+ resolution: {integrity: sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-color-mod-function@3.0.3:
+ resolution: {integrity: sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-color-rebeccapurple@4.0.1:
+ resolution: {integrity: sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-custom-media@7.0.8:
+ resolution: {integrity: sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-custom-properties@8.0.11:
+ resolution: {integrity: sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-custom-selectors@5.1.2:
+ resolution: {integrity: sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-dir-pseudo-class@5.0.0:
+ resolution: {integrity: sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==}
+ engines: {node: '>=4.0.0'}
+
+ postcss-double-position-gradients@1.0.0:
+ resolution: {integrity: sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-env-function@2.0.2:
+ resolution: {integrity: sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-focus-visible@4.0.0:
+ resolution: {integrity: sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-focus-within@3.0.0:
+ resolution: {integrity: sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-font-variant@4.0.1:
+ resolution: {integrity: sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==}
+
+ postcss-gap-properties@2.0.0:
+ resolution: {integrity: sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-image-set-function@3.0.1:
+ resolution: {integrity: sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-import@12.0.1:
+ resolution: {integrity: sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-initial@3.0.4:
+ resolution: {integrity: sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==}
+
+ postcss-lab-function@2.0.1:
+ resolution: {integrity: sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-logical@3.0.0:
+ resolution: {integrity: sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-media-minmax@4.0.0:
+ resolution: {integrity: sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==}
+ engines: {node: '>=6.0.0'}
+
postcss-modules-extract-imports@3.1.0:
resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
engines: {node: ^10 || ^12 || >= 14}
@@ -5883,6 +6190,32 @@ packages:
peerDependencies:
postcss: ^8.1.0
+ postcss-nesting@7.0.1:
+ resolution: {integrity: sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-overflow-shorthand@2.0.0:
+ resolution: {integrity: sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-page-break@2.0.0:
+ resolution: {integrity: sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==}
+
+ postcss-place@4.0.1:
+ resolution: {integrity: sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-preset-env@6.7.2:
+ resolution: {integrity: sha512-nz+VyUUEB9uAxo5VxI0Gq4E31UjHCG3cUiZW3PzRn7KqkGlAEWuYgb/VLbAitEq7Ooubfix+H2JCm9v+C6hJuw==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-pseudo-class-any-link@6.0.0:
+ resolution: {integrity: sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==}
+ engines: {node: '>=6.0.0'}
+
+ postcss-replace-overflow-wrap@3.0.0:
+ resolution: {integrity: sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==}
+
postcss-resolve-nested-selector@0.1.6:
resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==}
@@ -5892,13 +6225,38 @@ packages:
peerDependencies:
postcss: ^8.4.31
+ postcss-selector-matches@4.0.0:
+ resolution: {integrity: sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==}
+
+ postcss-selector-not@4.0.1:
+ resolution: {integrity: sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==}
+
+ postcss-selector-parser@5.0.0:
+ resolution: {integrity: sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==}
+ engines: {node: '>=4'}
+
+ postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ engines: {node: '>=4'}
+
postcss-selector-parser@7.1.0:
resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
engines: {node: '>=4'}
+ postcss-value-parser@3.3.1:
+ resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==}
+
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ postcss-values-parser@2.0.1:
+ resolution: {integrity: sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==}
+ engines: {node: '>=6.14.4'}
+
+ postcss@7.0.39:
+ resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==}
+ engines: {node: '>=6.0.0'}
+
postcss@8.5.2:
resolution: {integrity: sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==}
engines: {node: ^10 || ^12 || >=14}
@@ -6066,6 +6424,9 @@ packages:
resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
engines: {node: '>= 0.8'}
+ read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+
read-cmd-shim@3.0.1:
resolution: {integrity: sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==}
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
@@ -6652,10 +7013,17 @@ packages:
stacktracey@2.1.8:
resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
+ stagehand@1.0.1:
+ resolution: {integrity: sha512-GqXBq2SPWv9hTXDFKS8WrKK1aISB0aKGHZzH+uD4ShAgs+Fz20ZfoerLOm8U+f62iRWLrw6nimOY/uYuTcVhvg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
static-extend@0.1.2:
resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==}
engines: {node: '>=0.10.0'}
+ static-postcss-addon-tree@2.0.0:
+ resolution: {integrity: sha512-Xc8EWmsCCvb9in1v++Qn6spmqOC+pQBB1h5JbvZJ9rCUJIBKnrCvRQNj1d6ySQQNddtNWUtL2zbcGTcM/n8nJQ==}
+
statuses@1.5.0:
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
engines: {node: '>= 0.6'}
@@ -7130,6 +7498,9 @@ packages:
resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
engines: {node: '>=0.10.0'}
+ uniq@1.0.1:
+ resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==}
+
unique-filename@1.1.1:
resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==}
@@ -7649,7 +8020,7 @@ snapshots:
'@babel/helper-annotate-as-pure@7.25.9':
dependencies:
- '@babel/types': 7.26.9
+ '@babel/types': 7.27.6
'@babel/helper-compilation-targets@7.26.5':
dependencies:
@@ -7701,7 +8072,7 @@ snapshots:
'@babel/helper-member-expression-to-functions@7.25.9':
dependencies:
'@babel/traverse': 7.26.9
- '@babel/types': 7.26.9
+ '@babel/types': 7.27.6
transitivePeerDependencies:
- supports-color
@@ -7739,7 +8110,7 @@ snapshots:
'@babel/helper-optimise-call-expression@7.25.9':
dependencies:
- '@babel/types': 7.26.9
+ '@babel/types': 7.27.6
'@babel/helper-plugin-utils@7.26.5': {}
@@ -7766,7 +8137,7 @@ snapshots:
'@babel/helper-skip-transparent-expression-wrappers@7.25.9':
dependencies:
'@babel/traverse': 7.26.9
- '@babel/types': 7.26.9
+ '@babel/types': 7.27.6
transitivePeerDependencies:
- supports-color
@@ -7786,7 +8157,7 @@ snapshots:
dependencies:
'@babel/template': 7.26.9
'@babel/traverse': 7.26.9
- '@babel/types': 7.26.9
+ '@babel/types': 7.27.6
transitivePeerDependencies:
- supports-color
@@ -7855,6 +8226,21 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.27.4)':
+ dependencies:
+ '@babel/core': 7.27.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.4)
+
+ '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.27.4)':
+ dependencies:
+ '@babel/core': 7.27.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.4)
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.27.4)':
dependencies:
'@babel/core': 7.27.4
@@ -7897,10 +8283,20 @@ snapshots:
'@babel/core': 7.27.4
'@babel/helper-plugin-utils': 7.26.5
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.27.4)':
+ dependencies:
+ '@babel/core': 7.27.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.27.4)':
+ dependencies:
+ '@babel/core': 7.27.4
+ '@babel/helper-plugin-utils': 7.27.1
+
'@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.27.4)':
dependencies:
'@babel/core': 7.27.4
- '@babel/helper-plugin-utils': 7.26.5
+ '@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.27.4)':
dependencies:
@@ -8232,6 +8628,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/plugin-transform-typescript@7.5.5(@babel/core@7.27.4)':
+ dependencies:
+ '@babel/core': 7.27.4
+ '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.27.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.27.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-typescript@7.8.7(@babel/core@7.27.4)':
+ dependencies:
+ '@babel/core': 7.27.4
+ '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.27.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.27.4)
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.27.4)':
dependencies:
'@babel/core': 7.27.4
@@ -8401,6 +8815,8 @@ snapshots:
'@csstools/color-helpers@5.0.2': {}
+ '@csstools/convert-colors@1.4.0': {}
+
'@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
'@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
@@ -8493,6 +8909,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@ember/render-modifiers@2.1.0(@babel/core@7.27.4)(ember-source@6.5.0-beta.2(@glimmer/component@2.0.0)(rsvp@4.8.5))':
+ dependencies:
+ '@embroider/macros': 1.18.0
+ ember-cli-babel: 7.26.11
+ ember-modifier-manager-polyfill: 1.2.0(@babel/core@7.27.4)
+ ember-source: 6.5.0-beta.2(@glimmer/component@2.0.0)(rsvp@4.8.5)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
'@ember/string@4.0.1': {}
'@ember/test-helpers@5.2.2(@babel/core@7.27.4)':
@@ -8853,6 +9279,26 @@ snapshots:
'@glimmer/util': 0.94.8
'@glimmer/wire-format': 0.94.8
+ '@glimmer/component@1.1.2(@babel/core@7.27.4)':
+ dependencies:
+ '@glimmer/di': 0.1.11
+ '@glimmer/env': 0.1.7
+ '@glimmer/util': 0.44.0
+ broccoli-file-creator: 2.1.1
+ broccoli-merge-trees: 3.0.2
+ ember-cli-babel: 7.26.11
+ ember-cli-get-component-path-option: 1.0.0
+ ember-cli-is-package-missing: 1.0.0
+ ember-cli-normalize-entity-name: 1.0.0
+ ember-cli-path-utils: 1.0.0
+ ember-cli-string-utils: 1.1.0
+ ember-cli-typescript: 3.0.0(@babel/core@7.27.4)
+ ember-cli-version-checker: 3.1.3
+ ember-compatibility-helpers: 1.2.7(@babel/core@7.27.4)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
'@glimmer/component@2.0.0':
dependencies:
'@embroider/addon-shim': 1.9.0
@@ -8878,6 +9324,8 @@ snapshots:
'@glimmer/global-context': 0.93.4
'@glimmer/interfaces': 0.94.6
+ '@glimmer/di@0.1.11': {}
+
'@glimmer/encoder@0.92.3':
dependencies:
'@glimmer/interfaces': 0.92.3
@@ -9046,6 +9494,13 @@ snapshots:
'@handlebars/parser': 2.0.0
simple-html-tokenizer: 0.5.11
+ '@glimmer/tracking@1.1.2':
+ dependencies:
+ '@glimmer/env': 0.1.7
+ '@glimmer/validator': 0.44.0
+
+ '@glimmer/util@0.44.0': {}
+
'@glimmer/util@0.92.3':
dependencies:
'@glimmer/env': 0.1.7
@@ -9055,6 +9510,8 @@ snapshots:
dependencies:
'@glimmer/interfaces': 0.94.6
+ '@glimmer/validator@0.44.0': {}
+
'@glimmer/validator@0.92.3':
dependencies:
'@glimmer/env': 0.1.7
@@ -9731,7 +10188,7 @@ snapshots:
dependencies:
'@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3)
'@typescript-eslint/types': 8.33.1
- debug: 4.4.0
+ debug: 4.4.1
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
@@ -9753,7 +10210,7 @@ snapshots:
'@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3)
'@typescript-eslint/types': 8.33.1
'@typescript-eslint/visitor-keys': 8.33.1
- debug: 4.4.0
+ debug: 4.4.1
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
@@ -10055,6 +10512,10 @@ snapshots:
ansi-styles@6.2.1: {}
+ ansi-to-html@0.6.15:
+ dependencies:
+ entities: 2.2.0
+
ansicolors@0.2.1: {}
anymatch@2.0.0:
@@ -10154,7 +10615,7 @@ snapshots:
async-disk-cache@2.1.0:
dependencies:
- debug: 4.4.0
+ debug: 4.4.1
heimdalljs: 0.2.6
istextorbinary: 2.6.0
mkdirp: 0.5.6
@@ -10188,6 +10649,16 @@ snapshots:
atob@2.1.2: {}
+ autoprefixer@9.8.8:
+ dependencies:
+ browserslist: 4.24.4
+ caniuse-lite: 1.0.30001700
+ normalize-range: 0.1.2
+ num2fraction: 1.2.2
+ picocolors: 0.2.1
+ postcss: 7.0.39
+ postcss-value-parser: 4.2.0
+
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.1.0
@@ -10264,6 +10735,11 @@ snapshots:
babel-runtime: 6.26.0
optional: true
+ babel-plugin-debug-macros@0.2.0(@babel/core@7.27.4):
+ dependencies:
+ '@babel/core': 7.27.4
+ semver: 5.7.2
+
babel-plugin-debug-macros@0.3.4(@babel/core@7.27.4):
dependencies:
'@babel/core': 7.27.4
@@ -10661,7 +11137,7 @@ snapshots:
dependencies:
array-equal: 1.0.2
broccoli-plugin: 4.0.7
- debug: 4.4.0
+ debug: 4.4.1
fs-tree-diff: 2.0.1
heimdalljs: 0.2.6
minimatch: 3.1.2
@@ -10768,6 +11244,37 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ broccoli-postcss-single@5.0.2:
+ dependencies:
+ broccoli-caching-writer: 3.0.3
+ include-path-searcher: 0.1.0
+ minimist: 1.2.8
+ mkdirp: 1.0.4
+ object-assign: 4.1.1
+ postcss: 8.5.4
+ transitivePeerDependencies:
+ - supports-color
+
+ broccoli-postcss@5.1.0:
+ dependencies:
+ broccoli-funnel: 3.0.8
+ broccoli-persistent-filter: 2.3.1
+ minimist: 1.2.8
+ object-assign: 4.1.1
+ postcss: 7.0.39
+ transitivePeerDependencies:
+ - supports-color
+
+ broccoli-postcss@6.1.0:
+ dependencies:
+ broccoli-funnel: 3.0.8
+ broccoli-persistent-filter: 3.1.3
+ minimist: 1.2.8
+ object-assign: 4.1.1
+ postcss: 8.5.4
+ transitivePeerDependencies:
+ - supports-color
+
broccoli-slow-trees@3.1.0:
dependencies:
heimdalljs: 0.2.6
@@ -11398,8 +11905,17 @@ snapshots:
crypto-random-string@2.0.0: {}
+ css-blank-pseudo@0.1.4:
+ dependencies:
+ postcss: 7.0.39
+
css-functions-list@3.2.3: {}
+ css-has-pseudo@0.10.0:
+ dependencies:
+ postcss: 7.0.39
+ postcss-selector-parser: 5.0.0
+
css-loader@5.2.7(webpack@4.47.0):
dependencies:
icss-utils: 5.1.0(postcss@8.5.2)
@@ -11414,11 +11930,19 @@ snapshots:
semver: 7.7.1
webpack: 4.47.0
+ css-prefers-color-scheme@3.1.1:
+ dependencies:
+ postcss: 7.0.39
+
css-tree@3.1.0:
dependencies:
mdn-data: 2.12.2
source-map-js: 1.2.1
+ cssdb@4.4.0: {}
+
+ cssesc@2.0.0: {}
+
cssesc@3.0.0: {}
cssstyle@4.4.0:
@@ -11796,6 +12320,16 @@ snapshots:
ember-cli-path-utils@1.0.0: {}
+ ember-cli-postcss@8.2.0:
+ dependencies:
+ broccoli-merge-trees: 4.2.0
+ broccoli-postcss: 6.1.0
+ broccoli-postcss-single: 5.0.2
+ ember-cli-babel: 7.26.11
+ merge: 2.1.1
+ transitivePeerDependencies:
+ - supports-color
+
ember-cli-preprocess-registry@5.0.1:
dependencies:
broccoli-funnel: 3.0.8
@@ -11825,6 +12359,53 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ ember-cli-typescript@3.0.0(@babel/core@7.27.4):
+ dependencies:
+ '@babel/plugin-transform-typescript': 7.5.5(@babel/core@7.27.4)
+ ansi-to-html: 0.6.15
+ debug: 4.4.1
+ ember-cli-babel-plugin-helpers: 1.1.1
+ execa: 2.1.0
+ fs-extra: 8.1.0
+ resolve: 1.22.10
+ rsvp: 4.8.5
+ semver: 6.3.1
+ stagehand: 1.0.1
+ walk-sync: 2.2.0
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
+ ember-cli-typescript@3.1.4(@babel/core@7.27.4):
+ dependencies:
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.4)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.4)
+ '@babel/plugin-transform-typescript': 7.8.7(@babel/core@7.27.4)
+ ansi-to-html: 0.6.15
+ broccoli-stew: 3.0.0
+ debug: 4.4.1
+ ember-cli-babel-plugin-helpers: 1.1.1
+ execa: 3.4.0
+ fs-extra: 8.1.0
+ resolve: 1.22.10
+ rsvp: 4.8.5
+ semver: 6.3.1
+ stagehand: 1.0.1
+ walk-sync: 2.2.0
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
+ ember-cli-version-checker@2.2.0:
+ dependencies:
+ resolve: 1.22.10
+ semver: 5.7.2
+
+ ember-cli-version-checker@3.1.3:
+ dependencies:
+ resolve-package-path: 1.2.7
+ semver: 5.7.2
+
ember-cli-version-checker@4.1.1:
dependencies:
resolve-package-path: 2.0.0
@@ -11982,6 +12563,40 @@ snapshots:
- walrus
- whiskers
+ ember-compatibility-helpers@1.2.7(@babel/core@7.27.4):
+ dependencies:
+ babel-plugin-debug-macros: 0.2.0(@babel/core@7.27.4)
+ ember-cli-version-checker: 5.1.2
+ find-up: 5.0.0
+ fs-extra: 9.1.0
+ semver: 5.7.2
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
+ ember-concurrency@2.3.7(@babel/core@7.27.4):
+ dependencies:
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/types': 7.27.6
+ '@glimmer/tracking': 1.1.2
+ ember-cli-babel: 7.26.11
+ ember-cli-babel-plugin-helpers: 1.1.1
+ ember-cli-htmlbars: 5.7.2
+ ember-compatibility-helpers: 1.2.7(@babel/core@7.27.4)
+ ember-destroyable-polyfill: 2.0.3(@babel/core@7.27.4)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
+ ember-destroyable-polyfill@2.0.3(@babel/core@7.27.4):
+ dependencies:
+ ember-cli-babel: 7.26.11
+ ember-cli-version-checker: 5.1.2
+ ember-compatibility-helpers: 1.2.7(@babel/core@7.27.4)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
ember-eslint-parser@0.5.9(@babel/core@7.27.4)(eslint@9.28.0):
dependencies:
'@babel/core': 7.27.4
@@ -12007,6 +12622,15 @@ snapshots:
dependencies:
ember-source: 6.5.0-beta.2(@glimmer/component@2.0.0)(rsvp@4.8.5)
+ ember-modifier-manager-polyfill@1.2.0(@babel/core@7.27.4):
+ dependencies:
+ ember-cli-babel: 7.26.11
+ ember-cli-version-checker: 2.2.0
+ ember-compatibility-helpers: 1.2.7(@babel/core@7.27.4)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
ember-modifier@4.2.2(@babel/core@7.27.4):
dependencies:
'@embroider/addon-shim': 1.9.0
@@ -12017,6 +12641,13 @@ snapshots:
- '@babel/core'
- supports-color
+ ember-named-blocks-polyfill@0.2.5:
+ dependencies:
+ ember-cli-babel: 7.26.11
+ ember-cli-version-checker: 5.1.2
+ transitivePeerDependencies:
+ - supports-color
+
ember-page-title@9.0.2:
dependencies:
'@embroider/addon-shim': 1.9.0
@@ -12160,6 +12791,32 @@ snapshots:
- rsvp
- supports-color
+ ember-styleguide@11.1.0(ember-source@6.5.0-beta.2(@glimmer/component@2.0.0)(rsvp@4.8.5))(webpack@4.47.0):
+ dependencies:
+ '@babel/core': 7.27.4
+ '@ember/render-modifiers': 2.1.0(@babel/core@7.27.4)(ember-source@6.5.0-beta.2(@glimmer/component@2.0.0)(rsvp@4.8.5))
+ '@glimmer/component': 1.1.2(@babel/core@7.27.4)
+ broccoli-funnel: 3.0.8
+ broccoli-merge-trees: 4.2.0
+ ember-auto-import: 2.10.0(webpack@4.47.0)
+ ember-cli-babel: 8.2.0(@babel/core@7.27.4)
+ ember-cli-htmlbars: 6.3.0
+ ember-cli-postcss: 8.2.0
+ ember-concurrency: 2.3.7(@babel/core@7.27.4)
+ ember-named-blocks-polyfill: 0.2.5
+ ember-test-waiters: 2.1.3(@babel/core@7.27.4)
+ ember-truth-helpers: 3.1.1
+ lodash.get: 4.4.2
+ normalize.css: 8.0.1
+ postcss-import: 12.0.1
+ postcss-preset-env: 6.7.2
+ static-postcss-addon-tree: 2.0.0
+ transitivePeerDependencies:
+ - '@glint/template'
+ - ember-source
+ - supports-color
+ - webpack
+
ember-template-imports@4.3.0:
dependencies:
broccoli-stew: 3.0.0
@@ -12173,6 +12830,16 @@ snapshots:
'@lint-todo/utils': 13.1.1
content-tag: 3.1.3
+ ember-test-waiters@2.1.3(@babel/core@7.27.4):
+ dependencies:
+ ember-cli-babel: 7.26.11
+ ember-cli-typescript: 3.1.4(@babel/core@7.27.4)
+ ember-cli-version-checker: 5.1.2
+ semver: 7.7.1
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
ember-tracked-storage-polyfill@1.0.0:
dependencies:
ember-cli-babel: 7.26.11
@@ -12180,6 +12847,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ ember-truth-helpers@3.1.1:
+ dependencies:
+ ember-cli-babel: 7.26.11
+ transitivePeerDependencies:
+ - supports-color
+
ember-welcome-page@7.0.2:
dependencies:
'@embroider/addon-shim': 1.9.0
@@ -12233,6 +12906,8 @@ snapshots:
ensure-posix-path@1.1.1: {}
+ entities@2.2.0: {}
+
entities@4.5.0: {}
entities@6.0.0: {}
@@ -12550,6 +13225,31 @@ snapshots:
signal-exit: 3.0.7
strip-eof: 1.0.0
+ execa@2.1.0:
+ dependencies:
+ cross-spawn: 7.0.6
+ get-stream: 5.2.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 3.1.0
+ onetime: 5.1.2
+ p-finally: 2.0.1
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+
+ execa@3.4.0:
+ dependencies:
+ cross-spawn: 7.0.6
+ get-stream: 5.2.0
+ human-signals: 1.1.1
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ p-finally: 2.0.1
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+
execa@4.1.0:
dependencies:
cross-spawn: 7.0.6
@@ -12898,6 +13598,8 @@ snapshots:
flatted@3.3.3: {}
+ flatten@1.0.3: {}
+
flush-write-stream@1.1.1:
dependencies:
inherits: 2.0.4
@@ -13426,7 +14128,7 @@ snapshots:
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.3
- debug: 4.4.0
+ debug: 4.4.1
transitivePeerDependencies:
- supports-color
@@ -13443,7 +14145,7 @@ snapshots:
https-proxy-agent@7.0.6:
dependencies:
agent-base: 7.1.3
- debug: 4.4.0
+ debug: 4.4.1
transitivePeerDependencies:
- supports-color
@@ -13494,6 +14196,10 @@ snapshots:
imurmurhash@0.1.4: {}
+ include-path-searcher@0.1.0: {}
+
+ indexes-of@1.0.1: {}
+
individual@3.0.0: {}
infer-owner@1.0.4: {}
@@ -14035,6 +14741,8 @@ snapshots:
lodash._baseflatten: 3.1.4
lodash._isiterateecall: 3.0.9
+ lodash.get@4.4.2: {}
+
lodash.isarguments@3.1.0: {}
lodash.isarray@3.0.4: {}
@@ -14206,6 +14914,8 @@ snapshots:
merge2@1.4.1: {}
+ merge@2.1.1: {}
+
methods@1.1.2: {}
micromark-util-character@2.1.1:
@@ -14480,8 +15190,12 @@ snapshots:
normalize-path@3.0.0: {}
+ normalize-range@0.1.2: {}
+
normalize-registry-url@2.0.0: {}
+ normalize.css@8.0.1: {}
+
npm-bundled@2.0.1:
dependencies:
npm-normalize-package-bin: 2.0.0
@@ -14506,6 +15220,10 @@ snapshots:
dependencies:
path-key: 2.0.1
+ npm-run-path@3.1.0:
+ dependencies:
+ path-key: 3.1.1
+
npm-run-path@4.0.1:
dependencies:
path-key: 3.1.1
@@ -14517,6 +15235,8 @@ snapshots:
gauge: 4.0.4
set-blocking: 2.0.0
+ num2fraction@1.2.2: {}
+
nwsapi@2.2.16: {}
object-assign@4.1.1: {}
@@ -14637,6 +15357,8 @@ snapshots:
p-finally@1.0.0: {}
+ p-finally@2.0.1: {}
+
p-is-promise@2.1.0: {}
p-limit@1.3.0:
@@ -14780,12 +15502,16 @@ snapshots:
safe-buffer: 5.2.1
sha.js: 2.4.11
+ picocolors@0.2.1: {}
+
picocolors@1.1.1: {}
picomatch@2.3.1: {}
picomatch@4.0.2: {}
+ pify@2.3.0: {}
+
pify@4.0.1: {}
pkg-dir@3.0.0:
@@ -14818,6 +15544,113 @@ snapshots:
possible-typed-array-names@1.1.0: {}
+ postcss-attribute-case-insensitive@4.0.2:
+ dependencies:
+ postcss: 7.0.39
+ postcss-selector-parser: 6.1.2
+
+ postcss-color-functional-notation@2.0.1:
+ dependencies:
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-color-gray@5.0.0:
+ dependencies:
+ '@csstools/convert-colors': 1.4.0
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-color-hex-alpha@5.0.3:
+ dependencies:
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-color-mod-function@3.0.3:
+ dependencies:
+ '@csstools/convert-colors': 1.4.0
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-color-rebeccapurple@4.0.1:
+ dependencies:
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-custom-media@7.0.8:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-custom-properties@8.0.11:
+ dependencies:
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-custom-selectors@5.1.2:
+ dependencies:
+ postcss: 7.0.39
+ postcss-selector-parser: 5.0.0
+
+ postcss-dir-pseudo-class@5.0.0:
+ dependencies:
+ postcss: 7.0.39
+ postcss-selector-parser: 5.0.0
+
+ postcss-double-position-gradients@1.0.0:
+ dependencies:
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-env-function@2.0.2:
+ dependencies:
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-focus-visible@4.0.0:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-focus-within@3.0.0:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-font-variant@4.0.1:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-gap-properties@2.0.0:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-image-set-function@3.0.1:
+ dependencies:
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-import@12.0.1:
+ dependencies:
+ postcss: 7.0.39
+ postcss-value-parser: 3.3.1
+ read-cache: 1.0.0
+ resolve: 1.22.10
+
+ postcss-initial@3.0.4:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-lab-function@2.0.1:
+ dependencies:
+ '@csstools/convert-colors': 1.4.0
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-logical@3.0.0:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-media-minmax@4.0.0:
+ dependencies:
+ postcss: 7.0.39
+
postcss-modules-extract-imports@3.1.0(postcss@8.5.2):
dependencies:
postcss: 8.5.2
@@ -14839,19 +15672,119 @@ snapshots:
icss-utils: 5.1.0(postcss@8.5.2)
postcss: 8.5.2
+ postcss-nesting@7.0.1:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-overflow-shorthand@2.0.0:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-page-break@2.0.0:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-place@4.0.1:
+ dependencies:
+ postcss: 7.0.39
+ postcss-values-parser: 2.0.1
+
+ postcss-preset-env@6.7.2:
+ dependencies:
+ autoprefixer: 9.8.8
+ browserslist: 4.24.4
+ caniuse-lite: 1.0.30001700
+ css-blank-pseudo: 0.1.4
+ css-has-pseudo: 0.10.0
+ css-prefers-color-scheme: 3.1.1
+ cssdb: 4.4.0
+ postcss: 7.0.39
+ postcss-attribute-case-insensitive: 4.0.2
+ postcss-color-functional-notation: 2.0.1
+ postcss-color-gray: 5.0.0
+ postcss-color-hex-alpha: 5.0.3
+ postcss-color-mod-function: 3.0.3
+ postcss-color-rebeccapurple: 4.0.1
+ postcss-custom-media: 7.0.8
+ postcss-custom-properties: 8.0.11
+ postcss-custom-selectors: 5.1.2
+ postcss-dir-pseudo-class: 5.0.0
+ postcss-double-position-gradients: 1.0.0
+ postcss-env-function: 2.0.2
+ postcss-focus-visible: 4.0.0
+ postcss-focus-within: 3.0.0
+ postcss-font-variant: 4.0.1
+ postcss-gap-properties: 2.0.0
+ postcss-image-set-function: 3.0.1
+ postcss-initial: 3.0.4
+ postcss-lab-function: 2.0.1
+ postcss-logical: 3.0.0
+ postcss-media-minmax: 4.0.0
+ postcss-nesting: 7.0.1
+ postcss-overflow-shorthand: 2.0.0
+ postcss-page-break: 2.0.0
+ postcss-place: 4.0.1
+ postcss-pseudo-class-any-link: 6.0.0
+ postcss-replace-overflow-wrap: 3.0.0
+ postcss-selector-matches: 4.0.0
+ postcss-selector-not: 4.0.1
+
+ postcss-pseudo-class-any-link@6.0.0:
+ dependencies:
+ postcss: 7.0.39
+ postcss-selector-parser: 5.0.0
+
+ postcss-replace-overflow-wrap@3.0.0:
+ dependencies:
+ postcss: 7.0.39
+
postcss-resolve-nested-selector@0.1.6: {}
postcss-safe-parser@7.0.1(postcss@8.5.4):
dependencies:
postcss: 8.5.4
+ postcss-selector-matches@4.0.0:
+ dependencies:
+ balanced-match: 1.0.2
+ postcss: 7.0.39
+
+ postcss-selector-not@4.0.1:
+ dependencies:
+ balanced-match: 1.0.2
+ postcss: 7.0.39
+
+ postcss-selector-parser@5.0.0:
+ dependencies:
+ cssesc: 2.0.0
+ indexes-of: 1.0.1
+ uniq: 1.0.1
+
+ postcss-selector-parser@6.1.2:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
postcss-selector-parser@7.1.0:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
+ postcss-value-parser@3.3.1: {}
+
postcss-value-parser@4.2.0: {}
+ postcss-values-parser@2.0.1:
+ dependencies:
+ flatten: 1.0.3
+ indexes-of: 1.0.1
+ uniq: 1.0.1
+
+ postcss@7.0.39:
+ dependencies:
+ picocolors: 0.2.1
+ source-map: 0.6.1
+
postcss@8.5.2:
dependencies:
nanoid: 3.3.8
@@ -15011,6 +15944,10 @@ snapshots:
iconv-lite: 0.4.24
unpipe: 1.0.0
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+
read-cmd-shim@3.0.1: {}
read-ini-file@4.0.0:
@@ -15744,11 +16681,27 @@ snapshots:
as-table: 1.0.55
get-source: 2.0.12
+ stagehand@1.0.1:
+ dependencies:
+ debug: 4.4.1
+ transitivePeerDependencies:
+ - supports-color
+
static-extend@0.1.2:
dependencies:
define-property: 0.2.5
object-copy: 0.1.0
+ static-postcss-addon-tree@2.0.0:
+ dependencies:
+ broccoli-merge-trees: 4.2.0
+ broccoli-postcss: 5.1.0
+ lodash.get: 4.4.2
+ postcss-import: 12.0.1
+ postcss-preset-env: 6.7.2
+ transitivePeerDependencies:
+ - supports-color
+
statuses@1.5.0: {}
statuses@2.0.1: {}
@@ -15985,7 +16938,7 @@ snapshots:
sync-disk-cache@2.1.0:
dependencies:
- debug: 4.4.0
+ debug: 4.4.1
heimdalljs: 0.2.6
mkdirp: 0.5.6
rimraf: 3.0.2
@@ -16397,6 +17350,8 @@ snapshots:
is-extendable: 0.1.1
set-value: 2.0.1
+ uniq@1.0.1: {}
+
unique-filename@1.1.1:
dependencies:
unique-slug: 2.0.2
From fdac923f78e901ad7d8f8ff8d7941742903c22b7 Mon Sep 17 00:00:00 2001
From: Anne-Greeth van Herwijnen
Date: Thu, 31 Jul 2025 10:42:41 +0200
Subject: [PATCH 2/2] Finalize first content stage
---
app/app-styles/app.css | 32 +++++++++
app/components/rfc-card.gjs | 10 ++-
app/routes/rfcs-help.js | 7 +-
app/routes/rfcs-input.js | 8 ++-
app/routes/stages/discontinued.js | 7 +-
app/routes/stages/recommended.js | 7 +-
app/routes/stages/released.js | 8 ++-
app/templates/application.gjs | 1 +
app/templates/create-rfc.gjs | 82 +++++++---------------
app/templates/index.gjs | 16 +++++
app/templates/rfcs-help.gjs | 11 ++-
app/templates/rfcs-input.gjs | 11 ++-
app/templates/role-core-team.gjs | 48 ++++++++++++-
app/templates/stages/closed.gjs | 3 +-
app/templates/stages/discontinued.gjs | 14 +++-
app/templates/stages/exploring.gjs | 3 +-
app/templates/stages/index.gjs | 2 +-
app/templates/stages/proposed.gjs | 3 +-
app/templates/stages/ready-for-release.gjs | 6 +-
app/templates/stages/recommended.gjs | 13 +++-
app/templates/stages/released.gjs | 10 ++-
21 files changed, 217 insertions(+), 85 deletions(-)
diff --git a/app/app-styles/app.css b/app/app-styles/app.css
index e41bf9a..32cd4a6 100644
--- a/app/app-styles/app.css
+++ b/app/app-styles/app.css
@@ -16,3 +16,35 @@
height: 100px;
border-radius: 50px;
}
+
+.table {
+ border-collapse: separate;
+ border-spacing: 0;
+ border: 2px solid var(--color-brand);
+ border-radius: var(--radius);
+}
+
+.table th,
+.table td {
+ padding: var(--spacing-1);
+ text-align: left;
+ border-left: none;
+ border-right: none;
+}
+
+/* Row borders */
+.table tr + tr td {
+ border-top: 1px solid var(--color-card-border);
+}
+
+/* Optional: top border for the header row */
+.table thead tr th {
+ background-color: var(--color-brand);
+ border-bottom: 1px solid var(--color-card-border);
+ color: var(--color-white);
+}
+
+/* Optional: remove the last row bottom border if needed */
+.table tr:last-child td {
+ border-bottom: none;
+}
diff --git a/app/components/rfc-card.gjs b/app/components/rfc-card.gjs
index a58b01f..38cd9c9 100644
--- a/app/components/rfc-card.gjs
+++ b/app/components/rfc-card.gjs
@@ -4,13 +4,13 @@ export default class RfcCard extends Component {
{{this.getTitle}}
-
Identifiers provides infrastructure for handling identity within ember-data to satisfy requirements around improved caching, serializability, replication, and handling of remote data.
- This concept would parallel a similar structure proposed for json-api resource identifier lid property drafted for version 1.2 of the json-api spec.
- In doing so we provide a framework for future RFCs and/or addons to address many common feature requests.
+
{{this.getSummary}}
+ {{#unless @compact}}
+ {{/unless}}
@@ -22,4 +22,8 @@ get getURL() {
const [number, ...title] = this.args.title.split('-');
return `#${Number(number)} ${title.join(' ')}`
}
+
+ get getSummary() {
+ return this.args.compact ? "Identifiers provides infrastructure for handling identity within ember-data to satisfy requirements around improved caching, serializability, replication, and handling of remote data..." : "Identifiers provides infrastructure for handling identity within ember-data to satisfy requirements around improved caching, serializability, replication, and handling of remote data.This concept would parallel a similar structure proposed for json-api resource identifier lid property drafted for version 1.2 of the json-api spec.In doing so we provide a framework for future RFCs and/or addons to address many common feature requests."
+ }
}
diff --git a/app/routes/rfcs-help.js b/app/routes/rfcs-help.js
index 925091b..40f294d 100644
--- a/app/routes/rfcs-help.js
+++ b/app/routes/rfcs-help.js
@@ -1,3 +1,8 @@
import Route from '@ember/routing/route';
+import toc from 'rfcs-app-toc-builder:toc.json';
-export default class RfcsHelpRoute extends Route {}
+export default class RfcsHelpRoute extends Route {
+ async model() {
+ return [...toc.stageLinks["accepted"], ...toc.stageLinks["released"]];
+ }
+}
diff --git a/app/routes/rfcs-input.js b/app/routes/rfcs-input.js
index 135c3d1..664f25d 100644
--- a/app/routes/rfcs-input.js
+++ b/app/routes/rfcs-input.js
@@ -1,3 +1,7 @@
import Route from '@ember/routing/route';
-
-export default class RfcsInputRoute extends Route {}
+import toc from 'rfcs-app-toc-builder:toc.json';
+export default class RfcsInputRoute extends Route {
+ async model() {
+ return toc.stageLinks["exploring"];
+ }
+}
diff --git a/app/routes/stages/discontinued.js b/app/routes/stages/discontinued.js
index 99e3fa6..f8d993d 100644
--- a/app/routes/stages/discontinued.js
+++ b/app/routes/stages/discontinued.js
@@ -1,3 +1,8 @@
import Route from '@ember/routing/route';
+import toc from 'rfcs-app-toc-builder:toc.json';
-export default class StagesDiscontinuedRoute extends Route {}
+export default class StagesDiscontinuedRoute extends Route {
+ async model() {
+ return toc.stageLinks["discontinued"];
+ }
+}
diff --git a/app/routes/stages/recommended.js b/app/routes/stages/recommended.js
index c81b976..f353ffd 100644
--- a/app/routes/stages/recommended.js
+++ b/app/routes/stages/recommended.js
@@ -1,3 +1,8 @@
import Route from '@ember/routing/route';
+import toc from 'rfcs-app-toc-builder:toc.json';
-export default class StagesRecommendedRoute extends Route {}
+export default class StagesRecommendedRoute extends Route {
+ async model() {
+ return toc.stageLinks['recommended'];
+ }
+}
diff --git a/app/routes/stages/released.js b/app/routes/stages/released.js
index f100bf7..b06e23b 100644
--- a/app/routes/stages/released.js
+++ b/app/routes/stages/released.js
@@ -1,3 +1,7 @@
import Route from '@ember/routing/route';
-
-export default class StagesReleasedRoute extends Route {}
+import toc from 'rfcs-app-toc-builder:toc.json';
+export default class StagesReleasedRoute extends Route {
+ async model() {
+ return toc.stageLinks["released"];
+ }
+}
diff --git a/app/templates/application.gjs b/app/templates/application.gjs
index 31bbf9a..62a3e6d 100644
--- a/app/templates/application.gjs
+++ b/app/templates/application.gjs
@@ -2,6 +2,7 @@ import { pageTitle } from 'ember-page-title';
import { LinkTo } from '@ember/routing';
import EsHeader from 'ember-styleguide/components/es-header';
import EsSidebar from 'ember-styleguide/components/es-sidebar';
+
{{pageTitle "Ember.js RFCs"}}
diff --git a/app/templates/create-rfc.gjs b/app/templates/create-rfc.gjs
index 6014955..242c32e 100644
--- a/app/templates/create-rfc.gjs
+++ b/app/templates/create-rfc.gjs
@@ -1,5 +1,7 @@
import { pageTitle } from 'ember-page-title';
import { LinkTo } from '@ember/routing';
+import EsNote from 'ember-styleguide/components/es-note';
+
{{pageTitle "Creating an RFC"}}
Creating an RFC
@@ -37,97 +39,65 @@ import { LinkTo } from '@ember/routing';
level of API design detail required for an RFC. You may open an issue on
this repo to start a high-level discussion, with the goal of eventually
formulating an RFC pull request with the specific implementation design. We
- also highly recommend sharing drafts of RFCs in #dev-rfc on the Ember
- Discord for early feedback.
+ also highly recommend sharing drafts of RFCs in #dev-rfc channel on the Ember.js Discord for early feedback.
For more on the RFC process and stages, check out the
RFC stages guide
+
+ The process may look daunting, however we invite
+ everyone to participate. You can propose the change you want to see!
How to create a new RFC
- Fork the RFC repo http://github.com/emberjs/rfcs
+ Fork the RFC repo
Copy the appropriate template. For most RFCs, this is 0000-template.md,
for deprecation RFCs it is deprecation-template.md. Copy the template file
to text/0000-my-feature.md, where 'my-feature' is descriptive.
- Don't assign an RFC number yet.
+
+ Don't assign an RFC number yet.
Fill in the RFC. Put care into the details: RFCs that do not present
convincing motivation, demonstrate understanding of the impact of the
design, or are disingenuous about the drawbacks or alternatives tend to be
poorly-received.
- Fill in the relevant core teams. Use the table below to map from projects
- to teams.
+ Fill in the relevant core teams.
+
Submit a pull request. As a pull request the RFC will receive design
feedback from the larger community, and the author should be prepared to
- revise it in response. The RFC is now in the Proposed stage.
+ revise it in response. The RFC is now in the
+ Proposed stage .
+
Find a champion on the relevant core team. The champion is responsible for
shepherding the RFC through the RFC process and representing it in core
- team meetings.
+ team meetings.
+
Update the pull request to add the number of the PR to the filename and
- add a link to the PR in the header of the RFC.
+ add a link to the PR in the header of the RFC.
+
Build consensus and integrate feedback. RFCs that have broad support are
much more likely to make progress than those that don't receive any
- comments.
+ comments.
+
- From here, the RFC moves to the Exploring stage or Closed in the process
- explained in Stages.
+ From here, the RFC moves to the Exploring stage or Closed in the process
+ explained in Stages.
+
-
-
-
- Core Team
- Project/Topics
- Github Team
-
-
-
-
- Ember.js
- Ember.js
- @emberjs/Framework
-
-
- Ember Data
- Ember Data
- @emberjs/ember-data-core
-
-
- Ember CLI
- Ember CLI
- @emberjs/cli
-
-
- Learning
- Documentation, Website, learning experiences
- @emberjs/learning-core
-
-
- TypeScript
- TypeScript integration and design
- @emberjs/typescript-core
-
-
- Steering
- Governance
- @emberjs/steering
-
-
-
RFC champion
For every RFC, you'll need to find a champion from the relevant core team.
This person is responsible for representing the RFC in team meetings and
guiding it through the various stages. Their responsibilities include
helping the team reach consensus, ensuring the RFC adheres to the process,
and supporting planning and implementation. A champion can step down before
- the RFC is accepted and may also designate a replacement at any time.
The best way to find a champion is by engaging in the #dev-rfc channel on the
- Ember Discord, which is dedicated to RFC discussions. Sharing early drafts
+ the RFC is accepted and may also designate a replacement at any time.
+ The best way to find a champion is by engaging in the #dev-rfc channel on the
+ Ember.js Discord , which is dedicated to RFC discussions. Sharing early drafts
there is highly encouraged as it's a great way to receive initial feedback
and connect with potential champions. You can also request a champion by
opening an issue or noting it directly in the RFC.
diff --git a/app/templates/index.gjs b/app/templates/index.gjs
index bbfbd18..54dd1aa 100644
--- a/app/templates/index.gjs
+++ b/app/templates/index.gjs
@@ -1,6 +1,22 @@
+import RfcCard from '../components/rfc-card';
+
Welcome to the Ember.js RFCs app
This is the place to find what is currently cooking within Ember.js. Check out the documentation on our RFC process and what RFCs need your input!
+
RFC's that can use your input
+
+
+
+
+
+
See all
+
RFC's that need you help
+
+
+
+
+
+
See all
diff --git a/app/templates/rfcs-help.gjs b/app/templates/rfcs-help.gjs
index 983d198..c3f0fcb 100644
--- a/app/templates/rfcs-help.gjs
+++ b/app/templates/rfcs-help.gjs
@@ -1,6 +1,13 @@
import { pageTitle } from 'ember-page-title';
+import RfcCard from '../components/rfc-card';
- {{pageTitle "RfcsHelp"}}
- {{outlet}}
+ {{pageTitle "RFCs that need your help"}}
+ RFCs that need your help
+ The list below consists of RFCs that need active development to move them to the next phase. This could be technical development of the feature or writing documentation.
+
+ {{#each @model as | rfc | }}
+
+ {{/each}}
+
diff --git a/app/templates/rfcs-input.gjs b/app/templates/rfcs-input.gjs
index 80c20ea..cada2bd 100644
--- a/app/templates/rfcs-input.gjs
+++ b/app/templates/rfcs-input.gjs
@@ -1,6 +1,13 @@
import { pageTitle } from 'ember-page-title';
+import RfcCard from '../components/rfc-card';
- {{pageTitle "RfcsInput"}}
- {{outlet}}
+ {{pageTitle "RFCs that need your input"}}
+ RFCs that need your input
+ The list below consists of RFCs that need input when it comes to coming up with the solution. This can be both the implementation, but also the caviats.
+
+ {{#each @model as | rfc | }}
+
+ {{/each}}
+
diff --git a/app/templates/role-core-team.gjs b/app/templates/role-core-team.gjs
index ed06499..adeec95 100644
--- a/app/templates/role-core-team.gjs
+++ b/app/templates/role-core-team.gjs
@@ -5,11 +5,11 @@ import { pageTitle } from 'ember-page-title';
The Role of Core Team Members
- Each Ember core team plays a vital part in reviewing and guiding RFCs. If
+ Each Ember core team plays a vital part in reviewing and guiding RFCs. If
your RFC touches on a specific area—like Ember Data, Learning, or
Framework, the relevant team is responsible for reviewing your proposal. Make
sure you've listed the correct teams in the
- “Relevant Team(s)”
+ "Relevant Team(s)"
section of your RFC front matter. This helps ensure it reaches the right
people.
@@ -23,11 +23,53 @@ import { pageTitle } from 'ember-page-title';
When an RFC is ready to move into the
- Ready for Release
+ Ready for Release
stage, the relevant core teams review the proposal one final time
before it moves forward.
+
+
+
+ Core Team
+ Project/Topics
+ Github Team
+
+
+
+
+ Ember.js
+ Ember.js
+ @emberjs/Framework
+
+
+ Ember Data
+ Ember Data
+ @emberjs/ember-data-core
+
+
+ Ember CLI
+ Ember CLI
+ @emberjs/cli
+
+
+ Learning
+ Documentation, Website, learning experiences
+ @emberjs/learning-core
+
+
+ TypeScript
+ TypeScript integration and design
+ @emberjs/typescript-core
+
+
+ Steering
+ Governance
+ @emberjs/steering
+
+
+
+
About Champions
Every RFC needs a champion from one of the core teams. This person
diff --git a/app/templates/stages/closed.gjs b/app/templates/stages/closed.gjs
index e587b81..9151545 100644
--- a/app/templates/stages/closed.gjs
+++ b/app/templates/stages/closed.gjs
@@ -2,5 +2,6 @@ import { pageTitle } from 'ember-page-title';
{{pageTitle "Closed"}}
- Don't know what's up definition of RFR
+ Closed
+ The Closed stage is a phase where a proposed or exploring RFC is no longer being pursued. See the list of closed RFCs below.
diff --git a/app/templates/stages/discontinued.gjs b/app/templates/stages/discontinued.gjs
index 9f30f65..5b5c4cd 100644
--- a/app/templates/stages/discontinued.gjs
+++ b/app/templates/stages/discontinued.gjs
@@ -1,7 +1,15 @@
import { pageTitle } from 'ember-page-title';
-
+import RfcCard from '../../components/rfc-card';
{{pageTitle "Discontinued"}}
- Don't know what's up definition of RFR
-
+ Discontinued
+ The
+ Discontinued stage
+ is a phase where a previously accepted RFC is no longer going to be
+ implemented. See the list of discontinued RFCs below.
+
+ {{#each @model as |rfc|}}
+
+ {{/each}}
+
diff --git a/app/templates/stages/exploring.gjs b/app/templates/stages/exploring.gjs
index a4ce3bb..7666f61 100644
--- a/app/templates/stages/exploring.gjs
+++ b/app/templates/stages/exploring.gjs
@@ -2,5 +2,6 @@ import { pageTitle } from 'ember-page-title';
{{pageTitle "Exploring"}}
- Don't know what's up definition of RFR
+ Exploring
+ The Exploring stage is a phase where an idea is being refined and discussed further, but needs more clarity, answers, or a champion. See the list of exploring RFCs below.
diff --git a/app/templates/stages/index.gjs b/app/templates/stages/index.gjs
index c0a17fd..f253733 100644
--- a/app/templates/stages/index.gjs
+++ b/app/templates/stages/index.gjs
@@ -18,7 +18,7 @@ import { pageTitle } from 'ember-page-title';
For certain stage advancements, a final comment period (FCP) is required. This is a period lasting 7 days. The beginning of this period will be signaled with a comment and tag on the RFC's pull request. Furthermore, a message will be posted in #news-and-announcements on Ember Discord to attract the community's attention.
An RFC can be modified based upon feedback from the core teams and community during the final comment period. Significant modifications may trigger a new final comment period. At the end of a successful FCP, the RFC moves into the next stage. An RFC may be closed or discontinued by the core teams after public discussion has settled and comments have been made summarizing the rationale for closing. The RFC will enter a "final comment period to close" lasting 7 days. At the end of the "FCP to close" period, the PR will be closed. An RFC author may withdraw their own RFC by closing it themselves.
-
+
Stage
diff --git a/app/templates/stages/proposed.gjs b/app/templates/stages/proposed.gjs
index d3d689f..6903cac 100644
--- a/app/templates/stages/proposed.gjs
+++ b/app/templates/stages/proposed.gjs
@@ -2,5 +2,6 @@ import { pageTitle } from 'ember-page-title';
{{pageTitle "Proposed"}}
- Don't know what's up definition of RFR
+ Proposed
+ The Proposed stage is where new ideas are introduced as pull requests to start discussion. See the list of proposed RFCs below.
diff --git a/app/templates/stages/ready-for-release.gjs b/app/templates/stages/ready-for-release.gjs
index 0cc4a46..e7ed843 100644
--- a/app/templates/stages/ready-for-release.gjs
+++ b/app/templates/stages/ready-for-release.gjs
@@ -2,5 +2,9 @@ import { pageTitle } from 'ember-page-title';
{{pageTitle "Ready for Release"}}
- Don't know what's up definition of RFR
+ Ready for Release
+ The
+ Ready for Release stage
+ is a phase where the implementation is complete and we're preparing it for
+ an official release. See the list of RFCs ready for release below.
diff --git a/app/templates/stages/recommended.gjs b/app/templates/stages/recommended.gjs
index b83b5e7..77221f2 100644
--- a/app/templates/stages/recommended.gjs
+++ b/app/templates/stages/recommended.gjs
@@ -1,6 +1,15 @@
import { pageTitle } from 'ember-page-title';
-
+import RfcCard from '../../components/rfc-card';
{{pageTitle "Recommended"}}
- Don't know what's up definition of RFR
+ Recommended
+ The
+ Recommended stage
+ is a phase where the feature is considered mature and ready for broad use in
+ the community. See the list of recommended RFCs below.
+
+ {{#each @model as |rfc|}}
+
+ {{/each}}
+
diff --git a/app/templates/stages/released.gjs b/app/templates/stages/released.gjs
index 24df58e..3ca9712 100644
--- a/app/templates/stages/released.gjs
+++ b/app/templates/stages/released.gjs
@@ -1,6 +1,12 @@
import { pageTitle } from 'ember-page-title';
-
+import RfcCard from '../../components/rfc-card';
{{pageTitle "Released"}}
- Don't know what's up definition of RFR
+ Released
+ The Released stage is a phase where the work is available in a stable release and has been shipped. See the list of released RFCs below.
+
+ {{#each @model as | rfc | }}
+
+ {{/each}}
+