smarthr-ui 44.0.0 → 45.0.1

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 (220) hide show
  1. package/esm/components/AccordionPanel/AccordionPanelTrigger.js +6 -6
  2. package/esm/components/AccordionPanel/AccordionPanelTrigger.js.map +1 -1
  3. package/esm/components/AppNavi/AppNavi.d.ts +5 -11
  4. package/esm/components/AppNavi/AppNavi.js +37 -50
  5. package/esm/components/AppNavi/AppNavi.js.map +1 -1
  6. package/esm/components/AppNavi/AppNaviAnchor.d.ts +4 -10
  7. package/esm/components/AppNavi/AppNaviAnchor.js +20 -18
  8. package/esm/components/AppNavi/AppNaviAnchor.js.map +1 -1
  9. package/esm/components/AppNavi/AppNaviButton.d.ts +4 -10
  10. package/esm/components/AppNavi/AppNaviButton.js +19 -12
  11. package/esm/components/AppNavi/AppNaviButton.js.map +1 -1
  12. package/esm/components/AppNavi/AppNaviCustomTag.d.ts +4 -10
  13. package/esm/components/AppNavi/AppNaviCustomTag.js +19 -25
  14. package/esm/components/AppNavi/AppNaviCustomTag.js.map +1 -1
  15. package/esm/components/AppNavi/AppNaviDropdown.d.ts +4 -10
  16. package/esm/components/AppNavi/AppNaviDropdown.js +26 -21
  17. package/esm/components/AppNavi/AppNaviDropdown.js.map +1 -1
  18. package/esm/components/AppNavi/style.d.ts +87 -0
  19. package/esm/components/AppNavi/style.js +26 -0
  20. package/esm/components/AppNavi/style.js.map +1 -0
  21. package/esm/components/CheckBox/CheckBox.js +1 -1
  22. package/esm/components/CheckBox/CheckBox.js.map +1 -1
  23. package/esm/components/Dialog/ActionDialog/ActionDialogContentInner.js +6 -29
  24. package/esm/components/Dialog/ActionDialog/ActionDialogContentInner.js.map +1 -1
  25. package/esm/components/Dialog/DialogContentInner.js +1 -1
  26. package/esm/components/Dialog/DialogContentInner.js.map +1 -1
  27. package/esm/components/Dialog/FormDialog/FormDialog.d.ts +2 -2
  28. package/esm/components/Dialog/FormDialog/FormDialog.js +1 -1
  29. package/esm/components/Dialog/FormDialog/FormDialog.js.map +1 -1
  30. package/esm/components/Dialog/FormDialog/FormDialogContentInner.d.ts +0 -4
  31. package/esm/components/Dialog/FormDialog/FormDialogContentInner.js +11 -42
  32. package/esm/components/Dialog/FormDialog/FormDialogContentInner.js.map +1 -1
  33. package/esm/components/Dialog/MessageDialog/MessageDialogContentInner.js +1 -1
  34. package/esm/components/Dialog/MessageDialog/MessageDialogContentInner.js.map +1 -1
  35. package/esm/components/Dialog/useDialogInnerStyle.d.ts +12 -0
  36. package/esm/components/Dialog/useDialogInnerStyle.js +27 -0
  37. package/esm/components/Dialog/useDialogInnerStyle.js.map +1 -0
  38. package/esm/components/DropZone/DropZone.js +2 -2
  39. package/esm/components/DropZone/DropZone.js.map +1 -1
  40. package/esm/components/ErrorScreen/ErrorScreen.js +1 -1
  41. package/esm/components/ErrorScreen/ErrorScreen.js.map +1 -1
  42. package/esm/components/FloatArea/FloatArea.d.ts +2 -4
  43. package/esm/components/FloatArea/FloatArea.js +75 -27
  44. package/esm/components/FloatArea/FloatArea.js.map +1 -1
  45. package/esm/components/FormGroup/FormGroup.js +11 -4
  46. package/esm/components/FormGroup/FormGroup.js.map +1 -1
  47. package/esm/components/Header/AppLauncher/AppLauncher.js +1 -1
  48. package/esm/components/Header/Header.d.ts +5 -9
  49. package/esm/components/Header/Header.js +31 -50
  50. package/esm/components/Header/Header.js.map +1 -1
  51. package/esm/components/Header/HeaderDropdownMenuButton.d.ts +3 -1941
  52. package/esm/components/Header/HeaderDropdownMenuButton.js +12 -18
  53. package/esm/components/Header/HeaderDropdownMenuButton.js.map +1 -1
  54. package/esm/components/Icon/WarningIcon.js +3 -3
  55. package/esm/components/Icon/WarningIcon.js.map +1 -1
  56. package/esm/components/NotificationBar/NotificationBar.js +3 -3
  57. package/esm/components/RadioButton/RadioButton.js +1 -1
  58. package/esm/components/RadioButton/RadioButton.js.map +1 -1
  59. package/esm/components/ResponseMessage/ResponseMessage.d.ts +62 -6
  60. package/esm/components/ResponseMessage/ResponseMessage.js +24 -27
  61. package/esm/components/ResponseMessage/ResponseMessage.js.map +1 -1
  62. package/esm/components/SideNav/SideNav.d.ts +3 -3
  63. package/esm/components/SideNav/SideNav.js +8 -18
  64. package/esm/components/SideNav/SideNav.js.map +1 -1
  65. package/esm/components/SideNav/SideNavItemButton.d.ts +2 -2
  66. package/esm/components/SideNav/SideNavItemButton.js +47 -75
  67. package/esm/components/SideNav/SideNavItemButton.js.map +1 -1
  68. package/esm/components/SmartHRLogo/SmartHRLogo.d.ts +48 -8
  69. package/esm/components/SmartHRLogo/SmartHRLogo.js +20 -33
  70. package/esm/components/SmartHRLogo/SmartHRLogo.js.map +1 -1
  71. package/esm/components/Table/BulkActionRow.d.ts +2 -10
  72. package/esm/components/Table/BulkActionRow.js +18 -18
  73. package/esm/components/Table/BulkActionRow.js.map +1 -1
  74. package/esm/components/Table/EmptyTableBody.d.ts +2 -2
  75. package/esm/components/Table/EmptyTableBody.js +64 -27
  76. package/esm/components/Table/EmptyTableBody.js.map +1 -1
  77. package/esm/components/Table/Td.d.ts +54 -8
  78. package/esm/components/Table/Td.js +5 -14
  79. package/esm/components/Table/Td.js.map +1 -1
  80. package/esm/components/Table/useClassNames.d.ts +0 -3
  81. package/esm/components/Table/useClassNames.js +1 -7
  82. package/esm/components/Table/useClassNames.js.map +1 -1
  83. package/esm/components/Tooltip/Tooltip.js +2 -4
  84. package/esm/components/Tooltip/Tooltip.js.map +1 -1
  85. package/esm/hooks/useTailwindTheme.d.ts +5 -1
  86. package/esm/smarthr-ui-preset.d.ts +5 -0
  87. package/esm/smarthr-ui-preset.js +12 -0
  88. package/esm/smarthr-ui-preset.js.map +1 -1
  89. package/lib/components/AccordionPanel/AccordionPanelTrigger.js +5 -5
  90. package/lib/components/AccordionPanel/AccordionPanelTrigger.js.map +1 -1
  91. package/lib/components/AppNavi/AppNavi.d.ts +5 -11
  92. package/lib/components/AppNavi/AppNavi.js +37 -53
  93. package/lib/components/AppNavi/AppNavi.js.map +1 -1
  94. package/lib/components/AppNavi/AppNaviAnchor.d.ts +4 -10
  95. package/lib/components/AppNavi/AppNaviAnchor.js +20 -21
  96. package/lib/components/AppNavi/AppNaviAnchor.js.map +1 -1
  97. package/lib/components/AppNavi/AppNaviButton.d.ts +4 -10
  98. package/lib/components/AppNavi/AppNaviButton.js +41 -14
  99. package/lib/components/AppNavi/AppNaviButton.js.map +1 -1
  100. package/lib/components/AppNavi/AppNaviCustomTag.d.ts +4 -10
  101. package/lib/components/AppNavi/AppNaviCustomTag.js +41 -27
  102. package/lib/components/AppNavi/AppNaviCustomTag.js.map +1 -1
  103. package/lib/components/AppNavi/AppNaviDropdown.d.ts +4 -10
  104. package/lib/components/AppNavi/AppNaviDropdown.js +26 -24
  105. package/lib/components/AppNavi/AppNaviDropdown.js.map +1 -1
  106. package/lib/components/AppNavi/style.d.ts +87 -0
  107. package/lib/components/AppNavi/style.js +29 -0
  108. package/lib/components/AppNavi/style.js.map +1 -0
  109. package/lib/components/CheckBox/CheckBox.js +1 -1
  110. package/lib/components/CheckBox/CheckBox.js.map +1 -1
  111. package/lib/components/Dialog/ActionDialog/ActionDialogContentInner.js +5 -28
  112. package/lib/components/Dialog/ActionDialog/ActionDialogContentInner.js.map +1 -1
  113. package/lib/components/Dialog/DialogContentInner.js +1 -1
  114. package/lib/components/Dialog/DialogContentInner.js.map +1 -1
  115. package/lib/components/Dialog/FormDialog/FormDialog.d.ts +2 -2
  116. package/lib/components/Dialog/FormDialog/FormDialog.js +1 -1
  117. package/lib/components/Dialog/FormDialog/FormDialog.js.map +1 -1
  118. package/lib/components/Dialog/FormDialog/FormDialogContentInner.d.ts +0 -4
  119. package/lib/components/Dialog/FormDialog/FormDialogContentInner.js +11 -42
  120. package/lib/components/Dialog/FormDialog/FormDialogContentInner.js.map +1 -1
  121. package/lib/components/Dialog/MessageDialog/MessageDialogContentInner.js +1 -1
  122. package/lib/components/Dialog/MessageDialog/MessageDialogContentInner.js.map +1 -1
  123. package/lib/components/Dialog/useDialogInnerStyle.d.ts +12 -0
  124. package/lib/components/Dialog/useDialogInnerStyle.js +31 -0
  125. package/lib/components/Dialog/useDialogInnerStyle.js.map +1 -0
  126. package/lib/components/DropZone/DropZone.js +2 -2
  127. package/lib/components/DropZone/DropZone.js.map +1 -1
  128. package/lib/components/ErrorScreen/ErrorScreen.js +1 -1
  129. package/lib/components/ErrorScreen/ErrorScreen.js.map +1 -1
  130. package/lib/components/FloatArea/FloatArea.d.ts +2 -4
  131. package/lib/components/FloatArea/FloatArea.js +74 -29
  132. package/lib/components/FloatArea/FloatArea.js.map +1 -1
  133. package/lib/components/FormGroup/FormGroup.js +10 -3
  134. package/lib/components/FormGroup/FormGroup.js.map +1 -1
  135. package/lib/components/Header/AppLauncher/AppLauncher.js +1 -1
  136. package/lib/components/Header/Header.d.ts +5 -9
  137. package/lib/components/Header/Header.js +31 -50
  138. package/lib/components/Header/Header.js.map +1 -1
  139. package/lib/components/Header/HeaderDropdownMenuButton.d.ts +3 -1941
  140. package/lib/components/Header/HeaderDropdownMenuButton.js +13 -18
  141. package/lib/components/Header/HeaderDropdownMenuButton.js.map +1 -1
  142. package/lib/components/Icon/WarningIcon.js +3 -3
  143. package/lib/components/Icon/WarningIcon.js.map +1 -1
  144. package/lib/components/NotificationBar/NotificationBar.js +3 -3
  145. package/lib/components/RadioButton/RadioButton.js +1 -1
  146. package/lib/components/RadioButton/RadioButton.js.map +1 -1
  147. package/lib/components/ResponseMessage/ResponseMessage.d.ts +62 -6
  148. package/lib/components/ResponseMessage/ResponseMessage.js +23 -26
  149. package/lib/components/ResponseMessage/ResponseMessage.js.map +1 -1
  150. package/lib/components/SideNav/SideNav.d.ts +3 -3
  151. package/lib/components/SideNav/SideNav.js +8 -21
  152. package/lib/components/SideNav/SideNav.js.map +1 -1
  153. package/lib/components/SideNav/SideNavItemButton.d.ts +2 -2
  154. package/lib/components/SideNav/SideNavItemButton.js +47 -78
  155. package/lib/components/SideNav/SideNavItemButton.js.map +1 -1
  156. package/lib/components/SmartHRLogo/SmartHRLogo.d.ts +48 -8
  157. package/lib/components/SmartHRLogo/SmartHRLogo.js +20 -33
  158. package/lib/components/SmartHRLogo/SmartHRLogo.js.map +1 -1
  159. package/lib/components/Table/BulkActionRow.d.ts +2 -10
  160. package/lib/components/Table/BulkActionRow.js +18 -21
  161. package/lib/components/Table/BulkActionRow.js.map +1 -1
  162. package/lib/components/Table/EmptyTableBody.d.ts +2 -2
  163. package/lib/components/Table/EmptyTableBody.js +64 -30
  164. package/lib/components/Table/EmptyTableBody.js.map +1 -1
  165. package/lib/components/Table/Td.d.ts +54 -8
  166. package/lib/components/Table/Td.js +5 -14
  167. package/lib/components/Table/Td.js.map +1 -1
  168. package/lib/components/Table/useClassNames.d.ts +0 -3
  169. package/lib/components/Table/useClassNames.js +1 -8
  170. package/lib/components/Table/useClassNames.js.map +1 -1
  171. package/lib/components/Tooltip/Tooltip.js +2 -4
  172. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  173. package/lib/hooks/useTailwindTheme.d.ts +5 -1
  174. package/lib/smarthr-ui-preset.d.ts +5 -0
  175. package/lib/smarthr-ui-preset.js +12 -0
  176. package/lib/smarthr-ui-preset.js.map +1 -1
  177. package/package.json +18 -20
  178. package/smarthr-ui.css +296 -9
  179. package/esm/components/AppNavi/appNaviHelper.d.ts +0 -13
  180. package/esm/components/AppNavi/appNaviHelper.js +0 -54
  181. package/esm/components/AppNavi/appNaviHelper.js.map +0 -1
  182. package/esm/components/AppNavi/useClassNames.d.ts +0 -9
  183. package/esm/components/AppNavi/useClassNames.js +0 -16
  184. package/esm/components/AppNavi/useClassNames.js.map +0 -1
  185. package/esm/components/Dialog/useClassNames.d.ts +0 -13
  186. package/esm/components/Dialog/useClassNames.js +0 -20
  187. package/esm/components/Dialog/useClassNames.js.map +0 -1
  188. package/esm/components/FloatArea/useClassNames.d.ts +0 -3
  189. package/esm/components/FloatArea/useClassNames.js +0 -10
  190. package/esm/components/FloatArea/useClassNames.js.map +0 -1
  191. package/esm/components/Header/useClassNames.d.ts +0 -6
  192. package/esm/components/Header/useClassNames.js +0 -13
  193. package/esm/components/Header/useClassNames.js.map +0 -1
  194. package/esm/components/SideNav/useClassNames.d.ts +0 -5
  195. package/esm/components/SideNav/useClassNames.js +0 -12
  196. package/esm/components/SideNav/useClassNames.js.map +0 -1
  197. package/esm/components/SmartHRLogo/useClassNames.d.ts +0 -3
  198. package/esm/components/SmartHRLogo/useClassNames.js +0 -10
  199. package/esm/components/SmartHRLogo/useClassNames.js.map +0 -1
  200. package/lib/components/AppNavi/appNaviHelper.d.ts +0 -13
  201. package/lib/components/AppNavi/appNaviHelper.js +0 -62
  202. package/lib/components/AppNavi/appNaviHelper.js.map +0 -1
  203. package/lib/components/AppNavi/useClassNames.d.ts +0 -9
  204. package/lib/components/AppNavi/useClassNames.js +0 -20
  205. package/lib/components/AppNavi/useClassNames.js.map +0 -1
  206. package/lib/components/Dialog/useClassNames.d.ts +0 -13
  207. package/lib/components/Dialog/useClassNames.js +0 -24
  208. package/lib/components/Dialog/useClassNames.js.map +0 -1
  209. package/lib/components/FloatArea/useClassNames.d.ts +0 -3
  210. package/lib/components/FloatArea/useClassNames.js +0 -14
  211. package/lib/components/FloatArea/useClassNames.js.map +0 -1
  212. package/lib/components/Header/useClassNames.d.ts +0 -6
  213. package/lib/components/Header/useClassNames.js +0 -17
  214. package/lib/components/Header/useClassNames.js.map +0 -1
  215. package/lib/components/SideNav/useClassNames.d.ts +0 -5
  216. package/lib/components/SideNav/useClassNames.js +0 -16
  217. package/lib/components/SideNav/useClassNames.js.map +0 -1
  218. package/lib/components/SmartHRLogo/useClassNames.d.ts +0 -3
  219. package/lib/components/SmartHRLogo/useClassNames.js +0 -14
  220. package/lib/components/SmartHRLogo/useClassNames.js.map +0 -1
