@pfct/purple 1.12.0 → 1.13.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.
Files changed (42) hide show
  1. package/dist/assets/dotLotties/sample.lottie +0 -0
  2. package/dist/assets/images/fallback.png +0 -0
  3. package/dist/assets/images/fallback@2x.png +0 -0
  4. package/dist/assets/images/fallback@3x.png +0 -0
  5. package/dist/assets/index.css +1 -1
  6. package/dist/chunks/DotLottie.BEAWvPhB.js +71358 -0
  7. package/dist/chunks/DotLottie.DHSt1_0W.js +5 -0
  8. package/dist/chunks/dist.Bj_fI5rQ.js +1 -0
  9. package/dist/chunks/dist.CYRtTgUR.js +96 -0
  10. package/dist/icons/src/aliases/aliases.cjs.js +1 -1
  11. package/dist/icons/src/aliases/aliases.d.ts +1 -1
  12. package/dist/icons/src/aliases/aliases.d.ts.map +1 -1
  13. package/dist/icons/src/aliases/aliases.esm.js +3 -3
  14. package/dist/icons/src/aliases/index.cjs.js +1 -1
  15. package/dist/icons/src/aliases/index.esm.js +3 -3
  16. package/dist/icons/src/aliases/prefixed.cjs.js +1 -1
  17. package/dist/icons/src/aliases/prefixed.d.ts +6 -6
  18. package/dist/icons/src/aliases/prefixed.d.ts.map +1 -1
  19. package/dist/icons/src/aliases/prefixed.esm.js +3 -3
  20. package/dist/icons/src/aliases/suffixed.cjs.js +1 -1
  21. package/dist/icons/src/aliases/suffixed.d.ts +6 -6
  22. package/dist/icons/src/aliases/suffixed.d.ts.map +1 -1
  23. package/dist/icons/src/aliases/suffixed.esm.js +3 -3
  24. package/dist/icons/src/icons/index.cjs.js +1 -1
  25. package/dist/icons/src/icons/index.d.ts +1 -1
  26. package/dist/icons/src/icons/index.d.ts.map +1 -1
  27. package/dist/icons/src/icons/index.esm.js +3 -3
  28. package/dist/index.cjs.js +1 -1
  29. package/dist/index.esm.js +56 -55
  30. package/dist/library/DotLottie/index.cjs.js +1 -0
  31. package/dist/library/DotLottie/index.d.ts +21 -0
  32. package/dist/library/DotLottie/index.d.ts.map +1 -0
  33. package/dist/library/DotLottie/index.esm.js +2 -0
  34. package/dist/library/Lottie/index.cjs.js +1 -1
  35. package/dist/library/Lottie/index.esm.js +67 -2
  36. package/dist/library/index.cjs.js +1 -1
  37. package/dist/library/index.d.ts +1 -0
  38. package/dist/library/index.d.ts.map +1 -1
  39. package/dist/library/index.esm.js +6 -5
  40. package/package.json +2 -1
  41. package/dist/chunks/Lottie.DxqtsFQi.js +0 -1
  42. package/dist/chunks/Lottie.RPp4wef7.js +0 -161
package/dist/index.esm.js CHANGED
@@ -12,8 +12,8 @@ import p from "./icons/src/icons/Chevron_up.esm.js";
12
12
  import m from "./icons/src/icons/Double_Chevron_left.esm.js";
13
13
  import h from "./icons/src/icons/Double_Chevron_right.esm.js";
14
14
  import g from "./icons/src/icons/Eye_fill.esm.js";
15
- import _ from "./icons/src/icons/Eye_slash_fill.esm.js";
16
- import v from "./icons/src/icons/Filter.esm.js";
15
+ import _ from "./icons/src/icons/Filter.esm.js";
16
+ import v from "./icons/src/icons/Eye_slash_fill.esm.js";
17
17
  import y from "./icons/src/icons/Information.esm.js";
18
18
  import b from "./icons/src/icons/Menu.esm.js";
19
19
  import x from "./icons/src/icons/More.esm.js";
@@ -82,66 +82,67 @@ import { CheckMark as Dt } from "./components/Control/CheckMark/index.esm.js";
82
82
  import { RadioButton as Ot, radioVariants as kt } from "./components/Control/RadioButton/index.esm.js";
83
83
  import { t as At } from "./chunks/Switch.Cf71RNLF.js";
84
84
  import "./components/Control/index.esm.js";
85
- import { IconWithImage as jt } from "./library/IconWithImage/index.esm.js";
86
- import { BottomSheetItemList as Mt } from "./library/List/BottomSheetItemList/index.esm.js";
87
- import { t as Nt } from "./chunks/Lottie.RPp4wef7.js";
88
- import { Spacing as Pt } from "./library/Spacing/index.esm.js";
85
+ import { t as jt } from "./chunks/DotLottie.BEAWvPhB.js";
86
+ import { IconWithImage as Mt } from "./library/IconWithImage/index.esm.js";
87
+ import { BottomSheetItemList as Nt } from "./library/List/BottomSheetItemList/index.esm.js";
88
+ import { Lottie as Pt } from "./library/Lottie/index.esm.js";
89
+ import { Spacing as Ft } from "./library/Spacing/index.esm.js";
89
90
  import "./library/index.esm.js";
90
- import { EMPTY_DATE as Ft, END_DATE as It, PurpleDate as Lt, START_DATE as Rt } from "./types/date.esm.js";
91
- import { Theme as zt } from "./core/Theme/index.esm.js";
91
+ import { EMPTY_DATE as It, END_DATE as Lt, PurpleDate as Rt, START_DATE as zt } from "./types/date.esm.js";
92
+ import { Theme as Bt } from "./core/Theme/index.esm.js";
92
93
  import "./core/index.esm.js";
93
94
  import "./types/index.esm.js";
