Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
104f34f
chore: change data-name to className
DasProffi Sep 27, 2026
5238067
feat: update avatar component
DasProffi Sep 27, 2026
9582de5
Merge remote-tracking branch 'origin/main' into feat/update-conventio…
DasProffi Sep 27, 2026
8a5a8b0
chore: remove global export in hightide-web
DasProffi Sep 28, 2026
7b50243
feat: split card and list item logic
DasProffi Sep 28, 2026
e23f0d6
chore: update button and introduce pressable
DasProffi Sep 28, 2026
f846b80
feat: add icon component
DasProffi Sep 28, 2026
464211e
feat: update coloring definitions and add pressable component
DasProffi Sep 29, 2026
8713fcd
chore: remove color transition from interactive elements
DasProffi Sep 29, 2026
b98b366
feat: update VerticalNavigation item
DasProffi Sep 29, 2026
ea7c1a2
feat: split expandable component
DasProffi Sep 29, 2026
248d390
feat: add wheel picker
DasProffi Sep 29, 2026
535c7d1
feat: update date picker and time selection to use wheel pickers
DasProffi Sep 29, 2026
eb292fd
feat: update coloring to differentiate interaction and normal
DasProffi Sep 30, 2026
abbdb48
feat: update description and coloring
DasProffi Sep 30, 2026
c1e4f2d
feat: update select searchbar appearance configuration
DasProffi Sep 30, 2026
7c4da57
feat: update Carsousel component
DasProffi Sep 30, 2026
99c3588
feat: update modal component
DasProffi Sep 30, 2026
38e20fa
chore: update select and input styling
DasProffi Sep 30, 2026
d0d410b
feat: update layout of date time pickers
DasProffi Sep 30, 2026
8d528bb
feat: introduce InputInterface
DasProffi Sep 30, 2026
13a6a81
chore: restructure folders
DasProffi Sep 30, 2026
8d8189d
faet: update coloring attributes
DasProffi Oct 1, 2026
089be94
feat: update input and modal styling
DasProffi Oct 2, 2026
70d1369
fix: table row feedback
DasProffi Oct 2, 2026
9e4f25b
chore: update input interface callbacks
DasProffi Oct 3, 2026
3f8f5e8
chore: rename useStableEvent hook
DasProffi Oct 7, 2026
19c8a32
feat: introduce stat machine and update form error handling
DasProffi Oct 7, 2026
8529ab0
feat: rename input to text input
DasProffi Oct 8, 2026
4d0e5f6
fix: fix imports in web storybook
DasProffi Oct 8, 2026
2d514d9
feat: update state
DasProffi Oct 8, 2026
1e4105b
chore: update state machine binding
DasProffi Oct 8, 2026
55fa7af
feat: update TextInputProps and some users
DasProffi Oct 8, 2026
663b511
feat: update checkbox state management
DasProffi Oct 9, 2026
d65b710
feat: split api for state managers and aggregate input compoents
DasProffi Oct 10, 2026
c1f0369
feat: update form field wrapper interface
DasProffi Oct 10, 2026
64c7cff
feat: split date components to match new data-input pattern
DasProffi Oct 27, 2026
c40358e
feat: update menu component
DasProffi Oct 27, 2026
7b2d23f
feat: update InputInterface
DasProffi Oct 29, 2026
bb59842
feat: update combo box to allow new values
DasProffi Oct 29, 2026
921ff4c
feat: update properties to follow the new input interface
DasProffi Oct 30, 2026
d39d815
feat: update selection components
DasProffi Oct 30, 2026
811e051
Merge remote-tracking branch 'origin/main' into feat/update-conventio…
DasProffi Nov 2, 2026
730637c
feat: update localization and theme configs
DasProffi Nov 2, 2026
fb51d78
fix: fix linting
DasProffi Nov 2, 2026
ec8d022
fix: storybook-web node_module resolution
DasProffi Nov 2, 2026
e17b6dd
feat: update app zum doc logo animation
DasProffi Nov 2, 2026
b86ce60
feat: update chat message composer structure
DasProffi Nov 2, 2026
ebbe7c2
feat: update chat conversation row
DasProffi Nov 2, 2026
053cf92
feat: update BreadCrumbs component
DasProffi Nov 2, 2026
fea4936
feat: update navigation components
DasProffi Nov 2, 2026
0a3f856
feat: update app page component
DasProffi Nov 2, 2026
14753c3
feat: update state machine to use a store
DasProffi Nov 9, 2026
174f115
chore: export locales files
DasProffi Nov 9, 2026
29cfcec
feat: update state managers
DasProffi Nov 9, 2026
fb7e294
chore: capitalize storybook folders
DasProffi Nov 10, 2026
ce4e132
chore: move app page components directly in layout folder
DasProffi Nov 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "coding-conventions"]
path = coding-conventions
url = https://github.com/helpwave/coding-conventions.git
2 changes: 2 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
public-hoist-pattern[]=*storybook*
public-hoist-pattern[]=*@storybook*
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ const frenchTranslations = {

const demoSupportedLocales = {
...HightideConfigUtils.defaultSupportedLocales,
'fr-FR': { localName: 'Français' },
'fr-FR': { localeName: 'Français' },
}

const LocaleSelect = () => {
Expand All @@ -60,7 +60,7 @@ const LocaleSelect = () => {
const options = useMemo(
() => Object.entries(supportedLocales).map(([id, info]) => ({
id,
label: info.localName,
label: info.localeName,
})),
[supportedLocales]
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,17 @@ const bluePrimaryDarkTheme = createHightideTheme(createDarkThemeTokens({
const bluePrimarySupportedThemes = {
...HightideConfigUtils.defaultSupportedThemes,
'blue-primary': {
name: 'Blue Primary',
isDark: false,
nameTranslations: {
'de-DE': 'Blau Primary',
'en-US': 'Blue Primary',
},
theme: bluePrimaryTheme,
},
'blue-primary-dark': {
name: 'Blue Primary Dark',
isDark: true,
nameTranslations: {
'de-DE': 'Blau Primary Dunkel',
'en-US': 'Blue Primary Dark',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ const oceanTheme = createHightideTheme(createLightThemeTokens({
const oceanSupportedThemes = {
...HightideConfigUtils.defaultSupportedThemes,
ocean: {
name: 'Ocean',
isDark: false,
nameTranslations: {
'de-DE': 'Ozean',
'en-US': 'Ocean',
Expand Down
14 changes: 12 additions & 2 deletions apps/hightide-native-storybook/src/Theme/themeStoryHelpers.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,30 @@ import {
ThemedText
} from '@helpwave/hightide-native/components'
import { useTheme } from '@helpwave/hightide-native/global-contexts'
import { useLocalization } from '@helpwave/hightide-utils/context/localization'
import type { HightideTranslationEntries } from '@helpwave/hightide-utils/i18n'
import { ThemeUtils } from '@helpwave/hightide-utils/context/theme'
import { useHightideTranslation } from '@helpwave/hightide-utils/context/translation'

export const ThemeSelect = () => {
const {
themeMode,
setTheme,
supportedThemes,
} = useTheme()
const { locale } = useLocalization()
const translation = useHightideTranslation()

const options = useMemo(
() => Object.entries(supportedThemes).map(([id, info]) => ({
id,
label: info.nameTranslations['en-US'] ?? id,
label: ThemeUtils.resolveThemeInformationLabel(
info,
locale,
(key) => translation(key as keyof HightideTranslationEntries)
),
})),
[supportedThemes]
[locale, supportedThemes, translation]
)

return (
Expand Down
1 change: 1 addition & 0 deletions coding-conventions
Submodule coding-conventions added at 12ed12
91 changes: 0 additions & 91 deletions conventions/IMPORTS.md

This file was deleted.

34 changes: 0 additions & 34 deletions conventions/Typescript-Enum.md

This file was deleted.

File renamed without changes.
10 changes: 10 additions & 0 deletions packages/hightide-native/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.10.4] - unpublished

### Added

- The hightide-utils `locales` folder is copied into `dist` during the build and exported as `@helpwave/hightide-native/locales/*`

### Changed

- Default locales and theme metadata use `HightideSupportedLocaleInformation` and `HightideSupportedThemeInformation` from hightide-utils. Theme labels use `themeNameLight` / `themeNameDark`

## [0.10.3] - 2026-10-13

### Added
Expand Down
8 changes: 5 additions & 3 deletions packages/hightide-native/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
"version": "0.10.3",
"type": "module",
"files": [
"src"
"src",
"dist"
],
"exports": {
"./components": "./src/components/index.ts",
Expand All @@ -22,12 +23,13 @@
"./icons": "./src/icons/index.ts",
"./theme": "./src/theme/index.ts",
"./types": "./src/types/index.ts",
"./utils": "./src/utils/index.ts"
"./utils": "./src/utils/index.ts",
"./locales/*": "./dist/locales/*"
},
"scripts": {
"clean": "rm -rf node_modules",
"init": "node -e \"process.exit(0)\"",
"build": "tsc --noEmit",
"build": "tsc --noEmit && rm -rf dist/locales && mkdir -p dist && cp -R ../hightide-utils/locales dist/locales",
"dev": "node -e \"process.exit(0)\"",
"lint": "eslint .",
"test": "node -e \"process.exit(0)\""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
} from 'react-native'
import {
useControlledState,
useEventCallbackStabilizer
useStableEvent
} from '@helpwave/hightide-utils/hooks'

import type { ColorPairToken } from '@helpwave/hightide-design/theme-tokens'
Expand Down Expand Up @@ -74,8 +74,8 @@ export const Checkbox = ({
const interactive = !disabled && !readOnly
const [isPressed, setIsPressed] = useState(false)

const onEditCompleteStable = useEventCallbackStabilizer(onEditComplete)
const onValueChangeStable = useEventCallbackStabilizer(onValueChange)
const onEditCompleteStable = useStableEvent(onEditComplete)
const onValueChangeStable = useStableEvent(onValueChange)

const onChangeWrapper = useCallback((nextValue: boolean) => {
onValueChangeStable(nextValue)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { useCallback, useMemo } from 'react'
import type { ColorPairToken } from '@helpwave/hightide-design/theme-tokens'
import {
useControlledState,
useEventCallbackStabilizer
useStableEvent
} from '@helpwave/hightide-utils/hooks'

import type {
Expand Down Expand Up @@ -65,10 +65,10 @@ export function FileInputRoot({
defaultValue: resolveFileInputMaxFiles(maxFiles) === 1 ? false : initialIsOpen,
})

const onEditCompleteStable = useEventCallbackStabilizer(onEditComplete)
const onCloseStable = useEventCallbackStabilizer(onClose)
const onIsOpenChangeStable = useEventCallbackStabilizer(onIsOpenChange)
const pickFilesStable = useEventCallbackStabilizer(pickFiles)
const onEditCompleteStable = useStableEvent(onEditComplete)
const onCloseStable = useStableEvent(onClose)
const onIsOpenChangeStable = useStableEvent(onIsOpenChange)
const pickFilesStable = useStableEvent(pickFiles)

const commitFiles = useCallback((next: readonly FileInputItem[]) => {
setFiles(next)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import type { ReactNode } from 'react'
import { useCallback, useMemo, useState } from 'react'

import type { ColorPairToken } from '@helpwave/hightide-design/theme-tokens'
import { useEventCallbackStabilizer } from '@helpwave/hightide-utils/hooks'
import { useStableEvent } from '@helpwave/hightide-utils/hooks'

import { useMultiSelect } from '../../../hooks/useMultiSelect'
import type {
Expand Down Expand Up @@ -96,8 +96,8 @@ export function MultiSelectRoot<T>({
.filter((id): id is string => id !== undefined)
}, [compare, idToOptionMap, initialValue])

const onValueChangeStable = useEventCallbackStabilizer(onValueChange)
const onEditCompleteStable = useEventCallbackStabilizer(onEditComplete)
const onValueChangeStable = useStableEvent(onValueChange)
const onEditCompleteStable = useStableEvent(onEditComplete)

const onValueChangeWrapper = useCallback((ids: string[]) => {
const values = ids
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import type { ReactNode } from 'react'
import { useCallback, useMemo, useState } from 'react'

import type { ColorPairToken } from '@helpwave/hightide-design/theme-tokens'
import { useEventCallbackStabilizer } from '@helpwave/hightide-utils/hooks'
import { useStableEvent } from '@helpwave/hightide-utils/hooks'

import { useSelect } from '../../../hooks/useSelect'
import type {
Expand Down Expand Up @@ -92,9 +92,9 @@ export function SelectRoot<T>({
return Object.values(idToOptionMap).find((option) => compare(option.value.value, initialValue))?.value.id ?? null
}, [compare, idToOptionMap, initialValue])

const onValueChangeStable = useEventCallbackStabilizer(onValueChange)
const onEditCompleteStable = useEventCallbackStabilizer(onEditComplete)
const onIsOpenChangeStable = useEventCallbackStabilizer(onIsOpenChange)
const onValueChangeStable = useStableEvent(onValueChange)
const onEditCompleteStable = useStableEvent(onEditComplete)
const onIsOpenChangeStable = useStableEvent(onIsOpenChange)

const onValueChangeWrapper = useCallback((id: string) => {
const option = idToOptionMap[id]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {

import {
useControlledState,
useEventCallbackStabilizer
useStableEvent
} from '@helpwave/hightide-utils/hooks'

import { useDebugContext } from '../../global-contexts/debug'
Expand Down Expand Up @@ -80,8 +80,8 @@ export const Switch = ({
const interactive = !disabled && !readOnly
const [isPressed, setIsPressed] = useState(false)

const onEditCompleteStable = useEventCallbackStabilizer(onEditComplete)
const onValueChangeStable = useEventCallbackStabilizer(onValueChange)
const onEditCompleteStable = useStableEvent(onEditComplete)
const onValueChangeStable = useStableEvent(onValueChange)

const onChangeWrapper = useCallback((nextValue: boolean) => {
onValueChangeStable(nextValue)
Expand Down
Loading