@@ -2,7 +2,7 @@ import React, { useCallback, useContext, useMemo, } from 'react';
2
2
  import { tv } from 'tailwind-variants';
3
3
  import { getIsInclude, mapToKeyArray } from '../../libs/map';
4
4
  import { Heading } from '../Heading';
5
- import { FaCaretRightIcon, FaCaretUpIcon } from '../Icon';
5
+ import { FaCaretDownIcon, FaCaretRightIcon } from '../Icon';
6
6
  import { Cluster } from '../Layout';
7
7
  import { AccordionPanelContext } from './AccordionPanel';
8
8
  import { AccordionPanelItemContext } from './AccordionPanelItem';
@@ -24,15 +24,15 @@ const accordionPanelTrigger = tv({
24
24
  'shr-text-left',
25
25
  'hover:shr-bg-white-darken',
26
26
  'hover:shr-shadow-none',
27
- 'focus-visible:shr-focusIndicator',
27
+ 'focus-visible:shr-focus-indicator',
28
28
  ],
29
- leftIcon: 'group-aria-expanded:shrink-0 group-aria-expanded:shr-rotate-90',
30
- rightIcon: 'group-aria-expanded:shrink-0 group-aria-expanded:-shr-rotate-180',
29
+ leftIcon: 'shr-transition-transform shr-duration-100 group-aria-expanded:shr-rotate-90',
30
+ rightIcon: 'group-aria-expanded:-shr-rotate-180',
31
31
  },
