@balikjs/mobile 0.0.2 → 0.1.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 (107) hide show
  1. package/dist/index.js +3537 -0
  2. package/dist/styles.css +1 -1
  3. package/package.json +209 -10
  4. package/dist/mobile.js +0 -3235
  5. package/src/Alert/Alert.jsx +0 -67
  6. package/src/Alert/Alert.module.css +0 -87
  7. package/src/Alert/index.js +0 -1
  8. package/src/Avatar/Avatar.jsx +0 -77
  9. package/src/Avatar/Avatar.module.css +0 -74
  10. package/src/Avatar/index.js +0 -1
  11. package/src/Badge/Badge.jsx +0 -83
  12. package/src/Badge/Badge.module.css +0 -141
  13. package/src/Badge/index.js +0 -1
  14. package/src/BottomNavigation/BottomNavigation.jsx +0 -61
  15. package/src/BottomNavigation/BottomNavigation.module.css +0 -53
  16. package/src/BottomNavigation/index.js +0 -1
  17. package/src/BottomSheet/BottomSheet.jsx +0 -51
  18. package/src/BottomSheet/BottomSheet.module.css +0 -56
  19. package/src/BottomSheet/index.js +0 -1
  20. package/src/Button/Button.jsx +0 -77
  21. package/src/Button/Button.module.css +0 -124
  22. package/src/Button/index.js +0 -1
  23. package/src/Card/Card.jsx +0 -31
  24. package/src/Card/Card.module.css +0 -4
  25. package/src/Card/index.js +0 -1
  26. package/src/Checkbox/Checkbox.jsx +0 -64
  27. package/src/Checkbox/Checkbox.module.css +0 -146
  28. package/src/Checkbox/index.js +0 -1
  29. package/src/Clipboard/Clipboard.jsx +0 -82
  30. package/src/Clipboard/Clipboard.module.css +0 -126
  31. package/src/Clipboard/index.js +0 -1
  32. package/src/CloseButton/CloseButton.jsx +0 -51
  33. package/src/CloseButton/CloseButton.module.css +0 -94
  34. package/src/Confirm/Confirm.jsx +0 -52
  35. package/src/Confirm/Confirm.module.css +0 -5
  36. package/src/Confirm/index.js +0 -1
  37. package/src/DatePicker/DatePicker.jsx +0 -276
  38. package/src/DatePicker/DatePicker.module.css +0 -197
  39. package/src/DatePicker/index.js +0 -1
  40. package/src/Dialog/Dialog.jsx +0 -63
  41. package/src/Dialog/Dialog.module.css +0 -111
  42. package/src/Dialog/index.js +0 -1
  43. package/src/Divider/Divider.jsx +0 -38
  44. package/src/Divider/Divider.module.css +0 -16
  45. package/src/Divider/index.js +0 -1
  46. package/src/Drawer/Drawer.jsx +0 -55
  47. package/src/Drawer/Drawer.module.css +0 -68
  48. package/src/Drawer/index.js +0 -1
  49. package/src/Empty/Empty.jsx +0 -35
  50. package/src/Empty/Empty.module.css +0 -17
  51. package/src/Empty/index.js +0 -1
  52. package/src/Fab/Fab.jsx +0 -91
  53. package/src/Fab/Fab.module.css +0 -94
  54. package/src/Fab/index.js +0 -1
  55. package/src/Input/Input.jsx +0 -53
  56. package/src/Input/Input.module.css +0 -97
  57. package/src/Input/index.js +0 -1
  58. package/src/Link/Link.jsx +0 -31
  59. package/src/Link/Link.module.css +0 -18
  60. package/src/Link/index.js +0 -1
  61. package/src/Popover/Popover.jsx +0 -162
  62. package/src/Popover/Popover.module.css +0 -63
  63. package/src/Popover/index.js +0 -1
  64. package/src/RadioGroup/Radio.jsx +0 -52
  65. package/src/RadioGroup/Radio.module.css +0 -133
  66. package/src/RadioGroup/RadioGroup.jsx +0 -36
  67. package/src/RadioGroup/RadioGroup.module.css +0 -23
  68. package/src/RadioGroup/index.js +0 -2
  69. package/src/SearchInput/SearchInput.jsx +0 -89
  70. package/src/SearchInput/SearchInput.module.css +0 -169
  71. package/src/SearchInput/index.js +0 -1
  72. package/src/Select/Select.jsx +0 -102
  73. package/src/Select/Select.module.css +0 -174
  74. package/src/Select/index.js +0 -1
  75. package/src/SelectPc/Select.jsx +0 -88
  76. package/src/SelectPc/SelectPc.module.css +0 -132
  77. package/src/SelectPc/index.js +0 -1
  78. package/src/Skeleton/Skeleton.jsx +0 -55
  79. package/src/Skeleton/Skeleton.module.css +0 -33
  80. package/src/Skeleton/index.js +0 -1
  81. package/src/Slider/Slider.jsx +0 -50
  82. package/src/Slider/Slider.module.css +0 -77
  83. package/src/Slider/index.js +0 -1
  84. package/src/Spinner/Spinner.jsx +0 -45
  85. package/src/Spinner/Spinner.module.css +0 -35
  86. package/src/Spinner/index.js +0 -1
  87. package/src/Switch/Switch.jsx +0 -51
  88. package/src/Switch/Switch.module.css +0 -156
  89. package/src/Switch/index.js +0 -1
  90. package/src/Tabs/Tabs.jsx +0 -75
  91. package/src/Tabs/Tabs.module.css +0 -45
  92. package/src/Tabs/index.js +0 -1
  93. package/src/Tag/Tag.jsx +0 -74
  94. package/src/Tag/Tag.module.css +0 -128
  95. package/src/Tag/index.js +0 -1
  96. package/src/Textarea/Textarea.jsx +0 -52
  97. package/src/Textarea/Textarea.module.css +0 -89
  98. package/src/Textarea/index.js +0 -1
  99. package/src/Toast/Toast.jsx +0 -169
  100. package/src/Toast/Toast.module.css +0 -152
  101. package/src/Toast/index.js +0 -1
  102. package/src/Tooltip/Tooltip.jsx +0 -42
  103. package/src/Tooltip/Tooltip.module.css +0 -41
  104. package/src/Tooltip/index.js +0 -1
  105. package/src/index.js +0 -35
  106. package/src/styles/index.css +0 -90
  107. package/src/styles/tokens.css +0 -227