94
- import { BaseDatePicker as Bt } from "./components/DatePicker/BaseDatePicker/index.esm.js";
95
- import { useRangeDatePicker as Vt } from "./components/DatePicker/RangeDatePicker/hooks/useRangeDatePicker.esm.js";
96
- import { Dialog as Ht, DialogClose as Ut, DialogContent as Wt, DialogDescription as Gt, DialogFooter as Kt, DialogHeader as qt, DialogOverlay as Jt, DialogPortal as Yt, DialogTitle as Xt, DialogTrigger as Zt } from "./components/ui/dialog.esm.js";
97
- import { useRangeDatePickerModal as Qt } from "./components/DatePicker/RangeDatePickerModal/useRangeDatePickerModal.esm.js";
98
- import { RangeDatePickerModal as $t } from "./components/DatePicker/RangeDatePickerModal/index.esm.js";
99
- import { useSingleDatePicker as en } from "./components/DatePicker/SingleDatePicker/hooks/useSingleDatePicker.esm.js";
100
- import { useSingleDatePickerModal as tn } from "./components/DatePicker/SingleDatePickerModal/useSingleDatePickerModal.esm.js";
101
- import { SingleDatePickerModal as nn } from "./components/DatePicker/SingleDatePickerModal/index.esm.js";
95
+ import { BaseDatePicker as Vt } from "./components/DatePicker/BaseDatePicker/index.esm.js";
96
+ import { useRangeDatePicker as Ht } from "./components/DatePicker/RangeDatePicker/hooks/useRangeDatePicker.esm.js";
97
+ import { Dialog as Ut, DialogClose as Wt, DialogContent as Gt, DialogDescription as Kt, DialogFooter as qt, DialogHeader as Jt, DialogOverlay as Yt, DialogPortal as Xt, DialogTitle as Zt, DialogTrigger as Qt } from "./components/ui/dialog.esm.js";
98
+ import { useRangeDatePickerModal as $t } from "./components/DatePicker/RangeDatePickerModal/useRangeDatePickerModal.esm.js";
99
+ import { RangeDatePickerModal as en } from "./components/DatePicker/RangeDatePickerModal/index.esm.js";
100
+ import { useSingleDatePicker as tn } from "./components/DatePicker/SingleDatePicker/hooks/useSingleDatePicker.esm.js";
101
+ import { useSingleDatePickerModal as nn } from "./components/DatePicker/SingleDatePickerModal/useSingleDatePickerModal.esm.js";
102
+ import { SingleDatePickerModal as rn } from "./components/DatePicker/SingleDatePickerModal/index.esm.js";
102
103
  import "./components/DatePicker/index.esm.js";
103
- import { t as rn } from "./chunks/Divider.KzhgrMYv.js";
104
- import { NotFoundIllustration as an, PageLoadIllustration as on } from "./components/ErrorUI/illustrations.esm.js";
105
- import { NotFoundError as sn } from "./components/ErrorUI/NotFoundError.esm.js";
106
- import { PageLoadError as cn } from "./components/ErrorUI/PageLoadError.esm.js";
107
- import { SectionError as ln, sectionErrorTypes as un } from "./components/ErrorUI/SectionError.esm.js";
104
+ import { t as an } from "./chunks/Divider.KzhgrMYv.js";
105
+ import { NotFoundIllustration as on, PageLoadIllustration as sn } from "./components/ErrorUI/illustrations.esm.js";
106
+ import { NotFoundError as cn } from "./components/ErrorUI/NotFoundError.esm.js";
107
+ import { PageLoadError as ln } from "./components/ErrorUI/PageLoadError.esm.js";
108
+ import { SectionError as un, sectionErrorTypes as dn } from "./components/ErrorUI/SectionError.esm.js";
108
109
  import "./components/ErrorUI/index.esm.js";
109
- import { InputFrame as dn } from "./components/Input/common/InputFrame/index.esm.js";
110
- import { BaseInput as fn } from "./components/Input/BaseInput/index.esm.js";
111
- import { PostfixInput as pn } from "./components/Input/PostfixInput/index.esm.js";
112
- import { RRN_LENGTHS as mn, sanitizeRRN as hn, splitRRN as gn } from "./components/Input/ResidentNumberInput/rrn.esm.js";
113
- import { ResidentNumberInput as _n } from "./components/Input/ResidentNumberInput/index.esm.js";
114
- import { TextField as vn } from "./components/Input/TextField/index.esm.js";
110
+ import { InputFrame as fn } from "./components/Input/common/InputFrame/index.esm.js";
111
+ import { BaseInput as pn } from "./components/Input/BaseInput/index.esm.js";
112
+ import { PostfixInput as mn } from "./components/Input/PostfixInput/index.esm.js";
113
+ import { RRN_LENGTHS as hn, sanitizeRRN as gn, splitRRN as _n } from "./components/Input/ResidentNumberInput/rrn.esm.js";
114
+ import { ResidentNumberInput as vn } from "./components/Input/ResidentNumberInput/index.esm.js";
115
+ import { TextField as yn } from "./components/Input/TextField/index.esm.js";
115
116
  import "./components/Input/index.esm.js";
116
- import { LegacyModal as yn } from "./components/LegacyModal/index.esm.js";
117
- import { List as bn, ListMainText as xn, ListSubText as Sn } from "./components/List/index.esm.js";
118
- import { ProgressBar as Cn, progressVariants as wn } from "./components/Loading/ProgressBar/index.esm.js";
119
- import { Skeleton as Tn } from "./components/Loading/Skeleton/index.esm.js";
120
- import { Modal as En, ModalClose as Dn, ModalContent as On, ModalDescription as kn, ModalFooter as An, ModalHeader as jn, ModalInfo as Mn, ModalOverlay as Nn, ModalPortal as Pn, ModalTitle as Fn, ModalTrigger as In } from "./components/Modal/index.esm.js";
121
- import { BaseNavigation as Ln } from "./components/Navigation/BaseNavigation/index.esm.js";
122
- import { BottomNavigationBar as Rn, BottomNavigationBarItem as zn } from "./components/Navigation/BottomNavigationBar/index.esm.js";
123
- import { CONTENT_COLOR_MAP as Bn } from "./components/Navigation/constant.esm.js";
124
- import { Navigation as Vn } from "./components/Navigation/Navigation.esm.js";
125
- import { PageNavigationBar as Hn } from "./components/Navigation/PageNavigationBar/index.esm.js";
126
- import { TitleNavigationBar as Un } from "./components/Navigation/TitleNavigationBar/index.esm.js";
117
+ import { LegacyModal as bn } from "./components/LegacyModal/index.esm.js";
118
+ import { List as xn, ListMainText as Sn, ListSubText as Cn } from "./components/List/index.esm.js";
119
+ import { ProgressBar as wn, progressVariants as Tn } from "./components/Loading/ProgressBar/index.esm.js";
120
+ import { Skeleton as En } from "./components/Loading/Skeleton/index.esm.js";
121
+ import { Modal as Dn, ModalClose as On, ModalContent as kn, ModalDescription as An, ModalFooter as jn, ModalHeader as Mn, ModalInfo as Nn, ModalOverlay as Pn, ModalPortal as Fn, ModalTitle as In, ModalTrigger as Ln } from "./components/Modal/index.esm.js";
122
+ import { BaseNavigation as Rn } from "./components/Navigation/BaseNavigation/index.esm.js";
123
+ import { BottomNavigationBar as zn, BottomNavigationBarItem as Bn } from "./components/Navigation/BottomNavigationBar/index.esm.js";
124
+ import { CONTENT_COLOR_MAP as Vn } from "./components/Navigation/constant.esm.js";
125
+ import { Navigation as Hn } from "./components/Navigation/Navigation.esm.js";
126
+ import { PageNavigationBar as Un } from "./components/Navigation/PageNavigationBar/index.esm.js";
127
+ import { TitleNavigationBar as Wn } from "./components/Navigation/TitleNavigationBar/index.esm.js";
127
128
  import "./components/Navigation/index.esm.js";
