sellmate-design-system-react 1.1.1 → 1.2.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 (58) hide show
  1. package/dist/components/SActionModal/SActionModal.cjs +7 -0
  2. package/dist/components/SActionModal/SActionModal.cjs.map +1 -1
  3. package/dist/components/SActionModal/SActionModal.d.ts +1 -0
  4. package/dist/components/SActionModal/SActionModal.js +8 -1
  5. package/dist/components/SActionModal/SActionModal.js.map +1 -1
  6. package/dist/components/SConfirmModal/SConfirmModal.cjs +6 -0
  7. package/dist/components/SConfirmModal/SConfirmModal.cjs.map +1 -1
  8. package/dist/components/SConfirmModal/SConfirmModal.js +7 -1
  9. package/dist/components/SConfirmModal/SConfirmModal.js.map +1 -1
  10. package/dist/components/SGnb/SGnb.cjs.map +1 -1
  11. package/dist/components/SGnb/SGnb.js.map +1 -1
  12. package/dist/components/SKeyValueTable/SKeyValueTable.cjs +2 -2
  13. package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
  14. package/dist/components/SKeyValueTable/SKeyValueTable.js +2 -2
  15. package/dist/components/SKeyValueTable/SKeyValueTable.js.map +1 -1
  16. package/dist/components/SLoadingModal/SLoadingModal.cjs +6 -0
  17. package/dist/components/SLoadingModal/SLoadingModal.cjs.map +1 -1
  18. package/dist/components/SLoadingModal/SLoadingModal.js +7 -1
  19. package/dist/components/SLoadingModal/SLoadingModal.js.map +1 -1
  20. package/dist/components/SModal/SModal.cjs +6 -0
  21. package/dist/components/SModal/SModal.cjs.map +1 -1
  22. package/dist/components/SModal/SModal.js +6 -0
  23. package/dist/components/SModal/SModal.js.map +1 -1
  24. package/dist/components/SModalContainer/SModalContainer.cjs +6 -0
  25. package/dist/components/SModalContainer/SModalContainer.cjs.map +1 -1
  26. package/dist/components/SModalContainer/SModalContainer.js +7 -1
  27. package/dist/components/SModalContainer/SModalContainer.js.map +1 -1
  28. package/dist/components/SPage/SPage.cjs +3 -3
  29. package/dist/components/SPage/SPage.cjs.map +1 -1
  30. package/dist/components/SPage/SPage.js +3 -3
  31. package/dist/components/SPage/SPage.js.map +1 -1
  32. package/dist/components/SPopup/SPopup.cjs +2 -2
  33. package/dist/components/SPopup/SPopup.cjs.map +1 -1
  34. package/dist/components/SPopup/SPopup.js +2 -2
  35. package/dist/components/SPopup/SPopup.js.map +1 -1
  36. package/dist/components/SScrollArea/SScrollArea.cjs +2 -2
  37. package/dist/components/SScrollArea/SScrollArea.cjs.map +1 -1
  38. package/dist/components/SScrollArea/SScrollArea.js +2 -2
  39. package/dist/components/SScrollArea/SScrollArea.js.map +1 -1
  40. package/dist/components/SSelect/SSelect.cjs +2 -2
  41. package/dist/components/SSelect/SSelect.cjs.map +1 -1
  42. package/dist/components/SSelect/SSelect.js +2 -2
  43. package/dist/components/SSelect/SSelect.js.map +1 -1
  44. package/dist/components/STable/STable.cjs +137 -95
  45. package/dist/components/STable/STable.cjs.map +1 -1
  46. package/dist/components/STable/STable.d.ts +1 -1
  47. package/dist/components/STable/STable.js +137 -95
  48. package/dist/components/STable/STable.js.map +1 -1
  49. package/dist/index.cjs +145 -96
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.js +145 -96
  52. package/dist/index.js.map +1 -1
  53. package/dist/lib/scrollbar.cjs +3 -3
  54. package/dist/lib/scrollbar.cjs.map +1 -1
  55. package/dist/lib/scrollbar.js +3 -3
  56. package/dist/lib/scrollbar.js.map +1 -1
  57. package/dist/styles.css +33 -3
  58. package/package.json +1 -1
@@ -3,9 +3,9 @@
3
3
  // src/lib/scrollbar.ts
4
4
  var FIREFOX_SCROLLBAR_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-width:thin] supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_transparent]";
