Skip to content

Commit

Permalink
Merge pull request #917 from radix-vue/1.8
Browse files Browse the repository at this point in the history
v1.8
  • Loading branch information
zernonia committed May 17, 2024
2 parents 32ac33b + 6bb9e7d commit fa1711c
Show file tree
Hide file tree
Showing 114 changed files with 3,562 additions and 95 deletions.
24 changes: 13 additions & 11 deletions docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import { teamMembers } from './contributors'
import ComponentPreviewPlugin from './plugins/ComponentPreview'
import InstallationTabsPlugin from './plugins/InstallationTabs'

function BadgeHTML(text: string) {
return `<div class="inline-flex items-center rounded-full border px-2.5 py-0.5 ml-2 mt-1 text-xs transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-green8 text-white">
function BadgeHTML(text: string, translucent = false) {
return `<div class="inline-flex items-center rounded-full border px-2.5 py-0.5 ml-2 mt-1 text-xs transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-green8 ${translucent ? 'bg-opacity-30' : ''} text-white">
${text}
</div>
`
Expand Down Expand Up @@ -102,7 +102,7 @@ export default defineConfig({
{ text: 'Server side rendering', link: '/guides/server-side-rendering' },
{ text: 'Namespaced', link: '/guides/namespaced-components' },
{ text: 'Internationalization (RTL)', link: '/guides/i18n' },
{ text: `Dates ${BadgeHTML('Updated')}`, link: '/guides/dates' },
{ text: 'Dates', link: '/guides/dates' },
// { text: `Namespaced ${BadgeHTML('New')}`, link: '/guides/namespaced-components' },
],
},
Expand All @@ -114,33 +114,35 @@ export default defineConfig({
{ text: 'Alert Dialog', link: '/components/alert-dialog' },
{ text: 'Aspect Ratio', link: '/components/aspect-ratio' },
{ text: 'Avatar', link: '/components/avatar' },
{ text: `Calendar ${BadgeHTML('Alpha')}`, link: '/components/calendar' },
{ text: `Calendar ${BadgeHTML('Alpha', true)}`, link: '/components/calendar' },
{ text: 'Checkbox', link: '/components/checkbox' },
{ text: 'Collapsible', link: '/components/collapsible' },
{ text: 'Combobox', link: '/components/combobox' },
{ text: 'Context Menu', link: '/components/context-menu' },
{ text: `Date Field ${BadgeHTML('Alpha')}`, link: '/components/date-field' },
{ text: `Date Picker ${BadgeHTML('Alpha')}`, link: '/components/date-picker' },
{ text: `Date Range Field ${BadgeHTML('Alpha')}`, link: '/components/date-range-field' },
{ text: `Date Range Picker ${BadgeHTML('Alpha')}`, link: '/components/date-range-picker' },
{ text: `Date Field ${BadgeHTML('Alpha', true)}`, link: '/components/date-field' },
{ text: `Date Picker ${BadgeHTML('Alpha', true)}`, link: '/components/date-picker' },
{ text: `Date Range Field ${BadgeHTML('Alpha', true)}`, link: '/components/date-range-field' },
{ text: `Date Range Picker ${BadgeHTML('Alpha', true)}`, link: '/components/date-range-picker' },
{ text: 'Dialog', link: '/components/dialog' },
{ text: 'Dropdown Menu', link: '/components/dropdown-menu' },
{ text: `Editable ${BadgeHTML('Alpha')}`, link: '/components/editable' },
{ text: 'Hover Card', link: '/components/hover-card' },
{ text: 'Label', link: '/components/label' },
{ text: `Listbox ${BadgeHTML('Alpha')}`, link: '/components/listbox' },
{ text: `Listbox ${BadgeHTML('Alpha', true)}`, link: '/components/listbox' },
{ text: 'Menubar', link: '/components/menubar' },
{ text: 'Navigation Menu', link: '/components/navigation-menu' },
{ text: `Number Field ${BadgeHTML('Alpha')}`, link: '/components/number-field' },
{ text: 'Pagination', link: '/components/pagination' },
{ text: 'Pin Input', link: '/components/pin-input' },
{ text: 'Popover', link: '/components/popover' },
{ text: 'Progress', link: '/components/progress' },
{ text: 'Radio Group', link: '/components/radio-group' },
{ text: `Range Calendar ${BadgeHTML('Alpha')}`, link: '/components/range-calendar' },
{ text: `Range Calendar ${BadgeHTML('Alpha', true)}`, link: '/components/range-calendar' },
{ text: 'Scroll Area', link: '/components/scroll-area' },
{ text: 'Select', link: '/components/select' },
{ text: 'Separator', link: '/components/separator' },
{ text: 'Slider', link: '/components/slider' },
{ text: `Splitter ${BadgeHTML('Alpha')}`, link: '/components/splitter' },
{ text: 'Splitter', link: '/components/splitter' },
{ text: 'Switch', link: '/components/switch' },
{ text: 'Tabs', link: '/components/tabs' },
{ text: 'Tags Input', link: '/components/tags-input' },
Expand Down
7 changes: 5 additions & 2 deletions docs/.vitepress/contributor-names.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,15 @@
"npldevfr",
"uyloal",
"romanhrynevych",
"RayGuo-ergou",
"misbahansori",
"libondev",
"madebyfabian",
"enkot",
"andreww2012",
"benjamincanac",
"messenjer",
"maxmaxme",
"noook",
"nicooprat",
"steakscience",
"oaleynik",
Expand All @@ -38,6 +39,7 @@
"runyasak",
"sdq-sts",
"preflower",
"Destiner",
"tristandubbeld",
"owlnai",
"hoonweiting",
Expand Down Expand Up @@ -67,5 +69,6 @@
"Jordan-Ellis",
"kn0wn",
"pkrinesh",
"94726"
"94726",
"messenjer"
]
8 changes: 8 additions & 0 deletions docs/components/Demos.vue
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@ import DateRangeFieldDemo from './demo/DateRangeField/tailwind/index.vue'
import DateRangePickerDemo from './demo/DateRangePicker/tailwind/index.vue'
import DialogDemo from './demo/Dialog/tailwind/index.vue'
import DropdownMenuDemo from './demo/DropdownMenu/tailwind/index.vue'
import EditableDemo from './demo/Editable/tailwind/index.vue'
import HoverCardDemo from './demo/HoverCard/tailwind/index.vue'
import LabelDemo from './demo/Label/tailwind/index.vue'
import MenubarDemo from './demo/Menubar/tailwind/index.vue'
import NavigationMenuDemo from './demo/NavigationMenu/tailwind/index.vue'
import NumberFieldDemo from './demo/NumberField/tailwind/index.vue'
import PaginationDemo from './demo/Pagination/tailwind/index.vue'
import PinInputDemo from './demo/PinInput/tailwind/index.vue'
import PopoverDemo from './demo/Popover/tailwind/index.vue'
Expand Down Expand Up @@ -88,6 +90,9 @@ import DemoContainer from './DemoContainer.vue'
<DemoContainer title="dropdown menu">
<DropdownMenuDemo />
</DemoContainer>
<DemoContainer title="editable">
<EditableDemo />
</DemoContainer>
<DemoContainer title="hover card">
<HoverCardDemo />
</DemoContainer>
Expand All @@ -100,6 +105,9 @@ import DemoContainer from './DemoContainer.vue'
<DemoContainer title="navigation menu">
<NavigationMenuDemo />
</DemoContainer>
<DemoContainer title="number field">
<NumberFieldDemo />
</DemoContainer>
<DemoContainer title="pagination" overflow>
<PaginationDemo />
</DemoContainer>
Expand Down
27 changes: 27 additions & 0 deletions docs/components/demo/Editable/css/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<script setup lang="ts">
import { EditableArea, EditableCancelTrigger, EditableEditTrigger, EditableInput, EditablePreview, EditableRoot, EditableSubmitTrigger } from 'radix-vue'
import './styles.css'
</script>

<template>
<div style="width: 250px;">
<EditableRoot v-slot="{ isEditing }" placeholder="Enter text..." class="EditableRoot" default-value="Click to edit 'Radix Vue'" auto-resize>
<EditableArea class="EditableArea">
<EditablePreview />
<EditableInput />
</EditableArea>
<EditableEditTrigger
v-if="!isEditing"
class="EditableTrigger"
/>
<div v-else class="EditableWrapper">
<EditableSubmitTrigger
class="EditableSubmitTrigger"
/>
<EditableCancelTrigger
class="EditableTrigger"
/>
</div>
</EditableRoot>
</div>
</template>
48 changes: 48 additions & 0 deletions docs/components/demo/Editable/css/styles.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
.EditableRoot {
display: flex;
flex-direction: column;
gap: 1rem;
}

.EditableArea {
color: var(--white);
width: 250px;
}

.EditableWrapper {
display: flex;
gap: 1rem;
}

.EditableSubmitTrigger {
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 0.25rem;
font-weight: 500;
font-size: 0.9375rem;
padding: 0.9375rem 1.25rem;
height: 2.1875rem;
background-color: var(--grass8);
color: var(--white);
box-shadow: 0px 2px 1.25rem rgba(0, 0, 0, 0.07), 0px 2px 1.25rem rgba(0, 0, 0, 0.07);
outline: none;
transition: background-color 0.2s, box-shadow 0.2s;
}


.EditableTrigger {
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 0.25rem;
font-weight: 500;
font-size: 0.9375rem;
padding: 0.9375rem 1.25rem;
height: 2.1875rem;
background-color: var(--white);
color: var(--grass11);
box-shadow: 0px 2px 1.25rem rgba(0, 0, 0, 0.07), 0px 2px 1.25rem rgba(0, 0, 0, 0.07);
outline: none;
transition: background-color 0.2s, box-shadow 0.2s;
}
26 changes: 26 additions & 0 deletions docs/components/demo/Editable/tailwind/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<script setup lang="ts">
import { EditableArea, EditableCancelTrigger, EditableEditTrigger, EditableInput, EditablePreview, EditableRoot, EditableSubmitTrigger } from 'radix-vue'
</script>

<template>
<div class="w-[250px]">
<EditableRoot v-slot="{ isEditing }" default-value="Click to edit 'Radix Vue'" placeholder="Enter text..." class="flex flex-col gap-4" auto-resize>
<EditableArea class="text-white w-[250px]">
<EditablePreview />
<EditableInput class="w-full placeholder:text-white" />
</EditableArea>
<EditableEditTrigger
v-if="!isEditing"
class="w-max inline-flex items-center justify-center rounded font-medium text-[15px] px-[15px] leading-[35px] h-[35px] bg-white text-green11 shadow-[0_2px_10px] shadow-blackA7 outline-none hover:bg-mauve3 focus:shadow-[0_0_0_2px] focus:shadow-black"
/>
<div v-else class="flex gap-4">
<EditableSubmitTrigger
class="inline-flex items-center justify-center rounded font-medium text-[15px] px-[15px] leading-[35px] h-[35px] bg-white text-green11 shadow-[0_2px_10px] shadow-blackA7 outline-none hover:bg-mauve3 focus:shadow-[0_0_0_2px] focus:shadow-black"
/>
<EditableCancelTrigger
class="inline-flex items-center justify-center rounded font-medium text-[15px] px-[15px] leading-[35px] h-[35px] bg-red9 text-white shadow-[0_2px_10px] shadow-blackA7 outline-none hover:bg-red10 focus:shadow-[0_0_0_2px] focus:shadow-black"
/>
</div>
</EditableRoot>
</div>
</template>
17 changes: 17 additions & 0 deletions docs/components/demo/Editable/tailwind/tailwind.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { blackA, grass, green, red } = require('@radix-ui/colors')

/** @type {import('tailwindcss').Config} */
module.exports = {
content: ['./**/*.vue'],
theme: {
extend: {
colors: {
...blackA,
...grass,
...green,
...red
},
},
},
plugins: [],
}
24 changes: 24 additions & 0 deletions docs/components/demo/NumberField/css/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<script setup lang="ts">
import { NumberFieldDecrement, NumberFieldIncrement, NumberFieldInput, NumberFieldLabel, NumberFieldRoot } from 'radix-vue'
import { Icon } from '@iconify/vue'
</script>

<template>
<NumberFieldRoot
class="text-sm text-white"
:min="0"
:default-value="18"
>
<NumberFieldLabel>Age</NumberFieldLabel>

<div class="mt-1 flex items-center border bg-blackA7 border-blackA9 rounded-md">
<NumberFieldDecrement class="p-2 disabled:opacity-20">
<Icon icon="radix-icons:minus" />
</NumberFieldDecrement>
<NumberFieldInput class="bg-transparent w-20 tabular-nums focus:outline-0 p-1" />
<NumberFieldIncrement class="p-2 disabled:opacity-20">
<Icon icon="radix-icons:plus" />
</NumberFieldIncrement>
</div>
</NumberFieldRoot>
</template>
35 changes: 35 additions & 0 deletions docs/components/demo/NumberField/css/styles.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@import '@radix-ui/colors/black-alpha.css';
@import '@radix-ui/colors/grass.css';

/* reset */
button {
all: unset;
}

.CheckboxRoot {
background-color: white;
width: 25px;
height: 25px;
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 10px var(--black-a7);
}
.CheckboxRoot:hover {
background-color: var(--grass-3);
}
.CheckboxRoot:focus {
box-shadow: 0 0 0 2px black;
}

.CheckboxIndicator {
color: var(--grass-11);
}

.Label {
color: white;
padding-left: 15px;
font-size: 15px;
line-height: 1;
}
24 changes: 24 additions & 0 deletions docs/components/demo/NumberField/tailwind/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<script setup lang="ts">
import { NumberFieldDecrement, NumberFieldIncrement, NumberFieldInput, NumberFieldLabel, NumberFieldRoot } from 'radix-vue'
import { Icon } from '@iconify/vue'
</script>

<template>
<NumberFieldRoot
class="text-sm text-white"
:min="0"
:default-value="18"
>
<NumberFieldLabel>Age</NumberFieldLabel>

<div class="mt-1 flex items-center border bg-blackA7 border-blackA9 rounded-md">
<NumberFieldDecrement class="p-2 disabled:opacity-20">
<Icon icon="radix-icons:minus" />
</NumberFieldDecrement>
<NumberFieldInput class="bg-transparent w-20 tabular-nums focus:outline-0 p-1" />
<NumberFieldIncrement class="p-2 disabled:opacity-20">
<Icon icon="radix-icons:plus" />
</NumberFieldIncrement>
</div>
</NumberFieldRoot>
</template>
14 changes: 14 additions & 0 deletions docs/components/demo/NumberField/tailwind/tailwind.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const { blackA } = require('@radix-ui/colors')

/** @type {import('tailwindcss').Config} */
module.exports = {
content: ['./**/*.vue'],
theme: {
extend: {
colors: {
...blackA,
},
},
},
plugins: [],
}
Loading

0 comments on commit fa1711c

Please sign in to comment.