128
- import { usePagination as Wn } from "./components/Pagination/usePagination.esm.js";
129
- import { Pagination as Gn, PaginationButton as Kn, PaginationContent as qn, PaginationFirst as Jn, PaginationItem as Yn, PaginationLast as Xn, PaginationNext as Zn, PaginationPrevious as Qn, PaginationRoot as $n, paginationButtonVariants as er } from "./components/Pagination/index.esm.js";
130
- import { Segment as tr } from "./components/Segment/BaseSegment/index.esm.js";
131
- import { ExtendSegment as nr } from "./components/Segment/ExtendSegment/index.esm.js";
129
+ import { usePagination as Gn } from "./components/Pagination/usePagination.esm.js";
130
+ import { Pagination as Kn, PaginationButton as qn, PaginationContent as Jn, PaginationFirst as Yn, PaginationItem as Xn, PaginationLast as Zn, PaginationNext as Qn, PaginationPrevious as $n, PaginationRoot as er, paginationButtonVariants as tr } from "./components/Pagination/index.esm.js";
131
+ import { Segment as nr } from "./components/Segment/BaseSegment/index.esm.js";
132
+ import { ExtendSegment as rr } from "./components/Segment/ExtendSegment/index.esm.js";
132
133
  import "./components/Segment/index.esm.js";
133
- import { Select as rr, SelectContent as ir, SelectGroup as ar, SelectItem as or, SelectLabel as sr, SelectSeparator as cr, SelectTrigger as Q, SelectValue as lr, useSelectContext as ur } from "./components/ui/select.esm.js";
134
- import { SelectBox as dr } from "./components/SelectBox/index.esm.js";
135
- import { TextTabsContainer as fr, TextTabsItem as pr } from "./components/Tabs/TextTabs/index.esm.js";
136
- import { Tag as mr, tagVariants as hr } from "./components/Tag/index.esm.js";
137
- import { Textarea as gr } from "./components/TextArea/index.esm.js";
138
- import { Title as _r } from "./components/Title/index.esm.js";
139
- import { n as vr, t as yr } from "./chunks/Toast.D1-VfeA2.js";
140
- import { ImpactTooltip as br, ImpactTooltipAnchor as xr, ImpactTooltipCloseButton as Sr, ImpactTooltipContent as Cr, ImpactTooltipTrigger as wr } from "./components/ui/impact-tooltip.esm.js";
141
- import { a as Tr, i as Er, n as Dr, r as Or, t as kr } from "./chunks/tooltip.w3pAhl4A.js";
142
- import { jsx as $, jsxs as Ar } from "react/jsx-runtime";
134
+ import { Select as ir, SelectContent as ar, SelectGroup as or, SelectItem as sr, SelectLabel as cr, SelectSeparator as lr, SelectTrigger as ur, SelectValue as dr, useSelectContext as fr } from "./components/ui/select.esm.js";
135
+ import { SelectBox as pr } from "./components/SelectBox/index.esm.js";
136
+ import { TextTabsContainer as mr, TextTabsItem as hr } from "./components/Tabs/TextTabs/index.esm.js";
137
+ import { Tag as Q, tagVariants as gr } from "./components/Tag/index.esm.js";
138
+ import { Textarea as _r } from "./components/TextArea/index.esm.js";
139
+ import { Title as vr } from "./components/Title/index.esm.js";
140
+ import { n as yr, t as br } from "./chunks/Toast.D1-VfeA2.js";
141
+ import { ImpactTooltip as xr, ImpactTooltipAnchor as Sr, ImpactTooltipCloseButton as Cr, ImpactTooltipContent as wr, ImpactTooltipTrigger as Tr } from "./components/ui/impact-tooltip.esm.js";
142
+ import { a as Er, i as Dr, n as Or, r as kr, t as Ar } from "./chunks/tooltip.w3pAhl4A.js";
143
+ import { jsx as $, jsxs as jr } from "react/jsx-runtime";
143
144
  //#region src/components/Tabs/FillTabs/index.tsx