@@ -1,51 +0,0 @@
1
- import { splitProps, mergeProps } from 'solid-js'
2
- import { Switch as ArkSwitch } from '@ark-ui/solid'
3
- import styles from './Switch.module.css'
4
-
5
- const sizes = {
6
- xs: styles.sizeXs,
7
- sm: styles.sizeSm,
8
- md: styles.sizeMd,
9
- lg: styles.sizeLg,
10
- xl: styles.sizeXl,
11
- '2xl': styles.size2xl,
12
- }
13
-
14
- /**
15
- * @param {import('@ark-ui/solid').SwitchRootProps & {
16
- * size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'
17
- * class?: string
18
- * }} props
19
- */
20
- export function Switch(props) {
21
- const [local, rest] = splitProps(
22
- mergeProps({ size: 'md' }, props),
23
- ['class', 'children', 'size'],
24
- )
25
-
26
- return (
27
- <ArkSwitch.Root
28
- {...rest}
29
- class={[
30
- 'balik-switch',
31
- styles.root,
32
- sizes[local.size],
33
- local.class,
34
- ]
35
- .filter(Boolean)
36
- .join(' ')}
37
- >
38
- <ArkSwitch.Control class={styles.control}>
39
- <ArkSwitch.Thumb class={styles.thumb} />
40
- </ArkSwitch.Control>
41
- {local.children && (
42
- <ArkSwitch.Label class={styles.label}>
43
- {local.children}
44
- </ArkSwitch.Label>
45
- )}
46
- <ArkSwitch.HiddenInput />
47
- </ArkSwitch.Root>
48
- )
49
- }
50
-
51
- Switch.Original = ArkSwitch
@@ -1,156 +0,0 @@
1
- .root {
2
- display: inline-flex;
3
- align-items: center;
4
- gap: var(--_sw-gap, 10px);
5
- min-height: var(--_sw-min-height, var(--b-comp-height-md));
6
- cursor: pointer;
7
- font-family: inherit;
8
- user-select: none;
9
- touch-action: manipulation;
10
- }
11
-
12
- .root[data-disabled] {
13
- cursor: not-allowed;
14
- }
15
-
16
- .control {
17
- position: relative;
18
- width: var(--_sw-track-width, calc(2 * var(--b-comp-secondary-height-md)));
19
- height: var(--_sw-track-height, var(--b-comp-secondary-height-md));
20
- flex-shrink: 0;
21
- border-radius: var(--_sw-track-radius, calc(var(--b-comp-secondary-height-md) / 2));
22
- background-color: color-mix(in oklch, var(--base-fg) 14%, var(--base-bg));
23
- transition: background-color var(--b-transition-fast);
24
- }
25
-
26
- .control[data-state="checked"] {
27
- background-color: var(--base-edge);
28
- }
29
-
30
- .root[data-disabled] .control {
31
- background-color: var(--color-disabled-bg);
32
- }
33
-
34
- .root[data-disabled] .control[data-state="checked"] {
35
- background-color: var(--color-disabled-border);
36
- }
37
-
38
- .root[data-invalid] .control {
39
- box-shadow: 0 0 0 1px var(--color-danger);
40
- }
41
-
42
- .thumb {
43
- position: absolute;
44
- top: var(--_sw-thumb-offset, 2px);
45
- left: var(--_sw-thumb-offset, 2px);
46
- width: var(--_sw-thumb-size, calc(var(--b-comp-secondary-height-md) - 4px));
47
- height: var(--_sw-thumb-size, calc(var(--b-comp-secondary-height-md) - 4px));
48
- border-radius: 50%;
49
- background-color: var(--base-bg);
50
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
51
- transform: translateX(0);
52
- transition: transform var(--b-transition-fast);
53
- }
54
-
55
- .thumb[data-state="checked"] {
56
- transform: translateX(var(--_sw-thumb-travel, calc(var(--b-comp-secondary-height-md) - 4px)));
57
- }
58
-
59
- .root[data-disabled] .thumb {
60
- background-color: var(--color-disabled-border);
61
- box-shadow: none;
62
- }
63
-
64
- .root[data-disabled] .thumb[data-state="checked"] {
65
- background-color: var(--base-bg);
66
- }
67
-
68
- .label {
69
- font-size: var(--_sw-font-size, var(--b-comp-font-size-md));
70
- line-height: var(--_sw-line-height, var(--b-comp-line-height-md));
71
- color: var(--base-fg);
72
- }
73
-
74
- .root[data-disabled] .label {
75
- color: var(--color-disabled-fg);
76
- }
77
-
78
- /* ─── Size Overrides ─── */
79
-
80
- .sizeXs {
81
- --_sw-track-height: var(--b-comp-secondary-height-xs);
82
- --_sw-track-width: calc(2 * var(--b-comp-secondary-height-xs));
83
- --_sw-track-radius: calc(var(--b-comp-secondary-height-xs) / 2);
84
- --_sw-thumb-size: calc(var(--b-comp-secondary-height-xs) - 4px);
85
- --_sw-thumb-offset: 2px;
86
- --_sw-thumb-travel: calc(var(--b-comp-secondary-height-xs) - 4px);
87
- --_sw-gap: 8px;
88
- --_sw-min-height: var(--b-comp-height-xs);
89
- --_sw-font-size: var(--b-comp-font-size-xs);
90
- --_sw-line-height: var(--b-comp-line-height-xs);
91
- }
92
-
93
- .sizeSm {
94
- --_sw-track-height: var(--b-comp-secondary-height-sm);
95
- --_sw-track-width: calc(2 * var(--b-comp-secondary-height-sm));
96
- --_sw-track-radius: calc(var(--b-comp-secondary-height-sm) / 2);
97
- --_sw-thumb-size: calc(var(--b-comp-secondary-height-sm) - 4px);
98
- --_sw-thumb-offset: 2px;
99
- --_sw-thumb-travel: calc(var(--b-comp-secondary-height-sm) - 4px);
100
- --_sw-gap: 9px;
101
- --_sw-min-height: var(--b-comp-height-sm);
102
- --_sw-font-size: var(--b-comp-font-size-sm);
103
- --_sw-line-height: var(--b-comp-line-height-sm);
104
- }
105
-
106
- .sizeMd {
107
- --_sw-track-height: var(--b-comp-secondary-height-md);
108
- --_sw-track-width: calc(2 * var(--b-comp-secondary-height-md));
109
- --_sw-track-radius: calc(var(--b-comp-secondary-height-md) / 2);
110
- --_sw-thumb-size: calc(var(--b-comp-secondary-height-md) - 4px);
111
- --_sw-thumb-offset: 2px;
112
- --_sw-thumb-travel: calc(var(--b-comp-secondary-height-md) - 4px);
113
- --_sw-gap: 10px;
114
- --_sw-min-height: var(--b-comp-height-md);
115
- --_sw-font-size: var(--b-comp-font-size-md);
116
- --_sw-line-height: var(--b-comp-line-height-md);
117
- }
118
-
119
- .sizeLg {
120
- --_sw-track-height: var(--b-comp-secondary-height-lg);
121
- --_sw-track-width: calc(2 * var(--b-comp-secondary-height-lg));
122
- --_sw-track-radius: calc(var(--b-comp-secondary-height-lg) / 2);
123
- --_sw-thumb-size: calc(var(--b-comp-secondary-height-lg) - 4px);
124
- --_sw-thumb-offset: 2px;
125
- --_sw-thumb-travel: calc(var(--b-comp-secondary-height-lg) - 4px);
126
- --_sw-gap: 11px;
127
- --_sw-min-height: var(--b-comp-height-lg);
128
- --_sw-font-size: var(--b-comp-font-size-lg);
129
- --_sw-line-height: var(--b-comp-line-height-lg);
130
- }
131
-
132
- .sizeXl {
133
- --_sw-track-height: var(--b-comp-secondary-height-xl);
134
- --_sw-track-width: calc(2 * var(--b-comp-secondary-height-xl));
135
- --_sw-track-radius: calc(var(--b-comp-secondary-height-xl) / 2);
136
- --_sw-thumb-size: calc(var(--b-comp-secondary-height-xl) - 4px);
137
- --_sw-thumb-offset: 2px;
138
- --_sw-thumb-travel: calc(var(--b-comp-secondary-height-xl) - 4px);
139
- --_sw-gap: 12px;
140
- --_sw-min-height: var(--b-comp-height-xl);
141
- --_sw-font-size: var(--b-comp-font-size-xl);
142
- --_sw-line-height: var(--b-comp-line-height-xl);
143
- }
144
-
145
- .size2xl {
146
- --_sw-track-height: var(--b-comp-secondary-height-2xl);
147
- --_sw-track-width: calc(2 * var(--b-comp-secondary-height-2xl));
148
- --_sw-track-radius: calc(var(--b-comp-secondary-height-2xl) / 2);
149
- --_sw-thumb-size: calc(var(--b-comp-secondary-height-2xl) - 4px);
150
- --_sw-thumb-offset: 2px;
151
- --_sw-thumb-travel: calc(var(--b-comp-secondary-height-2xl) - 4px);
152
- --_sw-gap: 16px;
153
- --_sw-min-height: var(--b-comp-height-2xl);
154
- --_sw-font-size: var(--b-comp-font-size-2xl);
155
- --_sw-line-height: var(--b-comp-line-height-2xl);
156
- }
@@ -1 +0,0 @@
1
- export { Switch } from './Switch.jsx'
package/src/Tabs/Tabs.jsx DELETED
@@ -1,75 +0,0 @@
1
- import { splitProps } from 'solid-js'
2
- import { Tabs as ArkTabs } from '@ark-ui/solid'
3
- import styles from './Tabs.module.css'
4
-
5
- /**
6
- * @param {import('@ark-ui/solid').TabsRootProps} props
7
- */
8
- function TabsRoot(props) {
9
- return (
10
- <ArkTabs.Root
11
- class="balik-tabs"
12
- {...props}
13
- />
14
- )
15
- }
16
-
17
- /**
18
- * @param {import('@ark-ui/solid').TabListProps & { class?: string }} props
19
- */
20
- function TabsList(props) {
21
- const [local, rest] = splitProps(props, ['class'])
22
- return (
23
- <ArkTabs.List
24
- class={['balik-tabs__list', styles.list, local.class].filter(Boolean).join(' ')}
25
- {...rest}
26
- />
27
- )
28
- }
29
-
30
- /**
31
- * @param {import('@ark-ui/solid').TabTriggerProps & { class?: string }} props
32
- */
33
- function TabsTrigger(props) {
34
- const [local, rest] = splitProps(props, ['class'])
35
- return (
36
- <ArkTabs.Trigger
37
- class={['balik-tabs__trigger', styles.trigger, local.class].filter(Boolean).join(' ')}
38
- {...rest}
39
- />
40
- )
41
- }
42
-
43
- /**
44
- * @param {import('@ark-ui/solid').TabContentProps & { class?: string }} props
45
- */
46
- function TabsContent(props) {
47
- const [local, rest] = splitProps(props, ['class'])
48
- return (
49
- <ArkTabs.Content
50
- class={['balik-tabs__content', styles.content, local.class].filter(Boolean).join(' ')}
51
- {...rest}
52
- />
53
- )
54
- }
55
-
56
- /**
57
- * @param {import('@ark-ui/solid').TabIndicatorProps & { class?: string }} props
58
- */
59
- function TabsIndicator(props) {
60
- const [local, rest] = splitProps(props, ['class'])
61
- return (
62
- <ArkTabs.Indicator
63
- class={['balik-tabs__indicator', styles.indicator, local.class].filter(Boolean).join(' ')}
64
- {...rest}
65
- />
66
- )
67
- }
68
-
69
- export const Tabs = Object.assign(TabsRoot, {
70
- List: TabsList,
71
- Trigger: TabsTrigger,
72
- Content: TabsContent,
73
- Indicator: TabsIndicator,
74
- Original: ArkTabs,
75
- })
@@ -1,45 +0,0 @@
1
- .list {
2
- position: relative;
3
- display: flex;
4
- border-bottom: 1px solid color-mix(in oklch, var(--base-fg) 12%, var(--base-bg));
5
- }
6
-
7
- .trigger {
8
- position: relative;
9
- display: flex;
10
- align-items: center;
11
- justify-content: center;
12
- height: 40px;
13
- padding: 0 var(--b-container-padding-md);
14
- border: none;
15
- border-bottom: 1px solid transparent;
16
- background: transparent;
17
- color: color-mix(in oklch, var(--base-fg) 55%, transparent);
18
- font-size: var(--b-comp-font-size-md);
19
- font-family: inherit;
20
- cursor: pointer;
21
- white-space: nowrap;
22
- transition: none;
23
- }
24
-
25
- .trigger[data-selected] {
26
- color: var(--base-edge);
27
- border-bottom-color: var(--base-edge);
28
- }
29
-
30
- .trigger[data-disabled] {
31
- opacity: 0.4;
32
- cursor: not-allowed;
33
- }
34
-
35
- .indicator {
36
- position: absolute;
37
- bottom: 0;
38
- height: 1px;
39
- background-color: var(--base-edge);
40
- transition: transform var(--b-transition-normal), width var(--b-transition-normal);
41
- }
42
-
43
- .content {
44
- padding-top: var(--b-container-padding-sm);
45
- }
package/src/Tabs/index.js DELETED
@@ -1 +0,0 @@
1
- export { Tabs } from './Tabs.jsx'
package/src/Tag/Tag.jsx DELETED
@@ -1,74 +0,0 @@
1
- import { splitProps, mergeProps } from 'solid-js'
2
- import { CloseButton } from '../CloseButton/CloseButton.jsx'
3
- import styles from './Tag.module.css'
4
-
5
- const variants = {
6
- solid: styles.solid,
7
- outline: styles.outline,
8
- }
9
-
10
- const intents = {
11
- default: styles.intentDefault,
12
- success: styles.intentSuccess,
13
- warning: styles.intentWarning,
14
- danger: styles.intentDanger,
15
- info: styles.intentInfo,
16
- }
17
-
18
- const sizes = {
19
- xs: styles.sizeXs,
20
- sm: styles.sizeSm,
21
- md: styles.sizeMd,
22
- lg: styles.sizeLg,
23
- xl: styles.sizeXl,
24
- '2xl': styles.size2xl,
25
- }
26
-
27
- const DEFAULT_PROPS = {
28
- variant: 'solid',
29
- intent: 'default',
30
- size: 'sm',
31
- closable: false,
32
- }
33
-
34
- /**
35
- * @param {import('solid-js').JSX.HTMLAttributes<HTMLSpanElement> & {
36
- * variant?: 'solid' | 'outline'
37
- * intent?: 'default' | 'success' | 'warning' | 'danger' | 'info'
38
- * size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'
39
- * closable?: boolean
40
- * onClose?: () => void
41
- * class?: string
42
- * children?: import('solid-js').JSX.Element
43
- * }} props
44
- */
45
- export function Tag(props) {
46
- const [local, rest] = splitProps(
47
- mergeProps(DEFAULT_PROPS, props),
48
- ['variant', 'intent', 'size', 'closable', 'onClose', 'class', 'children'],
49
- )
50
-
51
- return (
52
- <span
53
- {...rest}
54
- class={[
55
- 'balik-tag',
56
- `balik-tag--${local.variant}`,
57
- `balik-tag--${local.intent}`,
58
- `balik-tag--${local.size}`,
59
- styles.base,
60
- variants[local.variant],
61
- intents[local.intent],
62
- sizes[local.size],
63
- local.class,
64
- ]
65
- .filter(Boolean)
66
- .join(' ')}
67
- >
68
- {local.children}
69
- {local.closable && (
70
- <CloseButton size="xs" rounded class={styles.close} onClick={(e) => { e.stopPropagation(); local.onClose?.() }} />
71
- )}
72
- </span>
73
- )
74
- }
@@ -1,128 +0,0 @@
1
- .base {
2
- display: inline-flex;
3
- align-items: center;
4
- gap: 4px;
5
- white-space: nowrap;
6
- user-select: none;
7
- border-radius: var(--b-radius-round);
8
- font-family: inherit;
9
- line-height: 1;
10
- transition: background-color var(--b-transition-fast),
11
- color var(--b-transition-fast),
12
- border-color var(--b-transition-fast);
13
-
14
- --_current-bg: var(--base-edge);
15
- --_current-fg: var(--base-edge);
16
- --_current-border: var(--base-edge);
17
- }
18
-
19
- .solid {
20
- background-color: var(--_current-bg);
21
- color: var(--base-bg);
22
- border: 1px solid transparent;
23
- }
24
-
25
- .outline {
26
- background-color: transparent;
27
- color: var(--_current-fg);
28
- border: 1px solid var(--_current-border);
29
- }
30
-
31
- .intentDefault {
32
- --_current-bg: color-mix(in oklch, var(--base-fg) 10%, var(--base-bg));
33
- --_current-fg: var(--base-fg);
34
- --_current-border: var(--base-edge);
35
- }
36
-
37
- .intentSuccess {
38
- --_current-bg: var(--color-success);
39
- --_current-fg: var(--color-success);
40
- --_current-border: var(--color-success);
41
- }
42
-
43
- .intentWarning {
44
- --_current-bg: var(--color-warning);
45
- --_current-fg: var(--color-warning);
46
- --_current-border: var(--color-warning);
47
- }
48
-
49
- .intentDanger {
50
- --_current-bg: var(--color-danger);
51
- --_current-fg: var(--color-danger);
52
- --_current-border: var(--color-danger);
53
- }
54
-
55
- .intentInfo {
56
- --_current-bg: var(--color-info);
57
- --_current-fg: var(--color-info);
58
- --_current-border: var(--color-info);
59
- }
60
-
61
- .close {
62
- display: inline-flex;
63
- align-items: center;
64
- justify-content: center;
65
- padding: 0;
66
- margin: 0;
67
- margin-right: -2px;
68
- border: none;
69
- background: none;
70
- cursor: pointer;
71
- border-radius: var(--b-radius-round);
72
- opacity: 0.6;
73
- transition: opacity var(--b-transition-fast);
74
- }
75
-
76
- .close:hover {
77
- opacity: 1;
78
- }
79
-
80
- .solid .close {
81
- color: inherit;
82
- }
83
-
84
- .outline .close {
85
- color: currentColor;
86
- }
87
-
88
- .sizeXs {
89
- height: var(--b-comp-secondary-height-xs);
90
- min-width: calc(2 * var(--b-comp-secondary-height-xs));
91
- padding: 0 6px;
92
- font-size: 10px;
93
- }
94
-
95
- .sizeSm {
96
- height: var(--b-comp-secondary-height-sm);
97
- min-width: calc(2 * var(--b-comp-secondary-height-sm));
98
- padding: 0 8px;
99
- font-size: 11px;
100
- }
101
-
102
- .sizeMd {
103
- height: var(--b-comp-secondary-height-md);
104
- min-width: calc(2 * var(--b-comp-secondary-height-md));
105
- padding: 0 10px;
106
- font-size: 12px;
107
- }
108
-
109
- .sizeLg {
110
- height: var(--b-comp-secondary-height-lg);
111
- min-width: calc(2 * var(--b-comp-secondary-height-lg));
112
- padding: 0 12px;
113
- font-size: 13px;
114
- }
115
-
116
- .sizeXl {
117
- height: var(--b-comp-secondary-height-xl);
118
- min-width: calc(2 * var(--b-comp-secondary-height-xl));
119
- padding: 0 14px;
120
- font-size: 14px;
121
- }
122
-
123
- .size2xl {
124
- height: var(--b-comp-secondary-height-2xl);
125
- min-width: calc(2 * var(--b-comp-secondary-height-2xl));
126
- padding: 0 18px;
127
- font-size: 16px;
128
- }
package/src/Tag/index.js DELETED
@@ -1 +0,0 @@
1
- export { Tag } from './Tag.jsx'
@@ -1,52 +0,0 @@
1
- import { splitProps, mergeProps } from 'solid-js'
2
- import { ark } from '@ark-ui/solid/factory'
3
- import styles from './Textarea.module.css'
4
-
5
- const variants = {
6
- solid: styles.solid,
7
- outline: styles.outline,
8
- }
9
-
10
- const sizes = {
11
- xs: styles.sizeXs,
12
- sm: styles.sizeSm,
13
- md: styles.sizeMd,
14
- lg: styles.sizeLg,
15
- xl: styles.sizeXl,
16
- }
17
-
18
- const DEFAULT_PROPS = {
19
- variant: 'outline',
20
- size: 'md',
21
- disabled: false,
22
- }
23
-
24
- /**
25
- * @param {import('solid-js').JSX.TextareaHTMLAttributes<HTMLTextAreaElement> & {
26
- * variant?: 'solid' | 'outline'
27
- * size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'
28
- * }} props
29
- */
30
- export function Textarea(props) {
31
- const [local, rest] = splitProps(
32
- mergeProps(DEFAULT_PROPS, props),
33
- ['variant', 'size', 'class'],
34
- )
35
-
36
- return (
37
- <ark.textarea
38
- {...rest}
39
- class={[
40
- 'balik-textarea',
41
- `balik-textarea--${local.variant}`,
42
- `balik-textarea--${local.size}`,
43
- styles.base,
44
- variants[local.variant],
45
- sizes[local.size],
46
- local.class,
47
- ]
48
- .filter(Boolean)
49
- .join(' ')}
50
- />
51
- )
52
- }
@@ -1,89 +0,0 @@
1
- .base {
2
- display: block;
3
- width: 100%;
4
- min-height: var(--_min-height);
5
- border-width: 1px;
6
- border-style: solid;
7
- border-color: var(--_border-color, transparent);
8
- border-radius: var(--_border-radius);
9
- font-family: inherit;
10
- outline: none;
11
- box-shadow: none;
12
- appearance: none;
13
- touch-action: manipulation;
14
- transition: background-color var(--b-transition-fast),
15
- border-color var(--b-transition-fast),
16
- color var(--b-transition-fast);
17
- resize: vertical;
18
-
19
- --_current-intent: var(--base-edge);
20
- }
21
-
22
- .base::placeholder {
23
- color: var(--color-disabled-fg);
24
- }
25
-
26
- .base:disabled {
27
- background-color: var(--color-disabled-bg);
28
- border-color: var(--color-disabled-border);
29
- color: var(--color-disabled-fg);
30
- }
31
-
32
- .solid {
33
- --_border-color: transparent;
34
- background-color: color-mix(in oklch, var(--base-fg) 2%, var(--base-bg));
35
- }
36
-
37
- .solid:focus {
38
- background-color: var(--color-focus-bg);
39
- }
40
-
41
- .outline {
42
- --_border-color: var(--_current-intent);
43
- background-color: var(--base-bg);
44
- }
45
-
46
- .outline:focus {
47
- background-color: var(--color-focus-bg);
48
- border-color: var(--color-focus-border);
49
- }
50
-
51
- .sizeXs {
52
- --_min-height: 72px;
53
- padding: var(--b-comp-padding-y-xs) var(--b-comp-padding-x-xs);
54
- font-size: var(--b-comp-font-size-xs);
55
- line-height: var(--b-comp-line-height-xs);
56
- --_border-radius: var(--b-radius-l1-xs);
57
- }
58
-
59
- .sizeSm {
60
- --_min-height: 80px;
61
- padding: var(--b-comp-padding-y-sm) var(--b-comp-padding-x-sm);
62
- font-size: var(--b-comp-font-size-sm);
63
- line-height: var(--b-comp-line-height-sm);
64
- --_border-radius: var(--b-radius-l1-sm);
65
- }
66
-
67
- .sizeMd {
68
- --_min-height: 88px;
69
- padding: var(--b-comp-padding-y-md) var(--b-comp-padding-x-md);
70
- font-size: var(--b-comp-font-size-md);
71
- line-height: var(--b-comp-line-height-md);
72
- --_border-radius: var(--b-radius-l1-md);
73
- }
74
-
75
- .sizeLg {
76
- --_min-height: 96px;
77
- padding: var(--b-comp-padding-y-lg) var(--b-comp-padding-x-lg);
78
- font-size: var(--b-comp-font-size-lg);
79
- line-height: var(--b-comp-line-height-lg);
80
- --_border-radius: var(--b-radius-l1-lg);
81
- }
82
-
83
- .sizeXl {
84
- --_min-height: 112px;
85
- padding: var(--b-comp-padding-y-xl) var(--b-comp-padding-x-xl);
86
- font-size: var(--b-comp-font-size-xl);
87
- line-height: var(--b-comp-line-height-xl);
88
- --_border-radius: var(--b-radius-l1-xl);
89
- }
@@ -1 +0,0 @@
1
- export { Textarea } from './Textarea.jsx'