@ncds/ui-admin 1.8.3 → 1.8.5
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/cjs/assets/scripts/featuredIcon.js +87 -0
- package/dist/cjs/assets/scripts/notification/FloatingNotification.js +178 -0
- package/dist/cjs/assets/scripts/notification/FullWidthNotification.js +133 -0
- package/dist/cjs/assets/scripts/notification/MessageNotification.js +159 -0
- package/dist/cjs/assets/scripts/notification/Notification.js +120 -0
- package/dist/cjs/assets/scripts/notification/const/classNames.js +50 -0
- package/dist/cjs/assets/scripts/notification/const/icons.js +31 -0
- package/dist/cjs/assets/scripts/notification/const/index.js +87 -0
- package/dist/cjs/assets/scripts/notification/const/sizes.js +46 -0
- package/dist/cjs/assets/scripts/notification/const/types.js +14 -0
- package/dist/cjs/assets/scripts/notification/index.js +116 -0
- package/dist/cjs/assets/scripts/notification/positionSync.js +180 -0
- package/dist/cjs/assets/scripts/notification/utils.js +122 -0
- package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +45 -0
- package/dist/cjs/assets/scripts/utils/sanitize.js +39 -0
- package/dist/cjs/src/components/data-display/data-grid/DataGrid.js +5 -1
- package/dist/cjs/src/components/data-display/table/Table.js +118 -96
- package/dist/cjs/src/components/data-display/table/useTableScrollbars.js +187 -0
- package/dist/cjs/src/components/forms-and-input/combo-box/ComboBox.js +11 -10
- package/dist/cjs/src/components/forms-and-input/image-file-input/ImageFileInput.js +5 -2
- package/dist/cjs/src/components/forms-and-input/select-box/SelectBox.js +67 -29
- package/dist/cjs/src/components/index.js +33 -0
- package/dist/cjs/src/components/layout/block-container/BlockContainer.js +38 -0
- package/dist/cjs/src/components/layout/block-container/index.js +16 -0
- package/dist/cjs/src/components/layout/block-header/BlockHeader.js +107 -0
- package/dist/cjs/src/components/layout/block-header/SubTitle.js +56 -0
- package/dist/cjs/src/components/layout/block-header/index.js +27 -0
- package/dist/cjs/src/components/layout/page-title/PageTitle.js +95 -0
- package/dist/cjs/src/components/layout/page-title/index.js +16 -0
- package/dist/cjs/src/components/overlays/dropdown/Dropdown.js +47 -19
- package/dist/cjs/src/components/overlays/notification/CalloutNotification.js +25 -0
- package/dist/cjs/src/components/overlays/notification/FloatingNotification.js +86 -13
- package/dist/cjs/src/components/overlays/notification/Notification.js +7 -0
- package/dist/cjs/src/components/overlays/notification/host.js +12 -0
- package/dist/cjs/src/components/overlays/tooltip/Tooltip.js +57 -44
- package/dist/cjs/src/components/select-dropdown/SelectDropdown.js +2 -1
- package/dist/cjs/src/contexts/FloatingContext.js +11 -0
- package/dist/cjs/src/contexts/index.js +16 -0
- package/dist/cjs/src/hooks/index.js +11 -0
- package/dist/cjs/src/hooks/useFloatingPosition.js +78 -0
- package/dist/cjs/src/hooks/usePortalState.js +17 -0
- package/dist/cjs/src/utils/dropdown/maxSelection.js +35 -0
- package/dist/cjs/src/utils/dropdown/multiSelect.js +72 -15
- package/dist/esm/assets/scripts/featuredIcon.js +80 -0
- package/dist/esm/assets/scripts/notification/FloatingNotification.js +171 -0
- package/dist/esm/assets/scripts/notification/FullWidthNotification.js +126 -0
- package/dist/esm/assets/scripts/notification/MessageNotification.js +152 -0
- package/dist/esm/assets/scripts/notification/Notification.js +113 -0
- package/dist/esm/assets/scripts/notification/const/classNames.js +44 -0
- package/dist/esm/assets/scripts/notification/const/icons.js +25 -0
- package/dist/esm/assets/scripts/notification/const/index.js +4 -0
- package/dist/esm/assets/scripts/notification/const/sizes.js +40 -0
- package/dist/esm/assets/scripts/notification/const/types.js +8 -0
- package/dist/esm/assets/scripts/notification/index.js +10 -0
- package/dist/esm/assets/scripts/notification/positionSync.js +171 -0
- package/dist/esm/assets/scripts/notification/utils.js +109 -0
- package/dist/esm/assets/scripts/shared/ButtonCloseX.js +37 -0
- package/dist/esm/assets/scripts/utils/sanitize.js +31 -0
- package/dist/esm/src/components/data-display/data-grid/DataGrid.js +5 -1
- package/dist/esm/src/components/data-display/table/Table.js +118 -96
- package/dist/esm/src/components/data-display/table/useTableScrollbars.js +179 -0
- package/dist/esm/src/components/forms-and-input/combo-box/ComboBox.js +11 -10
- package/dist/esm/src/components/forms-and-input/image-file-input/ImageFileInput.js +5 -2
- package/dist/esm/src/components/forms-and-input/select-box/SelectBox.js +67 -29
- package/dist/esm/src/components/index.js +3 -0
- package/dist/esm/src/components/layout/block-container/BlockContainer.js +31 -0
- package/dist/esm/src/components/layout/block-container/index.js +1 -0
- package/dist/esm/src/components/layout/block-header/BlockHeader.js +100 -0
- package/dist/esm/src/components/layout/block-header/SubTitle.js +49 -0
- package/dist/esm/src/components/layout/block-header/index.js +2 -0
- package/dist/esm/src/components/layout/page-title/PageTitle.js +88 -0
- package/dist/esm/src/components/layout/page-title/index.js +1 -0
- package/dist/esm/src/components/overlays/dropdown/Dropdown.js +47 -19
- package/dist/esm/src/components/overlays/notification/CalloutNotification.js +19 -0
- package/dist/esm/src/components/overlays/notification/FloatingNotification.js +86 -14
- package/dist/esm/src/components/overlays/notification/Notification.js +7 -0
- package/dist/esm/src/components/overlays/notification/host.js +9 -0
- package/dist/esm/src/components/overlays/tooltip/Tooltip.js +58 -45
- package/dist/esm/src/components/select-dropdown/SelectDropdown.js +2 -1
- package/dist/esm/src/contexts/FloatingContext.js +4 -0
- package/dist/esm/src/contexts/index.js +1 -0
- package/dist/esm/src/hooks/index.js +1 -0
- package/dist/esm/src/hooks/useFloatingPosition.js +71 -0
- package/dist/esm/src/hooks/usePortalState.js +10 -0
- package/dist/esm/src/utils/dropdown/maxSelection.js +27 -0
- package/dist/esm/src/utils/dropdown/multiSelect.js +70 -14
- package/dist/temp/assets/scripts/featuredIcon.d.ts +22 -0
- package/dist/temp/assets/scripts/featuredIcon.js +79 -0
- package/dist/temp/assets/scripts/notification/FloatingNotification.d.ts +24 -0
- package/dist/temp/assets/scripts/notification/FloatingNotification.js +156 -0
- package/dist/temp/assets/scripts/notification/FullWidthNotification.d.ts +21 -0
- package/dist/temp/assets/scripts/notification/FullWidthNotification.js +111 -0
- package/dist/temp/assets/scripts/notification/MessageNotification.d.ts +22 -0
- package/dist/temp/assets/scripts/notification/MessageNotification.js +140 -0
- package/dist/temp/assets/scripts/notification/Notification.d.ts +22 -0
- package/dist/temp/assets/scripts/notification/Notification.js +112 -0
- package/dist/temp/assets/scripts/notification/const/classNames.d.ts +43 -0
- package/dist/temp/assets/scripts/notification/const/classNames.js +44 -0
- package/dist/temp/assets/scripts/notification/const/icons.d.ts +25 -0
- package/dist/temp/assets/scripts/notification/const/icons.js +25 -0
- package/dist/temp/assets/scripts/notification/const/index.d.ts +5 -0
- package/dist/temp/assets/scripts/notification/const/index.js +4 -0
- package/dist/temp/assets/scripts/notification/const/sizes.d.ts +32 -0
- package/dist/temp/assets/scripts/notification/const/sizes.js +40 -0
- package/dist/temp/assets/scripts/notification/const/types.d.ts +19 -0
- package/dist/temp/assets/scripts/notification/const/types.js +8 -0
- package/dist/temp/assets/scripts/notification/index.d.ts +8 -0
- package/dist/temp/assets/scripts/notification/index.js +10 -0
- package/dist/temp/assets/scripts/notification/positionSync.d.ts +50 -0
- package/dist/temp/assets/scripts/notification/positionSync.js +170 -0
- package/dist/temp/assets/scripts/notification/utils.d.ts +8 -0
- package/dist/temp/assets/scripts/notification/utils.js +115 -0
- package/dist/temp/assets/scripts/shared/ButtonCloseX.d.ts +5 -0
- package/dist/temp/assets/scripts/shared/ButtonCloseX.js +33 -0
- package/dist/temp/assets/scripts/utils/sanitize.d.ts +22 -0
- package/dist/temp/assets/scripts/utils/sanitize.js +31 -0
- package/dist/temp/src/components/data-display/data-grid/DataGrid.js +1 -1
- package/dist/temp/src/components/data-display/data-grid/DataGrid.types.d.ts +7 -0
- package/dist/temp/src/components/data-display/table/Table.d.ts +4 -1
- package/dist/temp/src/components/data-display/table/Table.js +53 -68
- package/dist/temp/src/components/data-display/table/types.d.ts +18 -0
- package/dist/temp/src/components/data-display/table/useTableScrollbars.d.ts +25 -0
- package/dist/temp/src/components/data-display/table/useTableScrollbars.js +136 -0
- package/dist/temp/src/components/forms-and-input/combo-box/ComboBox.d.ts +8 -0
- package/dist/temp/src/components/forms-and-input/combo-box/ComboBox.js +7 -11
- package/dist/temp/src/components/forms-and-input/image-file-input/ImageFileInput.js +1 -1
- package/dist/temp/src/components/forms-and-input/select-box/SelectBox.d.ts +13 -0
- package/dist/temp/src/components/forms-and-input/select-box/SelectBox.js +30 -3
- package/dist/temp/src/components/index.d.ts +3 -0
- package/dist/temp/src/components/index.js +3 -0
- package/dist/temp/src/components/layout/block-container/BlockContainer.d.ts +19 -0
- package/dist/temp/src/components/layout/block-container/BlockContainer.js +11 -0
- package/dist/temp/src/components/layout/block-container/index.d.ts +1 -0
- package/dist/temp/src/components/layout/block-container/index.js +1 -0
- package/dist/temp/src/components/layout/block-header/BlockHeader.d.ts +23 -0
- package/dist/temp/src/components/layout/block-header/BlockHeader.js +21 -0
- package/dist/temp/src/components/layout/block-header/SubTitle.d.ts +19 -0
- package/dist/temp/src/components/layout/block-header/SubTitle.js +8 -0
- package/dist/temp/src/components/layout/block-header/index.d.ts +2 -0
- package/dist/temp/src/components/layout/block-header/index.js +2 -0
- package/dist/temp/src/components/layout/page-title/PageTitle.d.ts +22 -0
- package/dist/temp/src/components/layout/page-title/PageTitle.js +19 -0
- package/dist/temp/src/components/layout/page-title/index.d.ts +1 -0
- package/dist/temp/src/components/layout/page-title/index.js +1 -0
- package/dist/temp/src/components/overlays/dropdown/Dropdown.d.ts +5 -0
- package/dist/temp/src/components/overlays/dropdown/Dropdown.js +35 -11
- package/dist/temp/src/components/overlays/notification/CalloutNotification.d.ts +9 -0
- package/dist/temp/src/components/overlays/notification/CalloutNotification.js +6 -0
- package/dist/temp/src/components/overlays/notification/FloatingNotification.d.ts +15 -0
- package/dist/temp/src/components/overlays/notification/FloatingNotification.js +81 -13
- package/dist/temp/src/components/overlays/notification/Notification.d.ts +18 -3
- package/dist/temp/src/components/overlays/notification/Notification.js +4 -0
- package/dist/temp/src/components/overlays/notification/host.d.ts +9 -0
- package/dist/temp/src/components/overlays/notification/host.js +9 -0
- package/dist/temp/src/components/overlays/tooltip/Tooltip.d.ts +5 -1
- package/dist/temp/src/components/overlays/tooltip/Tooltip.js +25 -22
- package/dist/temp/src/components/select-dropdown/SelectDropdown.d.ts +6 -0
- package/dist/temp/src/components/select-dropdown/SelectDropdown.js +2 -2
- package/dist/temp/src/contexts/FloatingContext.d.ts +6 -0
- package/dist/temp/src/contexts/FloatingContext.js +4 -0
- package/dist/temp/src/contexts/index.d.ts +1 -0
- package/dist/temp/src/contexts/index.js +1 -0
- package/dist/temp/src/hooks/index.d.ts +1 -0
- package/dist/temp/src/hooks/index.js +1 -0
- package/dist/temp/src/hooks/useFloatingPosition.d.ts +19 -0
- package/dist/temp/src/hooks/useFloatingPosition.js +55 -0
- package/dist/temp/src/hooks/usePortalState.d.ts +6 -0
- package/dist/temp/src/hooks/usePortalState.js +7 -0
- package/dist/temp/src/utils/dropdown/maxSelection.d.ts +24 -0
- package/dist/temp/src/utils/dropdown/maxSelection.js +28 -0
- package/dist/temp/src/utils/dropdown/multiSelect.d.ts +42 -2
- package/dist/temp/src/utils/dropdown/multiSelect.js +66 -13
- package/dist/types/assets/scripts/featuredIcon.d.ts +22 -0
- package/dist/types/assets/scripts/notification/FloatingNotification.d.ts +24 -0
- package/dist/types/assets/scripts/notification/FullWidthNotification.d.ts +21 -0
- package/dist/types/assets/scripts/notification/MessageNotification.d.ts +22 -0
- package/dist/types/assets/scripts/notification/Notification.d.ts +22 -0
- package/dist/types/assets/scripts/notification/const/classNames.d.ts +43 -0
- package/dist/types/assets/scripts/notification/const/icons.d.ts +25 -0
- package/dist/types/assets/scripts/notification/const/index.d.ts +5 -0
- package/dist/types/assets/scripts/notification/const/sizes.d.ts +32 -0
- package/dist/types/assets/scripts/notification/const/types.d.ts +19 -0
- package/dist/types/assets/scripts/notification/index.d.ts +8 -0
- package/dist/types/assets/scripts/notification/positionSync.d.ts +50 -0
- package/dist/types/assets/scripts/notification/utils.d.ts +8 -0
- package/dist/types/assets/scripts/shared/ButtonCloseX.d.ts +5 -0
- package/dist/types/assets/scripts/utils/sanitize.d.ts +22 -0
- package/dist/types/src/components/data-display/data-grid/DataGrid.types.d.ts +7 -0
- package/dist/types/src/components/data-display/table/Table.d.ts +4 -1
- package/dist/types/src/components/data-display/table/types.d.ts +18 -0
- package/dist/types/src/components/data-display/table/useTableScrollbars.d.ts +25 -0
- package/dist/types/src/components/forms-and-input/combo-box/ComboBox.d.ts +8 -0
- package/dist/types/src/components/forms-and-input/select-box/SelectBox.d.ts +13 -0
- package/dist/types/src/components/index.d.ts +3 -0
- package/dist/types/src/components/layout/block-container/BlockContainer.d.ts +19 -0
- package/dist/types/src/components/layout/block-container/index.d.ts +1 -0
- package/dist/types/src/components/layout/block-header/BlockHeader.d.ts +23 -0
- package/dist/types/src/components/layout/block-header/SubTitle.d.ts +19 -0
- package/dist/types/src/components/layout/block-header/index.d.ts +2 -0
- package/dist/types/src/components/layout/page-title/PageTitle.d.ts +22 -0
- package/dist/types/src/components/layout/page-title/index.d.ts +1 -0
- package/dist/types/src/components/overlays/dropdown/Dropdown.d.ts +5 -0
- package/dist/types/src/components/overlays/notification/CalloutNotification.d.ts +9 -0
- package/dist/types/src/components/overlays/notification/FloatingNotification.d.ts +15 -0
- package/dist/types/src/components/overlays/notification/Notification.d.ts +18 -3
- package/dist/types/src/components/overlays/notification/host.d.ts +9 -0
- package/dist/types/src/components/overlays/tooltip/Tooltip.d.ts +5 -1
- package/dist/types/src/components/select-dropdown/SelectDropdown.d.ts +6 -0
- package/dist/types/src/contexts/FloatingContext.d.ts +6 -0
- package/dist/types/src/contexts/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/useFloatingPosition.d.ts +19 -0
- package/dist/types/src/hooks/usePortalState.d.ts +6 -0
- package/dist/types/src/utils/dropdown/maxSelection.d.ts +24 -0
- package/dist/types/src/utils/dropdown/multiSelect.d.ts +42 -2
- package/dist/ui-admin/assets/styles/style.css +596 -64
- package/package.json +1 -1
|
@@ -113,8 +113,35 @@
|
|
|
113
113
|
--font-size-display-md: 36px;
|
|
114
114
|
--font-size-display-lg: 48px;
|
|
115
115
|
--font-size-display-xl: 60px;
|
|
116
|
-
/* z-index (고도몰 기준)
|
|
116
|
+
/* z-index 위계 (고도몰 기준)
|
|
117
|
+
사용자 인지 우선순위가 높을수록 큰 값. z-index를 직접 숫자로 박지 않고 모두 토큰을 경유한다.
|
|
118
|
+
필요 시 새 레이어가 추가되면 충분한 간격을 두고 끼워 넣는다.
|
|
119
|
+
|
|
120
|
+
── 컴포넌트 내부 stacking ────────────────────────────────
|
|
121
|
+
base (0) — 외부 라이브러리 reset 보정 (예: shopby span z-index: -1 override)
|
|
122
|
+
1, 2, 5 — 컴포넌트 내부 stacking 단계. 의미가 컴포넌트마다 달라 수치 토큰 사용
|
|
123
|
+
sticky (10) — 컴포넌트 내 sticky/fixed (table fixed-header, image overlay)
|
|
124
|
+
|
|
125
|
+
── 글로벌 오버레이 ───────────────────────────────────────
|
|
126
|
+
spinner (200) — 부분 로딩 표시
|
|
127
|
+
popover (500) — dropdown · select-dropdown 등 부유 popover
|
|
128
|
+
(Portal 미사용, 부모 stacking context 안에서 동작)
|
|
129
|
+
modal (1000) — 작업 차단 다이얼로그. backdrop이 stacking context를 만들고
|
|
130
|
+
자식인 본체는 자연 stacking으로 따라가므로 단일 토큰으로 충분
|
|
131
|
+
tooltip (2000) — 정보 보조. tag 자체 tooltip도 동일 토큰 사용
|
|
132
|
+
(hover 시에만 노출되어 stacking 충돌 가능성이 낮음)
|
|
133
|
+
notification (2100) — 시스템 알림(toast)
|
|
134
|
+
*/
|
|
135
|
+
--z-index-base: 0;
|
|
136
|
+
--z-index-1: 1;
|
|
137
|
+
--z-index-2: 2;
|
|
138
|
+
--z-index-5: 5;
|
|
139
|
+
--z-index-sticky: 10;
|
|
140
|
+
--z-index-spinner: 200;
|
|
141
|
+
--z-index-popover: 500;
|
|
142
|
+
--z-index-modal: 1000;
|
|
117
143
|
--z-index-tooltip: 2000;
|
|
144
|
+
--z-index-notification: 2100;
|
|
118
145
|
}
|
|
119
146
|
|
|
120
147
|
:root {
|
|
@@ -504,7 +531,7 @@ button {
|
|
|
504
531
|
flex: none;
|
|
505
532
|
}
|
|
506
533
|
.ncua-btn span {
|
|
507
|
-
z-index:
|
|
534
|
+
z-index: var(--z-index-base);
|
|
508
535
|
}
|
|
509
536
|
|
|
510
537
|
[class*=ncua-btn--text] {
|
|
@@ -908,7 +935,7 @@ button {
|
|
|
908
935
|
position: absolute;
|
|
909
936
|
top: 0;
|
|
910
937
|
left: 0;
|
|
911
|
-
z-index: 1;
|
|
938
|
+
z-index: var(--z-index-1);
|
|
912
939
|
-webkit-appearance: none;
|
|
913
940
|
-moz-appearance: none;
|
|
914
941
|
appearance: none;
|
|
@@ -950,7 +977,7 @@ button {
|
|
|
950
977
|
left: 50%;
|
|
951
978
|
transform: translate(-50%, -50%);
|
|
952
979
|
content: "";
|
|
953
|
-
z-index: 5;
|
|
980
|
+
z-index: var(--z-index-5);
|
|
954
981
|
width: 12px;
|
|
955
982
|
height: 12px;
|
|
956
983
|
background-repeat: no-repeat;
|
|
@@ -1291,6 +1318,12 @@ button {
|
|
|
1291
1318
|
left: auto;
|
|
1292
1319
|
right: 0;
|
|
1293
1320
|
}
|
|
1321
|
+
.ncua-dropdown__menu--portal {
|
|
1322
|
+
position: fixed;
|
|
1323
|
+
top: auto;
|
|
1324
|
+
left: auto;
|
|
1325
|
+
right: auto;
|
|
1326
|
+
}
|
|
1294
1327
|
.ncua-dropdown__header {
|
|
1295
1328
|
padding: 8px 16px;
|
|
1296
1329
|
border-bottom: 1px solid var(--gray-100);
|
|
@@ -1594,7 +1627,7 @@ button {
|
|
|
1594
1627
|
.ncua-input:focus-within :where(.ncua-input__field) {
|
|
1595
1628
|
border-color: var(--gray-400);
|
|
1596
1629
|
box-shadow: var(--shadow-xs-focused-3px-gray-100);
|
|
1597
|
-
z-index: 1;
|
|
1630
|
+
z-index: var(--z-index-1);
|
|
1598
1631
|
}
|
|
1599
1632
|
.ncua-input input,
|
|
1600
1633
|
.ncua-input textarea {
|
|
@@ -1976,7 +2009,7 @@ button {
|
|
|
1976
2009
|
display: flex;
|
|
1977
2010
|
align-items: center;
|
|
1978
2011
|
justify-content: center;
|
|
1979
|
-
z-index:
|
|
2012
|
+
z-index: var(--z-index-modal);
|
|
1980
2013
|
}
|
|
1981
2014
|
|
|
1982
2015
|
.ncua-modal {
|
|
@@ -2183,6 +2216,90 @@ button {
|
|
|
2183
2216
|
}
|
|
2184
2217
|
}
|
|
2185
2218
|
|
|
2219
|
+
/* ------------------------------------------------------------------
|
|
2220
|
+
* Floating Notification Host
|
|
2221
|
+
*
|
|
2222
|
+
* NCDS DES-SPEC-027 §5.1 — Toast Alert 레이아웃 토큰
|
|
2223
|
+
* · 위치: 우측 상단
|
|
2224
|
+
* · 상단 여백: PageTitle 하단 경계로부터 16px
|
|
2225
|
+
* · 우측 여백: 브라우저 우측에서 40px
|
|
2226
|
+
*
|
|
2227
|
+
* NCDS DES-SPEC-027 §5.4 — 다중 토스트 스택 토큰
|
|
2228
|
+
* · 최신 토스트가 시각적 상단에 노출 (LIFO, 스펙 표 §5.4 "최신 상단" 준수).
|
|
2229
|
+
* · 이전 토스트들은 그 아래로 12px씩 겹쳐 쌓인다 (godomall5 wrapper 와 동일한 값).
|
|
2230
|
+
* · 겹침 너비는 --ncua-floating-notification-stack-overlap 변수로 오버라이드 가능.
|
|
2231
|
+
* · spec 본문이 다른 값을 명시할 경우 변수 기본값만 조정하면 모든 consumer 가 일괄 반영됨.
|
|
2232
|
+
*
|
|
2233
|
+
* Vanilla(CDN) 사용자는 NcuaNotification.show()가 이 호스트를 자동 생성하고
|
|
2234
|
+
* positionSync 모듈이 --ncua-page-title-bottom 변수를 실시간 갱신한다.
|
|
2235
|
+
* React 사용자는 <div className="ncua-floating-notification-host" /> 안에
|
|
2236
|
+
* <Notification type="floating" />을 portal/render하면 동일 정책이 적용된다.
|
|
2237
|
+
*
|
|
2238
|
+
* A11y trade-off (column-reverse + DOM append):
|
|
2239
|
+
* · vanilla show() 와 React createPortal 모두 호스트에 append 하므로 DOM 순서 = 발생 순서 (오래된 것 먼저).
|
|
2240
|
+
* · column-reverse 로 시각 순서를 뒤집어 최신이 상단에 오게 한다 — 그러나 Tab 순서·스크린리더 sequential
|
|
2241
|
+
* navigation 은 여전히 DOM 순서를 따르므로 시각적으로 "위에서 아래" 가 아닌 "아래에서 위" 로 진행된다.
|
|
2242
|
+
* · aria-live(role=alert/status)는 새 토스트가 DOM 에 추가되는 시점에 즉시 발화하므로 이 trade-off 와 무관.
|
|
2243
|
+
* · 키보드 사용자가 다중 토스트를 순회하는 경우는 드물고, 토스트는 close 버튼/autoClose 로 dismiss 되는
|
|
2244
|
+
* 설계이므로 현재는 이 비대칭을 수용한다. 필요해지면 prepend 기반 중앙 toast manager 로 리팩토링.
|
|
2245
|
+
* ------------------------------------------------------------------ */
|
|
2246
|
+
.ncua-floating-notification-host {
|
|
2247
|
+
/*
|
|
2248
|
+
* 호스트 좌표는 CSS 변수로 노출되어 있어 consumer가 스코프별로 오버라이드할 수 있다.
|
|
2249
|
+
*
|
|
2250
|
+
* --ncua-floating-notification-top (기본: PageTitle.bottom + 16px)
|
|
2251
|
+
* --ncua-floating-notification-right (기본: 40px)
|
|
2252
|
+
* --ncua-floating-notification-z-index (기본: var(--z-index-notification) = 2100)
|
|
2253
|
+
* --ncua-floating-notification-stack-overlap (기본: 12px — LIFO 스택의 겹침 너비)
|
|
2254
|
+
*
|
|
2255
|
+
* 사용 예 (모달 위로 띄우거나 우측 패널 회피, 겹침 강화):
|
|
2256
|
+
* .my-modal-overlay .ncua-floating-notification-host {
|
|
2257
|
+
* --ncua-floating-notification-z-index: 100000;
|
|
2258
|
+
* --ncua-floating-notification-right: 80px;
|
|
2259
|
+
* --ncua-floating-notification-stack-overlap: 20px;
|
|
2260
|
+
* }
|
|
2261
|
+
*/
|
|
2262
|
+
position: fixed;
|
|
2263
|
+
top: var(--ncua-floating-notification-top, calc(var(--ncua-page-title-bottom, 0px) + 16px));
|
|
2264
|
+
right: var(--ncua-floating-notification-right, 40px);
|
|
2265
|
+
z-index: var(--ncua-floating-notification-z-index, var(--z-index-notification));
|
|
2266
|
+
display: flex;
|
|
2267
|
+
/* §5.4 — LIFO 스택을 위해 column-reverse.
|
|
2268
|
+
* show()/portal 은 항상 append 하므로 DOM 마지막 = 최신 = 시각적 최상단.
|
|
2269
|
+
* Paint stacking 도 자연스럽게 DOM 후순위가 위에 그려져 최신이 이전을 덮는다. */
|
|
2270
|
+
flex-direction: column-reverse;
|
|
2271
|
+
align-items: flex-end;
|
|
2272
|
+
/* host 자체는 hit-test를 막지 않음 (자식만 클릭 가능). */
|
|
2273
|
+
pointer-events: none;
|
|
2274
|
+
}
|
|
2275
|
+
.ncua-floating-notification-host > .ncua-floating-notification {
|
|
2276
|
+
pointer-events: auto;
|
|
2277
|
+
}
|
|
2278
|
+
.ncua-floating-notification-host {
|
|
2279
|
+
/* §5.4 — 최상단(=DOM 마지막)을 제외한 모든 토스트의 top 을 overlap 만큼 끌어올려
|
|
2280
|
+
* 바로 위에 그려질 다음(=DOM 후순위) 토스트가 겹쳐 덮도록 한다.
|
|
2281
|
+
* 마지막 DOM 자식은 컨테이너 top 과 flush 되어야 하므로 margin-top 미적용. */
|
|
2282
|
+
}
|
|
2283
|
+
.ncua-floating-notification-host > .ncua-floating-notification:not(:last-child) {
|
|
2284
|
+
margin-top: calc(-1 * var(--ncua-floating-notification-stack-overlap, 12px));
|
|
2285
|
+
}
|
|
2286
|
+
.ncua-floating-notification-host {
|
|
2287
|
+
/* 모바일에서는 좌우 가장자리에 붙도록 (스펙 §5.1 모바일 동작은 미정 — 합리적 fallback).
|
|
2288
|
+
* 모바일 기본값도 변수로 재정의하므로 consumer가 데스크탑 오버라이드 후에도 모바일은 자동으로 적용된다. */
|
|
2289
|
+
}
|
|
2290
|
+
@media (max-width: 768px) {
|
|
2291
|
+
.ncua-floating-notification-host {
|
|
2292
|
+
--ncua-floating-notification-right: 16px;
|
|
2293
|
+
left: 16px;
|
|
2294
|
+
align-items: stretch;
|
|
2295
|
+
}
|
|
2296
|
+
}
|
|
2297
|
+
|
|
2298
|
+
/* ------------------------------------------------------------------
|
|
2299
|
+
* Floating Notification (개별 카드)
|
|
2300
|
+
* §5.2.1 Toast Alert Floating 시각 토큰을 따른다.
|
|
2301
|
+
* 위치/스택 책임은 .ncua-floating-notification-host에 위임.
|
|
2302
|
+
* ------------------------------------------------------------------ */
|
|
2186
2303
|
.ncua-floating-notification {
|
|
2187
2304
|
position: relative;
|
|
2188
2305
|
width: 100%;
|
|
@@ -2698,6 +2815,44 @@ button {
|
|
|
2698
2815
|
font-weight: var(--font-weights-commerce-sans-1);
|
|
2699
2816
|
}
|
|
2700
2817
|
|
|
2818
|
+
.ncua-callout-notification {
|
|
2819
|
+
display: flex;
|
|
2820
|
+
align-items: center;
|
|
2821
|
+
width: 100%;
|
|
2822
|
+
border: 1px solid;
|
|
2823
|
+
border-radius: var(--border-radius-sm);
|
|
2824
|
+
padding: var(--spacing-s) var(--spacing-lg);
|
|
2825
|
+
gap: var(--spacing-s);
|
|
2826
|
+
font-size: var(--font-size-md);
|
|
2827
|
+
line-height: var(--line-heights-md);
|
|
2828
|
+
font-weight: var(--font-weights-commerce-sans-0);
|
|
2829
|
+
}
|
|
2830
|
+
.ncua-callout-notification--info {
|
|
2831
|
+
background-color: var(--blue-50);
|
|
2832
|
+
border-color: var(--blue-200);
|
|
2833
|
+
color: var(--blue-600);
|
|
2834
|
+
}
|
|
2835
|
+
.ncua-callout-notification--neutral {
|
|
2836
|
+
background-color: var(--gray-50);
|
|
2837
|
+
border-color: var(--gray-200);
|
|
2838
|
+
color: var(--gray-600);
|
|
2839
|
+
}
|
|
2840
|
+
.ncua-callout-notification--error {
|
|
2841
|
+
background-color: var(--primary-red-50);
|
|
2842
|
+
border-color: var(--primary-red-200);
|
|
2843
|
+
color: var(--primary-red-600);
|
|
2844
|
+
}
|
|
2845
|
+
.ncua-callout-notification--warning {
|
|
2846
|
+
background-color: var(--orange-50);
|
|
2847
|
+
border-color: var(--orange-200);
|
|
2848
|
+
color: var(--orange-600);
|
|
2849
|
+
}
|
|
2850
|
+
.ncua-callout-notification--success {
|
|
2851
|
+
background-color: var(--green-50);
|
|
2852
|
+
border-color: var(--green-200);
|
|
2853
|
+
color: var(--green-600);
|
|
2854
|
+
}
|
|
2855
|
+
|
|
2701
2856
|
.ncua-radio-input {
|
|
2702
2857
|
position: relative;
|
|
2703
2858
|
flex: none;
|
|
@@ -2712,7 +2867,7 @@ button {
|
|
|
2712
2867
|
position: absolute;
|
|
2713
2868
|
top: 0;
|
|
2714
2869
|
left: 0;
|
|
2715
|
-
z-index: 1;
|
|
2870
|
+
z-index: var(--z-index-1);
|
|
2716
2871
|
-webkit-appearance: none;
|
|
2717
2872
|
-moz-appearance: none;
|
|
2718
2873
|
appearance: none;
|
|
@@ -2866,7 +3021,7 @@ button {
|
|
|
2866
3021
|
}
|
|
2867
3022
|
.ncua-tag__tooltip {
|
|
2868
3023
|
position: absolute;
|
|
2869
|
-
z-index:
|
|
3024
|
+
z-index: var(--z-index-tooltip);
|
|
2870
3025
|
pointer-events: none;
|
|
2871
3026
|
}
|
|
2872
3027
|
.ncua-tag__tooltip--top-left {
|
|
@@ -2926,6 +3081,8 @@ button {
|
|
|
2926
3081
|
flex-direction: column;
|
|
2927
3082
|
gap: 4px;
|
|
2928
3083
|
max-width: 320px;
|
|
3084
|
+
overflow-wrap: anywhere;
|
|
3085
|
+
font-family: var(--font-families-commerce-sans);
|
|
2929
3086
|
font-size: var(--font-size-xxs);
|
|
2930
3087
|
box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5), 0 12px 16px -4px rgba(16, 24, 40, 0.08), 0 4px 6px -2px rgba(16, 24, 40, 0.03);
|
|
2931
3088
|
}
|
|
@@ -2935,16 +3092,23 @@ button {
|
|
|
2935
3092
|
content: "";
|
|
2936
3093
|
}
|
|
2937
3094
|
.ncua-tooltip__content {
|
|
2938
|
-
line-height:
|
|
2939
|
-
width:
|
|
3095
|
+
line-height: var(--line-heights-xxs);
|
|
3096
|
+
width: fit-content;
|
|
2940
3097
|
max-width: 296px;
|
|
2941
|
-
|
|
3098
|
+
min-width: 0;
|
|
3099
|
+
font-weight: var(--font-weights-commerce-sans-0);
|
|
2942
3100
|
word-break: keep-all;
|
|
3101
|
+
overflow-wrap: anywhere;
|
|
3102
|
+
word-wrap: anywhere;
|
|
3103
|
+
}
|
|
3104
|
+
.ncua-tooltip__title {
|
|
3105
|
+
min-width: 0;
|
|
3106
|
+
line-height: var(--line-heights-xxs);
|
|
2943
3107
|
}
|
|
2944
3108
|
.ncua-tooltip__close-button {
|
|
2945
3109
|
position: absolute;
|
|
2946
|
-
top:
|
|
2947
|
-
right:
|
|
3110
|
+
top: 2px;
|
|
3111
|
+
right: 2px;
|
|
2948
3112
|
background: none;
|
|
2949
3113
|
border: none;
|
|
2950
3114
|
cursor: pointer;
|
|
@@ -2987,7 +3151,7 @@ button {
|
|
|
2987
3151
|
border-left-color: transparent;
|
|
2988
3152
|
}
|
|
2989
3153
|
.ncua-tooltip__bg--black .ncua-tooltip__title {
|
|
2990
|
-
font-weight:
|
|
3154
|
+
font-weight: var(--font-weights-commerce-sans-2);
|
|
2991
3155
|
color: var(--base-white);
|
|
2992
3156
|
}
|
|
2993
3157
|
.ncua-tooltip__bg--black .ncua-tooltip__content {
|
|
@@ -3015,11 +3179,11 @@ button {
|
|
|
3015
3179
|
border-left-color: transparent;
|
|
3016
3180
|
}
|
|
3017
3181
|
.ncua-tooltip__bg--white .ncua-tooltip__title {
|
|
3018
|
-
font-weight:
|
|
3182
|
+
font-weight: var(--font-weights-commerce-sans-2);
|
|
3019
3183
|
color: var(--gray-500);
|
|
3020
3184
|
}
|
|
3021
3185
|
.ncua-tooltip__bg--white .ncua-tooltip__content {
|
|
3022
|
-
color: var(--gray-
|
|
3186
|
+
color: var(--gray-500);
|
|
3023
3187
|
}
|
|
3024
3188
|
.ncua-tooltip__bg--top {
|
|
3025
3189
|
top: auto;
|
|
@@ -3172,11 +3336,8 @@ button {
|
|
|
3172
3336
|
padding: 12px;
|
|
3173
3337
|
}
|
|
3174
3338
|
.ncua-tooltip__bg:has(.ncua-tooltip__close-button) {
|
|
3175
|
-
padding
|
|
3176
|
-
|
|
3177
|
-
.ncua-tooltip--long .ncua-tooltip__bg {
|
|
3178
|
-
padding: 12px;
|
|
3179
|
-
padding-right: 36px;
|
|
3339
|
+
padding: 8px 12px;
|
|
3340
|
+
padding-right: 28px;
|
|
3180
3341
|
}
|
|
3181
3342
|
.ncua-tooltip--short .ncua-tooltip__bg {
|
|
3182
3343
|
white-space: normal;
|
|
@@ -3336,7 +3497,7 @@ button {
|
|
|
3336
3497
|
.ncua-select-dropdown {
|
|
3337
3498
|
position: absolute;
|
|
3338
3499
|
left: 0;
|
|
3339
|
-
z-index:
|
|
3500
|
+
z-index: var(--z-index-popover);
|
|
3340
3501
|
overflow: hidden;
|
|
3341
3502
|
min-width: 100%;
|
|
3342
3503
|
width: max-content;
|
|
@@ -3355,6 +3516,20 @@ button {
|
|
|
3355
3516
|
left: initial;
|
|
3356
3517
|
right: 0;
|
|
3357
3518
|
}
|
|
3519
|
+
.ncua-select-dropdown--portal {
|
|
3520
|
+
position: fixed;
|
|
3521
|
+
left: auto;
|
|
3522
|
+
right: auto;
|
|
3523
|
+
min-width: 0;
|
|
3524
|
+
}
|
|
3525
|
+
.ncua-select-dropdown--portal.ncua-select-dropdown--up, .ncua-select-dropdown--portal.ncua-select-dropdown--down {
|
|
3526
|
+
top: auto;
|
|
3527
|
+
bottom: auto;
|
|
3528
|
+
}
|
|
3529
|
+
.ncua-select-dropdown--portal.ncua-select-dropdown--align-right {
|
|
3530
|
+
left: auto;
|
|
3531
|
+
right: auto;
|
|
3532
|
+
}
|
|
3358
3533
|
.ncua-select-dropdown__content {
|
|
3359
3534
|
padding: 8px 6px;
|
|
3360
3535
|
}
|
|
@@ -3862,7 +4037,7 @@ button {
|
|
|
3862
4037
|
background-color: var(--base-white);
|
|
3863
4038
|
color: var(--gray-600);
|
|
3864
4039
|
box-shadow: var(--shadow-sm);
|
|
3865
|
-
z-index: 1;
|
|
4040
|
+
z-index: var(--z-index-1);
|
|
3866
4041
|
}
|
|
3867
4042
|
.ncua-switch__option--inactive {
|
|
3868
4043
|
background-color: var(--gray-100);
|
|
@@ -4083,7 +4258,7 @@ button {
|
|
|
4083
4258
|
width: 100vw;
|
|
4084
4259
|
height: 100vh;
|
|
4085
4260
|
background-color: rgba(0, 0, 0, 0.5);
|
|
4086
|
-
z-index:
|
|
4261
|
+
z-index: var(--z-index-spinner);
|
|
4087
4262
|
}
|
|
4088
4263
|
|
|
4089
4264
|
:root {
|
|
@@ -5557,7 +5732,7 @@ button {
|
|
|
5557
5732
|
top: 50%;
|
|
5558
5733
|
left: 50%;
|
|
5559
5734
|
transform: translate(-50%, -50%);
|
|
5560
|
-
z-index:
|
|
5735
|
+
z-index: var(--z-index-sticky);
|
|
5561
5736
|
}
|
|
5562
5737
|
.ncua-image-file-input__empty-slot-wrapper .ncua-tooltip svg {
|
|
5563
5738
|
opacity: 0;
|
|
@@ -5618,7 +5793,7 @@ button {
|
|
|
5618
5793
|
transform: translate(-50%, -50%);
|
|
5619
5794
|
opacity: 0;
|
|
5620
5795
|
transition: opacity 0.2s ease;
|
|
5621
|
-
z-index: 1;
|
|
5796
|
+
z-index: var(--z-index-1);
|
|
5622
5797
|
padding: 0;
|
|
5623
5798
|
min-width: auto;
|
|
5624
5799
|
background: transparent;
|
|
@@ -5711,7 +5886,69 @@ button {
|
|
|
5711
5886
|
width: 100%;
|
|
5712
5887
|
}
|
|
5713
5888
|
|
|
5889
|
+
.ncua-table__h-scroll-container {
|
|
5890
|
+
position: relative;
|
|
5891
|
+
width: 100%;
|
|
5892
|
+
overflow-x: auto;
|
|
5893
|
+
scrollbar-width: none;
|
|
5894
|
+
}
|
|
5895
|
+
.ncua-table__h-scroll-container::-webkit-scrollbar {
|
|
5896
|
+
display: none;
|
|
5897
|
+
}
|
|
5898
|
+
|
|
5899
|
+
.ncua-table:hover .ncua-table__h-scrollbar,
|
|
5900
|
+
.ncua-table__h-scroll-container[data-dragging] .ncua-table__h-scrollbar {
|
|
5901
|
+
opacity: 1;
|
|
5902
|
+
}
|
|
5903
|
+
|
|
5904
|
+
.ncua-table__h-scrollbar {
|
|
5905
|
+
position: absolute;
|
|
5906
|
+
left: var(--spacing-s);
|
|
5907
|
+
right: var(--spacing-s);
|
|
5908
|
+
bottom: var(--spacing-xs);
|
|
5909
|
+
height: 6px;
|
|
5910
|
+
opacity: 0;
|
|
5911
|
+
transition: opacity 0.2s ease;
|
|
5912
|
+
pointer-events: none;
|
|
5913
|
+
border-radius: var(--border-radius-md);
|
|
5914
|
+
}
|
|
5915
|
+
|
|
5916
|
+
.ncua-table__h-scrollbar-thumb {
|
|
5917
|
+
position: absolute;
|
|
5918
|
+
top: 0;
|
|
5919
|
+
bottom: 0;
|
|
5920
|
+
left: 0;
|
|
5921
|
+
width: 40px;
|
|
5922
|
+
background: var(--gray-100);
|
|
5923
|
+
border-radius: var(--border-radius-md);
|
|
5924
|
+
cursor: pointer;
|
|
5925
|
+
pointer-events: auto;
|
|
5926
|
+
}
|
|
5927
|
+
.ncua-table__h-scrollbar-thumb:hover {
|
|
5928
|
+
background: var(--gray-200);
|
|
5929
|
+
}
|
|
5930
|
+
.ncua-table__h-scrollbar-thumb:active {
|
|
5931
|
+
background: var(--gray-300);
|
|
5932
|
+
cursor: grabbing;
|
|
5933
|
+
}
|
|
5934
|
+
|
|
5935
|
+
.ncua-table__h-scroll-inner {
|
|
5936
|
+
display: block;
|
|
5937
|
+
width: max-content;
|
|
5938
|
+
min-width: max(100%, var(--ncua-table-min-width, var(--ncua-table-default-min-width)));
|
|
5939
|
+
}
|
|
5940
|
+
.ncua-table__h-scroll-inner .ncua-table-wrapper,
|
|
5941
|
+
.ncua-table__h-scroll-inner .ncua-table {
|
|
5942
|
+
width: max-content;
|
|
5943
|
+
min-width: 100%;
|
|
5944
|
+
}
|
|
5945
|
+
.ncua-table__h-scroll-inner .ncua-table__table {
|
|
5946
|
+
width: auto;
|
|
5947
|
+
min-width: 100%;
|
|
5948
|
+
}
|
|
5949
|
+
|
|
5714
5950
|
.ncua-table {
|
|
5951
|
+
position: relative;
|
|
5715
5952
|
display: flex;
|
|
5716
5953
|
flex-direction: column;
|
|
5717
5954
|
align-items: stretch;
|
|
@@ -5725,9 +5962,6 @@ button {
|
|
|
5725
5962
|
.ncua-table__scroll-area {
|
|
5726
5963
|
position: relative;
|
|
5727
5964
|
}
|
|
5728
|
-
.ncua-table__scroll-area:hover .ncua-table__scrollbar, .ncua-table__scroll-area[data-dragging] .ncua-table__scrollbar {
|
|
5729
|
-
opacity: 1;
|
|
5730
|
-
}
|
|
5731
5965
|
.ncua-table__scroll-container {
|
|
5732
5966
|
width: 100%;
|
|
5733
5967
|
overflow-y: auto;
|
|
@@ -5736,6 +5970,9 @@ button {
|
|
|
5736
5970
|
.ncua-table__scroll-container::-webkit-scrollbar {
|
|
5737
5971
|
display: none;
|
|
5738
5972
|
}
|
|
5973
|
+
.ncua-table:has(.ncua-table__scroll-area:hover) .ncua-table__scrollbar, .ncua-table:has(.ncua-table__scroll-area[data-dragging]) .ncua-table__scrollbar {
|
|
5974
|
+
opacity: 1;
|
|
5975
|
+
}
|
|
5739
5976
|
.ncua-table__scrollbar {
|
|
5740
5977
|
position: absolute;
|
|
5741
5978
|
top: 2px;
|
|
@@ -5745,7 +5982,7 @@ button {
|
|
|
5745
5982
|
opacity: 0;
|
|
5746
5983
|
transition: opacity 0.2s ease;
|
|
5747
5984
|
pointer-events: none;
|
|
5748
|
-
border-radius:
|
|
5985
|
+
border-radius: var(--border-radius-md);
|
|
5749
5986
|
}
|
|
5750
5987
|
.ncua-table__scrollbar-thumb {
|
|
5751
5988
|
position: absolute;
|
|
@@ -5754,7 +5991,7 @@ button {
|
|
|
5754
5991
|
right: 0;
|
|
5755
5992
|
height: 40px;
|
|
5756
5993
|
background: var(--gray-100);
|
|
5757
|
-
border-radius:
|
|
5994
|
+
border-radius: var(--border-radius-md);
|
|
5758
5995
|
cursor: pointer;
|
|
5759
5996
|
pointer-events: auto;
|
|
5760
5997
|
}
|
|
@@ -5779,15 +6016,15 @@ button {
|
|
|
5779
6016
|
}
|
|
5780
6017
|
.ncua-table__header tr {
|
|
5781
6018
|
border-bottom: none;
|
|
5782
|
-
height:
|
|
6019
|
+
height: var(--ncua-table-header-height);
|
|
5783
6020
|
}
|
|
5784
6021
|
.ncua-table__header-cell {
|
|
5785
|
-
padding: 0
|
|
5786
|
-
min-height:
|
|
5787
|
-
height:
|
|
6022
|
+
padding: 0 var(--spacing-m);
|
|
6023
|
+
min-height: var(--ncua-table-header-height);
|
|
6024
|
+
height: var(--ncua-table-header-height);
|
|
5788
6025
|
background: var(--gray-100);
|
|
5789
6026
|
font-size: var(--font-size-xs);
|
|
5790
|
-
font-weight: var(--font-weights-commerce-sans-
|
|
6027
|
+
font-weight: var(--font-weights-commerce-sans-1);
|
|
5791
6028
|
line-height: var(--line-heights-xs);
|
|
5792
6029
|
color: var(--gray-500);
|
|
5793
6030
|
text-align: center;
|
|
@@ -5808,7 +6045,7 @@ button {
|
|
|
5808
6045
|
display: inline-flex;
|
|
5809
6046
|
align-items: center;
|
|
5810
6047
|
justify-content: center;
|
|
5811
|
-
gap:
|
|
6048
|
+
gap: var(--spacing-xs);
|
|
5812
6049
|
width: 100%;
|
|
5813
6050
|
}
|
|
5814
6051
|
.ncua-table__header-cell-text {
|
|
@@ -5911,9 +6148,9 @@ button {
|
|
|
5911
6148
|
background: transparent;
|
|
5912
6149
|
}
|
|
5913
6150
|
.ncua-table__cell {
|
|
5914
|
-
padding: 10px
|
|
6151
|
+
padding: 10px var(--spacing-s);
|
|
5915
6152
|
font-size: var(--font-size-xs);
|
|
5916
|
-
font-weight: var(--font-weights-commerce-sans-
|
|
6153
|
+
font-weight: var(--font-weights-commerce-sans-0);
|
|
5917
6154
|
line-height: var(--line-heights-xs);
|
|
5918
6155
|
color: var(--gray-700);
|
|
5919
6156
|
text-align: center;
|
|
@@ -5934,13 +6171,13 @@ button {
|
|
|
5934
6171
|
border-right: 1px solid var(--gray-100);
|
|
5935
6172
|
}
|
|
5936
6173
|
.ncua-table__checkbox-cell--header, .ncua-table__radio-cell--header {
|
|
5937
|
-
padding: 0
|
|
6174
|
+
padding: 0 var(--spacing-m);
|
|
5938
6175
|
background: var(--gray-100);
|
|
5939
6176
|
border-right-color: var(--gray-200);
|
|
5940
6177
|
border-bottom: 1px solid var(--gray-200);
|
|
5941
6178
|
}
|
|
5942
6179
|
.ncua-table__checkbox-cell--body, .ncua-table__radio-cell--body {
|
|
5943
|
-
padding: 12px
|
|
6180
|
+
padding: 12px var(--spacing-m);
|
|
5944
6181
|
height: 48px;
|
|
5945
6182
|
}
|
|
5946
6183
|
.ncua-table__footer {
|
|
@@ -5950,8 +6187,8 @@ button {
|
|
|
5950
6187
|
background: var(--gray-50);
|
|
5951
6188
|
border-top: 1px solid var(--gray-200);
|
|
5952
6189
|
box-shadow: var(--shadow-xs);
|
|
5953
|
-
padding:
|
|
5954
|
-
gap:
|
|
6190
|
+
padding: var(--spacing-s) var(--spacing-l);
|
|
6191
|
+
gap: var(--spacing-s);
|
|
5955
6192
|
border-radius: 0 0 var(--border-radius-md) var(--border-radius-md);
|
|
5956
6193
|
}
|
|
5957
6194
|
.ncua-table__footer-row {
|
|
@@ -5967,11 +6204,11 @@ button {
|
|
|
5967
6204
|
align-items: center;
|
|
5968
6205
|
width: 100%;
|
|
5969
6206
|
padding: 12px 0;
|
|
5970
|
-
gap:
|
|
6207
|
+
gap: var(--spacing-m);
|
|
5971
6208
|
}
|
|
5972
6209
|
.ncua-table__empty {
|
|
5973
6210
|
text-align: center;
|
|
5974
|
-
padding:
|
|
6211
|
+
padding: var(--spacing-xxl) var(--spacing-m);
|
|
5975
6212
|
color: var(--gray-500);
|
|
5976
6213
|
font-size: var(--font-size-xs);
|
|
5977
6214
|
line-height: var(--line-heights-xs);
|
|
@@ -5985,7 +6222,7 @@ button {
|
|
|
5985
6222
|
}
|
|
5986
6223
|
.ncua-table--selectable {
|
|
5987
6224
|
background: var(--gray-50);
|
|
5988
|
-
padding-bottom:
|
|
6225
|
+
padding-bottom: var(--spacing-s);
|
|
5989
6226
|
}
|
|
5990
6227
|
.ncua-table--selectable .ncua-table__table {
|
|
5991
6228
|
background: var(--base-white);
|
|
@@ -6020,17 +6257,17 @@ button {
|
|
|
6020
6257
|
position: sticky;
|
|
6021
6258
|
top: 0;
|
|
6022
6259
|
z-index: 10;
|
|
6023
|
-
padding: 0
|
|
6024
|
-
height:
|
|
6260
|
+
padding: 0 var(--spacing-m);
|
|
6261
|
+
height: var(--ncua-table-header-height);
|
|
6025
6262
|
}
|
|
6026
6263
|
.ncua-table--fixed-header .ncua-table__scrollbar {
|
|
6027
|
-
top: calc(
|
|
6028
|
-
right:
|
|
6029
|
-
bottom:
|
|
6264
|
+
top: calc(var(--ncua-table-header-height) + var(--spacing-s));
|
|
6265
|
+
right: var(--spacing-xs);
|
|
6266
|
+
bottom: var(--spacing-s);
|
|
6030
6267
|
}
|
|
6031
6268
|
.ncua-table--horizontal .ncua-table__header-cell {
|
|
6032
|
-
height:
|
|
6033
|
-
min-height:
|
|
6269
|
+
height: var(--ncua-table-header-height);
|
|
6270
|
+
min-height: var(--ncua-table-header-height);
|
|
6034
6271
|
}
|
|
6035
6272
|
.ncua-table--vertical {
|
|
6036
6273
|
overflow: visible;
|
|
@@ -6071,9 +6308,9 @@ button {
|
|
|
6071
6308
|
width: 240px;
|
|
6072
6309
|
min-width: 240px;
|
|
6073
6310
|
max-width: 240px;
|
|
6074
|
-
padding: 10px
|
|
6311
|
+
padding: 10px var(--spacing-m);
|
|
6075
6312
|
font-size: var(--font-size-sm);
|
|
6076
|
-
font-weight: var(--font-weights-commerce-sans-
|
|
6313
|
+
font-weight: var(--font-weights-commerce-sans-1);
|
|
6077
6314
|
line-height: var(--line-heights-sm);
|
|
6078
6315
|
color: var(--gray-700);
|
|
6079
6316
|
text-align: left;
|
|
@@ -6082,18 +6319,18 @@ button {
|
|
|
6082
6319
|
}
|
|
6083
6320
|
.ncua-table--vertical .ncua-table__body > .ncua-table__row td:last-child,
|
|
6084
6321
|
.ncua-table--vertical .ncua-table__body > .ncua-table__row th:last-child {
|
|
6085
|
-
padding: 10px
|
|
6322
|
+
padding: 10px var(--spacing-m);
|
|
6086
6323
|
text-align: left;
|
|
6087
|
-
font-weight: var(--font-weights-commerce-sans-
|
|
6324
|
+
font-weight: var(--font-weights-commerce-sans-0);
|
|
6088
6325
|
}
|
|
6089
6326
|
.ncua-table--vertical .ncua-table .ncua-table__body > .ncua-table__row td:first-child,
|
|
6090
6327
|
.ncua-table--vertical .ncua-table .ncua-table__body > .ncua-table__row th:first-child {
|
|
6091
6328
|
width: auto;
|
|
6092
6329
|
min-width: 0;
|
|
6093
6330
|
max-width: none;
|
|
6094
|
-
padding: 10px
|
|
6331
|
+
padding: 10px var(--spacing-s);
|
|
6095
6332
|
font-size: var(--font-size-xs);
|
|
6096
|
-
font-weight: var(--font-weights-commerce-sans-
|
|
6333
|
+
font-weight: var(--font-weights-commerce-sans-0);
|
|
6097
6334
|
line-height: var(--line-heights-xs);
|
|
6098
6335
|
text-align: center;
|
|
6099
6336
|
background: var(--base-white);
|
|
@@ -6101,14 +6338,14 @@ button {
|
|
|
6101
6338
|
}
|
|
6102
6339
|
.ncua-table--vertical .ncua-table .ncua-table__body > .ncua-table__row td:last-child,
|
|
6103
6340
|
.ncua-table--vertical .ncua-table .ncua-table__body > .ncua-table__row th:last-child {
|
|
6104
|
-
padding: 10px
|
|
6341
|
+
padding: 10px var(--spacing-s);
|
|
6105
6342
|
text-align: center;
|
|
6106
|
-
font-weight: var(--font-weights-commerce-sans-
|
|
6343
|
+
font-weight: var(--font-weights-commerce-sans-0);
|
|
6107
6344
|
}
|
|
6108
6345
|
.ncua-table--vertical .ncua-table__required {
|
|
6109
6346
|
color: var(--primary-red-500, #ec1d31);
|
|
6110
6347
|
font-size: var(--font-size-sm);
|
|
6111
|
-
font-weight: var(--font-weights-commerce-sans-
|
|
6348
|
+
font-weight: var(--font-weights-commerce-sans-1);
|
|
6112
6349
|
margin-right: 2px;
|
|
6113
6350
|
}
|
|
6114
6351
|
|
|
@@ -6153,7 +6390,7 @@ button {
|
|
|
6153
6390
|
padding: var(--spacing-s) 24px;
|
|
6154
6391
|
background-color: var(--gray-50);
|
|
6155
6392
|
position: relative;
|
|
6156
|
-
z-index: 2;
|
|
6393
|
+
z-index: var(--z-index-2);
|
|
6157
6394
|
}
|
|
6158
6395
|
.ncua-data-grid__action-bar:empty {
|
|
6159
6396
|
padding: var(--spacing-xs) 0;
|
|
@@ -6182,9 +6419,12 @@ button {
|
|
|
6182
6419
|
.ncua-data-grid__table {
|
|
6183
6420
|
width: 100%;
|
|
6184
6421
|
position: relative;
|
|
6185
|
-
z-index: 1;
|
|
6422
|
+
z-index: var(--z-index-1);
|
|
6186
6423
|
overflow: hidden;
|
|
6187
6424
|
}
|
|
6425
|
+
.ncua-data-grid__table:has(.ncua-table__h-scroll-container) {
|
|
6426
|
+
overflow: visible;
|
|
6427
|
+
}
|
|
6188
6428
|
.ncua-data-grid__table:first-child {
|
|
6189
6429
|
border-radius: var(--border-radius-md) var(--border-radius-md) 0 0;
|
|
6190
6430
|
}
|
|
@@ -6218,6 +6458,298 @@ button {
|
|
|
6218
6458
|
padding: var(--spacing-lg) 0;
|
|
6219
6459
|
}
|
|
6220
6460
|
|
|
6461
|
+
.ncua-block-container {
|
|
6462
|
+
display: flex;
|
|
6463
|
+
flex-direction: column;
|
|
6464
|
+
align-items: stretch;
|
|
6465
|
+
width: 100%;
|
|
6466
|
+
background: var(--base-white);
|
|
6467
|
+
border: 1px solid var(--gray-100);
|
|
6468
|
+
border-radius: 12px;
|
|
6469
|
+
box-shadow: var(--shadow-sm);
|
|
6470
|
+
overflow: hidden;
|
|
6471
|
+
}
|
|
6472
|
+
.ncua-block-container__body {
|
|
6473
|
+
display: flex;
|
|
6474
|
+
flex-direction: column;
|
|
6475
|
+
gap: 16px;
|
|
6476
|
+
padding: 16px 24px;
|
|
6477
|
+
}
|
|
6478
|
+
|
|
6479
|
+
.ncua-block-header {
|
|
6480
|
+
display: flex;
|
|
6481
|
+
flex-direction: column;
|
|
6482
|
+
width: 100%;
|
|
6483
|
+
background: var(--base-white);
|
|
6484
|
+
}
|
|
6485
|
+
.ncua-block-header__row {
|
|
6486
|
+
display: flex;
|
|
6487
|
+
flex-direction: row;
|
|
6488
|
+
justify-content: space-between;
|
|
6489
|
+
align-items: center;
|
|
6490
|
+
gap: 8px;
|
|
6491
|
+
min-height: 48px;
|
|
6492
|
+
padding: 10px 24px;
|
|
6493
|
+
box-shadow: inset 0 -1px 0 0 var(--gray-100);
|
|
6494
|
+
}
|
|
6495
|
+
.ncua-block-header--column .ncua-block-header__row {
|
|
6496
|
+
padding: 12px 24px;
|
|
6497
|
+
box-shadow: none;
|
|
6498
|
+
}
|
|
6499
|
+
.ncua-block-header--no-divider .ncua-block-header__row {
|
|
6500
|
+
box-shadow: none;
|
|
6501
|
+
}
|
|
6502
|
+
.ncua-block-header__title-area {
|
|
6503
|
+
display: flex;
|
|
6504
|
+
flex-direction: row;
|
|
6505
|
+
align-items: center;
|
|
6506
|
+
gap: var(--spacing-sm);
|
|
6507
|
+
}
|
|
6508
|
+
.ncua-block-header__title-area .ncua-tooltip {
|
|
6509
|
+
display: inline-flex;
|
|
6510
|
+
align-items: center;
|
|
6511
|
+
}
|
|
6512
|
+
.ncua-block-header__title {
|
|
6513
|
+
font-size: var(--font-size-md);
|
|
6514
|
+
font-weight: var(--font-weights-commerce-sans-2);
|
|
6515
|
+
line-height: var(--line-heights-md);
|
|
6516
|
+
color: var(--gray-700);
|
|
6517
|
+
}
|
|
6518
|
+
.ncua-block-header__action-area {
|
|
6519
|
+
display: flex;
|
|
6520
|
+
flex-direction: row;
|
|
6521
|
+
align-items: center;
|
|
6522
|
+
gap: 8px;
|
|
6523
|
+
}
|
|
6524
|
+
.ncua-block-header__collapsible-btn {
|
|
6525
|
+
display: flex;
|
|
6526
|
+
align-items: center;
|
|
6527
|
+
justify-content: center;
|
|
6528
|
+
background: none;
|
|
6529
|
+
border: none;
|
|
6530
|
+
padding: 0;
|
|
6531
|
+
cursor: pointer;
|
|
6532
|
+
}
|
|
6533
|
+
.ncua-block-header__required-notice {
|
|
6534
|
+
font-size: var(--font-size-xs);
|
|
6535
|
+
font-weight: var(--font-weights-commerce-sans-0);
|
|
6536
|
+
line-height: var(--line-heights-xs);
|
|
6537
|
+
white-space: nowrap;
|
|
6538
|
+
}
|
|
6539
|
+
.ncua-block-header__required-notice--red {
|
|
6540
|
+
color: var(--primary-red-500);
|
|
6541
|
+
}
|
|
6542
|
+
.ncua-block-header__required-notice--gray {
|
|
6543
|
+
color: var(--gray-700);
|
|
6544
|
+
}
|
|
6545
|
+
.ncua-block-header__badge {
|
|
6546
|
+
display: inline-flex;
|
|
6547
|
+
align-items: center;
|
|
6548
|
+
}
|
|
6549
|
+
.ncua-block-header--column .ncua-block-header__description {
|
|
6550
|
+
padding: 0 24px 12px;
|
|
6551
|
+
font-size: var(--font-size-xs);
|
|
6552
|
+
font-weight: 400;
|
|
6553
|
+
line-height: var(--line-heights-xs);
|
|
6554
|
+
color: var(--gray-400);
|
|
6555
|
+
margin: 0;
|
|
6556
|
+
box-shadow: inset 0 -1px 0 0 var(--gray-100);
|
|
6557
|
+
}
|
|
6558
|
+
.ncua-block-header--column.ncua-block-header--no-divider .ncua-block-header__description {
|
|
6559
|
+
box-shadow: none;
|
|
6560
|
+
}
|
|
6561
|
+
.ncua-block-header--has-tab {
|
|
6562
|
+
box-shadow: inset 0 -1px 0 0 var(--gray-100);
|
|
6563
|
+
}
|
|
6564
|
+
.ncua-block-header__control-strip {
|
|
6565
|
+
padding: 10px 24px;
|
|
6566
|
+
box-shadow: inset 0 -1px 0 0 var(--gray-100);
|
|
6567
|
+
}
|
|
6568
|
+
.ncua-block-header--no-divider .ncua-block-header__control-strip {
|
|
6569
|
+
box-shadow: none;
|
|
6570
|
+
}
|
|
6571
|
+
.ncua-block-header__tabs {
|
|
6572
|
+
padding: 0 24px;
|
|
6573
|
+
}
|
|
6574
|
+
.ncua-block-header__tabs .ncua-horizontal-tab--underline::after,
|
|
6575
|
+
.ncua-block-header__tabs .ncua-horizontal-tab--underline-fill::after {
|
|
6576
|
+
display: none;
|
|
6577
|
+
}
|
|
6578
|
+
|
|
6579
|
+
.ncua-sub-title {
|
|
6580
|
+
display: flex;
|
|
6581
|
+
flex-direction: column;
|
|
6582
|
+
gap: 12px;
|
|
6583
|
+
}
|
|
6584
|
+
.ncua-sub-title__title-row {
|
|
6585
|
+
display: flex;
|
|
6586
|
+
flex-direction: row;
|
|
6587
|
+
justify-content: space-between;
|
|
6588
|
+
align-items: flex-end;
|
|
6589
|
+
}
|
|
6590
|
+
.ncua-sub-title__title-area {
|
|
6591
|
+
display: flex;
|
|
6592
|
+
flex-direction: row;
|
|
6593
|
+
align-items: center;
|
|
6594
|
+
gap: var(--spacing-sm);
|
|
6595
|
+
}
|
|
6596
|
+
.ncua-sub-title__title-area .ncua-tooltip {
|
|
6597
|
+
display: inline-flex;
|
|
6598
|
+
align-items: center;
|
|
6599
|
+
}
|
|
6600
|
+
.ncua-sub-title__required-marker {
|
|
6601
|
+
color: var(--primary-red-500);
|
|
6602
|
+
font-weight: 700;
|
|
6603
|
+
}
|
|
6604
|
+
.ncua-sub-title__title {
|
|
6605
|
+
color: var(--gray-700);
|
|
6606
|
+
font-weight: 700;
|
|
6607
|
+
}
|
|
6608
|
+
.ncua-sub-title__action {
|
|
6609
|
+
display: flex;
|
|
6610
|
+
flex-direction: row;
|
|
6611
|
+
gap: 8px;
|
|
6612
|
+
}
|
|
6613
|
+
.ncua-sub-title__description {
|
|
6614
|
+
margin: 0;
|
|
6615
|
+
color: var(--gray-400);
|
|
6616
|
+
font-weight: 400;
|
|
6617
|
+
}
|
|
6618
|
+
.ncua-sub-title__error {
|
|
6619
|
+
margin: 0;
|
|
6620
|
+
color: var(--primary-red-600);
|
|
6621
|
+
font-weight: 400;
|
|
6622
|
+
}
|
|
6623
|
+
.ncua-sub-title--middle .ncua-sub-title__title {
|
|
6624
|
+
font-size: var(--font-size-md);
|
|
6625
|
+
font-weight: 500;
|
|
6626
|
+
line-height: var(--line-heights-md);
|
|
6627
|
+
}
|
|
6628
|
+
.ncua-sub-title--sm .ncua-sub-title__title-area {
|
|
6629
|
+
gap: 6px;
|
|
6630
|
+
}
|
|
6631
|
+
.ncua-sub-title--sm .ncua-sub-title__title {
|
|
6632
|
+
font-size: var(--font-size-sm);
|
|
6633
|
+
line-height: var(--line-heights-sm);
|
|
6634
|
+
}
|
|
6635
|
+
.ncua-sub-title--sm .ncua-sub-title__description {
|
|
6636
|
+
font-size: var(--font-size-xs);
|
|
6637
|
+
line-height: var(--line-heights-xs);
|
|
6638
|
+
}
|
|
6639
|
+
.ncua-sub-title--xs .ncua-sub-title__title-area {
|
|
6640
|
+
gap: 4px;
|
|
6641
|
+
}
|
|
6642
|
+
.ncua-sub-title--xs .ncua-sub-title__title {
|
|
6643
|
+
font-size: var(--font-size-xs);
|
|
6644
|
+
line-height: var(--line-heights-xs);
|
|
6645
|
+
}
|
|
6646
|
+
.ncua-sub-title--xs .ncua-sub-title__description {
|
|
6647
|
+
font-size: var(--font-size-xxs);
|
|
6648
|
+
line-height: var(--line-heights-xxs);
|
|
6649
|
+
}
|
|
6650
|
+
.ncua-sub-title--xs .ncua-sub-title__error {
|
|
6651
|
+
font-size: var(--font-size-xxs);
|
|
6652
|
+
line-height: var(--line-heights-xxs);
|
|
6653
|
+
}
|
|
6654
|
+
|
|
6655
|
+
.ncua-page-title {
|
|
6656
|
+
width: 100%;
|
|
6657
|
+
background: var(--base-white);
|
|
6658
|
+
box-shadow: var(--shadow-sm);
|
|
6659
|
+
}
|
|
6660
|
+
.ncua-page-title--fixed {
|
|
6661
|
+
position: sticky;
|
|
6662
|
+
top: 0;
|
|
6663
|
+
z-index: 999;
|
|
6664
|
+
border-bottom: 1px solid var(--gray-300);
|
|
6665
|
+
}
|
|
6666
|
+
.ncua-page-title__page-header {
|
|
6667
|
+
padding: 24px 40px;
|
|
6668
|
+
}
|
|
6669
|
+
.ncua-page-title--fixed .ncua-page-title__page-header {
|
|
6670
|
+
padding: 12px 40px;
|
|
6671
|
+
}
|
|
6672
|
+
.ncua-page-title__header {
|
|
6673
|
+
display: flex;
|
|
6674
|
+
flex-direction: row;
|
|
6675
|
+
align-items: center;
|
|
6676
|
+
gap: 8px;
|
|
6677
|
+
}
|
|
6678
|
+
.ncua-page-title__header--has-breadcrumb {
|
|
6679
|
+
align-items: flex-end;
|
|
6680
|
+
}
|
|
6681
|
+
.ncua-page-title__container {
|
|
6682
|
+
display: flex;
|
|
6683
|
+
flex-direction: column;
|
|
6684
|
+
gap: 12px;
|
|
6685
|
+
flex: 1;
|
|
6686
|
+
min-width: 0;
|
|
6687
|
+
}
|
|
6688
|
+
.ncua-page-title--fixed .ncua-page-title__container {
|
|
6689
|
+
gap: 8px;
|
|
6690
|
+
}
|
|
6691
|
+
.ncua-page-title__title-row {
|
|
6692
|
+
display: flex;
|
|
6693
|
+
flex-direction: row;
|
|
6694
|
+
align-items: center;
|
|
6695
|
+
gap: 12px;
|
|
6696
|
+
}
|
|
6697
|
+
.ncua-page-title__title-row .ncua-page-title__title {
|
|
6698
|
+
font-size: var(--font-size-display-xs);
|
|
6699
|
+
font-weight: var(--font-weights-commerce-sans-2);
|
|
6700
|
+
line-height: var(--line-heights-display-xs);
|
|
6701
|
+
color: var(--gray-700);
|
|
6702
|
+
margin: 0;
|
|
6703
|
+
}
|
|
6704
|
+
.ncua-page-title__title-row .ncua-page-title__title:first-child {
|
|
6705
|
+
margin: 0;
|
|
6706
|
+
}
|
|
6707
|
+
.ncua-page-title__breadcrumb {
|
|
6708
|
+
display: flex;
|
|
6709
|
+
flex-direction: row;
|
|
6710
|
+
align-items: center;
|
|
6711
|
+
gap: 8px;
|
|
6712
|
+
}
|
|
6713
|
+
.ncua-page-title__breadcrumb-item {
|
|
6714
|
+
font-size: 12px;
|
|
6715
|
+
font-weight: 500;
|
|
6716
|
+
line-height: 1.333;
|
|
6717
|
+
color: var(--gray-400);
|
|
6718
|
+
}
|
|
6719
|
+
.ncua-page-title__breadcrumb-item a {
|
|
6720
|
+
color: inherit;
|
|
6721
|
+
text-decoration: none;
|
|
6722
|
+
}
|
|
6723
|
+
.ncua-page-title__breadcrumb-item a:hover {
|
|
6724
|
+
text-decoration: underline;
|
|
6725
|
+
}
|
|
6726
|
+
.ncua-page-title__breadcrumb-separator {
|
|
6727
|
+
width: 16px;
|
|
6728
|
+
height: 16px;
|
|
6729
|
+
color: var(--gray-200);
|
|
6730
|
+
flex-shrink: 0;
|
|
6731
|
+
}
|
|
6732
|
+
.ncua-page-title__breadcrumb-current {
|
|
6733
|
+
font-size: 12px;
|
|
6734
|
+
font-weight: 500;
|
|
6735
|
+
line-height: 1.333;
|
|
6736
|
+
color: var(--gray-600);
|
|
6737
|
+
}
|
|
6738
|
+
.ncua-page-title__back-btn {
|
|
6739
|
+
flex-shrink: 0;
|
|
6740
|
+
}
|
|
6741
|
+
.ncua-page-title__guide-btn {
|
|
6742
|
+
display: flex;
|
|
6743
|
+
align-items: center;
|
|
6744
|
+
}
|
|
6745
|
+
.ncua-page-title__actions {
|
|
6746
|
+
display: flex;
|
|
6747
|
+
flex-direction: row;
|
|
6748
|
+
align-items: center;
|
|
6749
|
+
gap: 8px;
|
|
6750
|
+
flex-shrink: 0;
|
|
6751
|
+
}
|
|
6752
|
+
|
|
6221
6753
|
.flatpickr-calendar {
|
|
6222
6754
|
background: transparent;
|
|
6223
6755
|
opacity: 0;
|