5
5
  var SCROLLBAR_CLASS = `${FIREFOX_SCROLLBAR_CLASS} [&::-webkit-scrollbar]:h-[12px] [&::-webkit-scrollbar]:w-[12px] [&::-webkit-scrollbar]:bg-transparent [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:border-2 [&::-webkit-scrollbar-thumb]:border-solid [&::-webkit-scrollbar-thumb]:border-transparent [&::-webkit-scrollbar-thumb]:bg-[var(--color-grey-45)] [&::-webkit-scrollbar-thumb]:bg-clip-padding`;
6
- var SCROLLBAR_TRACK_BG_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-grey-10)] [&::-webkit-scrollbar]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-track]:bg-[var(--color-grey-10)]";
7
- var SCROLLBAR_TRACK_BG_WHITE_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-white)] [&::-webkit-scrollbar]:bg-[var(--color-white)] [&::-webkit-scrollbar-track]:bg-[var(--color-white)]";
8
- var SCROLLBAR_TRACK_BORDER_CLASS = "[&::-webkit-scrollbar-track:vertical]:[border-left:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-track:horizontal]:[border-top:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-thumb:vertical]:[border-left-width:3px] [&::-webkit-scrollbar-thumb:horizontal]:[border-top-width:3px]";
6
+ var SCROLLBAR_TRACK_BG_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-grey-10)] [&::-webkit-scrollbar]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-track]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-corner]:bg-[var(--color-grey-10)]";
7
+ var SCROLLBAR_TRACK_BG_WHITE_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-white)] [&::-webkit-scrollbar]:bg-[var(--color-white)] [&::-webkit-scrollbar-track]:bg-[var(--color-white)] [&::-webkit-scrollbar-corner]:bg-[var(--color-white)]";
8
+ var SCROLLBAR_TRACK_BORDER_CLASS = "[&::-webkit-scrollbar-track:vertical]:[border-left:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-track:horizontal]:[border-top:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-corner]:[border-top:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-corner]:[border-left:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-thumb:vertical]:[border-left-width:3px] [&::-webkit-scrollbar-thumb:horizontal]:[border-top-width:3px]";
9
9
 
10
10
  exports.SCROLLBAR_CLASS = SCROLLBAR_CLASS;