144
- var jr = (e) => /* @__PURE__ */ $("div", {
145
+ var Mr = (e) => /* @__PURE__ */ $("div", {
145
146
  className: "overflow-hidden",
146
147
  children: /* @__PURE__ */ $("div", {
147
148
  className: "flex gap-[7px] overflow-x-auto pc:px-0 px-5",
@@ -151,7 +152,7 @@ var jr = (e) => /* @__PURE__ */ $("div", {
151
152
  className: A("min-w-fit cursor-pointer rounded-lg px-3 py-2"),
152
153
  onClick: () => e.onChange(t.value),
153
154
  style: { background: i },
154
- children: /* @__PURE__ */ Ar(Z, {
155
+ children: /* @__PURE__ */ jr(Z, {
155
156
  className: A("flex gap-[1px]"),
156
157
  style: { color: r },
157
158
  variant: "t4",
@@ -162,4 +163,4 @@ var jr = (e) => /* @__PURE__ */ $("div", {
162
163
  })
163
164
  });
164
165
  //#endregion
165
- export { r as Accordion, t as AccordionContent, n as AccordionItem, e as AccordionTrigger, i as AlarmFill, i as AlarmFillIcon, i as PurpleAlarmFill, Bt as BaseDatePicker, fn as BaseInput, Ln as BaseNavigation, wt as BasicChips, ot as Body1, st as Body2, Rn as BottomNavigationBar, zn as BottomNavigationBarItem, R as BottomSheet, P as BottomSheetBody, I as BottomSheetClose, M as BottomSheetCloseIcon, ne as BottomSheetContent, F as BottomSheetDescription, L as BottomSheetFooter, re as BottomSheetHeader, Mt as BottomSheetItemList, N as BottomSheetNavigationHeader, z as BottomSheetTitle, ie as BottomSheetTitleHeader, j as BottomSheetTrigger, q as BoxMiniButton, H as Button, Bn as CONTENT_COLOR_MAP, a as Calendar, a as CalendarIcon, a as PurpleCalendar, o as Cancel, o as CancelIcon, o as PurpleCancel, s as CancelCircle, s as CancelCircleIcon, s as PurpleCancelCircle, ct as Caption1, lt as Caption2, ze as Card, c as CartFill, c as CartFillIcon, c as PurpleCartFill, l as Check, l as CheckIcon, l as PurpleCheck, Dt as CheckMark, Et as Checkbox, u as ChevronDown, u as ChevronDownIcon, u as PurpleChevronDown, d as ChevronLeft, d as ChevronLeftIcon, d as PurpleChevronLeft, f as ChevronRight, f as ChevronRightIcon, f as PurpleChevronRight, p as ChevronUp, p as ChevronUpIcon, p as PurpleChevronUp, St as ChipItem, Ct as ChipsFrame, he as ColorTypeArray, Tt as Comment, Ht as Dialog, Ut as DialogClose, Wt as DialogContent, Gt as DialogDescription, Kt as DialogFooter, qt as DialogHeader, Jt as DialogOverlay, Yt as DialogPortal, Xt as DialogTitle, Zt as DialogTrigger, rn as Divider, W as DoubleButton, m as DoubleChevronLeft, m as DoubleChevronLeftIcon, m as PurpleDoubleChevronLeft, h as DoubleChevronRight, h as DoubleChevronRightIcon, h as PurpleDoubleChevronRight, Ft as EMPTY_DATE, It as END_DATE, nr as ExtendSegment, g as EyeFill, g as EyeFillIcon, g as PurpleEyeFill, _ as EyeSlashFill, _ as EyeSlashFillIcon, _ as PurpleEyeSlashFill, jr as FillTabs, v as Filter, v as FilterIcon, v as PurpleFilter, oe as FloatBaseButton, se as FloatDoubleButton, ce as FloatSingleButton, ut as Headline1, dt as Headline2, ft as Headline3, pt as Headline4, mt as Headline5, ht as Headline6, gt as Headline7, _t as Headline8, ee as IconBadge, J as IconMiniButton, jt as IconWithImage, br as ImpactTooltip, xr as ImpactTooltipAnchor, Sr as ImpactTooltipCloseButton, Cr as ImpactTooltipContent, wr as ImpactTooltipTrigger, y as Information, y as InformationIcon, y as PurpleInformation, dn as InputFrame, G as LayoutSpacing, yn as LegacyModal, bn as List, xn as ListMainText, Sn as ListSubText, Nt as Lottie, Pe as MediaQuerySize, b as Menu, b as MenuIcon, b as PurpleMenu, En as Modal, Dn as ModalClose, On as ModalContent, kn as ModalDescription, An as ModalFooter, jn as ModalHeader, Mn as ModalInfo, Nn as ModalOverlay, Pn as ModalPortal, Fn as ModalTitle, In as ModalTrigger, x as More, x as MoreIcon, x as PurpleMore, Vn as Navigation, sn as NotFoundError, an as NotFoundIllustration, cn as PageLoadError, on as PageLoadIllustration, Hn as PageNavigationBar, Gn as Pagination, Kn as PaginationButton, qn as PaginationContent, Jn as PaginationFirst, Yn as PaginationItem, Xn as PaginationLast, Zn as PaginationNext, Qn as PaginationPrevious, $n as PaginationRoot, S as PersonFill, S as PersonFillIcon, S as PurplePersonFill, C as Plus, C as PlusIcon, C as PurplePlus, pn as PostfixInput, Cn as ProgressBar, Lt as PurpleDate, w as PurpleQuestionCircle, w as QuestionCircle, w as QuestionCircleIcon, T as PurpleRe, T as Re, T as ReIcon, E as PurpleSearch, E as Search, E as SearchIcon, D as PurpleSettingFill, D as SettingFill, D as SettingFillIcon, O as PurpleShare, O as Share, O as ShareIcon, k as PurpleStore, k as Store, k as StoreIcon, ge as PurposeArray, mn as RRN_LENGTHS, Ot as RadioButton, $t as RangeDatePickerModal, _n as ResidentNumberInput, Rt as START_DATE, ln as SectionError, tr as Segment, rr as Select, dr as SelectBox, ir as SelectContent, ar as SelectGroup, or as SelectItem, sr as SelectLabel, cr as SelectSeparator, Q as SelectTrigger, lr as SelectValue, le as SingleButton, nn as SingleDatePickerModal, Tn as Skeleton, Pt as Spacing, V as Spinner, _e as StateArray, ve as StatusArray, At as Switch, mr as Tag, ue as TestButton, te as TextBadge, vn as TextField, fr as TextTabsContainer, pr as TextTabsItem, gr as Textarea, zt as Theme, _r as Title, vt as Title1, yt as Title2, bt as Title3, xt as Title4, Un as TitleNavigationBar, yr as Toaster, kr as Tooltip, Dr as TooltipArrow, Or as TooltipContent, Er as TooltipProvider, Tr as TooltipTrigger, Z as Typography, ae as UnderLineMiniButton, ye as basicColors, Ue as body1, We as body2, U as buttonVariants, Ge as caption1, Ke as caption2, Be as cardVariants, we as checkBoxColorStyle, Te as checkMarkColorStyle, Ce as chipColorStyle, Oe as datepickerColorStyle, fe as extractNumber, X as fillTabColorStyle, pe as formatKoreaCurrency, be as generateHexWithAlphaInLightMode, qe as headline1, Je as headline2, Ye as headline3, Xe as headline4, Ze as headline5, Qe as headline6, $e as headline7, et as headline8, ke as miniButtonColorStyle, Y as miniButtonTextVariants, me as numberAccept, er as paginationButtonVariants, Ae as progressBarColorStyle, wn as progressVariants, Ee as radioButtonColorStyle, kt as radioVariants, Ie as registerHookForOverlayPreventScroll, hn as sanitizeRRN, un as sectionErrorTypes, xe as semanticColors, Se as semanticColorsMethod, je as singleButtonColorStyle, B as spinnerColorTypes, gn as splitRRN, De as switchColorStyle, Ne as tagColorStyle, hr as tagVariants, Me as textTabColorStyle, tt as title1, nt as title2, rt as title3, it as title4, vr as toast, at as typographyMap, Ve as typographyVariantElementMap, He as typographyVariants, de as useEventListener, Fe as useLayoutIsMobile, Le as useOverlayPreventScroll, Wn as usePagination, Vt as useRangeDatePicker, Qt as useRangeDatePickerModal, Re as useResize, ur as useSelectContext, en as useSingleDatePicker, tn as useSingleDatePickerModal, K as zIndex };
166
+ export { r as Accordion, t as AccordionContent, n as AccordionItem, e as AccordionTrigger, i as AlarmFill, i as AlarmFillIcon, i as PurpleAlarmFill, Vt as BaseDatePicker, pn as BaseInput, Rn as BaseNavigation, wt as BasicChips, ot as Body1, st as Body2, zn as BottomNavigationBar, Bn as BottomNavigationBarItem, R as BottomSheet, P as BottomSheetBody, I as BottomSheetClose, M as BottomSheetCloseIcon, ne as BottomSheetContent, F as BottomSheetDescription, L as BottomSheetFooter, re as BottomSheetHeader, Nt as BottomSheetItemList, N as BottomSheetNavigationHeader, z as BottomSheetTitle, ie as BottomSheetTitleHeader, j as BottomSheetTrigger, q as BoxMiniButton, H as Button, Vn as CONTENT_COLOR_MAP, a as Calendar, a as CalendarIcon, a as PurpleCalendar, o as Cancel, o as CancelIcon, o as PurpleCancel, s as CancelCircle, s as CancelCircleIcon, s as PurpleCancelCircle, ct as Caption1, lt as Caption2, ze as Card, c as CartFill, c as CartFillIcon, c as PurpleCartFill, l as Check, l as CheckIcon, l as PurpleCheck, Dt as CheckMark, Et as Checkbox, u as ChevronDown, u as ChevronDownIcon, u as PurpleChevronDown, d as ChevronLeft, d as ChevronLeftIcon, d as PurpleChevronLeft, f as ChevronRight, f as ChevronRightIcon, f as PurpleChevronRight, p as ChevronUp, p as ChevronUpIcon, p as PurpleChevronUp, St as ChipItem, Ct as ChipsFrame, he as ColorTypeArray, Tt as Comment, Ut as Dialog, Wt as DialogClose, Gt as DialogContent, Kt as DialogDescription, qt as DialogFooter, Jt as DialogHeader, Yt as DialogOverlay, Xt as DialogPortal, Zt as DialogTitle, Qt as DialogTrigger, an as Divider, jt as DotLottie, W as DoubleButton, m as DoubleChevronLeft, m as DoubleChevronLeftIcon, m as PurpleDoubleChevronLeft, h as DoubleChevronRight, h as DoubleChevronRightIcon, h as PurpleDoubleChevronRight, It as EMPTY_DATE, Lt as END_DATE, rr as ExtendSegment, g as EyeFill, g as EyeFillIcon, g as PurpleEyeFill, v as EyeSlashFill, v as EyeSlashFillIcon, v as PurpleEyeSlashFill, Mr as FillTabs, _ as Filter, _ as FilterIcon, _ as PurpleFilter, oe as FloatBaseButton, se as FloatDoubleButton, ce as FloatSingleButton, ut as Headline1, dt as Headline2, ft as Headline3, pt as Headline4, mt as Headline5, ht as Headline6, gt as Headline7, _t as Headline8, ee as IconBadge, J as IconMiniButton, Mt as IconWithImage, xr as ImpactTooltip, Sr as ImpactTooltipAnchor, Cr as ImpactTooltipCloseButton, wr as ImpactTooltipContent, Tr as ImpactTooltipTrigger, y as Information, y as InformationIcon, y as PurpleInformation, fn as InputFrame, G as LayoutSpacing, bn as LegacyModal, xn as List, Sn as ListMainText, Cn as ListSubText, Pt as Lottie, Pe as MediaQuerySize, b as Menu, b as MenuIcon, b as PurpleMenu, Dn as Modal, On as ModalClose, kn as ModalContent, An as ModalDescription, jn as ModalFooter, Mn as ModalHeader, Nn as ModalInfo, Pn as ModalOverlay, Fn as ModalPortal, In as ModalTitle, Ln as ModalTrigger, x as More, x as MoreIcon, x as PurpleMore, Hn as Navigation, cn as NotFoundError, on as NotFoundIllustration, ln as PageLoadError, sn as PageLoadIllustration, Un as PageNavigationBar, Kn as Pagination, qn as PaginationButton, Jn as PaginationContent, Yn as PaginationFirst, Xn as PaginationItem, Zn as PaginationLast, Qn as PaginationNext, $n as PaginationPrevious, er as PaginationRoot, S as PersonFill, S as PersonFillIcon, S as PurplePersonFill, C as Plus, C as PlusIcon, C as PurplePlus, mn as PostfixInput, wn as ProgressBar, Rt as PurpleDate, w as PurpleQuestionCircle, w as QuestionCircle, w as QuestionCircleIcon, T as PurpleRe, T as Re, T as ReIcon, E as PurpleSearch, E as Search, E as SearchIcon, D as PurpleSettingFill, D as SettingFill, D as SettingFillIcon, O as PurpleShare, O as Share, O as ShareIcon, k as PurpleStore, k as Store, k as StoreIcon, ge as PurposeArray, hn as RRN_LENGTHS, Ot as RadioButton, en as RangeDatePickerModal, vn as ResidentNumberInput, zt as START_DATE, un as SectionError, nr as Segment, ir as Select, pr as SelectBox, ar as SelectContent, or as SelectGroup, sr as SelectItem, cr as SelectLabel, lr as SelectSeparator, ur as SelectTrigger, dr as SelectValue, le as SingleButton, rn as SingleDatePickerModal, En as Skeleton, Ft as Spacing, V as Spinner, _e as StateArray, ve as StatusArray, At as Switch, Q as Tag, ue as TestButton, te as TextBadge, yn as TextField, mr as TextTabsContainer, hr as TextTabsItem, _r as Textarea, Bt as Theme, vr as Title, vt as Title1, yt as Title2, bt as Title3, xt as Title4, Wn as TitleNavigationBar, br as Toaster, Ar as Tooltip, Or as TooltipArrow, kr as TooltipContent, Dr as TooltipProvider, Er as TooltipTrigger, Z as Typography, ae as UnderLineMiniButton, ye as basicColors, Ue as body1, We as body2, U as buttonVariants, Ge as caption1, Ke as caption2, Be as cardVariants, we as checkBoxColorStyle, Te as checkMarkColorStyle, Ce as chipColorStyle, Oe as datepickerColorStyle, fe as extractNumber, X as fillTabColorStyle, pe as formatKoreaCurrency, be as generateHexWithAlphaInLightMode, qe as headline1, Je as headline2, Ye as headline3, Xe as headline4, Ze as headline5, Qe as headline6, $e as headline7, et as headline8, ke as miniButtonColorStyle, Y as miniButtonTextVariants, me as numberAccept, tr as paginationButtonVariants, Ae as progressBarColorStyle, Tn as progressVariants, Ee as radioButtonColorStyle, kt as radioVariants, Ie as registerHookForOverlayPreventScroll, gn as sanitizeRRN, dn as sectionErrorTypes, xe as semanticColors, Se as semanticColorsMethod, je as singleButtonColorStyle, B as spinnerColorTypes, _n as splitRRN, De as switchColorStyle, Ne as tagColorStyle, gr as tagVariants, Me as textTabColorStyle, tt as title1, nt as title2, rt as title3, it as title4, yr as toast, at as typographyMap, Ve as typographyVariantElementMap, He as typographyVariants, de as useEventListener, Fe as useLayoutIsMobile, Le as useOverlayPreventScroll, Gn as usePagination, Ht as useRangeDatePicker, $t as useRangeDatePickerModal, Re as useResize, fr as useSelectContext, tn as useSingleDatePicker, nn as useSingleDatePickerModal, K as zIndex };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../chunks/DotLottie.DHSt1_0W.js");exports.DotLottie=e.t;
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+ interface DotLottieContainerProps {
3
+ className?: string;
4
+ height?: number;
5
+ width?: number;
6
+ }
7
+ interface DotLottieProps extends DotLottieContainerProps {
8
+ alterImgSrcOnLoad?: string;
9
+ autoplay?: boolean;
10
+ /**
11
+ * useInView 로직을 건너뛸지 여부
12
+ * true일 경우 뷰포트 진입 여부와 관계없이 즉시 애니메이션을 재생합니다.
13
+ */
14
+ bypassInView?: boolean;
15
+ lottieFileSrcPath: string;
16
+ playOnce?: boolean;
17
+ }
18
+ declare const DotLottie: React.FC<DotLottieProps>;
19
+ export type { DotLottieProps };
20
+ export { DotLottie };
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/library/DotLottie/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,UAAU,uBAAuB;IAEhC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAe,SAAQ,uBAAuB;IAEvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwFvC,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../chunks/DotLottie.BEAWvPhB.js";
2
+ export { e as DotLottie };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../chunks/Lottie.DxqtsFQi.js");exports.Lottie=e.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../chunks/chunk.CMqjfN_6.js"),t=require("../../chunks/utils.C67s_c-g.js"),n=require("../../hooks/useLayoutIsMobile.cjs.js");require("../../hooks/index.cjs.js");const r=require("../../chunks/dist.Bj_fI5rQ.js"),i=require("../IconWithImage/index.cjs.js"),a=require("../../utils/uuid.util.cjs.js");let o=require("react"),s=require("react/jsx-runtime"),c=require("lottie-web");c=e.t(c);var l=({width:e,height:l,viewBox:u,className:d,playOnce:f,autoplay:p=!1,alterImgSrcOnLoad:m,lottieFileSrcPath:h})=>{let[g,_]=(0,o.useState)(null),v=(0,o.useRef)(null),y=(0,o.useRef)(a.uuid()),b=n.default(),{ref:x,inView:S}=r.t({threshold:b?.4:.9,rootMargin:b?`20% 0% 0% 0%`:`40% 0% 10% 0%`}),C=(0,o.useMemo)(()=>u?`${u.x??0} ${u.y??0} ${u.width} ${u.height}`:void 0,[u]),[w,T]=(0,o.useState)();return(0,o.useEffect)(()=>{fetch(h).then(e=>e.json()).then(e=>{_(e)}).catch(()=>{console.info(`lottie load 에 실패했습니다.`)})},[h]),(0,o.useEffect)(()=>{if(!(v.current&&g))return;let e=c.default.loadAnimation({container:v.current,renderer:`svg`,loop:!f,autoplay:p,animationData:g,rendererSettings:{viewBoxSize:C},name:d});return T(e),()=>e.destroy()},[g,d,p,f,C]),(0,o.useEffect)(()=>{S?w?.goToAndPlay(w?.currentFrame>.9*w?.totalFrames?0:w?.currentFrame,!0):f?w?.stop():w?.pause()},[S,w,f]),g===null&&m?(0,s.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,s.jsx)(i.IconWithImage,{srcPath:m,width:e||0})}):(0,s.jsx)(`div`,{className:`w-full`,ref:x,children:(0,s.jsx)(`div`,{className:t.t(`flex`,d),id:y.current,ref:v,style:{width:e||void 0,height:l||void 0}})})};exports.Lottie=l;
@@ -1,2 +1,67 @@
1
- import { t as e } from "../../chunks/Lottie.RPp4wef7.js";
2
- export { e as Lottie };
1
+ import { t as e } from "../../chunks/utils.D6DjRYW1.js";
2
+ import t from "../../hooks/useLayoutIsMobile.esm.js";
3
+ import "../../hooks/index.esm.js";
4
+ import { t as n } from "../../chunks/dist.CYRtTgUR.js";
5
+ import { IconWithImage as r } from "../IconWithImage/index.esm.js";
6
+ import { uuid as i } from "../../utils/uuid.util.esm.js";
7
+ import { useEffect as a, useMemo as o, useRef as s, useState as c } from "react";
8
+ import { jsx as l } from "react/jsx-runtime";
9
+ import u from "lottie-web";
10
+ //#region src/library/Lottie/index.tsx
11
+ var d = ({ width: d, height: f, viewBox: p, className: m, playOnce: h, autoplay: g = !1, alterImgSrcOnLoad: _, lottieFileSrcPath: v }) => {
12
+ let [y, b] = c(null), x = s(null), S = s(i()), C = t(), { ref: w, inView: T } = n({
13
+ threshold: C ? .4 : .9,
14
+ rootMargin: C ? "20% 0% 0% 0%" : "40% 0% 10% 0%"
15
+ }), E = o(() => p ? `${p.x ?? 0} ${p.y ?? 0} ${p.width} ${p.height}` : void 0, [p]), [D, O] = c();
16
+ return a(() => {
17
+ fetch(v).then((e) => e.json()).then((e) => {
18
+ b(e);
19
+ }).catch(() => {
20
+ console.info("lottie load 에 실패했습니다.");
21
+ });
22
+ }, [v]), a(() => {
23
+ if (!(x.current && y)) return;
24
+ let e = u.loadAnimation({
25
+ container: x.current,
26
+ renderer: "svg",
27
+ loop: !h,
28
+ autoplay: g,
29
+ animationData: y,
30
+ rendererSettings: { viewBoxSize: E },
31
+ name: m
32
+ });
33
+ return O(e), () => e.destroy();
34
+ }, [
35
+ y,
36
+ m,
37
+ g,
38
+ h,
39
+ E
40
+ ]), a(() => {
41
+ T ? D?.goToAndPlay(D?.currentFrame > .9 * D?.totalFrames ? 0 : D?.currentFrame, !0) : h ? D?.stop() : D?.pause();
42
+ }, [
43
+ T,
44
+ D,
45
+ h
46
+ ]), y === null && _ ? /* @__PURE__ */ l("div", {
47
+ className: "flex items-center justify-center",
48
+ children: /* @__PURE__ */ l(r, {
49
+ srcPath: _,
50
+ width: d || 0
51
+ })
52
+ }) : /* @__PURE__ */ l("div", {
53
+ className: "w-full",
54
+ ref: w,
55
+ children: /* @__PURE__ */ l("div", {
56
+ className: e("flex", m),
57
+ id: S.current,
58
+ ref: x,
59
+ style: {
60
+ width: d || void 0,
61
+ height: f || void 0
62
+ }
63
+ })
64
+ });
65
+ };
66
+ //#endregion
67
+ export { d as Lottie };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./IconWithImage/index.cjs.js"),t=require("./List/BottomSheetItemList/index.cjs.js");require("./List/index.cjs.js");const n=require("../chunks/Lottie.DxqtsFQi.js"),r=require("./Spacing/index.cjs.js");exports.BottomSheetItemList=t.BottomSheetItemList,exports.IconWithImage=e.IconWithImage,exports.Lottie=n.t,exports.Spacing=r.Spacing;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../chunks/DotLottie.DHSt1_0W.js"),t=require("./IconWithImage/index.cjs.js"),n=require("./List/BottomSheetItemList/index.cjs.js");require("./List/index.cjs.js");const r=require("./Lottie/index.cjs.js"),i=require("./Spacing/index.cjs.js");exports.BottomSheetItemList=n.BottomSheetItemList,exports.DotLottie=e.t,exports.IconWithImage=t.IconWithImage,exports.Lottie=r.Lottie,exports.Spacing=i.Spacing;
@@ -1,3 +1,4 @@
1
+ export * from './DotLottie';
1
2
  export * from './IconWithImage';
2
3
  export * from './List';
3
4
  export * from './Lottie';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/library/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/library/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -1,6 +1,7 @@
1
- import { IconWithImage as e } from "./IconWithImage/index.esm.js";
2
- import { BottomSheetItemList as t } from "./List/BottomSheetItemList/index.esm.js";
1
+ import { t as e } from "../chunks/DotLottie.BEAWvPhB.js";
2
+ import { IconWithImage as t } from "./IconWithImage/index.esm.js";
3
+ import { BottomSheetItemList as n } from "./List/BottomSheetItemList/index.esm.js";
3
4
  import "./List/index.esm.js";
4
- import { t as n } from "../chunks/Lottie.RPp4wef7.js";
5
- import { Spacing as r } from "./Spacing/index.esm.js";
6
- export { t as BottomSheetItemList, e as IconWithImage, n as Lottie, r as Spacing };
5
+ import { Lottie as r } from "./Lottie/index.esm.js";
6
+ import { Spacing as i } from "./Spacing/index.esm.js";
7
+ export { n as BottomSheetItemList, e as DotLottie, t as IconWithImage, r as Lottie, i as Spacing };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pfct/purple",
3
- "version": "1.12.0",
3
+ "version": "1.13.0",
4
4
  "description": "design system for PFCT web service",
5
5
  "exports": {
6
6
  ".": {
@@ -64,6 +64,7 @@
64
64
  "dependencies": {
65
65
  "@emotion/react": "^11.14.0",
66
66
  "@emotion/styled": "^11.14.0",
67
+ "@lottiefiles/dotlottie-react": "^0.19.4",
67
68
  "@radix-ui/react-accordion": "^1.2.10",
68
69
  "@radix-ui/react-checkbox": "^1.3.2",
69
70
  "@radix-ui/react-dialog": "^1.1.6",
@@ -1 +0,0 @@
1
- const e=require("./chunk.CMqjfN_6.js"),t=require("./utils.C67s_c-g.js"),n=require("../hooks/useLayoutIsMobile.cjs.js");require("../hooks/index.cjs.js");const r=require("../library/IconWithImage/index.cjs.js"),i=require("../utils/uuid.util.cjs.js");let a=require("react");a=e.t(a,1);let o=require("react/jsx-runtime"),s=require("lottie-web");s=e.t(s);var c=new Map,l=new WeakMap,u=0,d;function f(e){return e?l.has(e)?l.get(e):(u+=1,l.set(e,u.toString()),l.get(e)):`0`}function p(e){return Object.keys(e).sort().filter(t=>e[t]!==void 0).map(t=>`${t}_${t===`root`?f(e.root):e[t]}`).toString()}function m(e){let t=p(e),n=c.get(t);if(!n){let r=new Map,i,a=new IntersectionObserver(t=>{t.forEach(t=>{let n=t.isIntersecting&&i.some(e=>t.intersectionRatio>=e);e.trackVisibility&&t.isVisible===void 0&&(t.isVisible=n),[...r.get(t.target)??[]].forEach(e=>{e(n,t)})})},e);i=a.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),n={id:t,observer:a,elements:r},c.set(t,n)}return n}function h(e,t,n={},r=d){if(window.IntersectionObserver===void 0&&r!==void 0){let i=e.getBoundingClientRect();return t(r,{isIntersecting:r,target:e,intersectionRatio:typeof n.threshold==`number`?n.threshold:0,time:0,boundingClientRect:i,intersectionRect:i,rootBounds:i}),()=>{}}let{id:i,observer:a,elements:o}=m(n),s=o.get(e)||[];return o.has(e)||o.set(e,s),s.push(t),a.observe(e),function(){s.splice(s.indexOf(t),1),s.length===0&&(o.delete(e),a.unobserve(e)),o.size===0&&(a.disconnect(),c.delete(i))}}a.Component;function g({threshold:e,delay:t,trackVisibility:n,rootMargin:r,root:i,triggerOnce:o,skip:s,initialInView:c,fallbackInView:l,onChange:u}={}){let[d,f]=a.useState(null),p=a.useRef(u),m=a.useRef(c),[g,_]=a.useState({inView:!!c,entry:void 0});p.current=u,a.useEffect(()=>{if(m.current===void 0&&(m.current=c),s||!d)return;let a;return a=h(d,(e,t)=>{let n=m.current;m.current=e,!(n===void 0&&!e)&&(_({inView:e,entry:t}),p.current&&p.current(e,t),t.isIntersecting&&o&&a&&(a(),a=void 0))},{root:i,rootMargin:r,threshold:e,trackVisibility:n,delay:t},l),()=>{a&&a()}},[Array.isArray(e)?e.toString():e,d,i,r,o,s,n,l,t]);let v=g.entry?.target,y=a.useRef(void 0);!d&&v&&!o&&!s&&y.current!==v&&(y.current=v,_({inView:!!c,entry:void 0}),m.current=c);let b=[f,g.inView,g.entry];return b.ref=b[0],b.inView=b[1],b.entry=b[2],b}(`useInsertionEffect`in a?a.useInsertionEffect:void 0)??a.useLayoutEffect??a.useEffect;var _=({width:e,height:c,viewBox:l,className:u,playOnce:d,autoplay:f=!1,alterImgSrcOnLoad:p,lottieFileSrcPath:m})=>{let[h,_]=(0,a.useState)(null),v=(0,a.useRef)(null),y=(0,a.useRef)(i.uuid()),b=n.default(),{ref:x,inView:S}=g({threshold:b?.4:.9,rootMargin:b?`20% 0% 0% 0%`:`40% 0% 10% 0%`}),C=(0,a.useMemo)(()=>l?`${l.x??0} ${l.y??0} ${l.width} ${l.height}`:void 0,[l]),[w,T]=(0,a.useState)();return(0,a.useEffect)(()=>{fetch(m).then(e=>e.json()).then(e=>{_(e)}).catch(()=>{console.info(`lottie load 에 실패했습니다.`)})},[m]),(0,a.useEffect)(()=>{if(!(v.current&&h))return;let e=s.default.loadAnimation({container:v.current,renderer:`svg`,loop:!d,autoplay:f,animationData:h,rendererSettings:{viewBoxSize:C},name:u});return T(e),()=>e.destroy()},[h,u,f,d,C]),(0,a.useEffect)(()=>{S?w?.goToAndPlay(w?.currentFrame>.9*w?.totalFrames?0:w?.currentFrame,!0):d?w?.stop():w?.pause()},[S,w,d]),h===null&&p?(0,o.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,o.jsx)(r.IconWithImage,{srcPath:p,width:e||0})}):(0,o.jsx)(`div`,{className:`w-full`,ref:x,children:(0,o.jsx)(`div`,{className:t.t(`flex`,u),id:y.current,ref:v,style:{width:e||void 0,height:c||void 0}})})};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return _}});
@@ -1,161 +0,0 @@
1
- import { t as e } from "./utils.D6DjRYW1.js";
2
- import t from "../hooks/useLayoutIsMobile.esm.js";
3
- import "../hooks/index.esm.js";
4
- import { IconWithImage as n } from "../library/IconWithImage/index.esm.js";
5
- import { uuid as r } from "../utils/uuid.util.esm.js";
6
- import * as i from "react";
7
- import { useEffect as a, useMemo as o, useRef as s, useState as c } from "react";
8
- import { jsx as l } from "react/jsx-runtime";
9
- import u from "lottie-web";
10
- //#region node_modules/react-intersection-observer/dist/index.mjs
11
- var d = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new WeakMap(), p = 0, m;
12
- function h(e) {
13
- return e ? f.has(e) ? f.get(e) : (p += 1, f.set(e, p.toString()), f.get(e)) : "0";
14
- }
15
- function g(e) {
16
- return Object.keys(e).sort().filter((t) => e[t] !== void 0).map((t) => `${t}_${t === "root" ? h(e.root) : e[t]}`).toString();
17
- }
18
- function _(e) {
19
- let t = g(e), n = d.get(t);
20
- if (!n) {
21
- let r = /* @__PURE__ */ new Map(), i, a = new IntersectionObserver((t) => {
22
- t.forEach((t) => {
23
- let n = t.isIntersecting && i.some((e) => t.intersectionRatio >= e);
24
- e.trackVisibility && t.isVisible === void 0 && (t.isVisible = n), [...r.get(t.target) ?? []].forEach((e) => {
25
- e(n, t);
26
- });
27
- });
28
- }, e);
29
- i = a.thresholds || (Array.isArray(e.threshold) ? e.threshold : [e.threshold || 0]), n = {
30
- id: t,
31
- observer: a,
32
- elements: r
33
- }, d.set(t, n);
34
- }
35
- return n;
36
- }
37
- function v(e, t, n = {}, r = m) {
38
- if (window.IntersectionObserver === void 0 && r !== void 0) {
39
- let i = e.getBoundingClientRect();
40
- return t(r, {
41
- isIntersecting: r,
42
- target: e,
43
- intersectionRatio: typeof n.threshold == "number" ? n.threshold : 0,
44
- time: 0,
45
- boundingClientRect: i,
46
- intersectionRect: i,
47
- rootBounds: i
48
- }), () => {};
49
- }
50
- let { id: i, observer: a, elements: o } = _(n), s = o.get(e) || [];
51
- return o.has(e) || o.set(e, s), s.push(t), a.observe(e), function() {
52
- s.splice(s.indexOf(t), 1), s.length === 0 && (o.delete(e), a.unobserve(e)), o.size === 0 && (a.disconnect(), d.delete(i));
53
- };
54
- }
55
- i.Component;
56
- function y({ threshold: e, delay: t, trackVisibility: n, rootMargin: r, root: a, triggerOnce: o, skip: s, initialInView: c, fallbackInView: l, onChange: u } = {}) {
57
- let [d, f] = i.useState(null), p = i.useRef(u), m = i.useRef(c), [h, g] = i.useState({
58
- inView: !!c,
59
- entry: void 0
60
- });
61
- p.current = u, i.useEffect(() => {
62
- if (m.current === void 0 && (m.current = c), s || !d) return;
63
- let i;
64
- return i = v(d, (e, t) => {
65
- let n = m.current;
66
- m.current = e, !(n === void 0 && !e) && (g({
67
- inView: e,
68
- entry: t
69
- }), p.current && p.current(e, t), t.isIntersecting && o && i && (i(), i = void 0));
70
- }, {
71
- root: a,
72
- rootMargin: r,
73
- threshold: e,
74
- trackVisibility: n,
75
- delay: t
76
- }, l), () => {
77
- i && i();
78
- };
79
- }, [
80
- Array.isArray(e) ? e.toString() : e,
81
- d,
82
- a,
83
- r,
84
- o,
85
- s,
86
- n,
87
- l,
88
- t
89
- ]);
90
- let _ = h.entry?.target, y = i.useRef(void 0);
91
- !d && _ && !o && !s && y.current !== _ && (y.current = _, g({
92
- inView: !!c,
93
- entry: void 0
94
- }), m.current = c);
95
- let b = [
96
- f,
97
- h.inView,
98
- h.entry
99
- ];
100
- return b.ref = b[0], b.inView = b[1], b.entry = b[2], b;
101
- }
102
- ("useInsertionEffect" in i ? i.useInsertionEffect : void 0) ?? i.useLayoutEffect ?? i.useEffect;
103
- //#endregion
104
- //#region src/library/Lottie/index.tsx
105
- var b = ({ width: i, height: d, viewBox: f, className: p, playOnce: m, autoplay: h = !1, alterImgSrcOnLoad: g, lottieFileSrcPath: _ }) => {
106
- let [v, b] = c(null), x = s(null), S = s(r()), C = t(), { ref: w, inView: T } = y({
107
- threshold: C ? .4 : .9,
108
- rootMargin: C ? "20% 0% 0% 0%" : "40% 0% 10% 0%"
109
- }), E = o(() => f ? `${f.x ?? 0} ${f.y ?? 0} ${f.width} ${f.height}` : void 0, [f]), [D, O] = c();
110
- return a(() => {
111
- fetch(_).then((e) => e.json()).then((e) => {
112
- b(e);
113
- }).catch(() => {
114
- console.info("lottie load 에 실패했습니다.");
115
- });
116
- }, [_]), a(() => {
117
- if (!(x.current && v)) return;
118
- let e = u.loadAnimation({
119
- container: x.current,
120
- renderer: "svg",
121
- loop: !m,
122
- autoplay: h,
123
- animationData: v,
124
- rendererSettings: { viewBoxSize: E },
125
- name: p
126
- });
127
- return O(e), () => e.destroy();
128
- }, [
129
- v,
130
- p,
131
- h,
132
- m,
133
- E
134
- ]), a(() => {
135
- T ? D?.goToAndPlay(D?.currentFrame > .9 * D?.totalFrames ? 0 : D?.currentFrame, !0) : m ? D?.stop() : D?.pause();
136
- }, [
137
- T,
138
- D,
139
- m
140
- ]), v === null && g ? /* @__PURE__ */ l("div", {
141
- className: "flex items-center justify-center",
142
- children: /* @__PURE__ */ l(n, {
143
- srcPath: g,
144
- width: i || 0
145
- })
146
- }) : /* @__PURE__ */ l("div", {
147
- className: "w-full",
148
- ref: w,
149
- children: /* @__PURE__ */ l("div", {
150
- className: e("flex", p),
151
- id: S.current,
152
- ref: x,
153
- style: {
154
- width: i || void 0,
155
- height: d || void 0
156
- }
157
- })
158
- });
159
- };
160
- //#endregion
161
- export { b as t };