32
32
  compoundSlots: [
33
33
  {
34
34
  slots: ['leftIcon', 'rightIcon'],
35
- className: ['shr-transition-transform', 'shr-duration-150'],
35
+ className: 'group-aria-expanded:shrink-0',
36
36
  },
37
37
  ],
38
38
  });
@@ -64,6 +64,6 @@ export const AccordionPanelTrigger = ({ children, className, headingType = 'bloc
64
64
  React.createElement(Cluster, { className: "shr-flex-nowrap", align: "center", as: "span" },
65
65
  displayIcon && iconPosition === 'left' && React.createElement(FaCaretRightIcon, { className: leftIconStyle }),
66
66
  React.createElement("span", { className: titleStyle }, children),
67
- displayIcon && iconPosition === 'right' && React.createElement(FaCaretUpIcon, { className: rightIconStyle })))));
67
+ displayIcon && iconPosition === 'right' && (React.createElement(FaCaretDownIcon, { className: rightIconStyle }))))));
68
68
  };
69
69
  //# sourceMappingURL=AccordionPanelTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionPanelTrigger.js","sourceRoot":"","sources":["../../../src/components/AccordionPanel/AccordionPanelTrigger.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccordionPanelTrigger.js","sourceRoot":"","sources":["../../../src/components/AccordionPanel/AccordionPanelTrigger.tsx"],"names":[],"mappings":"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"}
@@ -1,22 +1,16 @@
1
- import { HTMLAttributes, ReactNode, VFC } from 'react';
1
+ import { ComponentPropsWithoutRef, FC, PropsWithChildren, ReactNode } from 'react';
2
2
  import { AppNaviAnchorProps } from './AppNaviAnchor';