11
11
  exports.SCROLLBAR_TRACK_BG_CLASS = SCROLLBAR_TRACK_BG_CLASS;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/scrollbar.ts"],"names":[],"mappings":";;;AAYA,IAAM,uBAAA,GACJ,qKAAA;AAIK,IAAM,eAAA,GACX,GAAG,uBAAuB,CAAA,gaAAA;AAarB,IAAM,wBAAA,GACX;AAOK,IAAM,8BAAA,GACX;AAUK,IAAM,4BAAA,GACX","file":"scrollbar.cjs","sourcesContent":["/**\n * 공용 커스텀 스크롤바 클래스.\n * Stencil의 styles/scrollbar.scss mixin과 짝을 이루는 단일 기준이며,\n * 스크롤 영역을 가진 컴포넌트는 DOM을 감싸지 않고 이 클래스를 직접 붙여 쓴다.\n *\n * SVG 스펙: 트랙 12px / 썸 8px(grey-45, 2px 인셋, radius 4).\n * 인셋은 투명 테두리 + padding-box 클립으로 만들어, 트랙을 칠하든 안 칠하든 썸이 8px로 보인다.\n */\n\n// Chrome 121+/WebKit는 scrollbar-width·scrollbar-color의 계산값이 초기값(auto)이 아니면\n// ::-webkit-scrollbar-* 를 통째로 무시한다(CSSWG 결정). 표준 속성을 무조건 켜면 아래 트랙/썸이\n// 전부 죽으므로, webkit 유사요소가 없는 브라우저(Firefox)에서만 적용한다.\nconst FIREFOX_SCROLLBAR_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-width:thin] ' +\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_transparent]';\n\n/** 스크롤 영역 기본 스크롤바. overflow 클래스는 각 컴포넌트가 따로 지정한다. */\nexport const SCROLLBAR_CLASS =\n `${FIREFOX_SCROLLBAR_CLASS} ` +\n '[&::-webkit-scrollbar]:h-[12px] [&::-webkit-scrollbar]:w-[12px] [&::-webkit-scrollbar]:bg-transparent ' +\n '[&::-webkit-scrollbar-track]:bg-transparent ' +\n '[&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:border-2 [&::-webkit-scrollbar-thumb]:border-solid [&::-webkit-scrollbar-thumb]:border-transparent [&::-webkit-scrollbar-thumb]:bg-[var(--color-grey-45)] [&::-webkit-scrollbar-thumb]:bg-clip-padding';\n\n/**\n * background: 트랙 배경을 채운다. 콘텐츠 영역 배경은 바뀌지 않는다.\n * Stencil 의 scrollbar-track-bg($color) mixin 과 짝이며, 이쪽은 기본값 grey-10 에 해당한다.\n * Tailwind 는 소스에 문자열로 박힌 클래스만 수집하므로 색을 인자로 받는 함수로 만들 수 없다.\n * 색이 필요하면 아래 WHITE 처럼 리터럴 상수를 하나 더 만든다.\n *\n * SCROLLBAR_CLASS 뒤에 와야 Firefox 폴백(scrollbar-color)을 덮어쓸 수 있다.\n */\nexport const SCROLLBAR_TRACK_BG_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-grey-10)] ' +\n '[&::-webkit-scrollbar]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-track]:bg-[var(--color-grey-10)]';\n\n/**\n * background(white): 트랙을 흰색으로 채운다.\n * 페이지 표면이 grey-10(#F6F6F6)과 같은 색이라 기본 트랙 배경이 묻히는 자리에 쓴다 — SPage 의 neutral 이 그 경우다.\n */\nexport const SCROLLBAR_TRACK_BG_WHITE_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-white)] ' +\n '[&::-webkit-scrollbar]:bg-[var(--color-white)] [&::-webkit-scrollbar-track]:bg-[var(--color-white)]';\n\n/**\n * bordered: 스크롤바와 콘텐츠 사이 1px 구분선.\n * 단축 속성으로 한 변만 지정한다 — border-solid는 네 변에 걸려 트랙에 기본 3px 테두리를 만든다.\n * 썸과 트랙은 형제 박스라 트랙의 구분선이 썸을 밀어주지 않는다. 구분선이 인셋 2px 중 1px을\n * 차지해 좌우 여백이 1px/2px로 어긋나므로, 썸 인셋을 같은 만큼 키워 2px/2px로 되돌린다(썸 8px → 7px).\n * Firefox는 thin 스크롤바를 이 수준으로 커스터마이즈할 수 없어 적용되지 않는다.\n */\nexport const SCROLLBAR_TRACK_BORDER_CLASS =\n '[&::-webkit-scrollbar-track:vertical]:[border-left:1px_solid_var(--sys-color-border-default)] ' +\n '[&::-webkit-scrollbar-track:horizontal]:[border-top:1px_solid_var(--sys-color-border-default)] ' +\n '[&::-webkit-scrollbar-thumb:vertical]:[border-left-width:3px] ' +\n '[&::-webkit-scrollbar-thumb:horizontal]:[border-top-width:3px]';\n"]}
