@aotearoan/neon 28.5.0 → 28.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/layout/basic-layout/NeonBasicLayout.cjs.js +2 -0
- package/dist/components/layout/basic-layout/NeonBasicLayout.cjs.js.map +1 -0
- package/dist/components/layout/basic-layout/NeonBasicLayout.es.js +40 -0
- package/dist/components/layout/basic-layout/NeonBasicLayout.es.js.map +1 -0
- package/dist/components/layout/basic-layout/NeonBasicLayout.vue.cjs.js +2 -0
- package/dist/components/layout/basic-layout/NeonBasicLayout.vue.cjs.js.map +1 -0
- package/dist/components/layout/basic-layout/NeonBasicLayout.vue.es.js +41 -0
- package/dist/components/layout/basic-layout/NeonBasicLayout.vue.es.js.map +1 -0
- package/dist/components/layout/card-list/NeonCardList.cjs.js +1 -1
- package/dist/components/layout/card-list/NeonCardList.cjs.js.map +1 -1
- package/dist/components/layout/card-list/NeonCardList.es.js +47 -45
- package/dist/components/layout/card-list/NeonCardList.es.js.map +1 -1
- package/dist/components/layout/card-list/NeonCardList.vue.cjs.js +1 -1
- package/dist/components/layout/card-list/NeonCardList.vue.cjs.js.map +1 -1
- package/dist/components/layout/card-list/NeonCardList.vue.es.js +48 -50
- package/dist/components/layout/card-list/NeonCardList.vue.es.js.map +1 -1
- package/dist/components/layout/list-layout/NeonListLayout.cjs.js +1 -1
- package/dist/components/layout/list-layout/NeonListLayout.cjs.js.map +1 -1
- package/dist/components/layout/list-layout/NeonListLayout.es.js +16 -11
- package/dist/components/layout/list-layout/NeonListLayout.es.js.map +1 -1
- package/dist/components/layout/list-layout/NeonListLayout.vue.cjs.js +1 -1
- package/dist/components/layout/list-layout/NeonListLayout.vue.cjs.js.map +1 -1
- package/dist/components/layout/list-layout/NeonListLayout.vue.es.js +10 -9
- package/dist/components/layout/list-layout/NeonListLayout.vue.es.js.map +1 -1
- package/dist/components/presentation/avatar/NeonAvatar.cjs.js +2 -0
- package/dist/components/presentation/avatar/NeonAvatar.cjs.js.map +1 -0
- package/dist/components/presentation/avatar/NeonAvatar.es.js +66 -0
- package/dist/components/presentation/avatar/NeonAvatar.es.js.map +1 -0
- package/dist/components/presentation/avatar/NeonAvatar.vue.cjs.js +2 -0
- package/dist/components/presentation/avatar/NeonAvatar.vue.cjs.js.map +1 -0
- package/dist/components/presentation/avatar/NeonAvatar.vue.es.js +25 -0
- package/dist/components/presentation/avatar/NeonAvatar.vue.es.js.map +1 -0
- package/dist/components/presentation/header/NeonHeader.vue.cjs.js +1 -1
- package/dist/components/presentation/header/NeonHeader.vue.cjs.js.map +1 -1
- package/dist/components/presentation/header/NeonHeader.vue.es.js +31 -29
- package/dist/components/presentation/header/NeonHeader.vue.es.js.map +1 -1
- package/dist/model/layout/card-list/NeonCardListStyle.cjs.js +2 -0
- package/dist/model/layout/card-list/NeonCardListStyle.cjs.js.map +1 -0
- package/dist/model/layout/card-list/NeonCardListStyle.es.js +5 -0
- package/dist/model/layout/card-list/NeonCardListStyle.es.js.map +1 -0
- package/dist/model/presentation/badge/NeonBadgeSize.cjs.js +1 -1
- package/dist/model/presentation/badge/NeonBadgeSize.cjs.js.map +1 -1
- package/dist/model/presentation/badge/NeonBadgeSize.es.js +1 -1
- package/dist/model/presentation/badge/NeonBadgeSize.es.js.map +1 -1
- package/dist/neon.cjs.js +1 -1
- package/dist/neon.es.js +265 -259
- package/dist/neon.es.js.map +1 -1
- package/dist/src/components/layout/basic-layout/NeonBasicLayout.d.ts +427 -0
- package/dist/src/components/layout/basic-layout/NeonBasicLayout.vue.d.ts +2 -0
- package/dist/src/components/layout/card-list/NeonCardList.d.ts +47 -60
- package/dist/src/components/layout/list-layout/NeonListLayout.d.ts +304 -250
- package/dist/src/components/presentation/avatar/NeonAvatar.d.ts +1806 -0
- package/dist/src/components/presentation/avatar/NeonAvatar.vue.d.ts +2 -0
- package/dist/src/model/layout/card-list/NeonCardListStyle.d.ts +13 -0
- package/dist/src/model/layout/card-list/NeonLoadOnDemandModel.d.ts +4 -8
- package/dist/src/model/presentation/badge/NeonBadgeSize.d.ts +3 -1
- package/dist/src/neon.d.ts +4 -1
- package/dist/src/utils/common/http/NeonHttpUtils.d.ts +23 -0
- package/dist/utils/common/http/NeonHttpUtils.cjs.js +2 -0
- package/dist/utils/common/http/NeonHttpUtils.cjs.js.map +1 -0
- package/dist/utils/common/http/NeonHttpUtils.es.js +31 -0
- package/dist/utils/common/http/NeonHttpUtils.es.js.map +1 -0
- package/package.json +1 -1
- package/src/sass/components/_badge.scss +2 -2
- package/src/sass/components/{_page-container.scss → _basic-layout.scss} +12 -33
- package/src/sass/components/_card-list.scss +30 -5
- package/src/sass/components/_date-picker.scss +2 -0
- package/src/sass/components/_drawer.scss +1 -0
- package/src/sass/components/_field-group.scss +5 -1
- package/src/sass/components/_header.scss +2 -1
- package/src/sass/components/_input.scss +6 -0
- package/src/sass/components/_link.scss +1 -0
- package/src/sass/components/_modal.scss +1 -0
- package/src/sass/components/_page.scss +1 -0
- package/src/sass/components/_range-slider.scss +4 -0
- package/src/sass/components/_sticky-buttons.scss +1 -1
- package/src/sass/components/components.scss +1 -1
- package/src/sass/includes/_dependencies.scss +1 -1
- package/src/sass/theme.scss +4 -4
- package/src/sass/variables-dark.scss +7 -0
- package/src/sass/variables-global.scss +21 -7
- package/src/sass/variables-light.scss +7 -0
- package/dist/components/layout/page-container/NeonPageContainer.cjs.js +0 -2
- package/dist/components/layout/page-container/NeonPageContainer.cjs.js.map +0 -1
- package/dist/components/layout/page-container/NeonPageContainer.es.js +0 -26
- package/dist/components/layout/page-container/NeonPageContainer.es.js.map +0 -1
- package/dist/components/layout/page-container/NeonPageContainer.vue.cjs.js +0 -2
- package/dist/components/layout/page-container/NeonPageContainer.vue.cjs.js.map +0 -1
- package/dist/components/layout/page-container/NeonPageContainer.vue.es.js +0 -31
- package/dist/components/layout/page-container/NeonPageContainer.vue.es.js.map +0 -1
- package/dist/src/components/layout/page-container/NeonPageContainer.d.ts +0 -98
- package/dist/src/components/layout/page-container/NeonPageContainer.vue.d.ts +0 -2
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the style of card list to render
|
|
3
|
+
*/
|
|
4
|
+
export declare enum NeonCardListStyle {
|
|
5
|
+
/**
|
|
6
|
+
* Render the card list as a list of rows
|
|
7
|
+
*/
|
|
8
|
+
List = "list",
|
|
9
|
+
/**
|
|
10
|
+
* Render the card list as a grid of items with a number of responsive columns.
|
|
11
|
+
*/
|
|
12
|
+
Grid = "grid"
|
|
13
|
+
}
|
|
@@ -3,20 +3,16 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export interface NeonLoadOnDemandModel {
|
|
5
5
|
/**
|
|
6
|
-
* The total item count of records including those not displayed. This is used to display the 'x
|
|
6
|
+
* The total item count of records including those not displayed. This is used to display the 'Showing x of y'
|
|
7
7
|
* text.
|
|
8
8
|
*/
|
|
9
9
|
total: number;
|
|
10
10
|
/**
|
|
11
|
-
* override the default 'x of y' text.
|
|
11
|
+
* override the default 'Showing x of y' text.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
resultCountLabel?: string;
|
|
14
14
|
/**
|
|
15
|
-
* override the '
|
|
15
|
+
* override the 'Load more' text.
|
|
16
16
|
*/
|
|
17
17
|
showMoreLabel?: string;
|
|
18
|
-
/**
|
|
19
|
-
* override the 'End of results' text.
|
|
20
|
-
*/
|
|
21
|
-
endOfResultsLabel?: string;
|
|
22
18
|
}
|
|
@@ -12,5 +12,7 @@ export declare enum NeonBadgeSize {
|
|
|
12
12
|
/** An extra large badge size, typically has a default of 64 rem. */
|
|
13
13
|
ExtraLarge = "xl",
|
|
14
14
|
/** An extra, extra large badge size, typically has a default of 80 rem. */
|
|
15
|
-
ExtraExtraLarge = "xxl"
|
|
15
|
+
ExtraExtraLarge = "xxl",
|
|
16
|
+
/** An extra, extra, extra large badge size, typically has a default of 288 rem. */
|
|
17
|
+
ExtraExtraExtraLarge = "xxxl"
|
|
16
18
|
}
|
package/dist/src/neon.d.ts
CHANGED
|
@@ -2,8 +2,10 @@ export { default as NeonActionMenu } from './components/navigation/action-menu/N
|
|
|
2
2
|
export { default as NeonAlert } from './components/feedback/alert/NeonAlert.vue';
|
|
3
3
|
export { default as NeonAlertContainer } from './components/feedback/alert/container/NeonAlertContainer.vue';
|
|
4
4
|
export { default as NeonAnchor } from './components/navigation/anchor/NeonAnchor.vue';
|
|
5
|
+
export { default as NeonAvatar } from './components/presentation/avatar/NeonAvatar.vue';
|
|
5
6
|
export { default as NeonBadge } from './components/presentation/badge/NeonBadge.vue';
|
|
6
7
|
export { default as NeonBanner } from './components/feedback/banner/NeonBanner.vue';
|
|
8
|
+
export { default as NeonBasicLayout } from './components/layout/basic-layout/NeonBasicLayout.vue';
|
|
7
9
|
export { default as NeonBreadcrumbs } from './components/navigation/breadcrumbs/NeonBreadcrumbs.vue';
|
|
8
10
|
export { default as NeonButton } from './components/user-input/button/NeonButton.vue';
|
|
9
11
|
export { default as NeonCard } from './components/layout/card/NeonCard.vue';
|
|
@@ -52,7 +54,6 @@ export { default as NeonNote } from './components/feedback/note/NeonNote.vue';
|
|
|
52
54
|
export { default as NeonNotificationCounter } from './components/feedback/notification-counter/NeonNotificationCounter.vue';
|
|
53
55
|
export { default as NeonNumber } from './components/user-input/number/NeonNumber.vue';
|
|
54
56
|
export { default as NeonPage } from './components/layout/page/NeonPage.vue';
|
|
55
|
-
export { default as NeonPageContainer } from './components/layout/page-container/NeonPageContainer.vue';
|
|
56
57
|
export { default as NeonPagination } from './components/navigation/pagination/NeonPagination.vue';
|
|
57
58
|
export { default as NeonPassword } from './components/user-input/password/NeonPassword.vue';
|
|
58
59
|
export { default as NeonRangeSlider } from './components/user-input/range-slider/NeonRangeSlider.vue';
|
|
@@ -94,6 +95,7 @@ export { NeonButtonSize } from '@/model/user-input/button/NeonButtonSize';
|
|
|
94
95
|
export { NeonButtonStyle } from '@/model/user-input/button/NeonButtonStyle';
|
|
95
96
|
export { NeonButtonType } from '@/model/user-input/button/NeonButtonType';
|
|
96
97
|
export type { NeonCardListModel } from '@/model/layout/card-list/NeonCardListModel';
|
|
98
|
+
export { NeonCardListStyle } from './model/layout/card-list/NeonCardListStyle';
|
|
97
99
|
export type { NeonCarouselImage } from '@/model/presentation/image-carousel/NeonCarouselImage';
|
|
98
100
|
export { NeonChipAction } from '@/model/user-input/chip/NeonChipAction';
|
|
99
101
|
export type { NeonContrastAccessibility } from '@/model/common/color/NeonContrastAccessibility';
|
|
@@ -159,6 +161,7 @@ export { NeonDialogService } from './utils/feedback/dialog/NeonDialogService';
|
|
|
159
161
|
export { NeonDropdownPlacementUtils } from '@/utils/presentation/dropdown/NeonDropdownPlacementUtils';
|
|
160
162
|
export { NeonEventBus } from '@/utils/common/event/NeonEventBus';
|
|
161
163
|
export { fileToDataURL } from '@/utils/user-input/file/NeonFileUtils';
|
|
164
|
+
export { NeonHttpUtils } from './utils/common/http/NeonHttpUtils';
|
|
162
165
|
export { NeonIconRegistry } from '@/utils/common/icons/NeonIconRegistry';
|
|
163
166
|
export { NeonJazziconUtils } from '@/utils/presentation/badge/NeonJazziconUtils';
|
|
164
167
|
export { NeonModeUtils } from '@/utils/common/color/NeonModeUtils';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for handling HTTP operations such as URL construction and parameter encoding.
|
|
3
|
+
*/
|
|
4
|
+
export declare class NeonHttpUtils {
|
|
5
|
+
/**
|
|
6
|
+
* Constructs a URL with query parameters by appending encoded query parameters to a base URL.
|
|
7
|
+
*
|
|
8
|
+
* @param baseUrl The base URL to which query parameters will be appended.
|
|
9
|
+
* @param params Object containing key-value pairs to be encoded as query parameters.
|
|
10
|
+
* Values can be primitives or arrays of primitives which will be joined by commas.
|
|
11
|
+
*
|
|
12
|
+
* @returns A URL with encoded query parameters appended. If there are no parameters, returns the base URL.
|
|
13
|
+
*/
|
|
14
|
+
static urlWithQueryParams(baseUrl: string, params?: object): string;
|
|
15
|
+
/**
|
|
16
|
+
* Encodes an object of key value pairs to a query string
|
|
17
|
+
* @param params - object of key value pairs where the values must either be primitives or a list of primitives which
|
|
18
|
+
* will be joined by commas
|
|
19
|
+
*
|
|
20
|
+
* @returns An encoded query string without the leading '?'
|
|
21
|
+
*/
|
|
22
|
+
static encodeObjectToHttpQueryParams(params?: object): string;
|
|
23
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class n{static urlWithQueryParams(r,t={}){const e=n.encodeObjectToHttpQueryParams(t);return e.length>0?`${r}?${e}`:r}static encodeObjectToHttpQueryParams(r={}){return Object.entries(r).filter(([,t])=>t!=null&&t!==""&&!(Array.isArray(t)&&t.length===0)).map(([t,e])=>Array.isArray(e)?`${encodeURIComponent(t)}=${e.map(o=>encodeURIComponent(o)).join(",")}`:`${encodeURIComponent(t)}=${encodeURIComponent(e)}`).join("&")}}exports.NeonHttpUtils=n;
|
|
2
|
+
//# sourceMappingURL=NeonHttpUtils.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NeonHttpUtils.cjs.js","sources":["../../../../src/utils/common/http/NeonHttpUtils.ts"],"sourcesContent":["/**\n * Utilities for handling HTTP operations such as URL construction and parameter encoding.\n */\nexport class NeonHttpUtils {\n /**\n * Constructs a URL with query parameters by appending encoded query parameters to a base URL.\n *\n * @param baseUrl The base URL to which query parameters will be appended.\n * @param params Object containing key-value pairs to be encoded as query parameters.\n * Values can be primitives or arrays of primitives which will be joined by commas.\n *\n * @returns A URL with encoded query parameters appended. If there are no parameters, returns the base URL.\n */\n public static urlWithQueryParams(baseUrl: string, params: object = {}) {\n const queryString = NeonHttpUtils.encodeObjectToHttpQueryParams(params);\n return queryString.length > 0 ? `${baseUrl}?${queryString}` : baseUrl;\n }\n\n /**\n * Encodes an object of key value pairs to a query string\n * @param params - object of key value pairs where the values must either be primitives or a list of primitives which\n * will be joined by commas\n *\n * @returns An encoded query string without the leading '?'\n */\n public static encodeObjectToHttpQueryParams(params: object = {}) {\n return Object.entries(params)\n .filter(\n ([, value]) =>\n value !== undefined && value !== null && value !== '' && !(Array.isArray(value) && value.length === 0),\n )\n .map(([key, value]) => {\n if (Array.isArray(value)) {\n return `${encodeURIComponent(key)}=${value.map((v) => encodeURIComponent(v)).join(',')}`;\n }\n\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n })\n .join('&');\n }\n}\n"],"names":["NeonHttpUtils","baseUrl","params","queryString","value","key","v"],"mappings":"gFAGO,MAAMA,CAAc,CAUzB,OAAc,mBAAmBC,EAAiBC,EAAiB,GAAI,CACrE,MAAMC,EAAcH,EAAc,8BAA8BE,CAAM,EACtE,OAAOC,EAAY,OAAS,EAAI,GAAGF,CAAO,IAAIE,CAAW,GAAKF,CAChE,CASA,OAAc,8BAA8BC,EAAiB,GAAI,CAC/D,OAAO,OAAO,QAAQA,CAAM,EACzB,OACC,CAAC,CAAA,CAAGE,CAAK,IACgBA,GAAU,MAAQA,IAAU,IAAM,EAAE,MAAM,QAAQA,CAAK,GAAKA,EAAM,SAAW,EAAA,EAEvG,IAAI,CAAC,CAACC,EAAKD,CAAK,IACX,MAAM,QAAQA,CAAK,EACd,GAAG,mBAAmBC,CAAG,CAAC,IAAID,EAAM,IAAKE,GAAM,mBAAmBA,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,GAGjF,GAAG,mBAAmBD,CAAG,CAAC,IAAI,mBAAmBD,CAAK,CAAC,EAC/D,EACA,KAAK,GAAG,CACb,CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class e {
|
|
2
|
+
/**
|
|
3
|
+
* Constructs a URL with query parameters by appending encoded query parameters to a base URL.
|
|
4
|
+
*
|
|
5
|
+
* @param baseUrl The base URL to which query parameters will be appended.
|
|
6
|
+
* @param params Object containing key-value pairs to be encoded as query parameters.
|
|
7
|
+
* Values can be primitives or arrays of primitives which will be joined by commas.
|
|
8
|
+
*
|
|
9
|
+
* @returns A URL with encoded query parameters appended. If there are no parameters, returns the base URL.
|
|
10
|
+
*/
|
|
11
|
+
static urlWithQueryParams(n, r = {}) {
|
|
12
|
+
const t = e.encodeObjectToHttpQueryParams(r);
|
|
13
|
+
return t.length > 0 ? `${n}?${t}` : n;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Encodes an object of key value pairs to a query string
|
|
17
|
+
* @param params - object of key value pairs where the values must either be primitives or a list of primitives which
|
|
18
|
+
* will be joined by commas
|
|
19
|
+
*
|
|
20
|
+
* @returns An encoded query string without the leading '?'
|
|
21
|
+
*/
|
|
22
|
+
static encodeObjectToHttpQueryParams(n = {}) {
|
|
23
|
+
return Object.entries(n).filter(
|
|
24
|
+
([, r]) => r != null && r !== "" && !(Array.isArray(r) && r.length === 0)
|
|
25
|
+
).map(([r, t]) => Array.isArray(t) ? `${encodeURIComponent(r)}=${t.map((o) => encodeURIComponent(o)).join(",")}` : `${encodeURIComponent(r)}=${encodeURIComponent(t)}`).join("&");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
e as NeonHttpUtils
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=NeonHttpUtils.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NeonHttpUtils.es.js","sources":["../../../../src/utils/common/http/NeonHttpUtils.ts"],"sourcesContent":["/**\n * Utilities for handling HTTP operations such as URL construction and parameter encoding.\n */\nexport class NeonHttpUtils {\n /**\n * Constructs a URL with query parameters by appending encoded query parameters to a base URL.\n *\n * @param baseUrl The base URL to which query parameters will be appended.\n * @param params Object containing key-value pairs to be encoded as query parameters.\n * Values can be primitives or arrays of primitives which will be joined by commas.\n *\n * @returns A URL with encoded query parameters appended. If there are no parameters, returns the base URL.\n */\n public static urlWithQueryParams(baseUrl: string, params: object = {}) {\n const queryString = NeonHttpUtils.encodeObjectToHttpQueryParams(params);\n return queryString.length > 0 ? `${baseUrl}?${queryString}` : baseUrl;\n }\n\n /**\n * Encodes an object of key value pairs to a query string\n * @param params - object of key value pairs where the values must either be primitives or a list of primitives which\n * will be joined by commas\n *\n * @returns An encoded query string without the leading '?'\n */\n public static encodeObjectToHttpQueryParams(params: object = {}) {\n return Object.entries(params)\n .filter(\n ([, value]) =>\n value !== undefined && value !== null && value !== '' && !(Array.isArray(value) && value.length === 0),\n )\n .map(([key, value]) => {\n if (Array.isArray(value)) {\n return `${encodeURIComponent(key)}=${value.map((v) => encodeURIComponent(v)).join(',')}`;\n }\n\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n })\n .join('&');\n }\n}\n"],"names":["NeonHttpUtils","baseUrl","params","queryString","value","key","v"],"mappings":"AAGO,MAAMA,EAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUzB,OAAc,mBAAmBC,GAAiBC,IAAiB,IAAI;AACrE,UAAMC,IAAcH,EAAc,8BAA8BE,CAAM;AACtE,WAAOC,EAAY,SAAS,IAAI,GAAGF,CAAO,IAAIE,CAAW,KAAKF;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAc,8BAA8BC,IAAiB,IAAI;AAC/D,WAAO,OAAO,QAAQA,CAAM,EACzB;AAAA,MACC,CAAC,CAAA,EAAGE,CAAK,MACgBA,KAAU,QAAQA,MAAU,MAAM,EAAE,MAAM,QAAQA,CAAK,KAAKA,EAAM,WAAW;AAAA,IAAA,EAEvG,IAAI,CAAC,CAACC,GAAKD,CAAK,MACX,MAAM,QAAQA,CAAK,IACd,GAAG,mBAAmBC,CAAG,CAAC,IAAID,EAAM,IAAI,CAACE,MAAM,mBAAmBA,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,KAGjF,GAAG,mBAAmBD,CAAG,CAAC,IAAI,mBAAmBD,CAAK,CAAC,EAC/D,EACA,KAAK,GAAG;AAAA,EACb;AACF;"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aotearoan/neon",
|
|
3
3
|
"description": "Neon is a lightweight design library of Vue 3 components with minimal dependencies.",
|
|
4
|
-
"version": "28.
|
|
4
|
+
"version": "28.6.0",
|
|
5
5
|
"main": "./dist/neon.cjs.js",
|
|
6
6
|
"module": "./dist/neon.es.js",
|
|
7
7
|
"types": "./dist/src/neon.d.ts",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
$neon-badge-sizes: (s, m, l, xl, xxl);
|
|
115
|
+
$neon-badge-sizes: (s, m, l, xl, xxl, xxxl);
|
|
116
116
|
|
|
117
117
|
@each $badge-size in $neon-badge-sizes {
|
|
118
118
|
&--#{$badge-size} {
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
&--square {
|
|
153
153
|
&,
|
|
154
154
|
.neon-badge__image {
|
|
155
|
-
border-radius: var(--neon-border-radius);
|
|
155
|
+
border-radius: var(--neon-border-radius-badge);
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
|
|
@@ -1,70 +1,49 @@
|
|
|
1
|
-
@use '../includes/layout';
|
|
2
1
|
@use '../includes/responsive';
|
|
3
|
-
@use '../includes/svg';
|
|
4
2
|
|
|
5
|
-
@mixin
|
|
6
|
-
.neon-
|
|
3
|
+
@mixin basic-layout {
|
|
4
|
+
.neon-basic-layout {
|
|
7
5
|
position: relative;
|
|
8
6
|
padding-bottom: calc(var(--neon-space-20) + var(--neon-height-mobile-menu) + var(--neon-border-width));
|
|
9
|
-
gap: var(--neon-gutter);
|
|
10
7
|
width: 100%;
|
|
11
8
|
max-width: 100%;
|
|
12
9
|
flex: 1 0 auto;
|
|
13
10
|
|
|
14
|
-
|
|
11
|
+
.neon-basic-layout__container {
|
|
12
|
+
gap: var(--neon-gutter);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&.neon-basic-layout--with-sticky-buttons {
|
|
15
16
|
padding-bottom: calc(
|
|
16
|
-
var(--neon-height-
|
|
17
|
+
var(--neon-height-basic-layout-sticky-buttons) + var(--neon-space-20) + var(--neon-height-mobile-menu) +
|
|
17
18
|
var(--neon-height-mobile-menu-indicator)
|
|
18
19
|
);
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
&__header {
|
|
22
|
-
display: flex;
|
|
23
|
-
flex-direction: row;
|
|
24
|
-
align-items: center;
|
|
25
|
-
justify-content: space-between;
|
|
26
|
-
padding-top: calc(1.25 * var(--neon-gutter));
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
h1 {
|
|
30
|
-
margin-bottom: 0;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@include responsive.responsive(larger-than-mobile-large) {
|
|
34
|
-
padding-bottom: var(--neon-space-96);
|
|
35
|
-
}
|
|
36
21
|
}
|
|
37
22
|
|
|
38
23
|
/* All min-height logic */
|
|
39
24
|
@include responsive.responsive(larger-than-mobile-large) {
|
|
40
25
|
.neon-page--with-footer {
|
|
41
|
-
.neon-
|
|
26
|
+
.neon-basic-layout {
|
|
42
27
|
min-height: calc(100% - (var(--neon-footer-height) + var(--neon-border-width-footer) + var(--neon-top-nav-height)));
|
|
43
28
|
}
|
|
44
29
|
}
|
|
45
30
|
}
|
|
46
31
|
|
|
47
32
|
@include responsive.responsive(tablet) {
|
|
48
|
-
.neon-
|
|
33
|
+
.neon-basic-layout {
|
|
49
34
|
max-width: 100%;
|
|
50
35
|
}
|
|
51
36
|
}
|
|
52
37
|
|
|
53
38
|
@include responsive.responsive(mobile-large) {
|
|
54
|
-
.neon-
|
|
39
|
+
.neon-basic-layout {
|
|
55
40
|
min-height: 100%;
|
|
56
|
-
|
|
57
|
-
&--hide-nav {
|
|
58
|
-
min-height: 100%;
|
|
59
|
-
--neon-height-mobile-menu: 0rem;
|
|
60
|
-
--neon-height-mobile-menu-indicator: 0rem;
|
|
61
|
-
}
|
|
62
41
|
}
|
|
63
42
|
}
|
|
64
43
|
|
|
65
44
|
.neon-page--left.neon-page--with-side-nav {
|
|
66
45
|
@include responsive.responsive(larger-than-tablet) {
|
|
67
|
-
.neon-
|
|
46
|
+
.neon-basic-layout {
|
|
68
47
|
max-width: calc(100% - 2 * var(--neon-gutter));
|
|
69
48
|
margin-left: var(--neon-gutter);
|
|
70
49
|
margin-right: var(--neon-gutter);
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
@mixin card-list {
|
|
6
6
|
.neon-card-list {
|
|
7
|
-
&
|
|
7
|
+
&__result-count-label {
|
|
8
8
|
align-self: center;
|
|
9
9
|
user-select: none;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
font-size: var(--neon-font-size-xs);
|
|
11
|
+
color: var(--neon-color-text-secondary);
|
|
12
|
+
margin-top: var(--neon-space-32);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
&__show-more {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
&__header {
|
|
24
24
|
align-items: center;
|
|
25
25
|
user-select: none;
|
|
26
|
-
margin-bottom: var(--neon-space-
|
|
26
|
+
margin-bottom: var(--neon-space-8);
|
|
27
27
|
font-size: var(--neon-font-size-xs);
|
|
28
28
|
color: var(--neon-color-text-primary);
|
|
29
29
|
|
|
@@ -93,5 +93,30 @@
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
+
|
|
97
|
+
&.neon-card-list--grid {
|
|
98
|
+
.neon-card-list__link {
|
|
99
|
+
width: fit-content;
|
|
100
|
+
min-width: fit-content;
|
|
101
|
+
max-width: fit-content;
|
|
102
|
+
display: inline-flex;
|
|
103
|
+
flex: 0 1 auto;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.neon-card-list__cards {
|
|
107
|
+
gap: var(--neon-space-32);
|
|
108
|
+
margin-top: var(--neon-space-32);
|
|
109
|
+
border-top: none;
|
|
110
|
+
flex-direction: row;
|
|
111
|
+
flex-wrap: wrap;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.neon-card-list__card {
|
|
115
|
+
width: fit-content;
|
|
116
|
+
max-width: fit-content;
|
|
117
|
+
flex: 0 1 auto;
|
|
118
|
+
padding: 0 0 var(--neon-space-24) 0;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
96
121
|
}
|
|
97
122
|
}
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
|
|
37
37
|
input {
|
|
38
38
|
pointer-events: none;
|
|
39
|
+
touch-action: none;
|
|
39
40
|
user-select: none;
|
|
40
41
|
font-variant: tabular-nums;
|
|
41
42
|
}
|
|
@@ -61,6 +62,7 @@
|
|
|
61
62
|
|
|
62
63
|
.neon-date-picker__native-input {
|
|
63
64
|
pointer-events: none;
|
|
65
|
+
touch-action: none;
|
|
64
66
|
width: 100%;
|
|
65
67
|
min-width: 100%;
|
|
66
68
|
display: flex;
|
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
.neon-slider__input,
|
|
119
119
|
.neon-slider {
|
|
120
120
|
pointer-events: none;
|
|
121
|
+
touch-action: none;
|
|
121
122
|
}
|
|
122
123
|
|
|
123
124
|
.neon-range-slider__lower,
|
|
@@ -132,14 +133,17 @@
|
|
|
132
133
|
.neon-slider__input {
|
|
133
134
|
&::-webkit-slider-thumb {
|
|
134
135
|
pointer-events: none;
|
|
136
|
+
touch-action: none;
|
|
135
137
|
}
|
|
136
138
|
|
|
137
139
|
&::-moz-range-thumb {
|
|
138
140
|
pointer-events: none;
|
|
141
|
+
touch-action: none;
|
|
139
142
|
}
|
|
140
143
|
|
|
141
144
|
&::-ms-thumb {
|
|
142
145
|
pointer-events: none;
|
|
146
|
+
touch-action: none;
|
|
143
147
|
}
|
|
144
148
|
}
|
|
145
149
|
}
|
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
@forward './image-carousel';
|
|
57
57
|
@forward './swiper';
|
|
58
58
|
@forward './mobile-menu';
|
|
59
|
-
@forward './page-container';
|
|
60
59
|
@forward './banner';
|
|
61
60
|
@forward './pagination';
|
|
62
61
|
@forward './labelled-content';
|
|
@@ -69,3 +68,4 @@
|
|
|
69
68
|
@forward './empty-state';
|
|
70
69
|
@forward './list-layout';
|
|
71
70
|
@forward './loading-state-card';
|
|
71
|
+
@forward './basic-layout';
|
|
@@ -131,7 +131,6 @@
|
|
|
131
131
|
NeonImageCarousel: [NeonButton, NeonLink],
|
|
132
132
|
NeonSwiper: [],
|
|
133
133
|
NeonMobileMenu: [NeonIcon, NeonLink],
|
|
134
|
-
NeonPageContainer: [NeonIcon],
|
|
135
134
|
NeonBanner: [NeonButton, NeonNote, NeonIcon, NeonLink, NeonExpansionIndicator],
|
|
136
135
|
NeonPagination: [NeonButton, NeonLink, NeonIcon],
|
|
137
136
|
NeonLabelledContent: [],
|
|
@@ -144,6 +143,7 @@
|
|
|
144
143
|
NeonEmptyState: [NeonButton, NeonIcon, NeonInline, NeonStack, NeonExpansionIndicator, NeonLink],
|
|
145
144
|
NeonListLayout: [NeonBreadcrumbs, NeonButton, NeonCard, NeonCardBody, NeonCardHeader, NeonCardList, NeonEmptyState, NeonExpansionIndicator, NeonHeader, NeonIcon, NeonInline, NeonLink, NeonNote, NeonPagination, NeonSelectableCard, NeonSwiper, NeonSwitch],
|
|
146
145
|
NeonLoadingStateCard: [NeonInline, NeonStack, NeonSkeletonLoader],
|
|
146
|
+
NeonBasicLayout: [NeonHeader, NeonBreadcrumbs, NeonButton, NeonExpansionIndicator, NeonIcon, NeonInline, NeonLink, NeonNote, NeonSwiper, NeonStack],
|
|
147
147
|
);
|
|
148
148
|
|
|
149
149
|
$neon-flattened-components: [];
|
package/src/sass/theme.scss
CHANGED
|
@@ -273,10 +273,6 @@ $neon-components: null !default;
|
|
|
273
273
|
@include components.mobile-menu;
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
-
@if index($neon-flattened-components, NeonPageContainer) {
|
|
277
|
-
@include components.page-container;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
276
|
@if index($neon-flattened-components, NeonBanner) {
|
|
281
277
|
@include components.banner;
|
|
282
278
|
}
|
|
@@ -324,4 +320,8 @@ $neon-components: null !default;
|
|
|
324
320
|
@if index($neon-flattened-components, NeonLoadingStateCard) {
|
|
325
321
|
@include components.loading-state-card;
|
|
326
322
|
}
|
|
323
|
+
|
|
324
|
+
@if index($neon-flattened-components, NeonBasicLayout) {
|
|
325
|
+
@include components.basic-layout;
|
|
326
|
+
}
|
|
327
327
|
}
|
|
@@ -1337,4 +1337,11 @@
|
|
|
1337
1337
|
* Background color of the sticky button container.
|
|
1338
1338
|
*/
|
|
1339
1339
|
--neon-background-color-sticky-buttons: var(--neon-color-high-contrast-d5);
|
|
1340
|
+
|
|
1341
|
+
/* header */
|
|
1342
|
+
/**
|
|
1343
|
+
* @component NeonHeader,NeonBasicLayout
|
|
1344
|
+
* Color of the header component subtitle
|
|
1345
|
+
*/
|
|
1346
|
+
--neon-color-header-subtitle: var(--neon-color-text-secondary);
|
|
1340
1347
|
}
|
|
@@ -427,6 +427,10 @@
|
|
|
427
427
|
* XXL component size (buttons & badges only)
|
|
428
428
|
*/
|
|
429
429
|
--neon-size-xxl: calc(20 * var(--neon-base-space));
|
|
430
|
+
/**
|
|
431
|
+
* XXXL component size (buttons & badges only)
|
|
432
|
+
*/
|
|
433
|
+
--neon-size-xxxl: calc(72 * var(--neon-base-space));
|
|
430
434
|
|
|
431
435
|
/* box shadows */
|
|
432
436
|
/** Default box shadow */
|
|
@@ -1240,6 +1244,11 @@
|
|
|
1240
1244
|
--neon-text-transform-label: none;
|
|
1241
1245
|
|
|
1242
1246
|
/* badge */
|
|
1247
|
+
/**
|
|
1248
|
+
* @component NeonBadge,NeonAvatar
|
|
1249
|
+
* Badge border radius for square badges
|
|
1250
|
+
*/
|
|
1251
|
+
--neon-border-radius-badge: var(--neon-border-radius);
|
|
1243
1252
|
/**
|
|
1244
1253
|
* @component NeonBadge
|
|
1245
1254
|
* Background gradient angle for a multicolored badge
|
|
@@ -1275,6 +1284,11 @@
|
|
|
1275
1284
|
* Size (height) of an XXL Badge
|
|
1276
1285
|
*/
|
|
1277
1286
|
--neon-size-xxl-badge: var(--neon-size-xxl);
|
|
1287
|
+
/**
|
|
1288
|
+
* @component NeonBadge,NeonAvatar
|
|
1289
|
+
* Size (height) of an XXXL Badge
|
|
1290
|
+
*/
|
|
1291
|
+
--neon-size-xxxl-badge: var(--neon-size-xxxl);
|
|
1278
1292
|
/**
|
|
1279
1293
|
* @component NeonBadge
|
|
1280
1294
|
* Default opacity of an editable badge button
|
|
@@ -1334,13 +1348,6 @@
|
|
|
1334
1348
|
*/
|
|
1335
1349
|
--neon-blur-radius-image-carousel: 5px;
|
|
1336
1350
|
|
|
1337
|
-
/* page container */
|
|
1338
|
-
/**
|
|
1339
|
-
* @component NeonPageContainer
|
|
1340
|
-
* Page container fixed height for sticky buttons
|
|
1341
|
-
*/
|
|
1342
|
-
--neon-height-page-container-sticky-buttons: 72rem;
|
|
1343
|
-
|
|
1344
1351
|
/* tree menu */
|
|
1345
1352
|
/**
|
|
1346
1353
|
* @component NeonTreeMenu
|
|
@@ -1410,4 +1417,11 @@
|
|
|
1410
1417
|
* Border radius on the thumbnail placeholder in the loading state card. Set to 50% for a circular thumbnail.
|
|
1411
1418
|
*/
|
|
1412
1419
|
--neon-border-radius-loading-state-card-thumbnail: var(--neon-border-radius-skeleton-loader);
|
|
1420
|
+
|
|
1421
|
+
/* Header component */
|
|
1422
|
+
/**
|
|
1423
|
+
* @component NeonHeader,NeonBasicLayout
|
|
1424
|
+
* Font size of the header component subtitle
|
|
1425
|
+
*/
|
|
1426
|
+
--neon-font-size-header-subtitle: var(--neon-font-size-m);
|
|
1413
1427
|
}
|
|
@@ -1337,4 +1337,11 @@
|
|
|
1337
1337
|
* Background color of the sticky button container.
|
|
1338
1338
|
*/
|
|
1339
1339
|
--neon-background-color-sticky-buttons: var(--neon-color-high-contrast-l5);
|
|
1340
|
+
|
|
1341
|
+
/* header */
|
|
1342
|
+
/**
|
|
1343
|
+
* @component NeonHeader,NeonBasicLayout
|
|
1344
|
+
* Color of the header component subtitle
|
|
1345
|
+
*/
|
|
1346
|
+
--neon-color-header-subtitle: var(--neon-color-text-secondary);
|
|
1340
1347
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),o=require("../../presentation/icon/NeonIcon.vue.cjs.js"),s=e.defineComponent({name:"NeonPageContainer",components:{NeonIcon:o},props:{title:{type:String},hideNav:{type:Boolean,default:!1},stickyButtons:{type:Boolean,default:!1}},setup(n){const t=e.useSlots();return{hasHeader:e.computed(()=>n.title||t.header||t.actions)}}});module.exports=s;
|
|
2
|
-
//# sourceMappingURL=NeonPageContainer.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NeonPageContainer.cjs.js","sources":["../../../../src/components/layout/page-container/NeonPageContainer.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { computed, defineComponent, useSlots } from 'vue';\nimport NeonIcon from '@/components/presentation/icon/NeonIcon.vue';\n\n/**\n * NeonPageContainer is a component for the layout of basic (non-card based) page content. It is designed to be placed\n * directly inside the NeonPage <em>contents</em> slot.\n * <br />\n * <br />\n * Features include support for sticky button placement and hiding the nav bar.\n */\nexport default defineComponent({\n name: 'NeonPageContainer',\n components: {\n NeonIcon,\n },\n props: {\n /** The page title */\n title: { type: String },\n /** Hide the navbar */\n hideNav: { type: Boolean, default: false },\n /** Sticky button support on mobile */\n stickyButtons: { type: Boolean, default: false },\n },\n setup(props) {\n const slots = useSlots();\n\n const hasHeader = computed(() => {\n return props.title || slots.header || slots.actions;\n });\n\n return {\n hasHeader,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonIcon","props","slots","useSlots","computed"],"mappings":"6FAUAA,EAAeC,kBAAgB,CAC7B,KAAM,oBACN,WAAY,CACV,SAAAC,CAAA,EAEF,MAAO,CAEL,MAAO,CAAE,KAAM,MAAA,EAEf,QAAS,CAAE,KAAM,QAAS,QAAS,EAAA,EAEnC,cAAe,CAAE,KAAM,QAAS,QAAS,EAAA,CAAM,EAEjD,MAAMC,EAAO,CACX,MAAMC,EAAQC,EAAAA,SAAA,EAMd,MAAO,CACL,UALgBC,EAAAA,SAAS,IAClBH,EAAM,OAASC,EAAM,QAAUA,EAAM,OAC7C,CAGC,CAEJ,CACF,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { defineComponent as o, useSlots as n, computed as a } from "vue";
|
|
2
|
-
import s from "../../presentation/icon/NeonIcon.vue.es.js";
|
|
3
|
-
const l = o({
|
|
4
|
-
name: "NeonPageContainer",
|
|
5
|
-
components: {
|
|
6
|
-
NeonIcon: s
|
|
7
|
-
},
|
|
8
|
-
props: {
|
|
9
|
-
/** The page title */
|
|
10
|
-
title: { type: String },
|
|
11
|
-
/** Hide the navbar */
|
|
12
|
-
hideNav: { type: Boolean, default: !1 },
|
|
13
|
-
/** Sticky button support on mobile */
|
|
14
|
-
stickyButtons: { type: Boolean, default: !1 }
|
|
15
|
-
},
|
|
16
|
-
setup(t) {
|
|
17
|
-
const e = n();
|
|
18
|
-
return {
|
|
19
|
-
hasHeader: a(() => t.title || e.header || e.actions)
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
export {
|
|
24
|
-
l as default
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=NeonPageContainer.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NeonPageContainer.es.js","sources":["../../../../src/components/layout/page-container/NeonPageContainer.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { computed, defineComponent, useSlots } from 'vue';\nimport NeonIcon from '@/components/presentation/icon/NeonIcon.vue';\n\n/**\n * NeonPageContainer is a component for the layout of basic (non-card based) page content. It is designed to be placed\n * directly inside the NeonPage <em>contents</em> slot.\n * <br />\n * <br />\n * Features include support for sticky button placement and hiding the nav bar.\n */\nexport default defineComponent({\n name: 'NeonPageContainer',\n components: {\n NeonIcon,\n },\n props: {\n /** The page title */\n title: { type: String },\n /** Hide the navbar */\n hideNav: { type: Boolean, default: false },\n /** Sticky button support on mobile */\n stickyButtons: { type: Boolean, default: false },\n },\n setup(props) {\n const slots = useSlots();\n\n const hasHeader = computed(() => {\n return props.title || slots.header || slots.actions;\n });\n\n return {\n hasHeader,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonIcon","props","slots","useSlots","computed"],"mappings":";;AAUA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAAC;AAAA,EAAA;AAAA,EAEF,OAAO;AAAA;AAAA,IAEL,OAAO,EAAE,MAAM,OAAA;AAAA;AAAA,IAEf,SAAS,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA;AAAA,IAEnC,eAAe,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA,EAAM;AAAA,EAEjD,MAAMC,GAAO;AACX,UAAMC,IAAQC,EAAA;AAMd,WAAO;AAAA,MACL,WALgBC,EAAS,MAClBH,EAAM,SAASC,EAAM,UAAUA,EAAM,OAC7C;AAAA,IAGC;AAAA,EAEJ;AACF,CAAC;"}
|