3
3
  import { AppNaviButtonProps } from './AppNaviButton';
4
4
  import { AppNaviCustomTagProps } from './AppNaviCustomTag';
5
5
  import { AppNaviDropdownProps } from './AppNaviDropdown';
6
- type ElementProps = Omit<HTMLAttributes<HTMLDivElement>, keyof Props>;
7
- type Props = {
6
+ type ElementProps = Omit<ComponentPropsWithoutRef<'div'>, keyof Props>;
7
+ type Props = PropsWithChildren<{
8
8
  /** ラベルのテキスト */
9
9
  label?: ReactNode;
10
10
  /** 表示するボタンの Props の配列 */
11
11
  buttons?: Array<AppNaviButtonProps | AppNaviAnchorProps | AppNaviDropdownProps | AppNaviCustomTagProps>;
12
- /** アクティブ状態のボタンがクリック可能かどうか */
13
- isCurrentUnclickable?: boolean;
14
- /** 追加で表示する内容 */
15
- children?: ReactNode;
16
- /** コンポーネントに適用するクラス名 */
17
- className?: string;
18
12
  /** ドロップダウンにキャレットを表示するかどうか */
19
13
  displayDropdownCaret?: boolean;
20
- };
21
- export declare const AppNavi: VFC<Props & ElementProps>;
14
+ }>;
15
+ export declare const AppNavi: FC<Props & ElementProps>;
22
16
  export {};
@@ -1,66 +1,53 @@
1
- import React from 'react';
2
- import styled, { css } from 'styled-components';
3
- import { useTheme } from '../../hooks/useTheme';
1
+ import React, { useMemo } from 'react';
2
+ import { tv } from 'tailwind-variants';
4
3
  import { Nav } from '../SectioningContent';
5
4
  import { StatusLabel } from '../StatusLabel';
6
5
  import { AppNaviAnchor } from './AppNaviAnchor';
7
6
  import { AppNaviButton } from './AppNaviButton';
8
7
  import { AppNaviCustomTag } from './AppNaviCustomTag';
9
8
  import { AppNaviDropdown } from './AppNaviDropdown';