1
+ {"version":3,"sources":["../../src/lib/scrollbar.ts"],"names":[],"mappings":";;;AAYA,IAAM,uBAAA,GACJ,qKAAA;AAIK,IAAM,eAAA,GACX,GAAG,uBAAuB,CAAA,gaAAA;AAarB,IAAM,wBAAA,GACX;AAQK,IAAM,8BAAA,GACX;AAWK,IAAM,4BAAA,GACX","file":"scrollbar.cjs","sourcesContent":["/**\n * 공용 커스텀 스크롤바 클래스.\n * Stencil의 styles/scrollbar.scss mixin과 짝을 이루는 단일 기준이며,\n * 스크롤 영역을 가진 컴포넌트는 DOM을 감싸지 않고 이 클래스를 직접 붙여 쓴다.\n *\n * SVG 스펙: 트랙 12px / 썸 8px(grey-45, 2px 인셋, radius 4).\n * 인셋은 투명 테두리 + padding-box 클립으로 만들어, 트랙을 칠하든 안 칠하든 썸이 8px로 보인다.\n */\n\n// Chrome 121+/WebKit는 scrollbar-width·scrollbar-color의 계산값이 초기값(auto)이 아니면\n// ::-webkit-scrollbar-* 를 통째로 무시한다(CSSWG 결정). 표준 속성을 무조건 켜면 아래 트랙/썸이\n// 전부 죽으므로, webkit 유사요소가 없는 브라우저(Firefox)에서만 적용한다.\nconst FIREFOX_SCROLLBAR_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-width:thin] ' +\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_transparent]';\n\n/** 스크롤 영역 기본 스크롤바. overflow 클래스는 각 컴포넌트가 따로 지정한다. */\nexport const SCROLLBAR_CLASS =\n `${FIREFOX_SCROLLBAR_CLASS} ` +\n '[&::-webkit-scrollbar]:h-[12px] [&::-webkit-scrollbar]:w-[12px] [&::-webkit-scrollbar]:bg-transparent ' +\n '[&::-webkit-scrollbar-track]:bg-transparent ' +\n '[&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:border-2 [&::-webkit-scrollbar-thumb]:border-solid [&::-webkit-scrollbar-thumb]:border-transparent [&::-webkit-scrollbar-thumb]:bg-[var(--color-grey-45)] [&::-webkit-scrollbar-thumb]:bg-clip-padding';\n\n/**\n * background: 트랙 배경을 채운다. 콘텐츠 영역 배경은 바뀌지 않는다.\n * Stencil 의 scrollbar-track-bg($color) mixin 과 짝이며, 이쪽은 기본값 grey-10 에 해당한다.\n * Tailwind 는 소스에 문자열로 박힌 클래스만 수집하므로 색을 인자로 받는 함수로 만들 수 없다.\n * 색이 필요하면 아래 WHITE 처럼 리터럴 상수를 하나 더 만든다.\n *\n * SCROLLBAR_CLASS 뒤에 와야 Firefox 폴백(scrollbar-color)을 덮어쓸 수 있다.\n */\nexport const SCROLLBAR_TRACK_BG_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-grey-10)] ' +\n '[&::-webkit-scrollbar]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-track]:bg-[var(--color-grey-10)] ' +\n '[&::-webkit-scrollbar-corner]:bg-[var(--color-grey-10)]';\n\n/**\n * background(white): 트랙을 흰색으로 채운다.\n * 페이지 표면이 grey-10(#F6F6F6)과 같은 색이라 기본 트랙 배경이 묻히는 자리에 쓴다 — SPage 의 neutral 이 그 경우다.\n */\nexport const SCROLLBAR_TRACK_BG_WHITE_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-white)] ' +\n '[&::-webkit-scrollbar]:bg-[var(--color-white)] [&::-webkit-scrollbar-track]:bg-[var(--color-white)] ' +\n '[&::-webkit-scrollbar-corner]:bg-[var(--color-white)]';\n\n/**\n * bordered: 스크롤바와 콘텐츠 사이 1px 구분선.\n * 단축 속성으로 한 변만 지정한다 — border-solid는 네 변에 걸려 트랙에 기본 3px 테두리를 만든다.\n * 썸과 트랙은 형제 박스라 트랙의 구분선이 썸을 밀어주지 않는다. 구분선이 인셋 2px 중 1px을\n * 차지해 좌우 여백이 1px/2px로 어긋나므로, 썸 인셋을 같은 만큼 키워 2px/2px로 되돌린다(썸 8px → 7px).\n * Firefox는 thin 스크롤바를 이 수준으로 커스터마이즈할 수 없어 적용되지 않는다.\n */\nexport const SCROLLBAR_TRACK_BORDER_CLASS =\n '[&::-webkit-scrollbar-track:vertical]:[border-left:1px_solid_var(--sys-color-border-default)] ' +\n '[&::-webkit-scrollbar-track:horizontal]:[border-top:1px_solid_var(--sys-color-border-default)] ' +\n // 세로·가로 스크롤바가 동시에 있으면 우측 하단에 스크롤바 코너가 생긴다. 코너에도 위/왼쪽\n // 구분선을 줘 세로 트랙의 border-left, 가로 트랙의 border-top이 코너에서 끊기지 않고 이어지게 한다.\n '[&::-webkit-scrollbar-corner]:[border-top:1px_solid_var(--sys-color-border-default)] ' +\n '[&::-webkit-scrollbar-corner]:[border-left:1px_solid_var(--sys-color-border-default)] ' +\n '[&::-webkit-scrollbar-thumb:vertical]:[border-left-width:3px] ' +\n '[&::-webkit-scrollbar-thumb:horizontal]:[border-top-width:3px]';\n"]}
@@ -1,9 +1,9 @@
1
1
  // src/lib/scrollbar.ts
