@orioncactuscorp/ui 1.15.1 → 1.17.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/CHANGELOG.md +146 -0
- package/README.md +54 -15
- package/dist/components/Accordion/Accordion.css +1 -1
- package/dist/components/ActionArea/ActionArea.css +1 -1
- package/dist/components/ActionArea/ActionArea.js +56 -55
- package/dist/components/BackgroundIconButton/BackgroundIconButton.css +1 -1
- package/dist/components/BackgroundIconButton/BackgroundIconButton.js +9 -9
- package/dist/components/Badge/Badge.css +1 -1
- package/dist/components/Badge/Badge.js +44 -39
- package/dist/components/Badge/Badge.module.scss.js +9 -8
- package/dist/components/Button/Button.css +1 -1
- package/dist/components/Button/Button.js +5 -5
- package/dist/components/Cell/Cell.css +1 -1
- package/dist/components/CheckMark/CheckMark.css +1 -1
- package/dist/components/CheckMark/CheckMark.js +6 -6
- package/dist/components/Checkbox/Checkbox.css +1 -1
- package/dist/components/Checkbox/Checkbox.js +15 -15
- package/dist/components/Field/Field.css +1 -1
- package/dist/components/Fieldset/Fieldset.css +1 -1
- package/dist/components/IconButton/IconButton.css +1 -1
- package/dist/components/IconButton/IconButton.js +9 -9
- package/dist/components/Interaction/Interaction.css +1 -1
- package/dist/components/Interaction/Interaction.js +19 -12
- package/dist/components/Modal/Modal.css +1 -1
- package/dist/components/Modal/Modal.js +555 -579
- package/dist/components/Modal/blockSize.js +7 -0
- package/dist/components/Modal/bottomSheetRelease.js +114 -0
- package/dist/components/Modal/cssTime.js +11 -0
- package/dist/components/Modal/modalResizeTarget.js +28 -0
- package/dist/components/Modal/modalScrollArbitration.js +57 -66
- package/dist/components/Modal/useBottomSheetIntrinsicHeight.js +55 -0
- package/dist/components/Modal/useMeasuredElement.js +20 -0
- package/dist/components/Modal/useModalContentBlockTransition.js +128 -49
- package/dist/components/Modal/useModalContentSizeSignal.js +30 -0
- package/dist/components/Modal/useModalDrag.js +994 -1017
- package/dist/components/PositionSnap/PositionSnap.css +1 -1
- package/dist/components/ProgressIndicator/ProgressIndicator.css +1 -1
- package/dist/components/Radio/Radio.css +1 -1
- package/dist/components/Radio/Radio.js +9 -9
- package/dist/components/ScrollArea/ScrollArea.css +1 -1
- package/dist/components/ScrollArea/ScrollArea.js +262 -264
- package/dist/components/Skeleton/Skeleton.css +1 -1
- package/dist/components/Switch/Switch.css +1 -1
- package/dist/components/Switch/Switch.js +7 -7
- package/dist/components/Tabs/Tabs.css +1 -1
- package/dist/components/TextButton/TextButton.css +1 -1
- package/dist/components/TextButton/TextButton.js +17 -17
- package/dist/components/internal/ModalPresentation.js +1 -1
- package/dist/foundations/touch.css +1 -0
- package/dist/foundations.css +1 -0
- package/dist/styles.css +22 -21
- package/dist/ui/src/components/ActionArea/ActionArea.d.ts.map +1 -1
- package/dist/ui/src/components/Badge/Badge.d.ts.map +1 -1
- package/dist/ui/src/components/Badge/types.d.ts +1 -1
- package/dist/ui/src/components/Badge/types.d.ts.map +1 -1
- package/dist/ui/src/components/Interaction/Interaction.d.ts.map +1 -1
- package/dist/ui/src/components/Interaction/types.d.ts +2 -0
- package/dist/ui/src/components/Interaction/types.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/Modal.d.ts +1 -1
- package/dist/ui/src/components/Modal/Modal.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/blockSize.d.ts +2 -0
- package/dist/ui/src/components/Modal/blockSize.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/bottomSheetRelease.d.ts +19 -0
- package/dist/ui/src/components/Modal/bottomSheetRelease.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/contexts.d.ts +1 -0
- package/dist/ui/src/components/Modal/contexts.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/cssTime.d.ts +4 -0
- package/dist/ui/src/components/Modal/cssTime.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/modalResizeTarget.d.ts +12 -0
- package/dist/ui/src/components/Modal/modalResizeTarget.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/modalScrollArbitration.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/types.d.ts +6 -0
- package/dist/ui/src/components/Modal/types.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/useBottomSheetIntrinsicHeight.d.ts +21 -0
- package/dist/ui/src/components/Modal/useBottomSheetIntrinsicHeight.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/{useElementSize.d.ts → useMeasuredElement.d.ts} +1 -1
- package/dist/ui/src/components/Modal/useMeasuredElement.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/useModalContentBlockTransition.d.ts +20 -1
- package/dist/ui/src/components/Modal/useModalContentBlockTransition.d.ts.map +1 -1
- package/dist/ui/src/components/Modal/useModalContentSizeSignal.d.ts +22 -0
- package/dist/ui/src/components/Modal/useModalContentSizeSignal.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/useModalDrag.d.ts.map +1 -1
- package/dist/ui/src/components/ScrollArea/ScrollArea.d.ts +1 -1
- package/dist/ui/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/ui/src/components/ScrollArea/index.d.ts +1 -1
- package/dist/ui/src/components/ScrollArea/index.d.ts.map +1 -1
- package/dist/ui/src/components/ScrollArea/types.d.ts +2 -0
- package/dist/ui/src/components/ScrollArea/types.d.ts.map +1 -1
- package/dist/ui/src/index.d.ts +1 -1
- package/dist/ui/src/index.d.ts.map +1 -1
- package/dist/vscode/oc-ui-vars.css +1 -0
- package/docs/api-conventions.md +5 -0
- package/docs/responsive-foundation-profile.md +1 -0
- package/docs/scss-helpers.md +1 -3
- package/docs/selector-contract.md +63 -12
- package/docs/tokens.md +6 -0
- package/package.json +1 -1
- package/src/scss/foundations/touch.scss +3 -0
- package/src/scss/foundations/touch.test.ts +37 -0
- package/src/scss/foundations/typo.scss +1 -1
- package/src/scss/index.scss +1 -0
- package/src/scss/mixins/_fluid.test.ts +0 -16
- package/src/scss/mixins/_utils.scss +0 -6
- package/dist/components/Modal/useElementSize.js +0 -23
- package/dist/ui/src/components/Modal/useElementSize.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,151 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.17.0
|
|
4
|
+
|
|
5
|
+
### Changes
|
|
6
|
+
|
|
7
|
+
<!-- generated:start -->
|
|
8
|
+
|
|
9
|
+
_Commit range: `@orioncactuscorp/ui@1.16.0..HEAD`_
|
|
10
|
+
|
|
11
|
+
#### Other
|
|
12
|
+
|
|
13
|
+
- `d27d025` Modal 본문 끝 ActionArea 자동 여백 보정 (#282)
|
|
14
|
+
- `35d3f23` Badge variant 전환 및 border 계약 개선 (#284)
|
|
15
|
+
- `757780c` Modal popup 콘텐츠 전환 플래시 및 footer 크롬 플립 개선 (#285)
|
|
16
|
+
- `cae0595` BackgroundIconButton disabled 전환 오버슈트 수정 (#286)
|
|
17
|
+
<!-- generated:end -->
|
|
18
|
+
|
|
19
|
+
### Minor Changes
|
|
20
|
+
|
|
21
|
+
- 35d3f23: Badge의 canonical 기본 variant인 `default`를 추가하고, `label-strong` 배경과 `background-normal-normal` 라벨 색을 적용합니다. 기존 `normal` variant는 `label-alternative` 라벨과 `fill-normal` 배경을 유지합니다. Badge 배경 전환을 variant별 opacity 레이어로 분리하고, `oc-border` 기반의 `--oc-badge-border-width` 및 `--oc-badge-border-color` contract를 제공합니다.
|
|
22
|
+
|
|
23
|
+
Migration Notes:
|
|
24
|
+
- `variant`를 생략한 Badge의 `data-oc-variant` 값이 `normal`에서 `default`로 변경됩니다. 해당 selector를 직접 커스터마이즈하는 소비자는 `default`를 기준으로 업데이트하세요.
|
|
25
|
+
- `variant='default'`는 `label-strong` 배경과 `background-normal-normal` 라벨 색을 사용합니다.
|
|
26
|
+
- 기존 `variant='normal'`은 `label-alternative` 라벨과 `fill-normal` 배경을 유지합니다.
|
|
27
|
+
- Badge border는 기본적으로 투명하며, `--oc-badge-border-color`와 선택적인 `--oc-badge-border-width` override로 표시할 수 있습니다.
|
|
28
|
+
|
|
29
|
+
- 757780c: `ModalRoot`에 open/close transition이 끝난 뒤 호출되는 `onOpenChangeComplete(open)` 콜백을 추가합니다. depth navigation처럼 exit 동안 유지해야 하는 view 상태를 닫힘 완료 후 초기화할 때 사용합니다.
|
|
30
|
+
|
|
31
|
+
### Migration Notes
|
|
32
|
+
- 없음
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- 757780c: 렌더링할 액션, caption, extraContent가 없는 `ActionArea`는 `data-oc-empty="true"`를 방출하고 자체 padding과 background를 접습니다. `ModalFooter`와 `FloatingWindowFooter`의 직속 빈 `ActionArea`는 footer 예약을 `0`으로 만들어 body는 기본 하단 여백만 유지합니다.
|
|
37
|
+
|
|
38
|
+
### Migration Notes
|
|
39
|
+
- 빈 `ActionArea`로 하단 여백을 만들던 경우 명시적 spacer로 바꾸세요.
|
|
40
|
+
- depth navigation에서 root depth에 액션이 없어도 `ModalFooter`와 `ActionArea`를 계속 마운트해 두면 root에서는 예약이 접히고 다음 depth부터 버튼 높이가 예약됩니다.
|
|
41
|
+
|
|
42
|
+
- d27d025: ModalBody 마지막 직속 ActionArea가 본문 여백과 중복되지 않도록 자동 보정합니다.
|
|
43
|
+
|
|
44
|
+
### Migration Notes
|
|
45
|
+
- 기존 ModalBody 마지막 ActionArea에 지정한 중복 여백 override는 제거해도 됩니다.
|
|
46
|
+
- 이 조합에서는 desktop action group의 기본 max width가 `none`이 되며, standalone ActionArea의 `--oc-atomic-width-content` 기본값은 유지됩니다.
|
|
47
|
+
- 의도적으로 다른 간격을 사용하는 경우에는 기존 `--oc-action-area-*` override를 유지할 수 있습니다.
|
|
48
|
+
|
|
49
|
+
- 757780c: WebKit에서 `Fieldset`이 첫 레이아웃 때 legend 높이만큼 더 크게 그려졌다가 내부 재배치 시점에 줄어들던 문제를 수정합니다. legend를 float로 배치해 모든 엔진에서 같은 높이로 그려집니다.
|
|
50
|
+
|
|
51
|
+
### Migration Notes
|
|
52
|
+
- `FieldLegend` 다음 콘텐츠와의 간격이 `.content`의 시작 margin에서 legend의 끝 margin으로 옮겨졌습니다. 간격 값은 동일하며, legend와 콘텐츠 사이 간격을 직접 덮어쓰던 CSS가 있다면 legend 쪽으로 옮기세요.
|
|
53
|
+
|
|
54
|
+
- 757780c: Modal popup 콘텐츠 전환이 `navigationDepth` 변경을 명시적 교체 신호로 사용해 목적지 레이아웃 플래시 없이 이전 높이에서 새 높이로 전환합니다. 전환 중 header/footer 측정값이 늦게 반영되면 목표 높이를 재타겟하고, footer 스크롤 크롬은 목적지 scrollport 기준으로 판정해 전환 중 깜빡이지 않습니다. `ModalFooter`를 언마운트해도 측정된 footer 높이가 body 여백에 남지 않습니다.
|
|
55
|
+
|
|
56
|
+
### Migration Notes
|
|
57
|
+
- depth view 교체에 높이 전환을 기대하는 popup은 `ModalRoot`의 `navigationDepth`를 view와 같은 커밋에서 갱신하세요. 신호 없는 콘텐츠 변화는 기존처럼 안착 후 best-effort로 전환되며, 큰 교체는 한 프레임 동안 목적지 레이아웃이 먼저 보일 수 있습니다.
|
|
58
|
+
- 내부 attribute `data-oc-modal-sheet-resizing`이 `data-oc-modal-resizing`으로 바뀌었습니다. 공개 selector 계약은 아니지만 이 attribute를 참조하던 CSS가 있다면 갱신하세요.
|
|
59
|
+
- Reduced motion에서 popup 높이 전환은 즉시 완료되며 `data-oc-content-transition-state="changing"` 구간이 없습니다.
|
|
60
|
+
|
|
61
|
+
- 757780c: bottom sheet의 depth 전환이 끊기던 문제를 수정합니다. `navigationDepth`가 `0`보다 커서 drag 닫기가 차단된 상태에서는 canvas settle의 시작 translate가 gesture rubber-band 한계로 clamp되어 sheet가 먼저 튀어오른 뒤 멈췄다가 남은 거리만 움직였습니다. canvas settle은 gesture 범위 밖의 programmatic geometry로 취급해 clamp하지 않고, backdrop dim은 목적지 rest 값을 유지해 전환 중 1에서 내려갔다 돌아오지 않습니다. 또한 depth 변경 커밋에서 콘텐츠를 즉시 다시 재어 같은 프레임에 settle을 시작하고, body content를 border-box로 관찰해 header/footer 예약 반영 시 진행 속도를 이어받아 재타겟합니다.
|
|
62
|
+
|
|
63
|
+
### Migration Notes
|
|
64
|
+
- 없음
|
|
65
|
+
|
|
66
|
+
- cae0595: BackgroundIconButton disabled 전환이 중간에 밝게 튀었다가 되돌아오던 문제를 수정합니다.
|
|
67
|
+
- disabled fill을 컴포넌트 루트의 불투명 레이어로 분리하고 `opacity`만 교차 페이드합니다. 장식 레이어(`backdrop-filter`, `::before` multiply, `::after` plus-lighter)는 전환 중 그대로 유지됩니다.
|
|
68
|
+
- 결과 합성이 두 끝 렌더링의 선형 보간(`(1−p)·enabled + p·disabled`)이 되어 blend/clipping 비선형성과 무관하게 오버슈트가 발생하지 않습니다.
|
|
69
|
+
- disabled fill 색을 `--oc-background-icon-button-disabled-background-color`로 노출합니다. 기본값은 `--oc-color-theme-interaction-disable`입니다.
|
|
70
|
+
|
|
71
|
+
Migration Notes
|
|
72
|
+
- disabled 상태에서 `--oc-background-icon-button-background-color` 값이 더 이상 보이지 않습니다. 기존에는 이 override가 disabled 배경에도 적용됐습니다. disabled 배경을 조정하려면 `--oc-background-icon-button-disabled-background-color`를 사용하세요.
|
|
73
|
+
- 컴포넌트 루트가 `::after` 의사 요소를 사용합니다. oc-ui 컴포넌트 루트에 직접 `::after`를 선언하던 소비자 CSS는 충돌할 수 있습니다.
|
|
74
|
+
- public export, prop, `data-oc-*` selector 계약은 변경되지 않았습니다.
|
|
75
|
+
|
|
76
|
+
## 1.16.0
|
|
77
|
+
|
|
78
|
+
### Changes
|
|
79
|
+
|
|
80
|
+
<!-- generated:start -->
|
|
81
|
+
|
|
82
|
+
_Commit range: `@orioncactuscorp/ui@1.15.1..HEAD`_
|
|
83
|
+
|
|
84
|
+
#### Maintenance
|
|
85
|
+
|
|
86
|
+
- `ae8346e` ci: add Tailscale runner bootstrap (#266)
|
|
87
|
+
- `a0e7438` chore(ci): remove shared runner maintenance assets
|
|
88
|
+
|
|
89
|
+
#### Other
|
|
90
|
+
|
|
91
|
+
- `637157e` ActionArea padding override 안정성 보완 (#270)
|
|
92
|
+
- `5bd2c37` PositionSnap CI 테스트 안정화 (#271)
|
|
93
|
+
- `8304b7a` Modal bottom sheet 관성 dismiss 개선 (#273)
|
|
94
|
+
- `56a7b39` ScrollArea 오버레이 스크롤 잠금 경합 제거 (#275)
|
|
95
|
+
- `8d6971b` Modal 이미지 wrapper 스크롤 판정 보완 (#268)
|
|
96
|
+
- `211ec69` Public component contract 변수 cascade 안정화 (#274)
|
|
97
|
+
- `49583d9` fluidClamp 호환 API 제거 (#276)
|
|
98
|
+
- `92e6a4e` ScrollArea 모바일 스크롤바 표시 개선 (#277)
|
|
99
|
+
- `f523460` Interaction 터치 영역 커스터마이징 추가 (#278)
|
|
100
|
+
- `f704606` Modal 본문 끝 ActionArea 예시 추가 (#279)
|
|
101
|
+
<!-- generated:end -->
|
|
102
|
+
|
|
103
|
+
### Minor Changes
|
|
104
|
+
|
|
105
|
+
- 49583d9: 더 이상 사용되지 않는 SCSS `fluidClamp()` 호환 함수를 제거합니다.
|
|
106
|
+
|
|
107
|
+
### Migration Notes
|
|
108
|
+
- `fluidClamp($from, $bp, $anchor, $to)` 호출을 `oc-fluid($from, $to, $bp, $anchor)`로 변경합니다.
|
|
109
|
+
- `fluidClamp(toRem(16), 375px, to, toRem(20))`은 `oc-fluid(toRem(16), toRem(20), 375px)`로 변경합니다.
|
|
110
|
+
- `oc-fluid()`를 사용하려면 `@orioncactuscorp/ui/scss/mixins/fluid`를 불러옵니다. `toRem()`과 `stripUnit()`은 기존처럼 `@orioncactuscorp/ui/scss/mixins/utils`에서 사용할 수 있습니다.
|
|
111
|
+
|
|
112
|
+
- 92e6a4e: 터치 기기의 `ScrollArea`가 커스텀 scrollbar 대신 운영체제의 native scrollbar indicator를 표시하도록 수정하고, 스크롤 동작을 유지한 채 indicator를 모든 환경 또는 터치 환경에서만 숨길 수 있는 `scrollbarVisibility="hidden"`, `scrollbarVisibility="hidden-on-touch"` 옵션을 추가합니다.
|
|
113
|
+
|
|
114
|
+
Migration Notes:
|
|
115
|
+
- 모든 환경에서 scrollbar indicator를 숨기려면 `scrollbarVisibility="hidden"`, 터치 환경에서만 숨기려면 `scrollbarVisibility="hidden-on-touch"`를 지정하세요.
|
|
116
|
+
|
|
117
|
+
- f523460: Interaction의 기존 시각·상태 계약을 유지하면서 44px 터치 대상 foundation과 host별 최소 hit area 커스터마이징을 추가합니다. Button, TextButton, IconButton, BackgroundIconButton, interactive Badge와 선택 컨트롤은 기본 44px 영역을 사용하며 `--oc-interaction-touch-target-min`으로 재정의할 수 있습니다. custom host는 `touchTarget` prop으로 hit layer를 선택할 수 있으며, semantic direct host의 iOS Safari native tap highlight와 accidental text selection은 Interaction feedback으로 대체됩니다. 링크의 long-press context menu와 브라우저 gesture는 유지합니다. 확장 영역이 host 바깥에서도 동작하도록 Button, padding Badge, Switch의 내부 overflow clipping은 제거됩니다.
|
|
118
|
+
|
|
119
|
+
### Migration Notes
|
|
120
|
+
- 기존 컴포넌트 사용 코드는 변경할 필요가 없습니다. 기본 44px 터치 영역이 레이아웃과 겹치는 경우 `--oc-interaction-touch-target-min` 또는 custom host의 `touchTarget` prop을 조정하세요.
|
|
121
|
+
|
|
122
|
+
### Patch Changes
|
|
123
|
+
|
|
124
|
+
- 637157e: `ActionArea`의 기본 padding을 property fallback으로 제공해 소비처의 `--oc-action-area-padding-*` override가 CSS chunk 순서와 무관하게 적용되도록 개선합니다.
|
|
125
|
+
|
|
126
|
+
### Migration Notes
|
|
127
|
+
- 없음
|
|
128
|
+
|
|
129
|
+
- 56a7b39: Root `ScrollArea`가 mount/unmount 중 `document.body.style.overflow`를 임시로 변경하지 않도록 수정해, 같은 초기 렌더에서 열린 Modal 또는 Menu를 닫은 뒤 페이지 스크롤 잠금이 남는 문제를 해결합니다.
|
|
130
|
+
|
|
131
|
+
Migration Notes:
|
|
132
|
+
- 없음 — `ScrollArea` 공개 API와 selector 계약 변경 없이 body scroll-lock 소유권 경합을 제거합니다.
|
|
133
|
+
|
|
134
|
+
- 211ec69: 공개 component contract CSS 변수의 기본값을 property fallback과 internal default로 제공해 per-component CSS가 consumer CSS보다 나중에 로드되어도 override가 유지되도록 개선합니다.
|
|
135
|
+
|
|
136
|
+
### Migration Notes
|
|
137
|
+
- 없음
|
|
138
|
+
|
|
139
|
+
- 8304b7a: Modal bottom sheet가 짧고 빠른 하향 드래그의 release velocity를 예상 도착점에 반영해 네이티브 sheet처럼 닫히도록 개선합니다.
|
|
140
|
+
|
|
141
|
+
### Migration Notes
|
|
142
|
+
- 없음
|
|
143
|
+
|
|
144
|
+
- 8d6971b: 모바일 BottomSheet에서 `overflow: hidden` 이미지 wrapper가 스크롤 컨테이너로 오인되지 않도록 콘텐츠 스크롤 경계 판정을 보완합니다.
|
|
145
|
+
|
|
146
|
+
### Migration Notes
|
|
147
|
+
- 없음
|
|
148
|
+
|
|
3
149
|
## 1.15.1
|
|
4
150
|
|
|
5
151
|
### Changes
|
package/README.md
CHANGED
|
@@ -72,7 +72,7 @@ export default function Example() {
|
|
|
72
72
|
|
|
73
73
|
## Documentation
|
|
74
74
|
|
|
75
|
-
이 패키지는 상세 가이드를 `docs/`로 함께 배포합니다. 설치 후 `node_modules/@orioncactuscorp/ui/docs/`에서 설치 버전과 일치하는 문서를 바로 읽을 수 있고, 웹에서는 `https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
75
|
+
이 패키지는 상세 가이드를 `docs/`로 함께 배포합니다. 설치 후 `node_modules/@orioncactuscorp/ui/docs/`에서 설치 버전과 일치하는 문서를 바로 읽을 수 있고, 웹에서는 `https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/<파일명>`으로 볼 수 있습니다.
|
|
76
76
|
|
|
77
77
|
| 문서 | 내용 |
|
|
78
78
|
| -------------------------------------------------------------- | ---------------------------------------------------------------------- |
|
|
@@ -146,6 +146,45 @@ Modal은 DOM 순서의 첫 control을 기계적으로 선택하지 않습니다.
|
|
|
146
146
|
- `initialFocus="first-interactive"`는 첫 tabbable 요소, `initialFocus="title"`은 등록된 title을 명시합니다.
|
|
147
147
|
- `initialFocus="content"`는 dialog container를 포커스하는 호환용 escape hatch입니다. 신규 사용은 title 또는 구체적인 ref/function을 우선하세요.
|
|
148
148
|
|
|
149
|
+
### Modal depth navigation
|
|
150
|
+
|
|
151
|
+
같은 Modal 안에서 view를 교체하는 depth navigation은 `ModalRoot`의 `navigationDepth`로 현재 깊이를 알립니다. 이 값은 두 가지 계약을 동시에 가집니다.
|
|
152
|
+
|
|
153
|
+
- `0`보다 크면 drag, backdrop pointer 같은 암묵적 닫기가 기본 차단됩니다. `dismissBehavior`로 reason별 정책을 조정할 수 있습니다.
|
|
154
|
+
- `contentTransition="auto"`인 popup은 `navigationDepth` 변경을 명시적 교체 신호로 사용합니다. view와 depth가 같은 커밋에서 바뀌면 surface가 이전 높이를 고정한 채 새 높이로 전환하므로 목적지 레이아웃이 먼저 보이는 플래시가 없습니다.
|
|
155
|
+
|
|
156
|
+
```tsx
|
|
157
|
+
const [depth, setDepth] = useState(0);
|
|
158
|
+
|
|
159
|
+
<ModalRoot open={open} onOpenChange={setOpen} navigationDepth={depth}>
|
|
160
|
+
<ModalContent variant='popup' resize='content'>
|
|
161
|
+
<ModalHeader
|
|
162
|
+
title='문의하기'
|
|
163
|
+
leadingContent={
|
|
164
|
+
depth > 0 ? (
|
|
165
|
+
<BackButton onClick={() => setDepth(depth - 1)} />
|
|
166
|
+
) : undefined
|
|
167
|
+
}
|
|
168
|
+
bottomContent={
|
|
169
|
+
<ProgressIndicator value={depth} max={2} aria-label='진행률' />
|
|
170
|
+
}
|
|
171
|
+
/>
|
|
172
|
+
<ModalBody>{views[depth]}</ModalBody>
|
|
173
|
+
<ModalFooter>
|
|
174
|
+
<ActionArea variant='neutral'>{actions[depth]}</ActionArea>
|
|
175
|
+
</ModalFooter>
|
|
176
|
+
</ModalContent>
|
|
177
|
+
</ModalRoot>;
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
- 닫을 때는 `navigationDepth`와 view 상태를 그대로 두세요. surface는 exit transition 동안 계속 렌더링되므로 `onOpenChange(false)`에서 depth를 `0`으로 되돌리면 사라지는 surface 아래에서 root view로 교체되어 높이가 튑니다. 초기화는 다시 열 때(`onOpenChange(true)`) 하거나, exit가 끝난 뒤 호출되는 `onOpenChangeComplete(false)`에서 하세요.
|
|
181
|
+
- depth 하나당 한 번의 이산 교체를 전제로 합니다. depth를 바꾸는 커밋에서 자체 애니메이션 콘텐츠를 함께 시작하면 surface가 그 애니메이션을 뒤따라가므로, 펼침 같은 in-place 모션은 depth 전환이 끝난 뒤 시작하세요.
|
|
182
|
+
- 전환 중 header나 footer 측정값이 늦게 반영되어 목표 높이가 바뀌면 진행 중인 전환이 새 목표로 재타겟됩니다. footer의 스크롤 배경과 여백은 목적지 scrollport 기준으로 판정되어 전환 중 깜빡이지 않습니다.
|
|
183
|
+
- `ModalFooter`와 header `bottomContent`는 depth 0부터 유지하는 구성을 권장합니다. 조건부로 마운트해도 높이 전환은 동작하지만 chrome 자체는 즉시 나타나고, `ActionArea` 버튼 등장에는 별도 모션 계약이 없습니다. 버튼이 없는 `ActionArea`는 `data-oc-empty="true"`로 접혀 footer 예약 없이 body의 기본 하단 여백만 남습니다.
|
|
184
|
+
- `navigationDepth` 없이 바뀌는 콘텐츠는 안착한 이산 변화만 best-effort로 전환하고, 자체 애니메이션 중인 콘텐츠는 surface가 자연스럽게 따라갑니다. 이 경로는 큰 교체에서 한 프레임 동안 목적지 레이아웃이 먼저 보일 수 있으므로 view 교체에는 `navigationDepth`를 사용하세요.
|
|
185
|
+
- bottom sheet는 콘텐츠 높이 변화를 sheet motion 계약(canvas settle)으로 처리합니다. `navigationDepth` 변경 커밋에서는 콘텐츠를 즉시 다시 재어 같은 프레임에 settle을 시작하고, 전환 중 header/footer 측정값이 늦게 반영되면 진행 중인 속도를 이어받아 새 목표로 재타겟합니다.
|
|
186
|
+
- 높이 전환이 필요 없거나 자체 animation을 사용하는 경우 `contentTransition="none"`을 지정하세요.
|
|
187
|
+
|
|
149
188
|
### FloatingWindow
|
|
150
189
|
|
|
151
190
|
`FloatingWindowRoot`는 trigger 또는 명시적 anchor를 기준으로 collision-aware 배치되는 modeless dialog가 기본입니다. `ModalWindowRoot`는 같은 geometry에 focus trap, 배경 입력을 차단하는 backdrop, Modal popup scale/fade motion을 적용합니다. 필요한 경우에만 `FloatingWindowContent backdrop="hidden"`으로 dimmer를 숨길 수 있으며 modal focus와 배경 inert 정책은 유지됩니다. Header, Body, Footer, NavigationSection은 Modal 기본 presentation을 공유합니다.
|
|
@@ -411,7 +450,7 @@ SCSS mixin/function 전체 시그니처와 예시는 [SCSS Helpers 가이드][sc
|
|
|
411
450
|
| `@include typo($variant, $weight)` | `scss/mixins/typo` | typo 토큰 조합 출력 (`--oc-typo-size-factor` 반영) |
|
|
412
451
|
| `@include respond-to(...)` | `scss/mixins/breakpoint` | breakpoint media query (named/직접 값/구간) |
|
|
413
452
|
| `oc-fluid(...)` | `scss/mixins/fluid` | 커스텀 fluid 값 생성 |
|
|
414
|
-
| `
|
|
453
|
+
| `toRem($px)` | `scss/mixins/utils` | px→rem 변환 |
|
|
415
454
|
|
|
416
455
|
`@orioncactuscorp/ui/scss/mixins/element`는 요소 표면을 구성할 때 쓰는 SCSS helper를 제공합니다.
|
|
417
456
|
|
|
@@ -648,16 +687,16 @@ GitHub 리포지터리 공개를 준비하고 있습니다. 그동안 의견이
|
|
|
648
687
|
<!-- 버전은 `bun run agent:sync-version`이 릴리스마다 stamp합니다. 직접 수정하지 마세요. -->
|
|
649
688
|
|
|
650
689
|
[storybook]: https://oc-ui-storybook.pages.dev
|
|
651
|
-
[changelog]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
652
|
-
[api-conventions]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
653
|
-
[selector-contract]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
654
|
-
[colors]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
655
|
-
[typography]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
656
|
-
[scss-helpers]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
657
|
-
[motion]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
658
|
-
[spring]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
659
|
-
[responsive-foundation-profile]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
660
|
-
[overlay-stacking]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
661
|
-
[tokens]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
662
|
-
[stability]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
663
|
-
[editor-setup]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.
|
|
690
|
+
[changelog]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/CHANGELOG.md
|
|
691
|
+
[api-conventions]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/api-conventions.md
|
|
692
|
+
[selector-contract]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/selector-contract.md
|
|
693
|
+
[colors]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/colors.md
|
|
694
|
+
[typography]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/typography.md
|
|
695
|
+
[scss-helpers]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/scss-helpers.md
|
|
696
|
+
[motion]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/motion.md
|
|
697
|
+
[spring]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/spring.md
|
|
698
|
+
[responsive-foundation-profile]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/responsive-foundation-profile.md
|
|
699
|
+
[overlay-stacking]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/overlay-stacking.md
|
|
700
|
+
[tokens]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/tokens.md
|
|
701
|
+
[stability]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/stability.md
|
|
702
|
+
[editor-setup]: https://cdn.jsdelivr.net/npm/@orioncactuscorp/ui@1.17.0/docs/editor-setup.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.oc-Accordion-module__accordion__wD27Q{font-size:calc(var(--oc-typo-size-body1) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-body1) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-body1);display:flex;flex-direction:column;margin-block:calc(-1 * var(--oc-cell-padding));color:var(--oc-color-theme-label-normal);--oc-cell-padding: var(--oc-space-item-padding-small);--oc-cell-padding-inline: var(--oc-space-item-padding-medium);--oc-cell-gap: .5em;--oc-cell-icon-size: 1.375rem;--oc-cell-disabled-opacity: .28;--oc-cell-interaction-margin-inline: var(--oc-space-item-padding-xsmall);--oc-cell-interaction-radius: var(--oc-atomic-radius-small);--oc-cell-divider-color: var(--oc-color-theme-line-normal-normal);--oc-accordion-current-divider-color: var(--oc-cell-divider-color)}.oc-Accordion-module__item__YNNr-[data-oc-divider=normal]{--oc-accordion-current-divider-color: var(--oc-color-theme-line-normal-normal)}.oc-Accordion-module__item__YNNr-[data-oc-divider=neutral]{--oc-accordion-current-divider-color: var(--oc-color-theme-line-normal-neutral)}.oc-Accordion-module__item__YNNr-[data-oc-divider=alternative]{--oc-accordion-current-divider-color: var(--oc-color-theme-line-normal-alternative)}.oc-Accordion-module__item__YNNr-[data-oc-divider=none]{--oc-accordion-current-divider-color: transparent}.oc-Accordion-module__item__YNNr-+.oc-Accordion-module__item__YNNr-{border-block-start:1px solid var(--oc-accordion-current-divider-color, var(--oc-cell-divider-color));transition:border-color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * .5) var(--oc-motion-timing-feedback),transform calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__item__YNNr-+.oc-Accordion-module__item__YNNr-{transform:none;transition-property:border-color;transition-duration:calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * .5);transition-timing-function:var(--oc-motion-timing-feedback)}}@media(hover:hover){.oc-Accordion-module__item__YNNr-:has(>.oc-Accordion-module__header__AYOT5>.oc-Accordion-module__summary__ORyIA:hover:not(:disabled)){--oc-accordion-current-divider-color: transparent}.oc-Accordion-module__item__YNNr-:has(>.oc-Accordion-module__header__AYOT5>.oc-Accordion-module__summary__ORyIA:hover:not(:disabled)):not([data-oc-state=open])+.oc-Accordion-module__item__YNNr-{--oc-accordion-current-divider-color: transparent}}@media(hover:none){.oc-Accordion-module__item__YNNr-:has(>.oc-Accordion-module__header__AYOT5>.oc-Accordion-module__summary__ORyIA:active:not(:disabled)){--oc-accordion-current-divider-color: transparent}.oc-Accordion-module__item__YNNr-:has(>.oc-Accordion-module__header__AYOT5>.oc-Accordion-module__summary__ORyIA:active:not(:disabled)):not([data-oc-state=open])+.oc-Accordion-module__item__YNNr-{--oc-accordion-current-divider-color: transparent}}.oc-Accordion-module__item__YNNr-[data-oc-disabled=true] .oc-Accordion-module__summary__ORyIA>:where([data-oc-part=leading],[data-oc-part=content],[data-oc-part=trailing]),.oc-Accordion-module__item__YNNr-[data-oc-disabled=true] [data-oc-part=panel-inner]{opacity:var(--oc-cell-disabled-opacity)}.oc-Accordion-module__header__AYOT5{margin:0;font:inherit}.oc-Accordion-module__summary__ORyIA{position:relative;display:flex;align-items:flex-start;gap:var(--oc-cell-gap);padding-block:var(--oc-cell-padding);min-inline-size:0;color:inherit;transform:scale(var(--oc-accordion-summary-press-scale, 1));transition:transform calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__summary__ORyIA{transition:none;transform:none}}.oc-Accordion-module__summary__ORyIA{--oc-cell-content-min-block-size: var(--oc-typo-height-body1)}.oc-Accordion-module__summary__ORyIA[data-oc-vertical-align=center]{align-items:center}.oc-Accordion-module__summary__ORyIA[data-oc-fill-width=true]{padding-inline:var(--oc-cell-padding-inline);--oc-interaction-inset-x: 0;--oc-interaction-radius: 0}.oc-Accordion-module__summary__ORyIA[data-oc-fill-width=false]{--oc-interaction-inset-x: calc(-1 * var(--oc-cell-interaction-margin-inline));--oc-interaction-radius: var(--oc-cell-interaction-radius)}.oc-Accordion-module__summary__ORyIA{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.oc-Accordion-module__summary__ORyIA:focus-visible>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-focus);transform:scale(1)}@media(hover:hover){.oc-Accordion-module__summary__ORyIA:hover:not(:disabled)>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-hover);transform:scale(1)}}.oc-Accordion-module__summary__ORyIA:active:not(:disabled){--oc-accordion-summary-press-scale: max(0, 1 + (.9875 - 1) * var(--oc-motion-scale-factor-feedback))}.oc-Accordion-module__summary__ORyIA:active:not(:disabled)>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-active);transform:scale(1)}.oc-Accordion-module__summary__ORyIA[data-oc-disabled=true]{cursor:not-allowed}.oc-Accordion-module__summary__ORyIA[data-oc-disabled=true]>:where([data-oc-part=leading],[data-oc-part=content],[data-oc-part=trailing]){opacity:var(--oc-cell-disabled-opacity)}.oc-Accordion-module__summary__ORyIA[data-oc-disabled=true]>[data-oc-component=interaction]{pointer-events:none}.oc-Accordion-module__summary__ORyIA>[data-oc-part=leading],.oc-Accordion-module__summary__ORyIA>[data-oc-part=trailing]{position:relative;z-index:2;display:inline-flex;flex:none;align-items:center;min-block-size:var(--oc-cell-content-min-block-size);color:var(--oc-color-theme-label-alternative)}.oc-Accordion-module__summary__ORyIA>[data-oc-part=leading]>[data-oc-component=svg-icon],.oc-Accordion-module__summary__ORyIA>[data-oc-part=trailing]>[data-oc-component=svg-icon]{block-size:var(--oc-cell-icon-size)}.oc-Accordion-module__summary__ORyIA>[data-oc-part=content]{position:relative;z-index:2;display:flex;align-items:center;flex:1;min-block-size:var(--oc-cell-content-min-block-size);min-inline-size:0}.oc-Accordion-module__summary__ORyIA [data-oc-part=text]{display:flex;flex-direction:column;gap:var(--oc-space-item-gap-atom);min-inline-size:0}.oc-Accordion-module__summary__ORyIA [data-oc-part=label],.oc-Accordion-module__summary__ORyIA [data-oc-part=description]{min-inline-size:0}.oc-Accordion-module__summary__ORyIA [data-oc-part=description]{font-size:calc(var(--oc-typo-size-label1) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-label1) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-label1);color:var(--oc-color-theme-label-alternative)}.oc-Accordion-module__summary__ORyIA>[data-oc-part=trailing]{justify-content:flex-end}.oc-Accordion-module__summary__ORyIA{inline-size:100%;padding-inline:0;border:0;font:inherit;text-align:start;background:transparent}.oc-Accordion-module__summary__ORyIA:disabled{cursor:not-allowed}.oc-Accordion-module__trailing__Gnf84{justify-content:flex-end}.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]{transform:rotate(var(--oc-accordion-chevron-rotation, 0deg));transition:transform calc(.561s * var(--oc-motion-duration-factor) * var(--oc-motion-pace-quick) * 1) linear(0 0%,.0045 .83%,.0168 1.67%,.0356 2.5%,.0593 3.33%,.0871 4.17%,.1178 5%,.1507 5.83%,.1852 6.67%,.2207 7.5%,.2566 8.33%,.2926 9.17%,.3283 10%,.3635 10.83%,.398 11.67%,.4316 12.5%,.4642 13.33%,.4957 14.17%,.5259 15%,.5549 15.83%,.5826 16.67%,.609 17.5%,.6341 18.33%,.6579 19.17%,.6805 20%,.7018 20.83%,.722 21.67%,.7409 22.5%,.7588 23.33%,.7756 24.17%,.7913 25%,.8061 25.83%,.8199 26.67%,.8328 27.5%,.8449 28.33%,.8562 29.17%,.8667 30%,.8765 30.83%,.8857 31.67%,.8942 32.5%,.9021 33.33%,.9095 34.17%,.9163 35%,.9227 35.83%,.9286 36.67%,.934 37.5%,.9391 38.33%,.9438 39.17%,.9481 40%,.9522 40.83%,.9559 41.67%,.9594 42.5%,.9625 43.33%,.9655 44.17%,.9682 45%,.9707 45.83%,.9731 46.67%,.9752 47.5%,.9772 48.33%,.979 49.17%,.9807 50%,.9822 50.83%,.9837 51.67%,.985 52.5%,.9862 53.33%,.9873 54.17%,.9883 55%,.9893 55.83%,.9902 56.67%,.991 57.5%,.9917 58.33%,.9924 59.17%,.993 60%,.9936 60.83%,.9941 61.67%,.9946 62.5%,.995 63.33%,.9955 64.17%,.9958 65%,.9962 65.83%,.9965 66.67%,.9968 67.5%,.9971 68.33%,.9973 69.17%,.9975 70%,.9977 70.83%,.9979 71.67%,.9981 72.5%,.9983 73.33%,.9984 74.17%,.9985 75%,.9987 75.83%,.9988 76.67%,.9989 77.5%,.999 78.33%,.9991 79.17%,.9991 80%,.9992 80.83%,.9993 81.67%,.9993 82.5%,.9994 83.33%,.9994 84.17%,.9995 85%,.9995 85.83%,.9996 86.67%,.9996 87.5%,.9996 88.33%,.9997 89.17%,.9997 90%,.9997 90.83%,.9998 91.67%,.9998 92.5%,.9998 93.33%,.9998 94.17%,.9998 95%,.9998 95.83%,.9999 96.67%,.9999 97.5%,.9999 98.33%,.9999 99.17%,1 100%)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]{transition:none;transform:none}}.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]>[data-oc-part=indicator-frame]{display:inline-flex;flex:none;align-items:center;justify-content:center;block-size:var(--oc-cell-content-min-block-size)}@supports (block-size: 1lh){.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]>[data-oc-part=indicator-frame]{block-size:1lh}}.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true] [data-oc-component=svg-icon]{inline-size:auto;block-size:var(--oc-accordion-disclosure-indicator-size, calc(1.5em - var(--oc-accordion-disclosure-indicator-padding-block, .125em) * 2))}@supports (block-size: 1lh){.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true] [data-oc-component=svg-icon]{block-size:var(--oc-accordion-disclosure-indicator-size, calc(1lh - var(--oc-accordion-disclosure-indicator-padding-block, .125em) * 2))}}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]{transform:rotate(var(--oc-accordion-chevron-rotation, 0deg))}}.oc-Accordion-module__details__x7mjA{min-block-size:0}.oc-Accordion-module__details__x7mjA>[data-oc-part=panel-inner]{opacity:0;transition:opacity calc(.449s * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) linear(0 0%,.0045 .83%,.0169 1.67%,.0356 2.5%,.0594 3.33%,.0871 4.17%,.1179 5%,.1508 5.83%,.1853 6.67%,.2208 7.5%,.2567 8.33%,.2927 9.17%,.3285 10%,.3637 10.83%,.3983 11.67%,.4319 12.5%,.4644 13.33%,.4959 14.17%,.5261 15%,.5551 15.83%,.5828 16.67%,.6092 17.5%,.6343 18.33%,.6582 19.17%,.6807 20%,.7021 20.83%,.7222 21.67%,.7412 22.5%,.759 23.33%,.7758 24.17%,.7915 25%,.8063 25.83%,.8201 26.67%,.833 27.5%,.8451 28.33%,.8564 29.17%,.8669 30%,.8767 30.83%,.8858 31.67%,.8943 32.5%,.9022 33.33%,.9096 34.17%,.9164 35%,.9228 35.83%,.9287 36.67%,.9341 37.5%,.9392 38.33%,.9439 39.17%,.9482 40%,.9523 40.83%,.956 41.67%,.9594 42.5%,.9626 43.33%,.9656 44.17%,.9683 45%,.9708 45.83%,.9731 46.67%,.9753 47.5%,.9772 48.33%,.979 49.17%,.9807 50%,.9823 50.83%,.9837 51.67%,.985 52.5%,.9862 53.33%,.9874 54.17%,.9884 55%,.9893 55.83%,.9902 56.67%,.991 57.5%,.9917 58.33%,.9924 59.17%,.993 60%,.9936 60.83%,.9941 61.67%,.9946 62.5%,.9951 63.33%,.9955 64.17%,.9958 65%,.9962 65.83%,.9965 66.67%,.9968 67.5%,.9971 68.33%,.9973 69.17%,.9975 70%,.9977 70.83%,.9979 71.67%,.9981 72.5%,.9983 73.33%,.9984 74.17%,.9985 75%,.9987 75.83%,.9988 76.67%,.9989 77.5%,.999 78.33%,.9991 79.17%,.9991 80%,.9992 80.83%,.9993 81.67%,.9993 82.5%,.9994 83.33%,.9994 84.17%,.9995 85%,.9995 85.83%,.9996 86.67%,.9996 87.5%,.9996 88.33%,.9997 89.17%,.9997 90%,.9997 90.83%,.9998 91.67%,.9998 92.5%,.9998 93.33%,.9998 94.17%,.9998 95%,.9998 95.83%,.9999 96.67%,.9999 97.5%,.9999 98.33%,.9999 99.17%,1 100%)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__details__x7mjA>[data-oc-part=panel-inner]{transition-property:opacity;transition-duration:calc(var(--oc-motion-duration-expand-exit) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * 1);transition-timing-function:var(--oc-motion-timing-expand-exit)}}.oc-Accordion-module__details__x7mjA[data-oc-motion-state=opening]>[data-oc-part=panel-inner],.oc-Accordion-module__details__x7mjA[data-oc-motion-state=open]>[data-oc-part=panel-inner]{opacity:1;transition:opacity calc(.561s * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) linear(0 0%,.0045 .83%,.0168 1.67%,.0356 2.5%,.0593 3.33%,.0871 4.17%,.1178 5%,.1507 5.83%,.1852 6.67%,.2207 7.5%,.2566 8.33%,.2926 9.17%,.3283 10%,.3635 10.83%,.398 11.67%,.4316 12.5%,.4642 13.33%,.4957 14.17%,.5259 15%,.5549 15.83%,.5826 16.67%,.609 17.5%,.6341 18.33%,.6579 19.17%,.6805 20%,.7018 20.83%,.722 21.67%,.7409 22.5%,.7588 23.33%,.7756 24.17%,.7913 25%,.8061 25.83%,.8199 26.67%,.8328 27.5%,.8449 28.33%,.8562 29.17%,.8667 30%,.8765 30.83%,.8857 31.67%,.8942 32.5%,.9021 33.33%,.9095 34.17%,.9163 35%,.9227 35.83%,.9286 36.67%,.934 37.5%,.9391 38.33%,.9438 39.17%,.9481 40%,.9522 40.83%,.9559 41.67%,.9594 42.5%,.9625 43.33%,.9655 44.17%,.9682 45%,.9707 45.83%,.9731 46.67%,.9752 47.5%,.9772 48.33%,.979 49.17%,.9807 50%,.9822 50.83%,.9837 51.67%,.985 52.5%,.9862 53.33%,.9873 54.17%,.9883 55%,.9893 55.83%,.9902 56.67%,.991 57.5%,.9917 58.33%,.9924 59.17%,.993 60%,.9936 60.83%,.9941 61.67%,.9946 62.5%,.995 63.33%,.9955 64.17%,.9958 65%,.9962 65.83%,.9965 66.67%,.9968 67.5%,.9971 68.33%,.9973 69.17%,.9975 70%,.9977 70.83%,.9979 71.67%,.9981 72.5%,.9983 73.33%,.9984 74.17%,.9985 75%,.9987 75.83%,.9988 76.67%,.9989 77.5%,.999 78.33%,.9991 79.17%,.9991 80%,.9992 80.83%,.9993 81.67%,.9993 82.5%,.9994 83.33%,.9994 84.17%,.9995 85%,.9995 85.83%,.9996 86.67%,.9996 87.5%,.9996 88.33%,.9997 89.17%,.9997 90%,.9997 90.83%,.9998 91.67%,.9998 92.5%,.9998 93.33%,.9998 94.17%,.9998 95%,.9998 95.83%,.9999 96.67%,.9999 97.5%,.9999 98.33%,.9999 99.17%,1 100%)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__details__x7mjA[data-oc-motion-state=opening]>[data-oc-part=panel-inner],.oc-Accordion-module__details__x7mjA[data-oc-motion-state=open]>[data-oc-part=panel-inner]{transition-property:opacity;transition-duration:calc(var(--oc-motion-duration-expand) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * 1);transition-timing-function:var(--oc-motion-timing-expand)}}.oc-Accordion-module__accordion__wD27Q[data-oc-animation=disabled] .oc-Accordion-module__summary__ORyIA,.oc-Accordion-module__accordion__wD27Q[data-oc-animation=disabled] .oc-Accordion-module__trailing__Gnf84,.oc-Accordion-module__accordion__wD27Q[data-oc-animation=disabled] .oc-Accordion-module__details__x7mjA>[data-oc-part=panel-inner]{transition:none}.oc-Accordion-module__panelInner__YQXzI{display:flex;flex-direction:column;gap:var(--oc-space-item-gap-small);min-block-size:0;padding-block:0 var(--oc-cell-padding);padding-inline:0}.oc-Accordion-module__item__YNNr-:has([data-oc-component=accordion-summary][data-oc-fill-width=true]) [data-oc-part=panel-inner]{padding-inline:var(--oc-cell-padding-inline)}.oc-Accordion-module__description__bKdPX{font-size:calc(var(--oc-typo-size-label1) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-label1) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-label1);margin:0;color:var(--oc-color-theme-label-alternative)}.oc-Accordion-module__content__RyBzl{display:flex;flex-direction:column;gap:var(--oc-space-item-gap-small);min-inline-size:0}.oc-Accordion-module__normal__Fz83W{--oc-cell-divider-color: var(--oc-color-theme-line-normal-normal)}.oc-Accordion-module__neutral__eEyvY{--oc-cell-divider-color: var(--oc-color-theme-line-normal-neutral)}.oc-Accordion-module__alternative__HdOit{--oc-cell-divider-color: var(--oc-color-theme-line-normal-alternative)}.oc-Accordion-module__none__EiLem{--oc-cell-divider-color: transparent}
|
|
1
|
+
.oc-Accordion-module__accordion__wD27Q{font-size:calc(var(--oc-typo-size-body1) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-body1) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-body1);display:flex;flex-direction:column;margin-block:calc(-1 * var(--oc-cell-padding));color:var(--oc-color-theme-label-normal);--oc-cell-padding: var(--oc-space-item-padding-small);--oc-cell-padding-inline: var(--oc-space-item-padding-medium);--oc-cell-gap: .5em;--oc-cell-icon-size: 1.375rem;--oc-cell-disabled-opacity: .28;--oc-cell-interaction-margin-inline: var(--oc-space-item-padding-xsmall);--oc-cell-interaction-radius: var(--oc-atomic-radius-small);--oc-cell-divider-color: var(--oc-color-theme-line-normal-normal);--oc-accordion-current-divider-color: var(--oc-cell-divider-color)}.oc-Accordion-module__item__YNNr-[data-oc-divider=normal]{--oc-accordion-current-divider-color: var(--oc-color-theme-line-normal-normal)}.oc-Accordion-module__item__YNNr-[data-oc-divider=neutral]{--oc-accordion-current-divider-color: var(--oc-color-theme-line-normal-neutral)}.oc-Accordion-module__item__YNNr-[data-oc-divider=alternative]{--oc-accordion-current-divider-color: var(--oc-color-theme-line-normal-alternative)}.oc-Accordion-module__item__YNNr-[data-oc-divider=none]{--oc-accordion-current-divider-color: transparent}.oc-Accordion-module__item__YNNr-+.oc-Accordion-module__item__YNNr-{border-block-start:1px solid var(--oc-accordion-current-divider-color, var(--oc-cell-divider-color));transition:border-color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * .5) var(--oc-motion-timing-feedback),transform calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__item__YNNr-+.oc-Accordion-module__item__YNNr-{transform:none;transition-property:border-color;transition-duration:calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * .5);transition-timing-function:var(--oc-motion-timing-feedback)}}@media(hover:hover){.oc-Accordion-module__item__YNNr-:has(>.oc-Accordion-module__header__AYOT5>.oc-Accordion-module__summary__ORyIA:hover:not(:disabled)){--oc-accordion-current-divider-color: transparent}.oc-Accordion-module__item__YNNr-:has(>.oc-Accordion-module__header__AYOT5>.oc-Accordion-module__summary__ORyIA:hover:not(:disabled)):not([data-oc-state=open])+.oc-Accordion-module__item__YNNr-{--oc-accordion-current-divider-color: transparent}}@media(hover:none){.oc-Accordion-module__item__YNNr-:has(>.oc-Accordion-module__header__AYOT5>.oc-Accordion-module__summary__ORyIA:active:not(:disabled)){--oc-accordion-current-divider-color: transparent}.oc-Accordion-module__item__YNNr-:has(>.oc-Accordion-module__header__AYOT5>.oc-Accordion-module__summary__ORyIA:active:not(:disabled)):not([data-oc-state=open])+.oc-Accordion-module__item__YNNr-{--oc-accordion-current-divider-color: transparent}}.oc-Accordion-module__item__YNNr-[data-oc-disabled=true] .oc-Accordion-module__summary__ORyIA>:where([data-oc-part=leading],[data-oc-part=content],[data-oc-part=trailing]),.oc-Accordion-module__item__YNNr-[data-oc-disabled=true] [data-oc-part=panel-inner]{opacity:var(--oc-cell-disabled-opacity)}.oc-Accordion-module__header__AYOT5{margin:0;font:inherit}.oc-Accordion-module__summary__ORyIA{position:relative;display:flex;align-items:flex-start;gap:var(--oc-cell-gap);padding-block:var(--oc-cell-padding);min-inline-size:0;color:inherit;transform:scale(var(--oc-accordion-summary-press-scale, 1));transition:transform calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__summary__ORyIA{transition:none;transform:none}}.oc-Accordion-module__summary__ORyIA{--oc-cell-content-min-block-size: var(--oc-typo-height-body1)}.oc-Accordion-module__summary__ORyIA[data-oc-vertical-align=center]{align-items:center}.oc-Accordion-module__summary__ORyIA[data-oc-fill-width=true]{padding-inline:var(--oc-cell-padding-inline);--oc-interaction-inset-x: 0;--oc-interaction-radius: 0}.oc-Accordion-module__summary__ORyIA[data-oc-fill-width=false]{--oc-interaction-inset-x: calc(-1 * var(--oc-cell-interaction-margin-inline));--oc-interaction-radius: var(--oc-cell-interaction-radius)}.oc-Accordion-module__summary__ORyIA{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.oc-Accordion-module__summary__ORyIA:focus-visible>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-focus);--_-interaction-state-scale: 1}@media(hover:hover){.oc-Accordion-module__summary__ORyIA:hover:not(:disabled)>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-hover);--_-interaction-state-scale: 1}}.oc-Accordion-module__summary__ORyIA:active:not(:disabled){--oc-accordion-summary-press-scale: max(0, 1 + (.9875 - 1) * var(--oc-motion-scale-factor-feedback))}.oc-Accordion-module__summary__ORyIA:active:not(:disabled)>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-active);--_-interaction-state-scale: 1}.oc-Accordion-module__summary__ORyIA[data-oc-disabled=true]{cursor:not-allowed}.oc-Accordion-module__summary__ORyIA[data-oc-disabled=true]>:where([data-oc-part=leading],[data-oc-part=content],[data-oc-part=trailing]){opacity:var(--oc-cell-disabled-opacity)}.oc-Accordion-module__summary__ORyIA[data-oc-disabled=true]>[data-oc-component=interaction]{pointer-events:none}.oc-Accordion-module__summary__ORyIA>[data-oc-part=leading],.oc-Accordion-module__summary__ORyIA>[data-oc-part=trailing]{position:relative;z-index:2;display:inline-flex;flex:none;align-items:center;min-block-size:var(--oc-cell-content-min-block-size);color:var(--oc-color-theme-label-alternative)}.oc-Accordion-module__summary__ORyIA>[data-oc-part=leading]>[data-oc-component=svg-icon],.oc-Accordion-module__summary__ORyIA>[data-oc-part=trailing]>[data-oc-component=svg-icon]{block-size:var(--oc-cell-icon-size)}.oc-Accordion-module__summary__ORyIA>[data-oc-part=content]{position:relative;z-index:2;display:flex;align-items:center;flex:1;min-block-size:var(--oc-cell-content-min-block-size);min-inline-size:0}.oc-Accordion-module__summary__ORyIA [data-oc-part=text]{display:flex;flex-direction:column;gap:var(--oc-space-item-gap-atom);min-inline-size:0}.oc-Accordion-module__summary__ORyIA [data-oc-part=label],.oc-Accordion-module__summary__ORyIA [data-oc-part=description]{min-inline-size:0}.oc-Accordion-module__summary__ORyIA [data-oc-part=description]{font-size:calc(var(--oc-typo-size-label1) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-label1) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-label1);color:var(--oc-color-theme-label-alternative)}.oc-Accordion-module__summary__ORyIA>[data-oc-part=trailing]{justify-content:flex-end}.oc-Accordion-module__summary__ORyIA{inline-size:100%;padding-inline:0;border:0;font:inherit;text-align:start;background:transparent}.oc-Accordion-module__summary__ORyIA:disabled{cursor:not-allowed}.oc-Accordion-module__trailing__Gnf84{justify-content:flex-end}.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]{transform:rotate(var(--oc-accordion-chevron-rotation, 0deg));transition:transform calc(.561s * var(--oc-motion-duration-factor) * var(--oc-motion-pace-quick) * 1) linear(0 0%,.0045 .83%,.0168 1.67%,.0356 2.5%,.0593 3.33%,.0871 4.17%,.1178 5%,.1507 5.83%,.1852 6.67%,.2207 7.5%,.2566 8.33%,.2926 9.17%,.3283 10%,.3635 10.83%,.398 11.67%,.4316 12.5%,.4642 13.33%,.4957 14.17%,.5259 15%,.5549 15.83%,.5826 16.67%,.609 17.5%,.6341 18.33%,.6579 19.17%,.6805 20%,.7018 20.83%,.722 21.67%,.7409 22.5%,.7588 23.33%,.7756 24.17%,.7913 25%,.8061 25.83%,.8199 26.67%,.8328 27.5%,.8449 28.33%,.8562 29.17%,.8667 30%,.8765 30.83%,.8857 31.67%,.8942 32.5%,.9021 33.33%,.9095 34.17%,.9163 35%,.9227 35.83%,.9286 36.67%,.934 37.5%,.9391 38.33%,.9438 39.17%,.9481 40%,.9522 40.83%,.9559 41.67%,.9594 42.5%,.9625 43.33%,.9655 44.17%,.9682 45%,.9707 45.83%,.9731 46.67%,.9752 47.5%,.9772 48.33%,.979 49.17%,.9807 50%,.9822 50.83%,.9837 51.67%,.985 52.5%,.9862 53.33%,.9873 54.17%,.9883 55%,.9893 55.83%,.9902 56.67%,.991 57.5%,.9917 58.33%,.9924 59.17%,.993 60%,.9936 60.83%,.9941 61.67%,.9946 62.5%,.995 63.33%,.9955 64.17%,.9958 65%,.9962 65.83%,.9965 66.67%,.9968 67.5%,.9971 68.33%,.9973 69.17%,.9975 70%,.9977 70.83%,.9979 71.67%,.9981 72.5%,.9983 73.33%,.9984 74.17%,.9985 75%,.9987 75.83%,.9988 76.67%,.9989 77.5%,.999 78.33%,.9991 79.17%,.9991 80%,.9992 80.83%,.9993 81.67%,.9993 82.5%,.9994 83.33%,.9994 84.17%,.9995 85%,.9995 85.83%,.9996 86.67%,.9996 87.5%,.9996 88.33%,.9997 89.17%,.9997 90%,.9997 90.83%,.9998 91.67%,.9998 92.5%,.9998 93.33%,.9998 94.17%,.9998 95%,.9998 95.83%,.9999 96.67%,.9999 97.5%,.9999 98.33%,.9999 99.17%,1 100%)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]{transition:none;transform:none}}.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]>[data-oc-part=indicator-frame]{display:inline-flex;flex:none;align-items:center;justify-content:center;block-size:var(--oc-cell-content-min-block-size)}@supports (block-size: 1lh){.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]>[data-oc-part=indicator-frame]{block-size:1lh}}.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true] [data-oc-component=svg-icon]{inline-size:auto;block-size:var(--oc-accordion-disclosure-indicator-size, calc(1.5em - var(--oc-accordion-disclosure-indicator-padding-block, .125em) * 2))}@supports (block-size: 1lh){.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true] [data-oc-component=svg-icon]{block-size:var(--oc-accordion-disclosure-indicator-size, calc(1lh - var(--oc-accordion-disclosure-indicator-padding-block, .125em) * 2))}}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]{transform:rotate(var(--oc-accordion-chevron-rotation, 0deg))}}.oc-Accordion-module__details__x7mjA{min-block-size:0}.oc-Accordion-module__details__x7mjA>[data-oc-part=panel-inner]{opacity:0;transition:opacity calc(.449s * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) linear(0 0%,.0045 .83%,.0169 1.67%,.0356 2.5%,.0594 3.33%,.0871 4.17%,.1179 5%,.1508 5.83%,.1853 6.67%,.2208 7.5%,.2567 8.33%,.2927 9.17%,.3285 10%,.3637 10.83%,.3983 11.67%,.4319 12.5%,.4644 13.33%,.4959 14.17%,.5261 15%,.5551 15.83%,.5828 16.67%,.6092 17.5%,.6343 18.33%,.6582 19.17%,.6807 20%,.7021 20.83%,.7222 21.67%,.7412 22.5%,.759 23.33%,.7758 24.17%,.7915 25%,.8063 25.83%,.8201 26.67%,.833 27.5%,.8451 28.33%,.8564 29.17%,.8669 30%,.8767 30.83%,.8858 31.67%,.8943 32.5%,.9022 33.33%,.9096 34.17%,.9164 35%,.9228 35.83%,.9287 36.67%,.9341 37.5%,.9392 38.33%,.9439 39.17%,.9482 40%,.9523 40.83%,.956 41.67%,.9594 42.5%,.9626 43.33%,.9656 44.17%,.9683 45%,.9708 45.83%,.9731 46.67%,.9753 47.5%,.9772 48.33%,.979 49.17%,.9807 50%,.9823 50.83%,.9837 51.67%,.985 52.5%,.9862 53.33%,.9874 54.17%,.9884 55%,.9893 55.83%,.9902 56.67%,.991 57.5%,.9917 58.33%,.9924 59.17%,.993 60%,.9936 60.83%,.9941 61.67%,.9946 62.5%,.9951 63.33%,.9955 64.17%,.9958 65%,.9962 65.83%,.9965 66.67%,.9968 67.5%,.9971 68.33%,.9973 69.17%,.9975 70%,.9977 70.83%,.9979 71.67%,.9981 72.5%,.9983 73.33%,.9984 74.17%,.9985 75%,.9987 75.83%,.9988 76.67%,.9989 77.5%,.999 78.33%,.9991 79.17%,.9991 80%,.9992 80.83%,.9993 81.67%,.9993 82.5%,.9994 83.33%,.9994 84.17%,.9995 85%,.9995 85.83%,.9996 86.67%,.9996 87.5%,.9996 88.33%,.9997 89.17%,.9997 90%,.9997 90.83%,.9998 91.67%,.9998 92.5%,.9998 93.33%,.9998 94.17%,.9998 95%,.9998 95.83%,.9999 96.67%,.9999 97.5%,.9999 98.33%,.9999 99.17%,1 100%)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__details__x7mjA>[data-oc-part=panel-inner]{transition-property:opacity;transition-duration:calc(var(--oc-motion-duration-expand-exit) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * 1);transition-timing-function:var(--oc-motion-timing-expand-exit)}}.oc-Accordion-module__details__x7mjA[data-oc-motion-state=opening]>[data-oc-part=panel-inner],.oc-Accordion-module__details__x7mjA[data-oc-motion-state=open]>[data-oc-part=panel-inner]{opacity:1;transition:opacity calc(.561s * var(--oc-motion-duration-factor) * var(--oc-motion-pace-normal) * 1) linear(0 0%,.0045 .83%,.0168 1.67%,.0356 2.5%,.0593 3.33%,.0871 4.17%,.1178 5%,.1507 5.83%,.1852 6.67%,.2207 7.5%,.2566 8.33%,.2926 9.17%,.3283 10%,.3635 10.83%,.398 11.67%,.4316 12.5%,.4642 13.33%,.4957 14.17%,.5259 15%,.5549 15.83%,.5826 16.67%,.609 17.5%,.6341 18.33%,.6579 19.17%,.6805 20%,.7018 20.83%,.722 21.67%,.7409 22.5%,.7588 23.33%,.7756 24.17%,.7913 25%,.8061 25.83%,.8199 26.67%,.8328 27.5%,.8449 28.33%,.8562 29.17%,.8667 30%,.8765 30.83%,.8857 31.67%,.8942 32.5%,.9021 33.33%,.9095 34.17%,.9163 35%,.9227 35.83%,.9286 36.67%,.934 37.5%,.9391 38.33%,.9438 39.17%,.9481 40%,.9522 40.83%,.9559 41.67%,.9594 42.5%,.9625 43.33%,.9655 44.17%,.9682 45%,.9707 45.83%,.9731 46.67%,.9752 47.5%,.9772 48.33%,.979 49.17%,.9807 50%,.9822 50.83%,.9837 51.67%,.985 52.5%,.9862 53.33%,.9873 54.17%,.9883 55%,.9893 55.83%,.9902 56.67%,.991 57.5%,.9917 58.33%,.9924 59.17%,.993 60%,.9936 60.83%,.9941 61.67%,.9946 62.5%,.995 63.33%,.9955 64.17%,.9958 65%,.9962 65.83%,.9965 66.67%,.9968 67.5%,.9971 68.33%,.9973 69.17%,.9975 70%,.9977 70.83%,.9979 71.67%,.9981 72.5%,.9983 73.33%,.9984 74.17%,.9985 75%,.9987 75.83%,.9988 76.67%,.9989 77.5%,.999 78.33%,.9991 79.17%,.9991 80%,.9992 80.83%,.9993 81.67%,.9993 82.5%,.9994 83.33%,.9994 84.17%,.9995 85%,.9995 85.83%,.9996 86.67%,.9996 87.5%,.9996 88.33%,.9997 89.17%,.9997 90%,.9997 90.83%,.9998 91.67%,.9998 92.5%,.9998 93.33%,.9998 94.17%,.9998 95%,.9998 95.83%,.9999 96.67%,.9999 97.5%,.9999 98.33%,.9999 99.17%,1 100%)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__details__x7mjA[data-oc-motion-state=opening]>[data-oc-part=panel-inner],.oc-Accordion-module__details__x7mjA[data-oc-motion-state=open]>[data-oc-part=panel-inner]{transition-property:opacity;transition-duration:calc(var(--oc-motion-duration-expand) * var(--oc-motion-duration-factor-reduced) * var(--oc-motion-pace-normal) * 1);transition-timing-function:var(--oc-motion-timing-expand)}}.oc-Accordion-module__accordion__wD27Q[data-oc-animation=disabled] .oc-Accordion-module__summary__ORyIA,.oc-Accordion-module__accordion__wD27Q[data-oc-animation=disabled] .oc-Accordion-module__trailing__Gnf84,.oc-Accordion-module__accordion__wD27Q[data-oc-animation=disabled] .oc-Accordion-module__details__x7mjA>[data-oc-part=panel-inner]{transition:none}.oc-Accordion-module__panelInner__YQXzI{display:flex;flex-direction:column;gap:var(--oc-space-item-gap-small);min-block-size:0;padding-block:0 var(--oc-cell-padding);padding-inline:0}.oc-Accordion-module__item__YNNr-:has([data-oc-component=accordion-summary][data-oc-fill-width=true]) [data-oc-part=panel-inner]{padding-inline:var(--oc-cell-padding-inline)}.oc-Accordion-module__description__bKdPX{font-size:calc(var(--oc-typo-size-label1) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-label1) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-label1);margin:0;color:var(--oc-color-theme-label-alternative)}.oc-Accordion-module__content__RyBzl{display:flex;flex-direction:column;gap:var(--oc-space-item-gap-small);min-inline-size:0}.oc-Accordion-module__normal__Fz83W{--oc-cell-divider-color: var(--oc-color-theme-line-normal-normal)}.oc-Accordion-module__neutral__eEyvY{--oc-cell-divider-color: var(--oc-color-theme-line-normal-neutral)}.oc-Accordion-module__alternative__HdOit{--oc-cell-divider-color: var(--oc-color-theme-line-normal-alternative)}.oc-Accordion-module__none__EiLem{--oc-cell-divider-color: transparent}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.oc-ActionArea-module__actionArea__jnxep{position:relative;isolation:isolate;display:flex;flex-direction:column;inline-size:100
|
|
1
|
+
.oc-ActionArea-module__actionArea__jnxep{position:relative;isolation:isolate;display:flex;flex-direction:column;inline-size:100%;--_-action-area-padding-block: var(--oc-action-area-padding-block, var(--oc-space-section-padding-viewport-y));padding-block:var(--oc-action-area-padding-block-start, var(--_-action-area-padding-block)) var(--oc-action-area-padding-block-end, var(--_-action-area-padding-block));padding-inline:var(--oc-action-area-padding-inline, var(--oc-space-section-padding-viewport-x));--oc-action-area-gap: var(--oc-space-item-gap-small);--oc-action-area-actions-gap: var(--oc-space-item-gap-small);--oc-action-area-background-color: var(--oc-color-theme-background-elevated-normal);--oc-action-area-background-bleed: var(--_-action-area-padding-block);--oc-action-area-background-gradient-size: calc(var(--_-action-area-padding-block) * 2)}.oc-ActionArea-module__actionArea__jnxep:before{position:absolute;inset-block:calc(var(--oc-action-area-background-bleed) * -1) 0;inset-inline:0;z-index:0;background-color:var(--oc-action-area-background-color);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--oc-action-area-background-gradient-size));mask-image:linear-gradient(to bottom,transparent 0,black var(--oc-action-area-background-gradient-size));opacity:0;content:"";pointer-events:none}.oc-ActionArea-module__actionArea__jnxep>*{position:relative;z-index:1}.oc-ActionArea-module__actionArea__jnxep[data-oc-background=true]:before{opacity:1}.oc-ActionArea-module__actionArea__jnxep[data-oc-empty=true]{padding:0}.oc-ActionArea-module__actionArea__jnxep[data-oc-empty=true]:before{content:none}.oc-ActionArea-module__actionArea__jnxep[data-oc-has-extra=true]{border-block-start:1px solid var(--oc-color-theme-line-normal-neutral);background-color:var(--oc-action-area-background-color)}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=extra-slot]{display:flex;flex-direction:column;align-items:center;margin-block-end:calc(var(--oc-action-area-gap) + var(--_-action-area-padding-block))}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=caption]{font-size:calc(var(--oc-typo-size-label2) * var(--oc-typo-size-factor, 1));line-height:calc(var(--oc-typo-height-label2) * var(--oc-typo-size-factor, 1));letter-spacing:var(--oc-typo-spacing-label2);font-weight:var(--oc-typo-weight-label2-normal);margin:0 0 var(--oc-space-item-gap-medium);color:var(--oc-color-theme-label-alternative);text-align:center}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=actions]{display:flex;gap:var(--oc-action-area-actions-gap);min-width:0}@media screen and (min-width:769px){.oc-ActionArea-module__actionArea__jnxep [data-oc-part=actions]{max-inline-size:var(--oc-action-area-container-max-width, var(--oc-atomic-width-content))}.oc-ActionArea-module__actionArea__jnxep:not([data-oc-variant=compact]) [data-oc-part=actions]{inline-size:100%;margin-inline:auto}}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=strong] [data-oc-part=actions],.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=cancel] [data-oc-part=actions]{flex-direction:column}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]{flex-direction:row}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]>[data-oc-action-area-button=true]{flex:1 1 0}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]>[data-oc-action-area-button-priority=sub]{flex:0 0 auto}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]{flex-direction:row;justify-content:flex-end}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]:has(>[data-oc-action-area-button-priority=sub][data-oc-icon-only=true]){justify-content:space-between;inline-size:100%}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]>[data-oc-action-area-button-priority=sub]{flex:0 0 auto}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=compact-row]{display:flex;align-items:center;justify-content:space-between;gap:var(--oc-space-item-gap-medium);min-width:0}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=compact-slot]{display:flex;align-items:center;flex:1 1 auto;min-width:0}.oc-ActionArea-module__actionButton__fKHJQ{min-width:0}.oc-ActionArea-module__actionButton__fKHJQ[data-oc-component=text-button]{flex:0 0 auto;inline-size:fit-content;align-self:center}
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { useContext as V,
|
|
2
|
+
import { jsx as i, jsxs as y } from "react/jsx-runtime";
|
|
3
|
+
import { useContext as V, Children as g, isValidElement as v, Fragment as b, createContext as _ } from "react";
|
|
4
4
|
import j from "../Button/Button.js";
|
|
5
5
|
import C from "../TextButton/TextButton.js";
|
|
6
|
-
import
|
|
7
|
-
const
|
|
6
|
+
import N from "./ActionArea.module.scss.js";
|
|
7
|
+
const x = _(null), q = {
|
|
8
8
|
strong: ["main", "equal", "alternative", "sub"],
|
|
9
9
|
neutral: ["sub", "alternative", "equal", "main"],
|
|
10
10
|
compact: ["sub", "alternative", "equal", "main"]
|
|
11
11
|
};
|
|
12
|
-
function
|
|
12
|
+
function E(...t) {
|
|
13
13
|
return t.filter(Boolean).join(" ");
|
|
14
14
|
}
|
|
15
|
-
function
|
|
15
|
+
function A(t) {
|
|
16
16
|
return t != null && t !== !1 && t !== "";
|
|
17
17
|
}
|
|
18
18
|
function z() {
|
|
19
|
-
return V(
|
|
19
|
+
return V(x)?.variant ?? "strong";
|
|
20
20
|
}
|
|
21
21
|
function P(t) {
|
|
22
|
-
return
|
|
23
|
-
if (!
|
|
24
|
-
if (o.type ===
|
|
22
|
+
return g.toArray(t).flatMap((o) => {
|
|
23
|
+
if (!v(o)) return [];
|
|
24
|
+
if (o.type === b) {
|
|
25
25
|
const n = o.props;
|
|
26
26
|
return P(n.children);
|
|
27
27
|
}
|
|
28
|
-
return o.type !==
|
|
28
|
+
return o.type !== B ? [] : [o];
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
function D(t) {
|
|
32
|
-
return
|
|
32
|
+
return v(t) && t.type === B;
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
return
|
|
36
|
-
if (!
|
|
34
|
+
function h(t) {
|
|
35
|
+
return g.toArray(t).flatMap((o) => {
|
|
36
|
+
if (!v(o) || o.type !== b) return [o];
|
|
37
37
|
const n = o.props;
|
|
38
|
-
return
|
|
38
|
+
return h(n.children);
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
function O(t) {
|
|
@@ -47,10 +47,10 @@ function I({
|
|
|
47
47
|
}) {
|
|
48
48
|
const n = q[o ?? "strong"];
|
|
49
49
|
if (!n) return t;
|
|
50
|
-
const r =
|
|
50
|
+
const r = h(t);
|
|
51
51
|
return r.every(D) ? n.flatMap(
|
|
52
|
-
(
|
|
53
|
-
(a) => O(a) ===
|
|
52
|
+
(c) => r.filter(
|
|
53
|
+
(a) => O(a) === c
|
|
54
54
|
)
|
|
55
55
|
) : t;
|
|
56
56
|
}
|
|
@@ -71,7 +71,7 @@ function M({
|
|
|
71
71
|
(a) => a.props.priority !== void 0 && a.props.priority !== "main"
|
|
72
72
|
) && console.warn(
|
|
73
73
|
'[@orioncactuscorp/ui] ActionArea variant="cancel" should use ActionAreaButton priority="main".'
|
|
74
|
-
), t !== "compact" &&
|
|
74
|
+
), t !== "compact" && A(n) && console.warn(
|
|
75
75
|
'[@orioncactuscorp/ui] ActionArea compactContent is only rendered with variant="compact".'
|
|
76
76
|
);
|
|
77
77
|
}
|
|
@@ -80,62 +80,63 @@ function F({
|
|
|
80
80
|
className: o = "",
|
|
81
81
|
variant: n = "strong",
|
|
82
82
|
caption: r,
|
|
83
|
-
extraContent:
|
|
83
|
+
extraContent: c,
|
|
84
84
|
compactContent: a,
|
|
85
85
|
background: u = !1,
|
|
86
86
|
ref: p,
|
|
87
87
|
...s
|
|
88
88
|
}) {
|
|
89
|
-
const
|
|
90
|
-
return M({ variant: n, children: t, compactContent: a }), /* @__PURE__ */
|
|
89
|
+
const e = A(c), d = A(r), l = n === "compact" && A(a), m = !e && !d && !l && h(t).length === 0, f = I({ children: t, variant: n });
|
|
90
|
+
return M({ variant: n, children: t, compactContent: a }), /* @__PURE__ */ i(x.Provider, { value: { variant: n }, children: /* @__PURE__ */ y(
|
|
91
91
|
"div",
|
|
92
92
|
{
|
|
93
93
|
...s,
|
|
94
94
|
ref: p,
|
|
95
|
-
className:
|
|
95
|
+
className: E(N.actionArea, o),
|
|
96
96
|
"data-oc-component": "action-area",
|
|
97
97
|
"data-oc-variant": n,
|
|
98
98
|
"data-oc-background": u ? "true" : void 0,
|
|
99
|
-
"data-oc-has-extra":
|
|
100
|
-
"data-oc-has-caption":
|
|
99
|
+
"data-oc-has-extra": e ? "true" : void 0,
|
|
100
|
+
"data-oc-has-caption": d ? "true" : void 0,
|
|
101
|
+
"data-oc-empty": m ? "true" : void 0,
|
|
101
102
|
children: [
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
/* @__PURE__ */
|
|
106
|
-
/* @__PURE__ */
|
|
107
|
-
] }) : /* @__PURE__ */
|
|
103
|
+
e ? /* @__PURE__ */ i("div", { "data-oc-part": "extra-slot", children: c }) : null,
|
|
104
|
+
d ? /* @__PURE__ */ i("p", { "data-oc-part": "caption", children: r }) : null,
|
|
105
|
+
l ? /* @__PURE__ */ y("div", { "data-oc-part": "compact-row", children: [
|
|
106
|
+
/* @__PURE__ */ i("div", { "data-oc-part": "compact-slot", children: a }),
|
|
107
|
+
/* @__PURE__ */ i("div", { "data-oc-part": "actions", children: f })
|
|
108
|
+
] }) : /* @__PURE__ */ i("div", { "data-oc-part": "actions", children: f })
|
|
108
109
|
]
|
|
109
110
|
}
|
|
110
111
|
) });
|
|
111
112
|
}
|
|
112
|
-
function
|
|
113
|
+
function B({
|
|
113
114
|
children: t,
|
|
114
115
|
className: o = "",
|
|
115
116
|
priority: n = "main",
|
|
116
117
|
disabled: r = !1,
|
|
117
|
-
loading:
|
|
118
|
+
loading: c = !1,
|
|
118
119
|
leadingIcon: a,
|
|
119
120
|
trailingIcon: u,
|
|
120
121
|
icon: p,
|
|
121
122
|
...s
|
|
122
123
|
}) {
|
|
123
|
-
const
|
|
124
|
-
process.env.NODE_ENV !== "production" &&
|
|
124
|
+
const e = z();
|
|
125
|
+
process.env.NODE_ENV !== "production" && e === "cancel" && n !== "main" && console.warn(
|
|
125
126
|
'[@orioncactuscorp/ui] ActionAreaButton inside ActionArea variant="cancel" should use priority="main".'
|
|
126
127
|
);
|
|
127
|
-
const
|
|
128
|
+
const d = !!(p && t == null && !a && !u), l = {
|
|
128
129
|
"data-oc-action-area-button": "true",
|
|
129
130
|
"data-oc-action-area-button-priority": n
|
|
130
|
-
},
|
|
131
|
-
if (n === "sub" &&
|
|
131
|
+
}, m = E(N.actionButton, o), f = e === "cancel";
|
|
132
|
+
if (n === "sub" && e === "strong" && !p && !c && !r) {
|
|
132
133
|
if ("href" in s && s.href !== void 0)
|
|
133
|
-
return /* @__PURE__ */
|
|
134
|
+
return /* @__PURE__ */ i(
|
|
134
135
|
C,
|
|
135
136
|
{
|
|
136
137
|
...s,
|
|
137
|
-
...
|
|
138
|
-
className:
|
|
138
|
+
...l,
|
|
139
|
+
className: m,
|
|
139
140
|
leftIcon: a,
|
|
140
141
|
rightIcon: u,
|
|
141
142
|
variant: "assistive",
|
|
@@ -144,14 +145,14 @@ function v({
|
|
|
144
145
|
}
|
|
145
146
|
);
|
|
146
147
|
const R = s, { type: w = "button", ...T } = R;
|
|
147
|
-
return /* @__PURE__ */
|
|
148
|
+
return /* @__PURE__ */ i(
|
|
148
149
|
C,
|
|
149
150
|
{
|
|
150
151
|
...T,
|
|
151
|
-
...
|
|
152
|
+
...l,
|
|
152
153
|
as: "button",
|
|
153
154
|
type: w,
|
|
154
|
-
className:
|
|
155
|
+
className: m,
|
|
155
156
|
leftIcon: a,
|
|
156
157
|
rightIcon: u,
|
|
157
158
|
variant: "assistive",
|
|
@@ -160,30 +161,30 @@ function v({
|
|
|
160
161
|
}
|
|
161
162
|
);
|
|
162
163
|
}
|
|
163
|
-
return /* @__PURE__ */
|
|
164
|
+
return /* @__PURE__ */ i(
|
|
164
165
|
j,
|
|
165
166
|
{
|
|
166
167
|
...s,
|
|
167
|
-
...
|
|
168
|
-
className:
|
|
169
|
-
appearance: n === "main" && !
|
|
170
|
-
variant: n === "main" && !
|
|
168
|
+
...l,
|
|
169
|
+
className: m,
|
|
170
|
+
appearance: n === "main" && !f ? "solid" : "outlined",
|
|
171
|
+
variant: n === "main" && !f ? "primary" : n === "alternative" ? "secondary" : n === "equal" ? "primary" : "assistive",
|
|
171
172
|
size: "large",
|
|
172
|
-
fullWidth:
|
|
173
|
+
fullWidth: e === "strong" || e === "cancel",
|
|
173
174
|
disabled: r,
|
|
174
|
-
loading:
|
|
175
|
+
loading: c,
|
|
175
176
|
leadingIcon: a,
|
|
176
177
|
trailingIcon: u,
|
|
177
178
|
icon: p,
|
|
178
|
-
children:
|
|
179
|
+
children: d ? void 0 : t
|
|
179
180
|
}
|
|
180
181
|
);
|
|
181
182
|
}
|
|
182
183
|
const S = Object.assign(F, {
|
|
183
|
-
Button:
|
|
184
|
+
Button: B
|
|
184
185
|
});
|
|
185
186
|
export {
|
|
186
187
|
F as ActionArea,
|
|
187
|
-
|
|
188
|
+
B as ActionAreaButton,
|
|
188
189
|
S as default
|
|
189
190
|
};
|