10
- import { useClassNames } from './useClassNames';
11
- export const AppNavi = ({ label, buttons, isCurrentUnclickable, className = '', children = null, displayDropdownCaret = false, ...props }) => {
12
- const theme = useTheme();
13
- const classNames = useClassNames();
14
- return (React.createElement(WrapperNav, { ...props, themes: theme, className: `${className} ${classNames.wrapper}` },
15
- label && (React.createElement(StyledStatusLabel, { "$themes": theme, className: classNames.label }, label)),
16
- buttons && (React.createElement(Buttons, { themes: theme, className: classNames.buttons }, buttons.map((button, i) => {
17
- const isUnclickable = button.current && isCurrentUnclickable;
9
+ const appNavi = tv({
10
+ slots: {
11
+ wrapper: [
12
+ 'smarthr-ui-AppNavi',
13
+ 'shr-flex shr-min-w-max shr-items-center shr-bg-white shr-px-1.5 shr-shadow-layer-1',
14
+ ],
15
+ statusLabel: ['smarthr-ui-AppNavi-label', 'shr-me-1'],
16
+ buttonsEl: [
17
+ 'smarthr-ui-AppNavi-buttons',
18
+ 'shr-flex shr-items-stretch shr-gap-1 shr-self-stretch',
19
+ ],
20
+ listItem: ['smarthr-ui-AppNavi-listItem', 'shr-list-none'],
21
+ },
22
+ });
23
+ export const AppNavi = ({ label, buttons, className, children, displayDropdownCaret = false, ...props }) => {
24
+ const { wrapperStyle, statusLabelStyle, buttonsStyle, listItemStyle } = useMemo(() => {
25
+ const { wrapper, statusLabel, buttonsEl, listItem } = appNavi();
26
+ return {
27
+ wrapperStyle: wrapper({ className }),
28
+ statusLabelStyle: statusLabel(),
29
+ buttonsStyle: buttonsEl(),
30
+ listItemStyle: listItem(),
31
+ };
32
+ }, [className]);
33
+ return (React.createElement(Nav, { ...props, className: wrapperStyle },
34
+ label && React.createElement(StatusLabel, { className: statusLabelStyle }, label),
35
+ buttons && (React.createElement("ul", { className: buttonsStyle }, buttons.map((button, i) => {
18
36
  if ('tag' in button) {
19
- const { tag, icon, current, children: buttonChildren, ...buttonProps } = button;
20
- return (React.createElement("li", { key: i, className: classNames.listItem },
21
- React.createElement(AppNaviCustomTag, { ...buttonProps, tag: tag, icon: icon, current: current, isUnclickable: isUnclickable }, buttonChildren)));
37
+ return (React.createElement("li", { key: i, className: listItemStyle },
38
+ React.createElement(AppNaviCustomTag, { ...button })));
22
39
  }
23
40
  if ('href' in button) {
24
- return (React.createElement("li", { key: i, className: classNames.listItem },
25
- React.createElement(AppNaviAnchor, { href: button.href, icon: button.icon, current: button.current, isUnclickable: isUnclickable }, button.children)));
41
+ return (React.createElement("li", { key: i, className: listItemStyle },
42
+ React.createElement(AppNaviAnchor, { ...button })));
26
43
  }
27
44
  if ('dropdownContent' in button) {
28
- return (React.createElement("li", { key: i, className: classNames.listItem },
29
- React.createElement(AppNaviDropdown, { dropdownContent: button.dropdownContent, icon: button.icon, current: button.current, isUnclickable: isUnclickable, displayCaret: displayDropdownCaret }, button.children)));
45
+ return (React.createElement("li", { key: i, className: listItemStyle },
46
+ React.createElement(AppNaviDropdown, { ...button, displayCaret: displayDropdownCaret })));
30
47
  }
31
- return (React.createElement("li", { key: i, className: classNames.listItem },
32
- React.createElement(AppNaviButton, { icon: button.icon, current: button.current, onClick: button.onClick, isUnclickable: isUnclickable }, button.children)));
48
+ return (React.createElement("li", { key: i, className: listItemStyle },
49
+ React.createElement(AppNaviButton, { ...button })));
33
50
  }))),
34
51
  children));
35
52
  };
36
- const WrapperNav = styled(Nav) `
37
- ${({ themes: { color, shadow, spacingByChar } }) => css `
38
- display: flex;
39
- align-items: center;
40
- min-width: max-content;
41
- box-shadow: ${shadow.LAYER1};
42
- background-color: ${color.WHITE};
43
- padding-right: ${spacingByChar(1.5)};
44
- padding-left: ${spacingByChar(1.5)};
45
- `}
46
- `;
47
- const StyledStatusLabel = styled(StatusLabel) `
48
- ${({ $themes: { spacingByChar } }) => css `
49
- margin-right: ${spacingByChar(1)};
50
- `}
51
- `;
52
- const Buttons = styled.ul `
53
- ${({ themes: { spacingByChar } }) => css `
54
- align-self: stretch;
55
- display: flex;
56
- align-items: stretch;
57
- gap: ${spacingByChar(1)};
58
- margin: 0;
59
- padding: 0;
60
-
61
- > li {
62
- list-style: none;
63
- }
64
- `}
65
- `;
66
53
  //# sourceMappingURL=AppNavi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppNavi.js","sourceRoot":"","sources":["../../../src/components/AppNavi/AppNavi.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppNavi.js","sourceRoot":"","sources":["../../../src/components/AppNavi/AppNavi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA8D,OAAO,EAAE,MAAM,OAAO,CAAA;AAClG,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAyB,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAA;AAezE,MAAM,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,EAAE;QACL,OAAO,EAAE;YACP,oBAAoB;YACpB,oFAAoF;SACrF;QACD,WAAW,EAAE,CAAC,0BAA0B,EAAE,UAAU,CAAC;QACrD,SAAS,EAAE;YACT,4BAA4B;YAC5B,uDAAuD;SACxD;QACD,QAAQ,EAAE,CAAC,6BAA6B,EAAE,eAAe,CAAC;KAC3D;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,OAAO,GAA6B,CAAC,EAChD,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,oBAAoB,GAAG,KAAK,EAC5B,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QACnF,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAA;QAC/D,OAAO;YACL,YAAY,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;YACpC,gBAAgB,EAAE,WAAW,EAAE;YAC/B,YAAY,EAAE,SAAS,EAAE;YACzB,aAAa,EAAE,QAAQ,EAAE;SAC1B,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,OAAO,CACL,oBAAC,GAAG,OAAK,KAAK,EAAE,SAAS,EAAE,YAAY;QACpC,KAAK,IAAI,oBAAC,WAAW,IAAC,SAAS,EAAE,gBAAgB,IAAG,KAAK,CAAe;QAExE,OAAO,IAAI,CACV,4BAAI,SAAS,EAAE,YAAY,IACxB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzB,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACpB,OAAO,CACL,4BAAI,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa;oBAClC,oBAAC,gBAAgB,OAAK,MAAM,GAAI,CAC7B,CACN,CAAA;YACH,CAAC;YAED,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;gBACrB,OAAO,CACL,4BAAI,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa;oBAElC,oBAAC,aAAa,OAAK,MAAM,GAAI,CAC1B,CACN,CAAA;YACH,CAAC;YAED,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAAC;gBAChC,OAAO,CACL,4BAAI,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa;oBAClC,oBAAC,eAAe,OAAK,MAAM,EAAE,YAAY,EAAE,oBAAoB,GAAI,CAChE,CACN,CAAA;YACH,CAAC;YAED,OAAO,CACL,4BAAI,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa;gBAClC,oBAAC,aAAa,OAAK,MAAM,GAAI,CAC1B,CACN,CAAA;QACH,CAAC,CAAC,CACC,CACN;QAEA,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -1,17 +1,11 @@
1
- import React, { ReactNode, VFC } from 'react';
1
+ import React, { FC, PropsWithChildren } from 'react';
2
2
  import { ComponentProps as IconProps } from '../Icon';
3
- export type AppNaviAnchorProps = {
4
- /** アンカーのテキスト */
5
- children: ReactNode;
3
+ export type AppNaviAnchorProps = PropsWithChildren<{
6
4
  /** アンカーの href */
7
5
  href: string;
8
6
  /** 表示するアイコンタイプ */
9
7
  icon?: React.ComponentType<IconProps>;
10
8
  /** アクティブ状態であるかどうか */
11
9
  current?: boolean;
12
- };
13
- type InnerProps = AppNaviAnchorProps & {
14
- isUnclickable?: boolean;
15
- };
16
- export declare const AppNaviAnchor: VFC<InnerProps>;
17
- export {};
10
+ }>;
11
+ export declare const AppNaviAnchor: FC<AppNaviAnchorProps>;
@@ -1,21 +1,23 @@
1
- import React from 'react';
2
- import styled, { css } from 'styled-components';
3
- import { useTheme } from '../../hooks/useTheme';
4
- import { getIconComponent, getItemStyle } from './appNaviHelper';
5
- import { useClassNames } from './useClassNames';
6
- export const AppNaviAnchor = ({ children, href, icon, current = false, isUnclickable = false, }) => {
7
- const theme = useTheme();
8
- const classNames = useClassNames();
9
- const iconComponent = getIconComponent(theme, { icon, current });
10
- return (React.createElement(Anchor, { "$themes": theme, "aria-current": current ? 'page' : undefined, href: isUnclickable ? undefined : href, className: classNames.anchor, "$isActive": current, "$isUnclickable": isUnclickable },
11
- iconComponent,
1
+ import React, { useMemo } from 'react';
2
+ import { tv } from 'tailwind-variants';
3
+ import { appNaviItemStyle } from './style';
4
+ const appNaviAnchor = tv({
5
+ extend: appNaviItemStyle,
6
+ slots: {
7
+ wrapper: ['smarthr-ui-AppNavi-anchor', 'forced-colors:shr-underline'],
8
+ },
9
+ });
10
+ export const AppNaviAnchor = ({ children, href, icon: Icon, current = false, }) => {
11
+ const clickable = !current;
12
+ const { wrapperStyle, iconStyle } = useMemo(() => {
13
+ const { wrapper, icon } = appNaviAnchor({ active: current });
14
+ return {
15
+ wrapperStyle: wrapper(),
16
+ iconStyle: icon(),
17
+ };
18
+ }, [current]);
19
+ return (React.createElement("a", { "aria-current": current ? 'page' : undefined, href: clickable ? href : undefined, className: wrapperStyle },
20
+ Icon && React.createElement(Icon, { className: iconStyle }),
12
21
  children));
13
22
  };
14
- const Anchor = styled.a((props) => css `
15
- ${getItemStyle(props)}
16
-
17
- @media (forced-colors: active) {
18
- text-decoration: underline;
19
- }
20
- `);
21
23
  //# sourceMappingURL=AppNaviAnchor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppNaviAnchor.js","sourceRoot":"","sources":["../../../src/components/AppNavi/AppNaviAnchor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG/C,OAAO,EAAkB,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAgB/C,MAAM,CAAC,MAAM,aAAa,GAAoB,CAAC,EAC7C,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,aAAa,GAAG,KAAK,GACtB,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAEhE,OAAO,CACL,oBAAC,MAAM,eACI,KAAK,kBACA,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC1C,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACtC,SAAS,EAAE,UAAU,CAAC,MAAM,eACjB,OAAO,oBACF,aAAa;QAE5B,aAAa;QACb,QAAQ,CACF,CACV,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CACrB,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAA;MACV,YAAY,CAAC,KAAK,CAAC;;;;;GAKtB,CACF,CAAA"}
1
+ {"version":3,"file":"AppNaviAnchor.js","sourceRoot":"","sources":["../../../src/components/AppNavi/AppNaviAnchor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAyB,OAAO,EAAE,MAAM,OAAO,CAAA;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAItC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAW1C,MAAM,aAAa,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,CAAC,2BAA2B,EAAE,6BAA6B,CAAC;KACtE;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EACpD,QAAQ,EACR,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,OAAO,GAAG,KAAK,GAChB,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,CAAC,OAAO,CAAA;IAC1B,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QAC5D,OAAO;YACL,YAAY,EAAE,OAAO,EAAE;YACvB,SAAS,EAAE,IAAI,EAAE;SAClB,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,OAAO,CACL,2CACgB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC1C,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAClC,SAAS,EAAE,YAAY;QAEtB,IAAI,IAAI,oBAAC,IAAI,IAAC,SAAS,EAAE,SAAS,GAAI;QACtC,QAAQ,CACP,CACL,CAAA;AACH,CAAC,CAAA"}
@@ -1,17 +1,11 @@
1
- import React, { ReactNode, VFC } from 'react';
1
+ import React, { FC, PropsWithChildren } from 'react';
2
2
  import { ComponentProps as IconProps } from '../Icon';
3
- export type AppNaviButtonProps = {
4
- /** ボタンのテキスト */
5
- children: ReactNode;
3
+ export type AppNaviButtonProps = PropsWithChildren<{
6
4
  /** 表示するアイコンタイプ */
7
5
  icon?: React.ComponentType<IconProps>;
8
6
  /** アクティブ状態であるかどうか */
9
7
  current?: boolean;
10
8
  /** クリックイベントのハンドラ */
11
9
  onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
12
- };
13
- type InnerProps = AppNaviButtonProps & {
14
- isUnclickable?: boolean;
15
- };
16
- export declare const AppNaviButton: VFC<InnerProps>;
17
- export {};
10
+ }>;
11
+ export declare const AppNaviButton: FC<AppNaviButtonProps>;
@@ -1,16 +1,23 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import { useTheme } from '../../hooks/useTheme';
1
+ import React, { useMemo } from 'react';
2
+ import { tv } from 'tailwind-variants';
4
3
  import { UnstyledButton } from '../Button';
5
- import { getIconComponent, getItemStyle } from './appNaviHelper';
6
- import { useClassNames } from './useClassNames';
7
- export const AppNaviButton = ({ children, icon, current = false, isUnclickable = false, onClick, }) => {
8
- const theme = useTheme();
9
- const classNames = useClassNames();
10
- const iconComponent = getIconComponent(theme, { icon, current });
11
- return (React.createElement(Button, { "$themes": theme, "aria-current": current ? 'page' : undefined, onClick: onClick, disabled: isUnclickable, type: "button", className: classNames.button, "$isActive": current, "$isUnclickable": isUnclickable },
12
- iconComponent,
4
+ import { appNaviItemStyle } from './style';
5
+ const appNaviButton = tv({
6
+ extend: appNaviItemStyle,
7
+ slots: {
8
+ wrapper: 'smarthr-ui-AppNavi-button',
9
+ },
10
+ });
11
+ export const AppNaviButton = ({ children, icon: Icon, current = false, onClick, }) => {
12
+ const { wrapperStyle, iconStyle } = useMemo(() => {
13
+ const { wrapper, icon } = appNaviButton({ active: current });
14
+ return {
15
+ wrapperStyle: wrapper(),
16
+ iconStyle: icon(),
17
+ };
18
+ }, [current]);
19
+ return (React.createElement(UnstyledButton, { "aria-current": current ? 'page' : undefined, onClick: onClick, disabled: current, className: wrapperStyle },
20
+ Icon && React.createElement(Icon, { className: iconStyle }),
13
21
  children));
14
22
  };
15
- const Button = styled(UnstyledButton)((props) => getItemStyle(props));
16
23
  //# sourceMappingURL=AppNaviButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppNaviButton.js","sourceRoot":"","sources":["../../../src/components/AppNavi/AppNaviButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAG1C,OAAO,EAAkB,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAiB/C,MAAM,CAAC,MAAM,aAAa,GAAoB,CAAC,EAC7C,QAAQ,EACR,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,aAAa,GAAG,KAAK,EACrB,OAAO,GACR,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAEhE,OAAO,CACL,oBAAC,MAAM,eACI,KAAK,kBACA,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC1C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,UAAU,CAAC,MAAM,eACjB,OAAO,oBACF,aAAa;QAE5B,aAAa;QACb,QAAQ,CACF,CACV,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"AppNaviButton.js","sourceRoot":"","sources":["../../../src/components/AppNavi/AppNaviButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAyB,OAAO,EAAE,MAAM,OAAO,CAAA;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAW1C,MAAM,aAAa,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,2BAA2B;KACrC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EACpD,QAAQ,EACR,IAAI,EAAE,IAAI,EACV,OAAO,GAAG,KAAK,EACf,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QAC5D,OAAO;YACL,YAAY,EAAE,OAAO,EAAE;YACvB,SAAS,EAAE,IAAI,EAAE;SAClB,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,OAAO,CACL,oBAAC,cAAc,oBACC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC1C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,YAAY;QAEtB,IAAI,IAAI,oBAAC,IAAI,IAAC,SAAS,EAAE,SAAS,GAAI;QACtC,QAAQ,CACM,CAClB,CAAA;AACH,CAAC,CAAA"}
@@ -1,19 +1,13 @@
1
- import React, { ComponentType, ReactNode, VFC } from 'react';
1
+ import React, { ComponentType, FC, PropsWithChildren } from 'react';
2
2
  import { ComponentProps as IconProps } from '../Icon';
3
- export type AppNaviCustomTagProps = {
4
- /** ボタンのテキスト */
5
- children: ReactNode;
3
+ export type AppNaviCustomTagProps = PropsWithChildren<{
6
4
  /** このボタンのカスタムタグ */
7
5
  tag: ComponentType<any>;
8
6
  /** 表示するアイコンタイプ */
9
7
  icon?: React.ComponentType<IconProps>;
10
8
  /** アクティブ状態であるかどうか */
11
9
  current?: boolean;
12
- } & {
10
+ }> & {
13
11
  [key: string]: any;
14
12
  };
15
- type InnerProps = AppNaviCustomTagProps & {
16
- isUnclickable?: boolean;
17
- };
18
- export declare const AppNaviCustomTag: VFC<InnerProps>;
19
- export {};
13
+ export declare const AppNaviCustomTag: FC<AppNaviCustomTagProps>;
@@ -1,28 +1,22 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import { useTheme } from '../../hooks/useTheme';
4
- import { getIconComponent, getItemStyle } from './appNaviHelper';
5
- import { useClassNames } from './useClassNames';
6
- export const AppNaviCustomTag = ({ children, tag, icon, current = false, isUnclickable = false, ...props }) => {
7
- const theme = useTheme();
8
- const classNames = useClassNames();
9
- const iconComponent = getIconComponent(theme, { icon, current });
10
- if (current) {
11
- if (isUnclickable) {
12
- const unclickableProps = { href: undefined, disabled: true };
13
- return (React.createElement(UnclickableActive, { ...props, ...unclickableProps, as: tag, "$themes": theme, "aria-current": "page", className: classNames.customTag },
14
- iconComponent,
15
- children));
16
- }
17
- return (React.createElement(Active, { ...props, as: tag, "$themes": theme, "aria-current": "page", className: classNames.customTag },
18
- iconComponent,
19
- children));
20
- }
21
- return (React.createElement(InActive, { ...props, as: tag, "$themes": theme, className: classNames.customTag },
22
- iconComponent,
1
+ import React, { useMemo } from 'react';
2
+ import { tv } from 'tailwind-variants';
3
+ import { appNaviItemStyle } from './style';
4
+ const appNaviCustomTag = tv({
5
+ extend: appNaviItemStyle,
6
+ slots: {
7
+ wrapper: 'smarthr-ui-AppNavi-customTag',
8
+ },
9
+ });
10
+ export const AppNaviCustomTag = ({ children, tag: Tag, icon: Icon, current = false, ...props }) => {
11
+ const { wrapperStyle, iconStyle } = useMemo(() => {
12
+ const { wrapper, icon } = appNaviCustomTag({ active: current });
13
+ return {
14
+ wrapperStyle: wrapper(),
15
+ iconStyle: icon(),
16
+ };
17
+ }, [current]);
18
+ return (React.createElement(Tag, { ...props, "aria-current": current ? 'page' : undefined, className: wrapperStyle },
19
+ Icon && React.createElement(Icon, { className: iconStyle }),
23
20
  children));
24
21
  };
25
- const Active = styled.div(({ $themes }) => getItemStyle({ $themes, $isActive: true }));
26
- const InActive = styled.div(({ $themes }) => getItemStyle({ $themes }));
27
- const UnclickableActive = styled.div(({ $themes }) => getItemStyle({ $themes, $isActive: true, $isUnclickable: true }));
28
22
  //# sourceMappingURL=AppNaviCustomTag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppNaviCustomTag.js","sourceRoot":"","sources":["../../../src/components/AppNavi/AppNaviCustomTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAA;AAC5D,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAS,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGtD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAgB/C,MAAM,CAAC,MAAM,gBAAgB,GAAoB,CAAC,EAChD,QAAQ,EACR,GAAG,EACH,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,aAAa,GAAG,KAAK,EACrB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAEhE,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,gBAAgB,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;YAC5D,OAAO,CACL,oBAAC,iBAAiB,OACZ,KAAK,KACL,gBAAgB,EACpB,EAAE,EAAE,GAAG,aACE,KAAK,kBACD,MAAM,EACnB,SAAS,EAAE,UAAU,CAAC,SAAS;gBAE9B,aAAa;gBACb,QAAQ,CACS,CACrB,CAAA;QACH,CAAC;QACD,OAAO,CACL,oBAAC,MAAM,OACD,KAAK,EACT,EAAE,EAAE,GAAG,aACE,KAAK,kBACD,MAAM,EACnB,SAAS,EAAE,UAAU,CAAC,SAAS;YAE9B,aAAa;YACb,QAAQ,CACF,CACV,CAAA;IACH,CAAC;IAED,OAAO,CACL,oBAAC,QAAQ,OAAK,KAAK,EAAE,EAAE,EAAE,GAAG,aAAW,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS;QAC1E,aAAa;QACb,QAAQ,CACA,CACZ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC5D,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAC3C,CAAA;AACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AAC3F,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACvE,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CACjE,CAAA"}
1
+ {"version":3,"file":"AppNaviCustomTag.js","sourceRoot":"","sources":["../../../src/components/AppNavi/AppNaviCustomTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwC,OAAO,EAAE,MAAM,OAAO,CAAA;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAItC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAW1C,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC1B,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE;QACL,OAAO,EAAE,8BAA8B;KACxC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,EAC1D,QAAQ,EACR,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,OAAO,GAAG,KAAK,EACf,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QAC/D,OAAO;YACL,YAAY,EAAE,OAAO,EAAE;YACvB,SAAS,EAAE,IAAI,EAAE;SAClB,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,OAAO,CACL,oBAAC,GAAG,OAAK,KAAK,kBAAgB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY;QAChF,IAAI,IAAI,oBAAC,IAAI,IAAC,SAAS,EAAE,SAAS,GAAI;QACtC,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -1,18 +1,12 @@
1
- import React, { ReactNode, VFC } from 'react';
1
+ import React, { FC, PropsWithChildren, ReactNode } from 'react';
2
2
  import { ComponentProps as IconProps } from '../Icon';
3
- export type AppNaviDropdownProps = {
4
- /** ボタンのテキスト */
5
- children: ReactNode;
3
+ export type AppNaviDropdownProps = PropsWithChildren<{
6
4
  /** ドロップダウンのコンテンツ */
7
5
  dropdownContent: ReactNode;
8
6
  /** 表示するアイコンタイプ */
9
7
  icon?: React.ComponentType<IconProps>;
10
8
  /** アクティブ状態であるかどうか */
11
9
  current?: boolean;
12
- };
13
- type InnerProps = AppNaviDropdownProps & {
14
- isUnclickable?: boolean;
15
10
  displayCaret?: boolean;
16
- };
17
- export declare const AppNaviDropdown: VFC<InnerProps>;
18
- export {};
11
+ }>;
12
+ export declare const AppNaviDropdown: FC<AppNaviDropdownProps>;
@@ -1,31 +1,36 @@
1
- import React from 'react';
2
- import styled, { css } from 'styled-components';
3
- import { useTheme } from '../../hooks/useTheme';
1
+ import React, { useMemo } from 'react';
2
+ import { tv } from 'tailwind-variants';
4
3
  import { UnstyledButton } from '../Button';
5
4
  import { Dropdown, DropdownContent, DropdownTrigger } from '../Dropdown';
6
5
  import { FaCaretDownIcon } from '../Icon';
7
- import { getIconComponent, getItemStyle } from './appNaviHelper';
8
- export const AppNaviDropdown = ({ children, dropdownContent, icon, current = false, isUnclickable = false, displayCaret, }) => {
9
- const theme = useTheme();
10
- const iconComponent = getIconComponent(theme, { icon, current });
6
+ import { appNaviItemStyle } from './style';
7
+ const appNaviDropdown = tv({
8
+ extend: appNaviItemStyle,
9
+ variants: {
10
+ displayCaret: {
11
+ true: {
12
+ wrapper: [
13
+ 'smarthr-ui-AppNavi-dropdown',
14
+ '[&[aria-expanded="true"]_.smarthr-ui-Icon:last-child]:shr-rotate-180',
15
+ ],
16
+ },
17
+ },
18
+ },
19
+ });
20
+ export const AppNaviDropdown = ({ children, dropdownContent, icon: Icon, current = false, displayCaret, }) => {
21
+ const { wrapperStyle, iconStyle } = useMemo(() => {
22
+ const { wrapper, icon } = appNaviDropdown({ active: current, displayCaret });
23
+ return {
24
+ wrapperStyle: wrapper(),
25
+ iconStyle: icon(),
26
+ };
27
+ }, [current, displayCaret]);
11
28
  return (React.createElement(Dropdown, null,
12
29
  React.createElement(DropdownTrigger, null,
13
- React.createElement(TriggerButton, { "$themes": theme, "aria-current": current ? 'page' : undefined, disabled: isUnclickable, "$displayCaret": displayCaret, "$isActive": current, "$isUnclickable": isUnclickable },
14
- iconComponent,
30
+ React.createElement(UnstyledButton, { "aria-current": current ? 'page' : undefined, disabled: current, className: wrapperStyle },
31
+ Icon && React.createElement(Icon, { className: iconStyle }),
15
32
  children,
16
33
  displayCaret && React.createElement(FaCaretDownIcon, null))),
17
34
  React.createElement(DropdownContent, null, dropdownContent)));
18
35
  };
19
- const TriggerButton = styled(UnstyledButton)(({ $displayCaret, ...props }) => css `
20
- ${getItemStyle(props)}
21
-
22
- ${$displayCaret &&
23
- css `
24
- &[aria-expanded='true'] {
25
- .smarthr-ui-Icon:last-child {
26
- transform: rotate(0.5turn);
27
- }
28
- }
29
- `}
30
- `);
31
36
  //# sourceMappingURL=AppNaviDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppNaviDropdown.js","sourceRoot":"","sources":["../../../src/components/AppNavi/AppNaviDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,eAAe,EAA+B,MAAM,SAAS,CAAA;AAEtE,OAAO,EAAkB,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAkBhF,MAAM,CAAC,MAAM,eAAe,GAAoB,CAAC,EAC/C,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,aAAa,GAAG,KAAK,EACrB,YAAY,GACb,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAEhE,OAAO,CACL,oBAAC,QAAQ;QACP,oBAAC,eAAe;YACd,oBAAC,aAAa,eACH,KAAK,kBACA,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC1C,QAAQ,EAAE,aAAa,mBACR,YAAY,eAChB,OAAO,oBACF,aAAa;gBAE5B,aAAa;gBACb,QAAQ;gBACR,YAAY,IAAI,oBAAC,eAAe,OAAG,CACtB,CACA;QAElB,oBAAC,eAAe,QAAE,eAAe,CAAmB,CAC3C,CACZ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAK1C,CAAC,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;MAChC,YAAY,CAAC,KAAK,CAAC;;MAEnB,aAAa;IACf,GAAG,CAAA;;;;;;KAMF;GACF,CACF,CAAA"}
1
+ {"version":3,"file":"AppNaviDropdown.js","sourceRoot":"","sources":["../../../src/components/AppNavi/AppNaviDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAoC,OAAO,EAAE,MAAM,OAAO,CAAA;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,eAAe,EAA+B,MAAM,SAAS,CAAA;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAY1C,MAAM,eAAe,GAAG,EAAE,CAAC;IACzB,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE;QACR,YAAY,EAAE;YACZ,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,6BAA6B;oBAC7B,sEAAsE;iBACvE;aACF;SACF;KACF;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,EACxD,QAAQ,EACR,eAAe,EACf,IAAI,EAAE,IAAI,EACV,OAAO,GAAG,KAAK,EACf,YAAY,GACb,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAA;QAC5E,OAAO;YACL,YAAY,EAAE,OAAO,EAAE;YACvB,SAAS,EAAE,IAAI,EAAE;SAClB,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;IAE3B,OAAO,CACL,oBAAC,QAAQ;QACP,oBAAC,eAAe;YACd,oBAAC,cAAc,oBACC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC1C,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,YAAY;gBAEtB,IAAI,IAAI,oBAAC,IAAI,IAAC,SAAS,EAAE,SAAS,GAAI;gBACtC,QAAQ;gBACR,YAAY,IAAI,oBAAC,eAAe,OAAG,CACrB,CACD;QAElB,oBAAC,eAAe,QAAE,eAAe,CAAmB,CAC3C,CACZ,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,87 @@
1
+ export declare const appNaviItemStyle: import("tailwind-variants").TVReturnType<{
2
+ active: {
3
+ true: {
4
+ wrapper: string[];
5
+ icon: string;
6
+ };
7
+ false: {
8
+ wrapper: string[];
9
+ icon: string;
10
+ };
11
+ };
12
+ }, {
13
+ wrapper: string[];
14
+ icon: string;
15
+ }, undefined, import("tailwind-variants/dist/config").TVConfig<{
16
+ active: {
17
+ true: {
18
+ wrapper: string[];
19
+ icon: string;
20
+ };
21
+ false: {
22
+ wrapper: string[];
23
+ icon: string;
24
+ };
25
+ };
26
+ }, {
27
+ active: {
28
+ true: {
29
+ wrapper: string[];
30
+ icon: string;
31
+ };
32
+ false: {
33
+ wrapper: string[];
34
+ icon: string;
35
+ };
36
+ };
37
+ }>, {
38
+ active: {
39
+ true: {
40
+ wrapper: string[];
41
+ icon: string;
42
+ };
43
+ false: {
44
+ wrapper: string[];
45
+ icon: string;
46
+ };
47
+ };
48
+ }, {
49
+ wrapper: string[];
50
+ icon: string;
51
+ }, import("tailwind-variants").TVReturnType<{
52
+ active: {
53
+ true: {
54
+ wrapper: string[];
55
+ icon: string;
56
+ };
57
+ false: {
58
+ wrapper: string[];
59
+ icon: string;
60
+ };
61
+ };
62
+ }, {
63
+ wrapper: string[];
64
+ icon: string;
65
+ }, undefined, import("tailwind-variants/dist/config").TVConfig<{
66
+ active: {
67
+ true: {
68
+ wrapper: string[];
69
+ icon: string;
70
+ };
71
+ false: {
72
+ wrapper: string[];
73
+ icon: string;
74
+ };
75
+ };
76
+ }, {
77
+ active: {
78
+ true: {
79
+ wrapper: string[];
80
+ icon: string;
81
+ };
82
+ false: {
83
+ wrapper: string[];
84
+ icon: string;
85
+ };
86
+ };
87
+ }>, unknown, unknown, undefined>>;