2
2
  var FIREFOX_SCROLLBAR_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-width:thin] supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_transparent]";
3
3
  var SCROLLBAR_CLASS = `${FIREFOX_SCROLLBAR_CLASS} [&::-webkit-scrollbar]:h-[12px] [&::-webkit-scrollbar]:w-[12px] [&::-webkit-scrollbar]:bg-transparent [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:border-2 [&::-webkit-scrollbar-thumb]:border-solid [&::-webkit-scrollbar-thumb]:border-transparent [&::-webkit-scrollbar-thumb]:bg-[var(--color-grey-45)] [&::-webkit-scrollbar-thumb]:bg-clip-padding`;
4
- var SCROLLBAR_TRACK_BG_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-grey-10)] [&::-webkit-scrollbar]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-track]:bg-[var(--color-grey-10)]";
5
- var SCROLLBAR_TRACK_BG_WHITE_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-white)] [&::-webkit-scrollbar]:bg-[var(--color-white)] [&::-webkit-scrollbar-track]:bg-[var(--color-white)]";
6
- var SCROLLBAR_TRACK_BORDER_CLASS = "[&::-webkit-scrollbar-track:vertical]:[border-left:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-track:horizontal]:[border-top:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-thumb:vertical]:[border-left-width:3px] [&::-webkit-scrollbar-thumb:horizontal]:[border-top-width:3px]";
4
+ var SCROLLBAR_TRACK_BG_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-grey-10)] [&::-webkit-scrollbar]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-track]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-corner]:bg-[var(--color-grey-10)]";
5
+ var SCROLLBAR_TRACK_BG_WHITE_CLASS = "supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-white)] [&::-webkit-scrollbar]:bg-[var(--color-white)] [&::-webkit-scrollbar-track]:bg-[var(--color-white)] [&::-webkit-scrollbar-corner]:bg-[var(--color-white)]";
6
+ var SCROLLBAR_TRACK_BORDER_CLASS = "[&::-webkit-scrollbar-track:vertical]:[border-left:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-track:horizontal]:[border-top:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-corner]:[border-top:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-corner]:[border-left:1px_solid_var(--sys-color-border-default)] [&::-webkit-scrollbar-thumb:vertical]:[border-left-width:3px] [&::-webkit-scrollbar-thumb:horizontal]:[border-top-width:3px]";
7
7
 
8
8
  export { SCROLLBAR_CLASS, SCROLLBAR_TRACK_BG_CLASS, SCROLLBAR_TRACK_BG_WHITE_CLASS, SCROLLBAR_TRACK_BORDER_CLASS };
9
9
  //# sourceMappingURL=scrollbar.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/scrollbar.ts"],"names":[],"mappings":";AAYA,IAAM,uBAAA,GACJ,qKAAA;AAIK,IAAM,eAAA,GACX,GAAG,uBAAuB,CAAA,gaAAA;AAarB,IAAM,wBAAA,GACX;AAOK,IAAM,8BAAA,GACX;AAUK,IAAM,4BAAA,GACX","file":"scrollbar.js","sourcesContent":["/**\n * 공용 커스텀 스크롤바 클래스.\n * Stencil의 styles/scrollbar.scss mixin과 짝을 이루는 단일 기준이며,\n * 스크롤 영역을 가진 컴포넌트는 DOM을 감싸지 않고 이 클래스를 직접 붙여 쓴다.\n *\n * SVG 스펙: 트랙 12px / 썸 8px(grey-45, 2px 인셋, radius 4).\n * 인셋은 투명 테두리 + padding-box 클립으로 만들어, 트랙을 칠하든 안 칠하든 썸이 8px로 보인다.\n */\n\n// Chrome 121+/WebKit는 scrollbar-width·scrollbar-color의 계산값이 초기값(auto)이 아니면\n// ::-webkit-scrollbar-* 를 통째로 무시한다(CSSWG 결정). 표준 속성을 무조건 켜면 아래 트랙/썸이\n// 전부 죽으므로, webkit 유사요소가 없는 브라우저(Firefox)에서만 적용한다.\nconst FIREFOX_SCROLLBAR_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-width:thin] ' +\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_transparent]';\n\n/** 스크롤 영역 기본 스크롤바. overflow 클래스는 각 컴포넌트가 따로 지정한다. */\nexport const SCROLLBAR_CLASS =\n `${FIREFOX_SCROLLBAR_CLASS} ` +\n '[&::-webkit-scrollbar]:h-[12px] [&::-webkit-scrollbar]:w-[12px] [&::-webkit-scrollbar]:bg-transparent ' +\n '[&::-webkit-scrollbar-track]:bg-transparent ' +\n '[&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:border-2 [&::-webkit-scrollbar-thumb]:border-solid [&::-webkit-scrollbar-thumb]:border-transparent [&::-webkit-scrollbar-thumb]:bg-[var(--color-grey-45)] [&::-webkit-scrollbar-thumb]:bg-clip-padding';\n\n/**\n * background: 트랙 배경을 채운다. 콘텐츠 영역 배경은 바뀌지 않는다.\n * Stencil 의 scrollbar-track-bg($color) mixin 과 짝이며, 이쪽은 기본값 grey-10 에 해당한다.\n * Tailwind 는 소스에 문자열로 박힌 클래스만 수집하므로 색을 인자로 받는 함수로 만들 수 없다.\n * 색이 필요하면 아래 WHITE 처럼 리터럴 상수를 하나 더 만든다.\n *\n * SCROLLBAR_CLASS 뒤에 와야 Firefox 폴백(scrollbar-color)을 덮어쓸 수 있다.\n */\nexport const SCROLLBAR_TRACK_BG_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-grey-10)] ' +\n '[&::-webkit-scrollbar]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-track]:bg-[var(--color-grey-10)]';\n\n/**\n * background(white): 트랙을 흰색으로 채운다.\n * 페이지 표면이 grey-10(#F6F6F6)과 같은 색이라 기본 트랙 배경이 묻히는 자리에 쓴다 — SPage 의 neutral 이 그 경우다.\n */\nexport const SCROLLBAR_TRACK_BG_WHITE_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-white)] ' +\n '[&::-webkit-scrollbar]:bg-[var(--color-white)] [&::-webkit-scrollbar-track]:bg-[var(--color-white)]';\n\n/**\n * bordered: 스크롤바와 콘텐츠 사이 1px 구분선.\n * 단축 속성으로 한 변만 지정한다 — border-solid는 네 변에 걸려 트랙에 기본 3px 테두리를 만든다.\n * 썸과 트랙은 형제 박스라 트랙의 구분선이 썸을 밀어주지 않는다. 구분선이 인셋 2px 중 1px을\n * 차지해 좌우 여백이 1px/2px로 어긋나므로, 썸 인셋을 같은 만큼 키워 2px/2px로 되돌린다(썸 8px → 7px).\n * Firefox는 thin 스크롤바를 이 수준으로 커스터마이즈할 수 없어 적용되지 않는다.\n */\nexport const SCROLLBAR_TRACK_BORDER_CLASS =\n '[&::-webkit-scrollbar-track:vertical]:[border-left:1px_solid_var(--sys-color-border-default)] ' +\n '[&::-webkit-scrollbar-track:horizontal]:[border-top:1px_solid_var(--sys-color-border-default)] ' +\n '[&::-webkit-scrollbar-thumb:vertical]:[border-left-width:3px] ' +\n '[&::-webkit-scrollbar-thumb:horizontal]:[border-top-width:3px]';\n"]}
1
+ {"version":3,"sources":["../../src/lib/scrollbar.ts"],"names":[],"mappings":";AAYA,IAAM,uBAAA,GACJ,qKAAA;AAIK,IAAM,eAAA,GACX,GAAG,uBAAuB,CAAA,gaAAA;AAarB,IAAM,wBAAA,GACX;AAQK,IAAM,8BAAA,GACX;AAWK,IAAM,4BAAA,GACX","file":"scrollbar.js","sourcesContent":["/**\n * 공용 커스텀 스크롤바 클래스.\n * Stencil의 styles/scrollbar.scss mixin과 짝을 이루는 단일 기준이며,\n * 스크롤 영역을 가진 컴포넌트는 DOM을 감싸지 않고 이 클래스를 직접 붙여 쓴다.\n *\n * SVG 스펙: 트랙 12px / 썸 8px(grey-45, 2px 인셋, radius 4).\n * 인셋은 투명 테두리 + padding-box 클립으로 만들어, 트랙을 칠하든 안 칠하든 썸이 8px로 보인다.\n */\n\n// Chrome 121+/WebKit는 scrollbar-width·scrollbar-color의 계산값이 초기값(auto)이 아니면\n// ::-webkit-scrollbar-* 를 통째로 무시한다(CSSWG 결정). 표준 속성을 무조건 켜면 아래 트랙/썸이\n// 전부 죽으므로, webkit 유사요소가 없는 브라우저(Firefox)에서만 적용한다.\nconst FIREFOX_SCROLLBAR_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-width:thin] ' +\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_transparent]';\n\n/** 스크롤 영역 기본 스크롤바. overflow 클래스는 각 컴포넌트가 따로 지정한다. */\nexport const SCROLLBAR_CLASS =\n `${FIREFOX_SCROLLBAR_CLASS} ` +\n '[&::-webkit-scrollbar]:h-[12px] [&::-webkit-scrollbar]:w-[12px] [&::-webkit-scrollbar]:bg-transparent ' +\n '[&::-webkit-scrollbar-track]:bg-transparent ' +\n '[&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:border-2 [&::-webkit-scrollbar-thumb]:border-solid [&::-webkit-scrollbar-thumb]:border-transparent [&::-webkit-scrollbar-thumb]:bg-[var(--color-grey-45)] [&::-webkit-scrollbar-thumb]:bg-clip-padding';\n\n/**\n * background: 트랙 배경을 채운다. 콘텐츠 영역 배경은 바뀌지 않는다.\n * Stencil 의 scrollbar-track-bg($color) mixin 과 짝이며, 이쪽은 기본값 grey-10 에 해당한다.\n * Tailwind 는 소스에 문자열로 박힌 클래스만 수집하므로 색을 인자로 받는 함수로 만들 수 없다.\n * 색이 필요하면 아래 WHITE 처럼 리터럴 상수를 하나 더 만든다.\n *\n * SCROLLBAR_CLASS 뒤에 와야 Firefox 폴백(scrollbar-color)을 덮어쓸 수 있다.\n */\nexport const SCROLLBAR_TRACK_BG_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-grey-10)] ' +\n '[&::-webkit-scrollbar]:bg-[var(--color-grey-10)] [&::-webkit-scrollbar-track]:bg-[var(--color-grey-10)] ' +\n '[&::-webkit-scrollbar-corner]:bg-[var(--color-grey-10)]';\n\n/**\n * background(white): 트랙을 흰색으로 채운다.\n * 페이지 표면이 grey-10(#F6F6F6)과 같은 색이라 기본 트랙 배경이 묻히는 자리에 쓴다 — SPage 의 neutral 이 그 경우다.\n */\nexport const SCROLLBAR_TRACK_BG_WHITE_CLASS =\n 'supports-[not_selector(::-webkit-scrollbar)]:[scrollbar-color:var(--color-grey-45)_var(--color-white)] ' +\n '[&::-webkit-scrollbar]:bg-[var(--color-white)] [&::-webkit-scrollbar-track]:bg-[var(--color-white)] ' +\n '[&::-webkit-scrollbar-corner]:bg-[var(--color-white)]';\n\n/**\n * bordered: 스크롤바와 콘텐츠 사이 1px 구분선.\n * 단축 속성으로 한 변만 지정한다 — border-solid는 네 변에 걸려 트랙에 기본 3px 테두리를 만든다.\n * 썸과 트랙은 형제 박스라 트랙의 구분선이 썸을 밀어주지 않는다. 구분선이 인셋 2px 중 1px을\n * 차지해 좌우 여백이 1px/2px로 어긋나므로, 썸 인셋을 같은 만큼 키워 2px/2px로 되돌린다(썸 8px → 7px).\n * Firefox는 thin 스크롤바를 이 수준으로 커스터마이즈할 수 없어 적용되지 않는다.\n */\nexport const SCROLLBAR_TRACK_BORDER_CLASS =\n '[&::-webkit-scrollbar-track:vertical]:[border-left:1px_solid_var(--sys-color-border-default)] ' +\n '[&::-webkit-scrollbar-track:horizontal]:[border-top:1px_solid_var(--sys-color-border-default)] ' +\n // 세로·가로 스크롤바가 동시에 있으면 우측 하단에 스크롤바 코너가 생긴다. 코너에도 위/왼쪽\n // 구분선을 줘 세로 트랙의 border-left, 가로 트랙의 border-top이 코너에서 끊기지 않고 이어지게 한다.\n '[&::-webkit-scrollbar-corner]:[border-top:1px_solid_var(--sys-color-border-default)] ' +\n '[&::-webkit-scrollbar-corner]:[border-left:1px_solid_var(--sys-color-border-default)] ' +\n '[&::-webkit-scrollbar-thumb:vertical]:[border-left-width:3px] ' +\n '[&::-webkit-scrollbar-thumb:horizontal]:[border-top-width:3px]';\n"]}
package/dist/styles.css CHANGED
@@ -14,6 +14,7 @@
14
14
  --color-green-700: oklch(52.7% 0.154 150.069);
15
15
  --color-gray-100: oklch(96.7% 0.003 264.542);
16
16
  --color-gray-200: oklch(92.8% 0.006 264.531);
17
+ --color-gray-300: oklch(87.2% 0.01 258.338);
17
18
  --color-gray-400: oklch(70.7% 0.022 261.325);
18
19
  --color-gray-500: oklch(55.1% 0.027 264.364);
19
20
  --color-gray-600: oklch(44.6% 0.03 256.802);
@@ -698,9 +699,6 @@
698
699
  .z-10 {
699
700
  z-index: 10;
700
701
  }
701
- .z-20 {
702
- z-index: 20;
703
- }
704
702
  .z-30 {
705
703
  z-index: 30;
706
704
  }
@@ -896,6 +894,9 @@
896
894
  .h-\[240px\] {
897
895
  height: 240px;
898
896
  }
897
+ .h-\[320px\] {
898
+ height: 320px;
899
+ }
899
900
  .h-\[364px\] {
900
901
  height: 364px;
901
902
  }
@@ -1118,12 +1119,18 @@
1118
1119
  .flex-auto {
1119
1120
  flex: auto;
1120
1121
  }
1122
+ .flex-none {
1123
+ flex: none;
1124
+ }
1121
1125
  .flex-shrink-0 {
1122
1126
  flex-shrink: 0;
1123
1127
  }
1124
1128
  .shrink-0 {
1125
1129
  flex-shrink: 0;
1126
1130
  }
1131
+ .grow {
1132
+ flex-grow: 1;
1133
+ }
1127
1134
  .table-fixed {
1128
1135
  table-layout: fixed;
1129
1136
  }
@@ -1712,6 +1719,9 @@
1712
1719
  .border-gray-200 {
1713
1720
  border-color: var(--color-gray-200);
1714
1721
  }
1722
+ .border-gray-300 {
1723
+ border-color: var(--color-gray-300);
1724
+ }
1715
1725
  .border-grey-20 {
1716
1726
  border-color: var(--color-grey-20);
1717
1727
  }
@@ -3259,6 +3269,26 @@
3259
3269
  background-color: transparent;
3260
3270
  }
3261
3271
  }
3272
+ .\[\&\:\:-webkit-scrollbar-corner\]\:bg-\[var\(--color-grey-10\)\] {
3273
+ &::-webkit-scrollbar-corner {
3274
+ background-color: var(--color-grey-10);
3275
+ }
3276
+ }
3277
+ .\[\&\:\:-webkit-scrollbar-corner\]\:bg-\[var\(--color-white\)\] {
3278
+ &::-webkit-scrollbar-corner {
3279
+ background-color: var(--color-white);
3280
+ }
3281
+ }
3282
+ .\[\&\:\:-webkit-scrollbar-corner\]\:\[border-left\:1px_solid_var\(--sys-color-border-default\)\] {
3283
+ &::-webkit-scrollbar-corner {
3284
+ border-left: 1px solid var(--sys-color-border-default);
3285
+ }
3286
+ }
3287
+ .\[\&\:\:-webkit-scrollbar-corner\]\:\[border-top\:1px_solid_var\(--sys-color-border-default\)\] {
3288
+ &::-webkit-scrollbar-corner {
3289
+ border-top: 1px solid var(--sys-color-border-default);
3290
+ }
3291
+ }
3262
3292
  .\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full {
3263
3293
  &::-webkit-scrollbar-thumb {
3264
3294
  border-radius: var(--radius-full);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sellmate-design-system-react",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "Sellmate Design System — React (TypeScript + Tailwind v4) port",
5
5
  "license": "UNLICENSED",
6
6
  "keywords": [